drop python3.5 support

This commit is contained in:
Robert Kaussow 2020-11-16 01:02:32 +01:00
parent 17938a75e9
commit cd5bb8cac2
No known key found for this signature in database
GPG Key ID: 65362AE74AF98B61
8 changed files with 80 additions and 104 deletions

View File

@ -50,7 +50,6 @@ local PipelineTest = {
arch: 'amd64', arch: 'amd64',
}, },
steps: [ steps: [
PythonVersion(pyversion='3.5'),
PythonVersion(pyversion='3.6'), PythonVersion(pyversion='3.6'),
PythonVersion(pyversion='3.7'), PythonVersion(pyversion='3.7'),
PythonVersion(pyversion='3.8'), PythonVersion(pyversion='3.8'),
@ -67,7 +66,6 @@ local PipelineTest = {
'codecov --required -X gcov', 'codecov --required -X gcov',
], ],
depends_on: [ depends_on: [
'python35-pytest',
'python36-pytest', 'python36-pytest',
'python37-pytest', 'python37-pytest',
'python38-pytest', 'python38-pytest',

View File

@ -31,19 +31,6 @@ platform:
arch: amd64 arch: amd64
steps: steps:
- name: python35-pytest
image: python:3.5
commands:
- pip install poetry -qq
- poetry install -q
- poetry run pytest dockertidy --cov=dockertidy --cov-append --no-cov-on-fail
- poetry version
- poetry run docker-tidy --help
environment:
PY_COLORS: 1
depends_on:
- clone
- name: python36-pytest - name: python36-pytest
image: python:3.6 image: python:3.6
commands: commands:
@ -106,7 +93,6 @@ steps:
from_secret: codecov_token from_secret: codecov_token
PY_COLORS: 1 PY_COLORS: 1
depends_on: depends_on:
- python35-pytest
- python36-pytest - python36-pytest
- python37-pytest - python37-pytest
- python38-pytest - python38-pytest
@ -617,6 +603,6 @@ depends_on:
--- ---
kind: signature kind: signature
hmac: 0cca89c6ee5e4403f8fe70514e96aa7d596b7f0d74994d2e567993ae19c6692f hmac: 06ddc40fb488eedcd3e5b8b71be91eed5b0414955f39edfd8689a286be1d2f7d
... ...

View File

@ -2,10 +2,10 @@
"""Stop long running docker iamges.""" """Stop long running docker iamges."""
import dateutil.parser import dateutil.parser
import docker
import docker.errors import docker.errors
import requests.exceptions import requests.exceptions
import docker
from dockertidy.Config import SingleConfig from dockertidy.Config import SingleConfig
from dockertidy.Logger import SingleLog from dockertidy.Logger import SingleLog
from dockertidy.Parser import timedelta from dockertidy.Parser import timedelta

View File

@ -5,10 +5,10 @@ import fnmatch
from collections import namedtuple from collections import namedtuple
import dateutil.parser import dateutil.parser
import docker
import docker.errors import docker.errors
import requests.exceptions import requests.exceptions
import docker
from dockertidy.Config import SingleConfig from dockertidy.Config import SingleConfig
from dockertidy.Logger import SingleLog from dockertidy.Logger import SingleLog
from dockertidy.Parser import timedelta from dockertidy.Parser import timedelta

View File

@ -1,8 +1,8 @@
"""Test Autostop class.""" """Test Autostop class."""
import docker
import pytest import pytest
import docker
from dockertidy import Autostop from dockertidy import Autostop
pytest_plugins = [ pytest_plugins = [

View File

@ -1,9 +1,9 @@
"""Test GarbageCollector class.""" """Test GarbageCollector class."""
import docker
import pytest import pytest
import requests import requests
import docker
from dockertidy import GarbageCollector from dockertidy import GarbageCollector
pytest_plugins = [ pytest_plugins = [

69
poetry.lock generated
View File

@ -209,20 +209,20 @@ six = ">=1.4.0"
[[package]] [[package]]
name = "environs" name = "environs"
version = "7.4.0" version = "9.2.0"
description = "simplified environment variable parsing" description = "simplified environment variable parsing"
category = "main" category = "main"
optional = false optional = false
python-versions = ">=3.5" python-versions = ">=3.6"
[package.dependencies] [package.dependencies]
marshmallow = ">=2.7.0" marshmallow = ">=2.7.0"
python-dotenv = "*" python-dotenv = "*"
[package.extras] [package.extras]
dev = ["pytest", "dj-database-url", "dj-email-url", "django-cache-url", "flake8 (==3.7.9)", "flake8-bugbear (==20.1.4)", "mypy (==0.770)", "pre-commit (>=1.20,<3.0)", "tox"] dev = ["pytest", "dj-database-url", "dj-email-url", "django-cache-url", "flake8 (==3.8.4)", "flake8-bugbear (==20.1.4)", "mypy (==0.790)", "pre-commit (>=2.4,<3.0)", "tox"]
django = ["dj-database-url", "dj-email-url", "django-cache-url"] django = ["dj-database-url", "dj-email-url", "django-cache-url"]
lint = ["flake8 (==3.7.9)", "flake8-bugbear (==20.1.4)", "mypy (==0.770)", "pre-commit (>=1.20,<3.0)"] lint = ["flake8 (==3.8.4)", "flake8-bugbear (==20.1.4)", "mypy (==0.790)", "pre-commit (>=2.4,<3.0)"]
tests = ["pytest", "dj-database-url", "dj-email-url", "django-cache-url"] tests = ["pytest", "dj-database-url", "dj-email-url", "django-cache-url"]
[[package]] [[package]]
@ -271,7 +271,7 @@ test = ["coverage", "coveralls", "mock", "pytest", "pytest-cov"]
[[package]] [[package]]
name = "flake8-colors" name = "flake8-colors"
version = "0.1.6" version = "0.1.8"
description = "Error highlight plugin for Flake8." description = "Error highlight plugin for Flake8."
category = "dev" category = "dev"
optional = false optional = false
@ -428,17 +428,16 @@ python-versions = "*"
[[package]] [[package]]
name = "isort" name = "isort"
version = "4.3.21" version = "5.6.4"
description = "A Python utility / library to sort Python imports." description = "A Python utility / library to sort Python imports."
category = "dev" category = "dev"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" python-versions = ">=3.6,<4.0"
[package.extras] [package.extras]
pipfile = ["pipreqs", "requirementslib"] pipfile_deprecated_finder = ["pipreqs", "requirementslib"]
pyproject = ["toml"] requirements_deprecated_finder = ["pipreqs", "pip-api"]
requirements = ["pipreqs", "pip-api"] colors = ["colorama (>=0.4.3,<0.5.0)"]
xdg_home = ["appdirs (>=1.4.0)"]
[[package]] [[package]]
name = "jsonschema" name = "jsonschema"
@ -590,7 +589,6 @@ optional = false
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4" python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4"
[package.dependencies] [package.dependencies]
autopep8 = {version = ">=1.4,<2.0", markers = "python_version < \"3.6\""}
black = {version = "19.10b0", markers = "python_version >= \"3.6\""} black = {version = "19.10b0", markers = "python_version >= \"3.6\""}
colorama = ">=0.4,<1.0" colorama = ">=0.4,<1.0"
packaging = ">=20.0,<21.0" packaging = ">=20.0,<21.0"
@ -663,14 +661,13 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
[[package]] [[package]]
name = "pydocstyle" name = "pydocstyle"
version = "3.0.0" version = "5.1.1"
description = "Python docstring style checker" description = "Python docstring style checker"
category = "dev" category = "dev"
optional = false optional = false
python-versions = "*" python-versions = ">=3.5"
[package.dependencies] [package.dependencies]
six = "*"
snowballstemmer = "*" snowballstemmer = "*"
[[package]] [[package]]
@ -712,7 +709,6 @@ colorama = {version = "*", markers = "sys_platform == \"win32\""}
importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""}
iniconfig = "*" iniconfig = "*"
packaging = "*" packaging = "*"
pathlib2 = {version = ">=2.2.0", markers = "python_version < \"3.6\""}
pluggy = ">=0.12,<1.0" pluggy = ">=0.12,<1.0"
py = ">=1.8.2" py = ">=1.8.2"
toml = "*" toml = "*"
@ -908,15 +904,15 @@ python-versions = "*"
[[package]] [[package]]
name = "stevedore" name = "stevedore"
version = "1.32.0" version = "3.2.2"
description = "Manage dynamic plugins for Python applications" description = "Manage dynamic plugins for Python applications"
category = "dev" category = "dev"
optional = false optional = false
python-versions = "*" python-versions = ">=3.6"
[package.dependencies] [package.dependencies]
importlib-metadata = {version = ">=1.7.0", markers = "python_version < \"3.8\""}
pbr = ">=2.0.0,<2.1.0 || >2.1.0" pbr = ">=2.0.0,<2.1.0 || >2.1.0"
six = ">=1.10.0"
[[package]] [[package]]
name = "testfixtures" name = "testfixtures"
@ -997,7 +993,6 @@ python-versions = "!=3.0,!=3.1,!=3.2,!=3.3,>=2.7"
[package.dependencies] [package.dependencies]
colorama = ">=0.3.4,<0.4.2 || >0.4.2" colorama = ">=0.3.4,<0.4.2 || >0.4.2"
pathlib2 = {version = "*", markers = "python_version < \"3.6\""}
six = "*" six = "*"
[package.extras] [package.extras]
@ -1028,20 +1023,20 @@ python-versions = "*"
[[package]] [[package]]
name = "zipp" name = "zipp"
version = "1.2.0" version = "3.4.0"
description = "Backport of pathlib-compatible object wrapper for zip files" description = "Backport of pathlib-compatible object wrapper for zip files"
category = "main" category = "main"
optional = false optional = false
python-versions = ">=2.7" python-versions = ">=3.6"
[package.extras] [package.extras]
docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"] docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
testing = ["pathlib2", "unittest2", "jaraco.itertools", "func-timeout"] testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "jaraco.test (>=3.2.0)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"]
[metadata] [metadata]
lock-version = "1.1" lock-version = "1.1"
python-versions = "^3.5.0" python-versions = "^3.6.0"
content-hash = "83b7d966995211d9128c6fb75d4b6dfc03b765347e584b5818dbd181a9f1e322" content-hash = "1e731279e73e7fc846e56cb2347d3c237f81a02b4bf43f879474bff943f381cf"
[metadata.files] [metadata.files]
anyconfig = [ anyconfig = [
@ -1147,8 +1142,8 @@ docker-pycreds = [
{file = "docker_pycreds-0.4.0-py2.py3-none-any.whl", hash = "sha256:7266112468627868005106ec19cd0d722702d2b7d5912a28e19b826c3d37af49"}, {file = "docker_pycreds-0.4.0-py2.py3-none-any.whl", hash = "sha256:7266112468627868005106ec19cd0d722702d2b7d5912a28e19b826c3d37af49"},
] ]
environs = [ environs = [
{file = "environs-7.4.0-py2.py3-none-any.whl", hash = "sha256:5a130876f555cffafeecd775c2e81a447b46c9a1a27f7241e0a822c4c7d30f2a"}, {file = "environs-9.2.0-py2.py3-none-any.whl", hash = "sha256:10dca340bff9c912e99d237905909390365e32723c2785a9f3afa6ef426c53bc"},
{file = "environs-7.4.0.tar.gz", hash = "sha256:ae38e5263a1da25c3057d3b77eabc7840143f8fb893fb3795532e1aeba5e0806"}, {file = "environs-9.2.0.tar.gz", hash = "sha256:36081033ab34a725c2414f48ee7ec7f7c57e498d8c9255d61fbc7f2d4bf60865"},
] ]
eradicate = [ eradicate = [
{file = "eradicate-2.0.0.tar.gz", hash = "sha256:27434596f2c5314cc9b31410c93d8f7e8885747399773cd088d3adea647a60c8"}, {file = "eradicate-2.0.0.tar.gz", hash = "sha256:27434596f2c5314cc9b31410c93d8f7e8885747399773cd088d3adea647a60c8"},
@ -1166,7 +1161,8 @@ flake8-builtins = [
{file = "flake8_builtins-1.5.3-py2.py3-none-any.whl", hash = "sha256:7706babee43879320376861897e5d1468e396a40b8918ed7bccf70e5f90b8687"}, {file = "flake8_builtins-1.5.3-py2.py3-none-any.whl", hash = "sha256:7706babee43879320376861897e5d1468e396a40b8918ed7bccf70e5f90b8687"},
] ]
flake8-colors = [ flake8-colors = [
{file = "flake8-colors-0.1.6.tar.gz", hash = "sha256:508fcf6efc15826f2146b42172ab41999555e07af43fcfb3e6a28ad596189560"}, {file = "flake8-colors-0.1.8.tar.gz", hash = "sha256:7a2c14ace214e22ba07870e25efc4ccd640f21227de9820482ea73b68343ee96"},
{file = "flake8_colors-0.1.8-py3-none-any.whl", hash = "sha256:b63b81bd7edf45ed4d9ac1d144b5fdcf60f6dffd1f4e6b066aaf5e77fe055af3"},
] ]
flake8-docstrings = [ flake8-docstrings = [
{file = "flake8-docstrings-1.5.0.tar.gz", hash = "sha256:3d5a31c7ec6b7367ea6506a87ec293b94a0a46c0bce2bb4975b7f1d09b6f3717"}, {file = "flake8-docstrings-1.5.0.tar.gz", hash = "sha256:3d5a31c7ec6b7367ea6506a87ec293b94a0a46c0bce2bb4975b7f1d09b6f3717"},
@ -1219,8 +1215,8 @@ ipaddress = [
{file = "ipaddress-1.0.23.tar.gz", hash = "sha256:b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2"}, {file = "ipaddress-1.0.23.tar.gz", hash = "sha256:b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2"},
] ]
isort = [ isort = [
{file = "isort-4.3.21-py2.py3-none-any.whl", hash = "sha256:6e811fcb295968434526407adb8796944f1988c5b65e8139058f2014cbe100fd"}, {file = "isort-5.6.4-py3-none-any.whl", hash = "sha256:dcab1d98b469a12a1a624ead220584391648790275560e1a43e54c5dceae65e7"},
{file = "isort-4.3.21.tar.gz", hash = "sha256:54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1"}, {file = "isort-5.6.4.tar.gz", hash = "sha256:dcaeec1b5f0eca77faea2a35ab790b4f3680ff75590bfcb7145986905aab2f58"},
] ]
jsonschema = [ jsonschema = [
{file = "jsonschema-3.2.0-py2.py3-none-any.whl", hash = "sha256:4e5b3cf8216f577bee9ce139cbe72eca3ea4f292ec60928ff24758ce626cd163"}, {file = "jsonschema-3.2.0-py2.py3-none-any.whl", hash = "sha256:4e5b3cf8216f577bee9ce139cbe72eca3ea4f292ec60928ff24758ce626cd163"},
@ -1293,9 +1289,8 @@ pycodestyle = [
{file = "pycodestyle-2.6.0.tar.gz", hash = "sha256:c58a7d2815e0e8d7972bf1803331fb0152f867bd89adf8a01dfd55085434192e"}, {file = "pycodestyle-2.6.0.tar.gz", hash = "sha256:c58a7d2815e0e8d7972bf1803331fb0152f867bd89adf8a01dfd55085434192e"},
] ]
pydocstyle = [ pydocstyle = [
{file = "pydocstyle-3.0.0-py2-none-any.whl", hash = "sha256:2258f9b0df68b97bf3a6c29003edc5238ff8879f1efb6f1999988d934e432bd8"}, {file = "pydocstyle-5.1.1-py3-none-any.whl", hash = "sha256:aca749e190a01726a4fb472dd4ef23b5c9da7b9205c0a7857c06533de13fd678"},
{file = "pydocstyle-3.0.0-py3-none-any.whl", hash = "sha256:ed79d4ec5e92655eccc21eb0c6cf512e69512b4a97d215ace46d17e4990f2039"}, {file = "pydocstyle-5.1.1.tar.gz", hash = "sha256:19b86fa8617ed916776a11cd8bc0197e5b9856d5433b777f51a3defe13075325"},
{file = "pydocstyle-3.0.0.tar.gz", hash = "sha256:5741c85e408f9e0ddf873611085e819b809fca90b619f5fd7f34bd4959da3dd4"},
] ]
pyflakes = [ pyflakes = [
{file = "pyflakes-2.2.0-py2.py3-none-any.whl", hash = "sha256:0d94e0e05a19e57a99444b6ddcf9a6eb2e5c68d3ca1e98e90707af8152c90a92"}, {file = "pyflakes-2.2.0-py2.py3-none-any.whl", hash = "sha256:0d94e0e05a19e57a99444b6ddcf9a6eb2e5c68d3ca1e98e90707af8152c90a92"},
@ -1456,8 +1451,8 @@ snowballstemmer = [
{file = "snowballstemmer-2.0.0.tar.gz", hash = "sha256:df3bac3df4c2c01363f3dd2cfa78cce2840a79b9f1c2d2de9ce8d31683992f52"}, {file = "snowballstemmer-2.0.0.tar.gz", hash = "sha256:df3bac3df4c2c01363f3dd2cfa78cce2840a79b9f1c2d2de9ce8d31683992f52"},
] ]
stevedore = [ stevedore = [
{file = "stevedore-1.32.0-py2.py3-none-any.whl", hash = "sha256:a4e7dc759fb0f2e3e2f7d8ffe2358c19d45b9b8297f393ef1256858d82f69c9b"}, {file = "stevedore-3.2.2-py3-none-any.whl", hash = "sha256:5e1ab03eaae06ef6ce23859402de785f08d97780ed774948ef16c4652c41bc62"},
{file = "stevedore-1.32.0.tar.gz", hash = "sha256:18afaf1d623af5950cc0f7e75e70f917784c73b652a34a12d90b309451b5500b"}, {file = "stevedore-3.2.2.tar.gz", hash = "sha256:f845868b3a3a77a2489d226568abe7328b5c2d4f6a011cc759dfa99144a521f0"},
] ]
testfixtures = [ testfixtures = [
{file = "testfixtures-6.15.0-py2.py3-none-any.whl", hash = "sha256:e17f4f526fc90b0ac9bc7f8ca62b7dec17d9faf3d721f56bda4f0fd94d02f85a"}, {file = "testfixtures-6.15.0-py2.py3-none-any.whl", hash = "sha256:e17f4f526fc90b0ac9bc7f8ca62b7dec17d9faf3d721f56bda4f0fd94d02f85a"},
@ -1528,6 +1523,6 @@ yapf = [
{file = "yapf-0.30.0.tar.gz", hash = "sha256:3000abee4c28daebad55da6c85f3cd07b8062ce48e2e9943c8da1b9667d48427"}, {file = "yapf-0.30.0.tar.gz", hash = "sha256:3000abee4c28daebad55da6c85f3cd07b8062ce48e2e9943c8da1b9667d48427"},
] ]
zipp = [ zipp = [
{file = "zipp-1.2.0-py2.py3-none-any.whl", hash = "sha256:e0d9e63797e483a30d27e09fffd308c59a700d365ec34e93cc100844168bf921"}, {file = "zipp-3.4.0-py3-none-any.whl", hash = "sha256:102c24ef8f171fd729d46599845e95c7ab894a4cf45f5de11a44cc7444fb1108"},
{file = "zipp-1.2.0.tar.gz", hash = "sha256:c70410551488251b0fee67b460fb9a536af8d6f9f008ad10ac51f615b6a521b1"}, {file = "zipp-3.4.0.tar.gz", hash = "sha256:ed5eee1974372595f9e416cc7bbeeb12335201d8081ca8a0743c954d4446e5cb"},
] ]

View File

@ -10,7 +10,6 @@ classifiers = [
"Natural Language :: English", "Natural Language :: English",
"Operating System :: POSIX", "Operating System :: POSIX",
"Programming Language :: Python :: 3", "Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.8",
@ -36,52 +35,51 @@ repository = "https://github.com/thegeeklab/docker-tidy/"
version = "0.0.0" version = "0.0.0"
[tool.poetry.dependencies] [tool.poetry.dependencies]
anyconfig = "*" anyconfig = "^0.9.11"
appdirs = "*" appdirs = "^1.4.4"
certifi = "*" certifi = "^2020.11.8"
chardet = "*" chardet = "^3.0.4"
colorama = "*" colorama = "^0.4.4"
dateparser = "*" dateparser = "^1.0.0"
docker = "*" docker = "^4.3.1"
docker-pycreds = "*" docker-pycreds = "^0.4.0"
environs = "*" environs = "^9.2.0"
idna = "*" idna = "^2.10"
importlib-metadata = {version = "*", markers = "python_version<'3.8'"} ipaddress = "^1.0.23"
ipaddress = "*" jsonschema = "^3.2.0"
jsonschema = "*" nested-lookup = "^0.2.21"
nested-lookup = "*" pathspec = "^0.8.1"
pathspec = "*" python = "^3.6.0"
python = "^3.5.0" python-dateutil = "^2.8.1"
python-dateutil = "*" python-json-logger = "^2.0.1"
python-json-logger = "*" requests = "^2.25.0"
requests = "*" "ruamel.yaml" = "^0.16.12"
"ruamel.yaml" = "*" websocket_client = "^0.57.0"
websocket-client = "*" zipp = "^3.4.0"
zipp = "<2.0.0"
[tool.poetry.dev-dependencies] [tool.poetry.dev-dependencies]
autopep8 = "*" autopep8 = "^1.5.4"
bandit = "*" bandit = "^1.6.2"
coverage = {extras = ["toml"], version = "*"} coverage = {extras = ["toml"], version = "^5.3"}
flake8 = "*" flake8 = "^3.8.4"
flake8-blind-except = "*" flake8-blind-except = "^0.1.1"
flake8-builtins = "*" flake8-builtins = "^1.5.3"
flake8-colors = "*" flake8-colors = "^0.1.8"
flake8-docstrings = "<=3.0.0" flake8-docstrings = "^1.5.0"
flake8-eradicate = {version = "*", markers = "python_version>='3.6'"} flake8-eradicate = "^1.0.0"
flake8-isort = "*" flake8-isort = "^4.0.0"
flake8-logging-format = "*" flake8-logging-format = "^0.6.0"
flake8-pep3101 = "*" flake8-pep3101 = "^1.3.0"
flake8-polyfill = "*" flake8-polyfill = "^1.0.2"
flake8-quotes = "*" flake8-quotes = "^3.2.0"
pathlib2 = "*" pathlib2 = "^2.3.5"
pep8-naming = "*" pep8-naming = "^0.11.1"
pipenv-setup = "*" pipenv-setup = "^3.1.1"
pydocstyle = "<4.0.0" pydocstyle = "^5.1.1"
pytest = "*" pytest = "^6.1.2"
pytest-cov = "*" pytest-cov = "^2.10.1"
pytest-mock = "*" pytest-mock = "^3.3.1"
yapf = "*" yapf = "^0.30.0"
[tool.poetry.scripts] [tool.poetry.scripts]
docker-tidy = "dockertidy.Cli:main" docker-tidy = "dockertidy.Cli:main"
@ -94,7 +92,6 @@ vcs = "git"
[tool.isort] [tool.isort]
default_section = "THIRDPARTY" default_section = "THIRDPARTY"
force_single_line = true force_single_line = true
known_first_party = "dockertidy"
line_length = 99 line_length = 99
sections = ["FUTURE", "STDLIB", "THIRDPARTY", "FIRSTPARTY", "LOCALFOLDER"] sections = ["FUTURE", "STDLIB", "THIRDPARTY", "FIRSTPARTY", "LOCALFOLDER"]
skip_glob = ["**/.env*", "**/env/*", "**/docs/*"] skip_glob = ["**/.env*", "**/env/*", "**/docs/*"]