diff --git a/.drone.jsonnet b/.drone.jsonnet index 623d720..9c3d979 100644 --- a/.drone.jsonnet +++ b/.drone.jsonnet @@ -6,6 +6,9 @@ local PythonVersion(pyversion='3.5') = { SETUPTOOLS_SCM_PRETEND_VERSION: '${DRONE_TAG##v}', }, commands: [ + 'pip install pipenv -qq', + 'pipenv --bare install --dev --keep-outdated', + 'pipenv run pytest dockertidy --cov=dockertidy --no-cov-on-fail', 'pip install -qq .', 'docker-tidy --help', 'docker-tidy --version', @@ -25,7 +28,7 @@ local PipelineLint = { steps: [ { name: 'flake8', - image: 'python:3.7', + image: 'python:3.8', environment: { PY_COLORS: 1, }, @@ -51,14 +54,15 @@ local PipelineDeps = { steps: [ { name: 'pipenv', - image: 'python:3.7', + image: 'python:3.8', environment: { PY_COLORS: 1, }, commands: [ 'pip install pipenv -qq', 'pipenv --bare install --keep-outdated', - 'pipenv check -i 37752', + # temp disabled + # 'pipenv check -i 37752', 'pipenv --bare install --dev --keep-outdated', 'pipenv run pipenv-setup check', ], @@ -80,18 +84,10 @@ local PipelineTest = { arch: 'amd64', }, steps: [ - { - name: 'pytest', - image: 'python:3.8', - environment: { - PY_COLORS: 1, - }, - commands: [ - 'pip install pipenv -qq', - 'pipenv --bare install --dev --keep-outdated', - 'pipenv run pytest dockertidy/tests/ --cov=dockertidy/ --no-cov-on-fail', - ], - }, + PythonVersion(pyversion='3.5'), + PythonVersion(pyversion='3.6'), + PythonVersion(pyversion='3.7'), + PythonVersion(pyversion='3.8'), { name: 'codecov', image: 'python:3.8', @@ -100,8 +96,14 @@ local PipelineTest = { CODECOV_TOKEN: { from_secret: 'codecov_token' }, }, commands: [ - 'pip install codecov', - 'codecov --required', + 'pip install codecov -qq', + 'codecov --required -X gcov', + ], + depends_on: [ + 'python35-pytest', + 'python36-pytest', + 'python37-pytest', + 'python38-pytest', ], }, ], @@ -113,27 +115,6 @@ local PipelineTest = { }, }; -local PipelineVerify = { - kind: 'pipeline', - name: 'verify', - platform: { - os: 'linux', - arch: 'amd64', - }, - steps: [ - PythonVersion(pyversion='3.5'), - PythonVersion(pyversion='3.6'), - PythonVersion(pyversion='3.7'), - PythonVersion(pyversion='3.8'), - ], - depends_on: [ - 'test', - ], - trigger: { - ref: ['refs/heads/master', 'refs/tags/**', 'refs/pull/**'], - }, -}; - local PipelineSecurity = { kind: 'pipeline', name: 'security', @@ -144,19 +125,19 @@ local PipelineSecurity = { steps: [ { name: 'bandit', - image: 'python:3.7', + image: 'python:3.8', environment: { PY_COLORS: 1, }, commands: [ 'pip install pipenv -qq', 'pipenv --bare install --dev --keep-outdated', - 'pipenv run bandit -r ./dockertidy -x ./dockertidy/tests', + 'pipenv run bandit -r ./dockertidy -x ./dockertidy/test', ], }, ], depends_on: [ - 'verify', + 'test', ], trigger: { ref: ['refs/heads/master', 'refs/tags/**', 'refs/pull/**'], @@ -173,7 +154,7 @@ local PipelineBuildPackage = { steps: [ { name: 'build', - image: 'python:3.7', + image: 'python:3.8', environment: { SETUPTOOLS_SCM_PRETEND_VERSION: '${DRONE_TAG##v}', }, @@ -234,7 +215,7 @@ local PipelineBuildContainer(arch='amd64') = { steps: [ { name: 'build', - image: 'python:3.7', + image: 'python:3.8', commands: [ 'python setup.py bdist_wheel', ], @@ -416,7 +397,6 @@ local PipelineNotifications = { PipelineLint, PipelineDeps, PipelineTest, - PipelineVerify, PipelineSecurity, PipelineBuildPackage, PipelineBuildContainer(arch='amd64'), diff --git a/.drone.yml b/.drone.yml index 7c77539..daa441a 100644 --- a/.drone.yml +++ b/.drone.yml @@ -8,7 +8,7 @@ platform: steps: - name: flake8 - image: python:3.7 + image: python:3.8 commands: - pip install pipenv -qq - pipenv --bare install --dev --keep-outdated @@ -32,11 +32,10 @@ platform: steps: - name: pipenv - image: python:3.7 + image: python:3.8 commands: - pip install pipenv -qq - pipenv --bare install --keep-outdated - - pipenv check -i 37752 - pipenv --bare install --dev --keep-outdated - pipenv run pipenv-setup check environment: @@ -55,43 +54,6 @@ depends_on: kind: pipeline name: test -platform: - os: linux - arch: amd64 - -steps: -- name: pytest - image: python:3.8 - commands: - - pip install pipenv -qq - - pipenv --bare install --dev --keep-outdated - - pipenv run pytest dockertidy/tests/ --cov=dockertidy/ --no-cov-on-fail - environment: - PY_COLORS: 1 - -- name: codecov - image: python:3.8 - commands: - - pip install codecov - - codecov --required - environment: - CODECOV_TOKEN: - from_secret: codecov_token - PY_COLORS: 1 - -trigger: - ref: - - refs/heads/master - - refs/tags/** - - refs/pull/** - -depends_on: -- dependencies - ---- -kind: pipeline -name: verify - platform: os: linux arch: amd64 @@ -100,6 +62,9 @@ steps: - name: python35-pytest image: python:3.5 commands: + - pip install pipenv -qq + - pipenv --bare install --dev --keep-outdated + - pipenv run pytest dockertidy --cov=dockertidy --no-cov-on-fail - pip install -qq . - docker-tidy --help - docker-tidy --version @@ -112,6 +77,9 @@ steps: - name: python36-pytest image: python:3.6 commands: + - pip install pipenv -qq + - pipenv --bare install --dev --keep-outdated + - pipenv run pytest dockertidy --cov=dockertidy --no-cov-on-fail - pip install -qq . - docker-tidy --help - docker-tidy --version @@ -124,6 +92,9 @@ steps: - name: python37-pytest image: python:3.7 commands: + - pip install pipenv -qq + - pipenv --bare install --dev --keep-outdated + - pipenv run pytest dockertidy --cov=dockertidy --no-cov-on-fail - pip install -qq . - docker-tidy --help - docker-tidy --version @@ -136,6 +107,9 @@ steps: - name: python38-pytest image: python:3.8 commands: + - pip install pipenv -qq + - pipenv --bare install --dev --keep-outdated + - pipenv run pytest dockertidy --cov=dockertidy --no-cov-on-fail - pip install -qq . - docker-tidy --help - docker-tidy --version @@ -145,6 +119,48 @@ steps: depends_on: - clone +- name: codecov + image: python:3.8 + commands: + - pip install codecov -qq + - codecov --required -X gcov + environment: + CODECOV_TOKEN: + from_secret: codecov_token + PY_COLORS: 1 + depends_on: + - python35-pytest + - python36-pytest + - python37-pytest + - python38-pytest + +trigger: + ref: + - refs/heads/master + - refs/tags/** + - refs/pull/** + +depends_on: +- dependencies + +--- +kind: pipeline +name: security + +platform: + os: linux + arch: amd64 + +steps: +- name: bandit + image: python:3.8 + commands: + - pip install pipenv -qq + - pipenv --bare install --dev --keep-outdated + - pipenv run bandit -r ./dockertidy -x ./dockertidy/test + environment: + PY_COLORS: 1 + trigger: ref: - refs/heads/master @@ -154,33 +170,6 @@ trigger: depends_on: - test ---- -kind: pipeline -name: security - -platform: - os: linux - arch: amd64 - -steps: -- name: bandit - image: python:3.7 - commands: - - pip install pipenv -qq - - pipenv --bare install --dev --keep-outdated - - pipenv run bandit -r ./dockertidy -x ./dockertidy/tests - environment: - PY_COLORS: 1 - -trigger: - ref: - - refs/heads/master - - refs/tags/** - - refs/pull/** - -depends_on: -- verify - --- kind: pipeline name: build-package @@ -191,7 +180,7 @@ platform: steps: - name: build - image: python:3.7 + image: python:3.8 commands: - python setup.py sdist bdist_wheel environment: @@ -249,7 +238,7 @@ platform: steps: - name: build - image: python:3.7 + image: python:3.8 commands: - python setup.py bdist_wheel environment: @@ -304,7 +293,7 @@ platform: steps: - name: build - image: python:3.7 + image: python:3.8 commands: - python setup.py bdist_wheel environment: @@ -359,7 +348,7 @@ platform: steps: - name: build - image: python:3.7 + image: python:3.8 commands: - python setup.py bdist_wheel environment: @@ -540,6 +529,6 @@ depends_on: --- kind: signature -hmac: db08f11618d3ac957b55287ac41ae743df3d3b9a87a68cda3b25c1add3f0c346 +hmac: 1a06f37400cd549c9b7f95b9395f0ba5c5bbb8f7069e8635b3761322d0fba07c ... diff --git a/.flake8 b/.flake8 index 1fad624..db5036c 100644 --- a/.flake8 +++ b/.flake8 @@ -8,7 +8,7 @@ exclude = __pycache__ build dist - tests + test *.pyc *.egg-info .cache diff --git a/CHANGELOG.md b/CHANGELOG.md index 231e05d..8881135 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,2 @@ -* BUGFIX - * fix timedelta validation for env vars - * fix formatting of `exclude_container_labels` +* ENHANCEMENT + * cleanup pypi packaging diff --git a/Dockerfile b/Dockerfile index a407d24..3346292 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,8 +15,8 @@ RUN \ apk --update add --virtual .build-deps gcc g++ && \ pip install --upgrade --no-cache-dir pip && \ pip install --no-cache-dir docker_tidy-*.whl && \ - rm -f docker_tidy-*.whl && \ apk del .build-deps && \ + rm -f docker_tidy-*.whl && \ rm -rf /var/cache/apk/* && \ rm -rf /root/.cache/ && \ rm -rf /tmp/* diff --git a/Pipfile b/Pipfile index 60eb147..1c1b925 100644 --- a/Pipfile +++ b/Pipfile @@ -15,6 +15,7 @@ flake8-isort = "*" flake8-logging-format = "*" flake8-polyfill = "*" flake8-quotes = "*" +flake8-eradicate = {version = "*",markers = "python_version>='3.6'"} pep8-naming = "*" pytest = "*" pytest-mock = "*" @@ -23,6 +24,7 @@ bandit = "*" docker-tidy = {editable = true,path = "."} autopep8 = "*" yapf = "*" +pathlib2 = "*" [packages] zipp = "<2.0.0" diff --git a/Pipfile.lock b/Pipfile.lock index 5e0c330..77f962f 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "2655d80711d8731029d69fc90a9adf0fcad44197d18758eaffceb9a93ac38091" + "sha256": "361695040b1f2b6028ffcbc562558175e6e1e34a07035b3e18c1adf9def6572e" }, "pipfile-spec": 6, "requires": {}, @@ -38,11 +38,11 @@ }, "certifi": { "hashes": [ - "sha256:017c25db2a153ce562900032d5bc68e9f191e44e9a0f762f373977de9df1fbb3", - "sha256:25b64c7da4cd7479594d035c08c2d809eb4aab3a26e5a990ea98cc450c320f1f" + "sha256:1d987a998c75633c40847cc966fcf5904906c920a7f17ef374f5aa4282abd304", + "sha256:51fcb31174be6e6664c5f69e3e1691a2d72a1a12e90f872cbdb1567eb47b6519" ], "index": "pypi", - "version": "==2019.11.28" + "version": "==2020.4.5.1" }, "chardet": { "hashes": [ @@ -86,11 +86,11 @@ }, "environs": { "hashes": [ - "sha256:54099cfbdd9cb320f438bf29992969ccfd5e232ba068bd650b04d76d96001631", - "sha256:9578ce00ead984124a5336e5ea073707df303dc19d3b1e7ba34cdce1bb4fe02f" + "sha256:68d53c4bb283d8008865815226afba83ab2ea09898e564f3399c9e73b3d4bcfd", + "sha256:9502d78a3b7ea23c211c3a88f4f946d188a7d936c59c3609f9303aeb26cdc58d" ], "index": "pypi", - "version": "==7.3.0" + "version": "==7.3.1" }, "idna": { "hashes": [ @@ -102,12 +102,12 @@ }, "importlib-metadata": { "hashes": [ - "sha256:06f5b3a99029c7134207dd882428a66992a9de2bef7c2b699b5641f9886c3302", - "sha256:b97607a1a18a5100839aec1dc26a1ea17ee0d93b20b0f008d80a5a050afb200b" + "sha256:2a688cbaa90e0cc587f1df48bdc97a6eadccdcd9c35fb3f976a09e3b5016d90f", + "sha256:34513a8a0c4962bc66d35b359558fd8a5e10cd472d37aec5f66858addef32c1e" ], "index": "pypi", "markers": "python_version < '3.8'", - "version": "==1.5.0" + "version": "==1.6.0" }, "ipaddress": { "hashes": [ @@ -141,17 +141,17 @@ }, "pathspec": { "hashes": [ - "sha256:163b0632d4e31cef212976cf57b43d9fd6b0bac6e67c26015d611a647d5e7424", - "sha256:562aa70af2e0d434367d9790ad37aed893de47f1693e4201fd1d3dca15d19b96" + "sha256:7d91249d21749788d07a2d0f94147accd8f845507400749ea19c1ec9054a12b0", + "sha256:da45173eb3a6f2a5a487efba21f050af2b41948be6ab52b6a1e3ff22bb8b7061" ], "index": "pypi", - "version": "==0.7.0" + "version": "==0.8.0" }, "pyrsistent": { "hashes": [ - "sha256:cdc7b5e3ed77bed61270a47d35434a30617b9becdf2478af76ad2c6ade307280" + "sha256:28669905fe725965daa16184933676547c5bb40a5153055a8dee2a4bd7933ad3" ], - "version": "==0.15.7" + "version": "==0.16.0" }, "python-dateutil": { "hashes": [ @@ -184,29 +184,29 @@ }, "regex": { "hashes": [ - "sha256:01b2d70cbaed11f72e57c1cfbaca71b02e3b98f739ce33f5f26f71859ad90431", - "sha256:046e83a8b160aff37e7034139a336b660b01dbfe58706f9d73f5cdc6b3460242", - "sha256:113309e819634f499d0006f6200700c8209a2a8bf6bd1bdc863a4d9d6776a5d1", - "sha256:200539b5124bc4721247a823a47d116a7a23e62cc6695744e3eb5454a8888e6d", - "sha256:25f4ce26b68425b80a233ce7b6218743c71cf7297dbe02feab1d711a2bf90045", - "sha256:269f0c5ff23639316b29f31df199f401e4cb87529eafff0c76828071635d417b", - "sha256:5de40649d4f88a15c9489ed37f88f053c15400257eeb18425ac7ed0a4e119400", - "sha256:7f78f963e62a61e294adb6ff5db901b629ef78cb2a1cfce3cf4eeba80c1c67aa", - "sha256:82469a0c1330a4beb3d42568f82dffa32226ced006e0b063719468dcd40ffdf0", - "sha256:8c2b7fa4d72781577ac45ab658da44c7518e6d96e2a50d04ecb0fd8f28b21d69", - "sha256:974535648f31c2b712a6b2595969f8ab370834080e00ab24e5dbb9d19b8bfb74", - "sha256:99272d6b6a68c7ae4391908fc15f6b8c9a6c345a46b632d7fdb7ef6c883a2bbb", - "sha256:9b64a4cc825ec4df262050c17e18f60252cdd94742b4ba1286bcfe481f1c0f26", - "sha256:9e9624440d754733eddbcd4614378c18713d2d9d0dc647cf9c72f64e39671be5", - "sha256:9ff16d994309b26a1cdf666a6309c1ef51ad4f72f99d3392bcd7b7139577a1f2", - "sha256:b33ebcd0222c1d77e61dbcd04a9fd139359bded86803063d3d2d197b796c63ce", - "sha256:bba52d72e16a554d1894a0cc74041da50eea99a8483e591a9edf1025a66843ab", - "sha256:bed7986547ce54d230fd8721aba6fd19459cdc6d315497b98686d0416efaff4e", - "sha256:c7f58a0e0e13fb44623b65b01052dae8e820ed9b8b654bb6296bc9c41f571b70", - "sha256:d58a4fa7910102500722defbde6e2816b0372a4fcc85c7e239323767c74f5cbc", - "sha256:f1ac2dc65105a53c1c2d72b1d3e98c2464a133b4067a51a3d2477b28449709a0" + "sha256:08119f707f0ebf2da60d2f24c2f39ca616277bb67ef6c92b72cbf90cbe3a556b", + "sha256:0ce9537396d8f556bcfc317c65b6a0705320701e5ce511f05fc04421ba05b8a8", + "sha256:1cbe0fa0b7f673400eb29e9ef41d4f53638f65f9a2143854de6b1ce2899185c3", + "sha256:2294f8b70e058a2553cd009df003a20802ef75b3c629506be20687df0908177e", + "sha256:23069d9c07e115537f37270d1d5faea3e0bdded8279081c4d4d607a2ad393683", + "sha256:24f4f4062eb16c5bbfff6a22312e8eab92c2c99c51a02e39b4eae54ce8255cd1", + "sha256:295badf61a51add2d428a46b8580309c520d8b26e769868b922750cf3ce67142", + "sha256:2a3bf8b48f8e37c3a40bb3f854bf0121c194e69a650b209628d951190b862de3", + "sha256:4385f12aa289d79419fede43f979e372f527892ac44a541b5446617e4406c468", + "sha256:5635cd1ed0a12b4c42cce18a8d2fb53ff13ff537f09de5fd791e97de27b6400e", + "sha256:5bfed051dbff32fd8945eccca70f5e22b55e4148d2a8a45141a3b053d6455ae3", + "sha256:7e1037073b1b7053ee74c3c6c0ada80f3501ec29d5f46e42669378eae6d4405a", + "sha256:90742c6ff121a9c5b261b9b215cb476eea97df98ea82037ec8ac95d1be7a034f", + "sha256:a58dd45cb865be0ce1d5ecc4cfc85cd8c6867bea66733623e54bd95131f473b6", + "sha256:c087bff162158536387c53647411db09b6ee3f9603c334c90943e97b1052a156", + "sha256:c162a21e0da33eb3d31a3ac17a51db5e634fc347f650d271f0305d96601dc15b", + "sha256:c9423a150d3a4fc0f3f2aae897a59919acd293f4cb397429b120a5fcd96ea3db", + "sha256:ccccdd84912875e34c5ad2d06e1989d890d43af6c2242c6fcfa51556997af6cd", + "sha256:e91ba11da11cf770f389e47c3f5c30473e6d85e06d7fd9dcba0017d2867aab4a", + "sha256:ea4adf02d23b437684cd388d557bf76e3afa72f7fed5bbc013482cc00c816948", + "sha256:fb95debbd1a824b2c4376932f2216cc186912e389bdb0e27147778cf6acb3f89" ], - "version": "==2020.2.20" + "version": "==2020.4.4" }, "requests": { "hashes": [ @@ -312,10 +312,10 @@ }, "autopep8": { "hashes": [ - "sha256:0f592a0447acea0c2b0a9602be1e4e3d86db52badd2e3c84f0193bfd89fd3a43" + "sha256:cc6be1dfd46f2c7fa00e84a357f1a269683985b09eaffb47654ed551194399eb" ], "index": "pypi", - "version": "==1.5" + "version": "==1.5.1" }, "bandit": { "hashes": [ @@ -348,11 +348,11 @@ }, "certifi": { "hashes": [ - "sha256:017c25db2a153ce562900032d5bc68e9f191e44e9a0f762f373977de9df1fbb3", - "sha256:25b64c7da4cd7479594d035c08c2d809eb4aab3a26e5a990ea98cc450c320f1f" + "sha256:1d987a998c75633c40847cc966fcf5904906c920a7f17ef374f5aa4282abd304", + "sha256:51fcb31174be6e6664c5f69e3e1691a2d72a1a12e90f872cbdb1567eb47b6519" ], "index": "pypi", - "version": "==2019.11.28" + "version": "==2020.4.5.1" }, "chardet": { "hashes": [ @@ -379,39 +379,47 @@ }, "coverage": { "hashes": [ - "sha256:15cf13a6896048d6d947bf7d222f36e4809ab926894beb748fc9caa14605d9c3", - "sha256:1daa3eceed220f9fdb80d5ff950dd95112cd27f70d004c7918ca6dfc6c47054c", - "sha256:1e44a022500d944d42f94df76727ba3fc0a5c0b672c358b61067abb88caee7a0", - "sha256:25dbf1110d70bab68a74b4b9d74f30e99b177cde3388e07cc7272f2168bd1477", - "sha256:3230d1003eec018ad4a472d254991e34241e0bbd513e97a29727c7c2f637bd2a", - "sha256:3dbb72eaeea5763676a1a1efd9b427a048c97c39ed92e13336e726117d0b72bf", - "sha256:5012d3b8d5a500834783689a5d2292fe06ec75dc86ee1ccdad04b6f5bf231691", - "sha256:51bc7710b13a2ae0c726f69756cf7ffd4362f4ac36546e243136187cfcc8aa73", - "sha256:527b4f316e6bf7755082a783726da20671a0cc388b786a64417780b90565b987", - "sha256:722e4557c8039aad9592c6a4213db75da08c2cd9945320220634f637251c3894", - "sha256:76e2057e8ffba5472fd28a3a010431fd9e928885ff480cb278877c6e9943cc2e", - "sha256:77afca04240c40450c331fa796b3eab6f1e15c5ecf8bf2b8bee9706cd5452fef", - "sha256:7afad9835e7a651d3551eab18cbc0fdb888f0a6136169fbef0662d9cdc9987cf", - "sha256:9bea19ac2f08672636350f203db89382121c9c2ade85d945953ef3c8cf9d2a68", - "sha256:a8b8ac7876bc3598e43e2603f772d2353d9931709345ad6c1149009fd1bc81b8", - "sha256:b0840b45187699affd4c6588286d429cd79a99d509fe3de0f209594669bb0954", - "sha256:b26aaf69713e5674efbde4d728fb7124e429c9466aeaf5f4a7e9e699b12c9fe2", - "sha256:b63dd43f455ba878e5e9f80ba4f748c0a2156dde6e0e6e690310e24d6e8caf40", - "sha256:be18f4ae5a9e46edae3f329de2191747966a34a3d93046dbdf897319923923bc", - "sha256:c312e57847db2526bc92b9bfa78266bfbaabac3fdcd751df4d062cd4c23e46dc", - "sha256:c60097190fe9dc2b329a0eb03393e2e0829156a589bd732e70794c0dd804258e", - "sha256:c62a2143e1313944bf4a5ab34fd3b4be15367a02e9478b0ce800cb510e3bbb9d", - "sha256:cc1109f54a14d940b8512ee9f1c3975c181bbb200306c6d8b87d93376538782f", - "sha256:cd60f507c125ac0ad83f05803063bed27e50fa903b9c2cfee3f8a6867ca600fc", - "sha256:d513cc3db248e566e07a0da99c230aca3556d9b09ed02f420664e2da97eac301", - "sha256:d649dc0bcace6fcdb446ae02b98798a856593b19b637c1b9af8edadf2b150bea", - "sha256:d7008a6796095a79544f4da1ee49418901961c97ca9e9d44904205ff7d6aa8cb", - "sha256:da93027835164b8223e8e5af2cf902a4c80ed93cb0909417234f4a9df3bcd9af", - "sha256:e69215621707119c6baf99bda014a45b999d37602cb7043d943c76a59b05bf52", - "sha256:ea9525e0fef2de9208250d6c5aeeee0138921057cd67fcef90fbed49c4d62d37", - "sha256:fca1669d464f0c9831fd10be2eef6b86f5ebd76c724d1e0706ebdff86bb4adf0" + "sha256:03f630aba2b9b0d69871c2e8d23a69b7fe94a1e2f5f10df5049c0df99db639a0", + "sha256:046a1a742e66d065d16fb564a26c2a15867f17695e7f3d358d7b1ad8a61bca30", + "sha256:0a907199566269e1cfa304325cc3b45c72ae341fbb3253ddde19fa820ded7a8b", + "sha256:165a48268bfb5a77e2d9dbb80de7ea917332a79c7adb747bd005b3a07ff8caf0", + "sha256:1b60a95fc995649464e0cd48cecc8288bac5f4198f21d04b8229dc4097d76823", + "sha256:1f66cf263ec77af5b8fe14ef14c5e46e2eb4a795ac495ad7c03adc72ae43fafe", + "sha256:2e08c32cbede4a29e2a701822291ae2bc9b5220a971bba9d1e7615312efd3037", + "sha256:3844c3dab800ca8536f75ae89f3cf566848a3eb2af4d9f7b1103b4f4f7a5dad6", + "sha256:408ce64078398b2ee2ec08199ea3fcf382828d2f8a19c5a5ba2946fe5ddc6c31", + "sha256:443be7602c790960b9514567917af538cac7807a7c0c0727c4d2bbd4014920fd", + "sha256:4482f69e0701139d0f2c44f3c395d1d1d37abd81bfafbf9b6efbe2542679d892", + "sha256:4a8a259bf990044351baf69d3b23e575699dd60b18460c71e81dc565f5819ac1", + "sha256:513e6526e0082c59a984448f4104c9bf346c2da9961779ede1fc458e8e8a1f78", + "sha256:5f587dfd83cb669933186661a351ad6fc7166273bc3e3a1531ec5c783d997aac", + "sha256:62061e87071497951155cbccee487980524d7abea647a1b2a6eb6b9647df9006", + "sha256:641e329e7f2c01531c45c687efcec8aeca2a78a4ff26d49184dce3d53fc35014", + "sha256:65a7e00c00472cd0f59ae09d2fb8a8aaae7f4a0cf54b2b74f3138d9f9ceb9cb2", + "sha256:6ad6ca45e9e92c05295f638e78cd42bfaaf8ee07878c9ed73e93190b26c125f7", + "sha256:73aa6e86034dad9f00f4bbf5a666a889d17d79db73bc5af04abd6c20a014d9c8", + "sha256:7c9762f80a25d8d0e4ab3cb1af5d9dffbddb3ee5d21c43e3474c84bf5ff941f7", + "sha256:85596aa5d9aac1bf39fe39d9fa1051b0f00823982a1de5766e35d495b4a36ca9", + "sha256:86a0ea78fd851b313b2e712266f663e13b6bc78c2fb260b079e8b67d970474b1", + "sha256:8a620767b8209f3446197c0e29ba895d75a1e272a36af0786ec70fe7834e4307", + "sha256:922fb9ef2c67c3ab20e22948dcfd783397e4c043a5c5fa5ff5e9df5529074b0a", + "sha256:9fad78c13e71546a76c2f8789623eec8e499f8d2d799f4b4547162ce0a4df435", + "sha256:a37c6233b28e5bc340054cf6170e7090a4e85069513320275a4dc929144dccf0", + "sha256:c3fc325ce4cbf902d05a80daa47b645d07e796a80682c1c5800d6ac5045193e5", + "sha256:cda33311cb9fb9323958a69499a667bd728a39a7aa4718d7622597a44c4f1441", + "sha256:db1d4e38c9b15be1521722e946ee24f6db95b189d1447fa9ff18dd16ba89f732", + "sha256:eda55e6e9ea258f5e4add23bcf33dc53b2c319e70806e180aecbff8d90ea24de", + "sha256:f372cdbb240e09ee855735b9d85e7f50730dcfb6296b74b95a3e5dea0615c4c1" ], - "version": "==5.0.3" + "version": "==5.0.4" + }, + "dateparser": { + "hashes": [ + "sha256:1b1f0e3034f82d1f92b45fa445826da6a36d67af8a1169e04869685594276011", + "sha256:fb5bfde4795fa4b179fe05c2c25b3981f785de26bec37e247dee1079c63d5689" + ], + "index": "pypi", + "version": "==0.7.4" }, "distlib": { "hashes": [ @@ -448,18 +456,17 @@ }, "environs": { "hashes": [ - "sha256:54099cfbdd9cb320f438bf29992969ccfd5e232ba068bd650b04d76d96001631", - "sha256:9578ce00ead984124a5336e5ea073707df303dc19d3b1e7ba34cdce1bb4fe02f" + "sha256:68d53c4bb283d8008865815226afba83ab2ea09898e564f3399c9e73b3d4bcfd", + "sha256:9502d78a3b7ea23c211c3a88f4f946d188a7d936c59c3609f9303aeb26cdc58d" ], "index": "pypi", - "version": "==7.3.0" + "version": "==7.3.1" }, - "first": { + "eradicate": { "hashes": [ - "sha256:8d8e46e115ea8ac652c76123c0865e3ff18372aef6f03c22809ceefcea9dec86", - "sha256:ff285b08c55f8c97ce4ea7012743af2495c9f1291785f163722bd36f6af6d3bf" + "sha256:4ffda82aae6fd49dfffa777a857cb758d77502a1f2e0f54c9ac5155a39d2d01a" ], - "version": "==2.0.2" + "version": "==1.0" }, "flake8": { "hashes": [ @@ -478,11 +485,11 @@ }, "flake8-builtins": { "hashes": [ - "sha256:5de3917b9b6d81e8b92d56ebc2873cc178978658848a7a16a638a6ea5842f70c", - "sha256:b4aaa42bf503ae287c436a822374996542003ddfd73a971988b4c383652c9c58" + "sha256:a0296d23da92a6f2494243b9f2039bfdb73f34aba20054c1b70b2a60c84745bb", + "sha256:fe7be13fe51bfb06bdae6096c6488e328c822c3aa080e24b91b77116a4fbb8b0" ], "index": "pypi", - "version": "==1.5.0" + "version": "==1.5.2" }, "flake8-colors": { "hashes": [ @@ -499,13 +506,22 @@ "index": "pypi", "version": "==1.5.0" }, - "flake8-isort": { + "flake8-eradicate": { "hashes": [ - "sha256:64454d1f154a303cfe23ee715aca37271d4f1d299b2f2663f45b73bff14e36a9", - "sha256:aa0c4d004e6be47e74f122f5b7f36554d0d78ad8bf99b497a460dedccaa7cce9" + "sha256:d0b3d283d85079917acbfe39b9d637385cd82cba3ae3d76c1278c07ddcf0d9b9", + "sha256:e8b32b32300bfb407fe7ef74667c8d2d3a6a81bdf6f09c14a7bcc82b7b870f8b" ], "index": "pypi", - "version": "==2.8.0" + "markers": "python_version >= '3.6'", + "version": "==0.3.0" + }, + "flake8-isort": { + "hashes": [ + "sha256:0d34b266080e1748412b203a1690792245011706b1858c203476b43460bf3652", + "sha256:a77df28778a1ac6ac4153339ebd9d252935f3ed4379872d4f8b84986296d8cc3" + ], + "index": "pypi", + "version": "==2.9.1" }, "flake8-logging-format": { "hashes": [ @@ -524,24 +540,24 @@ }, "flake8-quotes": { "hashes": [ - "sha256:11a15d30c92ca5f04c2791bd7019cf62b6f9d3053eb050d02a135557eb118bfc" + "sha256:39762e16a1ea6b7f0e998a04be14d71b55e74de09b5026bd41907c996a8c82cf" ], "index": "pypi", - "version": "==2.1.1" + "version": "==3.0.0" }, "gitdb": { "hashes": [ - "sha256:284a6a4554f954d6e737cddcff946404393e030b76a282c6640df8efd6b3da5e", - "sha256:598e0096bb3175a0aab3a0b5aedaa18a9a25c6707e0eca0695ba1a0baf1b2150" + "sha256:6f0ecd46f99bb4874e5678d628c3a198e2b4ef38daea2756a2bfd8df7dd5c1a5", + "sha256:ba1132c0912e8c917aa8aa990bee26315064c7b7f171ceaaac0afeb1dc656c6a" ], - "version": "==4.0.2" + "version": "==4.0.4" }, "gitpython": { "hashes": [ - "sha256:43da89427bdf18bf07f1164c6d415750693b4d50e28fc9b68de706245147b9dd", - "sha256:e426c3b587bd58c482f0b7fe6145ff4ac7ae6c82673fc656f489719abca6f4cb" + "sha256:6d4f10e2aaad1864bb0f17ec06a2c2831534140e5883c350d58b4e85189dab74", + "sha256:71b8dad7409efbdae4930f2b0b646aaeccce292484ffa0bc74f1195582578b3d" ], - "version": "==3.1.0" + "version": "==3.1.1" }, "idna": { "hashes": [ @@ -553,12 +569,12 @@ }, "importlib-metadata": { "hashes": [ - "sha256:06f5b3a99029c7134207dd882428a66992a9de2bef7c2b699b5641f9886c3302", - "sha256:b97607a1a18a5100839aec1dc26a1ea17ee0d93b20b0f008d80a5a050afb200b" + "sha256:2a688cbaa90e0cc587f1df48bdc97a6eadccdcd9c35fb3f976a09e3b5016d90f", + "sha256:34513a8a0c4962bc66d35b359558fd8a5e10cd472d37aec5f66858addef32c1e" ], "index": "pypi", "markers": "python_version < '3.8'", - "version": "==1.5.0" + "version": "==1.6.0" }, "ipaddress": { "hashes": [ @@ -628,35 +644,43 @@ ], "version": "==19.2" }, - "pathspec": { + "pathlib2": { "hashes": [ - "sha256:163b0632d4e31cef212976cf57b43d9fd6b0bac6e67c26015d611a647d5e7424", - "sha256:562aa70af2e0d434367d9790ad37aed893de47f1693e4201fd1d3dca15d19b96" + "sha256:0ec8205a157c80d7acc301c0b18fbd5d44fe655968f5d947b6ecef5290fc35db", + "sha256:6cd9a47b597b37cc57de1c05e56fb1a1c9cc9fab04fe78c29acd090418529868" ], "index": "pypi", - "version": "==0.7.0" + "version": "==2.3.5" + }, + "pathspec": { + "hashes": [ + "sha256:7d91249d21749788d07a2d0f94147accd8f845507400749ea19c1ec9054a12b0", + "sha256:da45173eb3a6f2a5a487efba21f050af2b41948be6ab52b6a1e3ff22bb8b7061" + ], + "index": "pypi", + "version": "==0.8.0" }, "pbr": { "hashes": [ - "sha256:139d2625547dbfa5fb0b81daebb39601c478c21956dc57e2e07b74450a8c506b", - "sha256:61aa52a0f18b71c5cc58232d2cf8f8d09cd67fcad60b742a60124cb8d6951488" + "sha256:07f558fece33b05caf857474a366dfcc00562bca13dd8b47b2b3e22d9f9bf55c", + "sha256:579170e23f8e0c2f24b0de612f71f648eccb79fb1322c814ae6b3c07b5ba23e8" ], - "version": "==5.4.4" + "version": "==5.4.5" }, "pep517": { "hashes": [ - "sha256:5ce351f3be71d01bb094d63253854b6139931fcaba8e2f380c02102136c51e40", - "sha256:882e2eeeffe39ccd6be6122d98300df18d80950cb5f449766d64149c94c5614a" + "sha256:576c480be81f3e1a70a16182c762311eb80d1f8a7b0d11971e5234967d7a342c", + "sha256:8e6199cf1288d48a0c44057f112acf18aa5ebabbf73faa242f598fbe145ba29e" ], - "version": "==0.8.1" + "version": "==0.8.2" }, "pep8-naming": { "hashes": [ - "sha256:45f330db8fcfb0fba57458c77385e288e7a3be1d01e8ea4268263ef677ceea5f", - "sha256:a33d38177056321a167decd6ba70b890856ba5025f0a8eca6a3eda607da93caf" + "sha256:5d9f1056cb9427ce344e98d1a7f5665710e2f20f748438e308995852cfa24164", + "sha256:f3b4a5f9dd72b991bf7d8e2a341d2e1aa3a884a769b5aaac4f56825c1763bf3a" ], "index": "pypi", - "version": "==0.9.1" + "version": "==0.10.0" }, "pip-shims": { "hashes": [ @@ -728,16 +752,16 @@ }, "pyparsing": { "hashes": [ - "sha256:4c830582a84fb022400b85429791bc551f1f4871c33f23e44f353119e92f969f", - "sha256:c342dccb5250c08d45fd6f8b4a559613ca603b57498511740e65cd11a2e7dcec" + "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1", + "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b" ], - "version": "==2.4.6" + "version": "==2.4.7" }, "pyrsistent": { "hashes": [ - "sha256:cdc7b5e3ed77bed61270a47d35434a30617b9becdf2478af76ad2c6ade307280" + "sha256:28669905fe725965daa16184933676547c5bb40a5153055a8dee2a4bd7933ad3" ], - "version": "==0.15.7" + "version": "==0.16.0" }, "pytest": { "hashes": [ @@ -757,11 +781,11 @@ }, "pytest-mock": { "hashes": [ - "sha256:b35eb281e93aafed138db25c8772b95d3756108b601947f89af503f8c629413f", - "sha256:cb67402d87d5f53c579263d37971a164743dc33c159dfb4fb4a86f37c5552307" + "sha256:98e02534f170e4f37d7e1abdfc5973fd4207aa609582291717f643764e71c925", + "sha256:a4494016753a30231f8519bfd160242a0f3c8fb82ca36e7b6f82a7fb602ac6b8" ], "index": "pypi", - "version": "==2.0.0" + "version": "==3.0.0" }, "python-dateutil": { "hashes": [ @@ -785,47 +809,54 @@ "index": "pypi", "version": "==0.1.11" }, + "pytz": { + "hashes": [ + "sha256:1c557d7d0e871de1f5ccd5833f60fb2550652da6be2693c1e02300743d21500d", + "sha256:b02c06db6cf09c12dd25137e563b31700d3b80fcc4ad23abb7a315f2789819be" + ], + "version": "==2019.3" + }, "pyyaml": { "hashes": [ - "sha256:059b2ee3194d718896c0ad077dd8c043e5e909d9180f387ce42012662a4946d6", - "sha256:1cf708e2ac57f3aabc87405f04b86354f66799c8e62c28c5fc5f88b5521b2dbf", - "sha256:24521fa2890642614558b492b473bee0ac1f8057a7263156b02e8b14c88ce6f5", - "sha256:4fee71aa5bc6ed9d5f116327c04273e25ae31a3020386916905767ec4fc5317e", - "sha256:70024e02197337533eef7b85b068212420f950319cc8c580261963aefc75f811", - "sha256:74782fbd4d4f87ff04159e986886931456a1894c61229be9eaf4de6f6e44b99e", - "sha256:940532b111b1952befd7db542c370887a8611660d2b9becff75d39355303d82d", - "sha256:cb1f2f5e426dc9f07a7681419fe39cee823bb74f723f36f70399123f439e9b20", - "sha256:dbbb2379c19ed6042e8f11f2a2c66d39cceb8aeace421bfc29d085d93eda3689", - "sha256:e3a057b7a64f1222b56e47bcff5e4b94c4f61faac04c7c4ecb1985e18caa3994", - "sha256:e9f45bd5b92c7974e59bcd2dcc8631a6b6cc380a904725fce7bc08872e691615" + "sha256:06a0d7ba600ce0b2d2fe2e78453a470b5a6e000a985dd4a4e54e436cc36b0e97", + "sha256:240097ff019d7c70a4922b6869d8a86407758333f02203e0fc6ff79c5dcede76", + "sha256:4f4b913ca1a7319b33cfb1369e91e50354d6f07a135f3b901aca02aa95940bd2", + "sha256:69f00dca373f240f842b2931fb2c7e14ddbacd1397d57157a9b005a6a9942648", + "sha256:73f099454b799e05e5ab51423c7bcf361c58d3206fa7b0d555426b1f4d9a3eaf", + "sha256:74809a57b329d6cc0fdccee6318f44b9b8649961fa73144a98735b0aaf029f1f", + "sha256:7739fc0fa8205b3ee8808aea45e968bc90082c10aef6ea95e855e10abf4a37b2", + "sha256:95f71d2af0ff4227885f7a6605c37fd53d3a106fcab511b8860ecca9fcf400ee", + "sha256:b8eac752c5e14d3eca0e6dd9199cd627518cb5ec06add0de9d32baeee6fe645d", + "sha256:cc8955cfbfc7a115fa81d85284ee61147059a753344bc51098f3ccd69b0d7e0c", + "sha256:d13155f591e6fcc1ec3b30685d50bf0711574e2c0dfffd7644babf8b5102ca1a" ], - "version": "==5.3" + "version": "==5.3.1" }, "regex": { "hashes": [ - "sha256:01b2d70cbaed11f72e57c1cfbaca71b02e3b98f739ce33f5f26f71859ad90431", - "sha256:046e83a8b160aff37e7034139a336b660b01dbfe58706f9d73f5cdc6b3460242", - "sha256:113309e819634f499d0006f6200700c8209a2a8bf6bd1bdc863a4d9d6776a5d1", - "sha256:200539b5124bc4721247a823a47d116a7a23e62cc6695744e3eb5454a8888e6d", - "sha256:25f4ce26b68425b80a233ce7b6218743c71cf7297dbe02feab1d711a2bf90045", - "sha256:269f0c5ff23639316b29f31df199f401e4cb87529eafff0c76828071635d417b", - "sha256:5de40649d4f88a15c9489ed37f88f053c15400257eeb18425ac7ed0a4e119400", - "sha256:7f78f963e62a61e294adb6ff5db901b629ef78cb2a1cfce3cf4eeba80c1c67aa", - "sha256:82469a0c1330a4beb3d42568f82dffa32226ced006e0b063719468dcd40ffdf0", - "sha256:8c2b7fa4d72781577ac45ab658da44c7518e6d96e2a50d04ecb0fd8f28b21d69", - "sha256:974535648f31c2b712a6b2595969f8ab370834080e00ab24e5dbb9d19b8bfb74", - "sha256:99272d6b6a68c7ae4391908fc15f6b8c9a6c345a46b632d7fdb7ef6c883a2bbb", - "sha256:9b64a4cc825ec4df262050c17e18f60252cdd94742b4ba1286bcfe481f1c0f26", - "sha256:9e9624440d754733eddbcd4614378c18713d2d9d0dc647cf9c72f64e39671be5", - "sha256:9ff16d994309b26a1cdf666a6309c1ef51ad4f72f99d3392bcd7b7139577a1f2", - "sha256:b33ebcd0222c1d77e61dbcd04a9fd139359bded86803063d3d2d197b796c63ce", - "sha256:bba52d72e16a554d1894a0cc74041da50eea99a8483e591a9edf1025a66843ab", - "sha256:bed7986547ce54d230fd8721aba6fd19459cdc6d315497b98686d0416efaff4e", - "sha256:c7f58a0e0e13fb44623b65b01052dae8e820ed9b8b654bb6296bc9c41f571b70", - "sha256:d58a4fa7910102500722defbde6e2816b0372a4fcc85c7e239323767c74f5cbc", - "sha256:f1ac2dc65105a53c1c2d72b1d3e98c2464a133b4067a51a3d2477b28449709a0" + "sha256:08119f707f0ebf2da60d2f24c2f39ca616277bb67ef6c92b72cbf90cbe3a556b", + "sha256:0ce9537396d8f556bcfc317c65b6a0705320701e5ce511f05fc04421ba05b8a8", + "sha256:1cbe0fa0b7f673400eb29e9ef41d4f53638f65f9a2143854de6b1ce2899185c3", + "sha256:2294f8b70e058a2553cd009df003a20802ef75b3c629506be20687df0908177e", + "sha256:23069d9c07e115537f37270d1d5faea3e0bdded8279081c4d4d607a2ad393683", + "sha256:24f4f4062eb16c5bbfff6a22312e8eab92c2c99c51a02e39b4eae54ce8255cd1", + "sha256:295badf61a51add2d428a46b8580309c520d8b26e769868b922750cf3ce67142", + "sha256:2a3bf8b48f8e37c3a40bb3f854bf0121c194e69a650b209628d951190b862de3", + "sha256:4385f12aa289d79419fede43f979e372f527892ac44a541b5446617e4406c468", + "sha256:5635cd1ed0a12b4c42cce18a8d2fb53ff13ff537f09de5fd791e97de27b6400e", + "sha256:5bfed051dbff32fd8945eccca70f5e22b55e4148d2a8a45141a3b053d6455ae3", + "sha256:7e1037073b1b7053ee74c3c6c0ada80f3501ec29d5f46e42669378eae6d4405a", + "sha256:90742c6ff121a9c5b261b9b215cb476eea97df98ea82037ec8ac95d1be7a034f", + "sha256:a58dd45cb865be0ce1d5ecc4cfc85cd8c6867bea66733623e54bd95131f473b6", + "sha256:c087bff162158536387c53647411db09b6ee3f9603c334c90943e97b1052a156", + "sha256:c162a21e0da33eb3d31a3ac17a51db5e634fc347f650d271f0305d96601dc15b", + "sha256:c9423a150d3a4fc0f3f2aae897a59919acd293f4cb397429b120a5fcd96ea3db", + "sha256:ccccdd84912875e34c5ad2d06e1989d890d43af6c2242c6fcfa51556997af6cd", + "sha256:e91ba11da11cf770f389e47c3f5c30473e6d85e06d7fd9dcba0017d2867aab4a", + "sha256:ea4adf02d23b437684cd388d557bf76e3afa72f7fed5bbc013482cc00c816948", + "sha256:fb95debbd1a824b2c4376932f2216cc186912e389bdb0e27147778cf6acb3f89" ], - "version": "==2020.2.20" + "version": "==2020.4.4" }, "requests": { "hashes": [ @@ -837,10 +868,10 @@ }, "requirementslib": { "hashes": [ - "sha256:50731ac1052473e4c7df59a44a1f3aa20f32e687110bc05d73c3b4109eebc23d", - "sha256:8b594ab8b6280ee97cffd68fc766333345de150124d5b76061dd575c3a21fe5a" + "sha256:d29a49e72f8d3b0881c3af40215247cc84c178e6a1bb478182a6cfb51e17e9e6", + "sha256:d853840cde15a1adacac4e00b129a55e3c5c524f4b0ac88935502dd59823823f" ], - "version": "==1.5.3" + "version": "==1.5.5" }, "ruamel.yaml": { "hashes": [ @@ -884,10 +915,10 @@ }, "smmap": { "hashes": [ - "sha256:171484fe62793e3626c8b05dd752eb2ca01854b0c55a1efc0dc4210fccb65446", - "sha256:5fead614cf2de17ee0707a8c6a5f2aa5a2fc6c698c70993ba42f515485ffda78" + "sha256:52ea78b3e708d2c2b0cfe93b6fc3fbeec53db913345c26be6ed84c11ed8bebc1", + "sha256:b46d3fc69ba5f367df96d91f8271e8ad667a198d5a28e215a6c3d9acd133a911" ], - "version": "==3.0.1" + "version": "==3.0.2" }, "snowballstemmer": { "hashes": [ @@ -958,6 +989,13 @@ ], "version": "==3.7.4.1" }, + "tzlocal": { + "hashes": [ + "sha256:11c9f16e0a633b4b60e1eede97d8a46340d042e67b670b290ca526576e039048", + "sha256:949b9dd5ba4be17190a80c0268167d7e6c92c62b30026cf9764caf3e308e5590" + ], + "version": "==2.0.0" + }, "urllib3": { "hashes": [ "sha256:2f3db8b19923a873b3e5256dc9c2dedfa883e33d87c690d9c7913e1f40673cdc", @@ -974,10 +1012,10 @@ }, "wcwidth": { "hashes": [ - "sha256:8fd29383f539be45b20bd4df0dc29c20ba48654a41e661925e612311e9f3c603", - "sha256:f28b3e8a6483e5d49e7f8949ac1a78314e740333ae305b4ba5defd3e74fb37a8" + "sha256:cafe2186b3c009a04067022ce1dcd79cb38d8d65ee4f4791b8888d6599d1bbe1", + "sha256:ee73862862a156bf77ff92b09034fc4825dd3af9cf81bc5b360668d425f3c5f1" ], - "version": "==0.1.8" + "version": "==0.1.9" }, "websocket-client": { "hashes": [ diff --git a/dockertidy/tests/__init__.py b/dockertidy/test/__init__.py similarity index 100% rename from dockertidy/tests/__init__.py rename to dockertidy/test/__init__.py diff --git a/dockertidy/tests/fixtures/__init__.py b/dockertidy/test/fixtures/__init__.py similarity index 100% rename from dockertidy/tests/fixtures/__init__.py rename to dockertidy/test/fixtures/__init__.py diff --git a/dockertidy/tests/fixtures/fixtures.py b/dockertidy/test/fixtures/fixtures.py similarity index 100% rename from dockertidy/tests/fixtures/fixtures.py rename to dockertidy/test/fixtures/fixtures.py diff --git a/dockertidy/tests/unit/test_autostop.py b/dockertidy/test/unit/test_autostop.py similarity index 96% rename from dockertidy/tests/unit/test_autostop.py rename to dockertidy/test/unit/test_autostop.py index 8b76fdf..2998af3 100644 --- a/dockertidy/tests/unit/test_autostop.py +++ b/dockertidy/test/unit/test_autostop.py @@ -6,7 +6,7 @@ import pytest from dockertidy import Autostop pytest_plugins = [ - "dockertidy.tests.fixtures.fixtures", + "dockertidy.test.fixtures.fixtures", ] diff --git a/dockertidy/tests/unit/test_garbagecollector.py b/dockertidy/test/unit/test_garbagecollector.py similarity index 99% rename from dockertidy/tests/unit/test_garbagecollector.py rename to dockertidy/test/unit/test_garbagecollector.py index adb2388..dbdef07 100644 --- a/dockertidy/tests/unit/test_garbagecollector.py +++ b/dockertidy/test/unit/test_garbagecollector.py @@ -7,7 +7,7 @@ import requests from dockertidy import GarbageCollector pytest_plugins = [ - "dockertidy.tests.fixtures.fixtures", + "dockertidy.test.fixtures.fixtures", ] diff --git a/setup.cfg b/setup.cfg index c43b1d4..ca1ab87 100644 --- a/setup.cfg +++ b/setup.cfg @@ -11,7 +11,7 @@ known_first_party = dockertidy sections = FUTURE,STDLIB,THIRDPARTY,FIRSTPARTY,LOCALFOLDER force_single_line = true line_length = 99 -skip_glob = **/env/*,**/docs/* +skip_glob = **/.env*,**/env/*,**/docs/* [yapf] based_on_style = google @@ -25,3 +25,6 @@ filterwarnings = ignore::FutureWarning ignore:.*collections.*:DeprecationWarning ignore:.*pep8.*:FutureWarning + +[coverage:run] +omit = **/test/* diff --git a/setup.py b/setup.py index 32ce7e8..689045d 100644 --- a/setup.py +++ b/setup.py @@ -38,54 +38,56 @@ setup( keywords="docker gc prune garbage", author=get_property("__author__", PACKAGE_NAME), author_email=get_property("__email__", PACKAGE_NAME), - url="https://github.com/xoxys/docker-tidy", - license=get_property("__url__", PACKAGE_NAME), + url=get_property("__url__", PACKAGE_NAME), + license=get_property("__license__", PACKAGE_NAME), long_description=get_readme(), long_description_content_type="text/markdown", - packages=find_packages(exclude=["*.tests", "tests", "tests.*"]), + packages=find_packages(exclude=["*.test", "test", "test.*"]), include_package_data=True, zip_safe=False, - python_requires=">=3.5", + python_requires=">=3.5,<4", classifiers=[ "Development Status :: 5 - Production/Stable", "Environment :: Console", + "License :: OSI Approved :: Apache Software License", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", - "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", "Natural Language :: English", "Operating System :: POSIX", - "Programming Language :: Python :: 3 :: Only", - "Topic :: System :: Installation/Setup", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "Topic :: System :: Systems Administration", "Topic :: Utilities", "Topic :: Software Development", - "Topic :: Software Development :: Documentation", ], install_requires=[ "anyconfig==0.9.10", "appdirs==1.4.3", "attrs==19.3.0", - "certifi==2019.11.28", + "certifi==2020.4.5.1", "chardet==3.0.4", "colorama==0.4.3", "dateparser==0.7.4", "docker==4.2.0", "docker-pycreds==0.4.0", - "environs==7.3.0", + "environs==7.3.1", "idna==2.9", - "importlib-metadata==1.5.0; python_version < '3.8'", + "importlib-metadata==1.6.0; python_version < '3.8'", "ipaddress==1.0.23", "jsonschema==3.2.0", "marshmallow==3.5.1", "nested-lookup==0.2.21", "pathspec==0.7.0", - "pyrsistent==0.15.7", + "pyrsistent==0.16.0", "python-dateutil==2.8.1", "python-dotenv==0.12.0", "python-json-logger==0.1.11", "pytz==2019.3", - "regex==2020.2.20", + "regex==2020.4.4", "requests==2.23.0", "ruamel.yaml==0.16.10", "ruamel.yaml.clib==0.2.0; platform_python_implementation == 'CPython' and python_version < '3.9'", @@ -98,5 +100,4 @@ setup( dependency_links=[], setup_requires=["setuptools_scm"], entry_points={"console_scripts": ["docker-tidy = dockertidy.__main__:main"]}, - test_suite="tests", )