From 5641ec2b70ede95a55d6224230a6b73716408864 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Sun, 1 Jan 2023 12:39:49 +0000 Subject: [PATCH 01/18] Add Github Actions CI --- .github/workflows/ci.yml | 43 ++++++++++++++++++++++++++++++++++++++++ .travis.yml | 30 ---------------------------- 2 files changed, 43 insertions(+), 30 deletions(-) create mode 100644 .github/workflows/ci.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..e5cfb0f --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,43 @@ +name: CI +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + publish: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11"] + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Setup Python + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + cache: 'pipenv' + + - name: Install Pipenv requirements + run: | + pip install --upgrade pip + pip install pipenv + pipenv install --dev + + - name: Black + run: black --check django_filters-stubs/ + + - name: isort + run: isort --check + + - name: flake8 + run: flake8 + + - name: pytest + run: pytest \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index dc42c87..0000000 --- a/.travis.yml +++ /dev/null @@ -1,30 +0,0 @@ -sudo: required -dist: xenial -language: python -jobs: - include: - - name: Test against Python 3.6 - python: 3.6 - script: pytest - - - name: Test against Python 3.7 - python: 3.7 - script: pytest - - - name: Lint test with black - python: 3.6 - script: black --check django_filters-stubs/ - - - name: Lint test with isort - python: 3.6 - script: isort --check - - - name: Lint test with flake8 - python: 3.6 - script: flake8 - -before_install: - - pip install --upgrade pip - - pip install pipenv -install: - - pipenv install --dev \ No newline at end of file From d61600a507fd980abf7b8e2e198f80ee2a02872c Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Sun, 1 Jan 2023 12:41:52 +0000 Subject: [PATCH 02/18] Run later steps in pipenv --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e5cfb0f..c88ed84 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,13 +31,13 @@ jobs: pipenv install --dev - name: Black - run: black --check django_filters-stubs/ + run: pipenv run black --check django_filters-stubs/ - name: isort - run: isort --check + run: pipenv run isort --check - name: flake8 - run: flake8 + run: pipenv run flake8 - name: pytest - run: pytest \ No newline at end of file + run: pipenv run pytest \ No newline at end of file From 7080fadb1be970f65c311176ca62b5bce779b50b Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Sun, 1 Jan 2023 12:41:59 +0000 Subject: [PATCH 03/18] Fix build badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0fe535b..6999280 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # PEP-484 Stubs for django-filter ::: Beta -[![Build Status](https://travis-ci.org/DavisRayM/django-filter-stubs.svg?branch=master)](https://travis-ci.org/DavisRayM/django-filter-stubs) +[![CI](https://github.com/DavisRayM/django-filter-stubs/actions/workflows/ci.yml/badge.svg)](https://github.com/DavisRayM/django-filter-stubs/actions/workflows/ci.yml) [![Checked with mypy](http://www.mypy-lang.org/static/mypy_badge.svg)](http://mypy-lang.org/) This package contains type subs to provide more precise static types for Django Filters. From cda408e361e80d2efadecbe6ad428322165cff89 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Sun, 1 Jan 2023 12:45:34 +0000 Subject: [PATCH 04/18] Fix isort error --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 15f4a51..f93ee0d 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ import os +from pathlib import Path from setuptools import setup -from pathlib import Path name = "django-filter-stubs" From 69d565d531952e80288ee443aa21dd1b9cecfc52 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Sun, 1 Jan 2023 12:48:17 +0000 Subject: [PATCH 05/18] Unlock Python version in Pipfile --- Pipfile | 5 +---- Pipfile.lock | 51 +++++++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 48 insertions(+), 8 deletions(-) diff --git a/Pipfile b/Pipfile index 554eb1f..0227d11 100644 --- a/Pipfile +++ b/Pipfile @@ -10,7 +10,4 @@ isort = "*" pytest-mypy-plugins = "*" [packages] -django-filter-stubs = {editable = true,path = "."} - -[requires] -python_version = "3.7" +django-filter-stubs = {editable = true,path = "."} \ No newline at end of file diff --git a/Pipfile.lock b/Pipfile.lock index cd16720..596e639 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,12 +1,10 @@ { "_meta": { "hash": { - "sha256": "1975bc6accdda92b002269ef62ca579fa18f0ee57d07fa72ab3f2ad0f337f61c" + "sha256": "87f4bd39b22d1b9111b1a8bfd4461f2f126d80eb26b4ee3279acf0bea72a96e3" }, "pipfile-spec": 6, - "requires": { - "python_version": "3.7" - }, + "requires": {}, "sources": [ { "name": "pypi", @@ -243,6 +241,14 @@ "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==0.10.2" }, + "tomli": { + "hashes": [ + "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", + "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f" + ], + "markers": "python_version >= '3.7'", + "version": "==2.0.1" + }, "typed-ast": { "hashes": [ "sha256:01ae5f73431d21eead5015997ab41afa53aa1fbe252f9da060be5dad2c730ace", @@ -293,6 +299,20 @@ ], "version": "==5.4.10" }, + "types-requests": { + "hashes": [ + "sha256:0ae38633734990d019b80f5463dfa164ebd3581998ac8435f526da6fe4d598c3", + "sha256:b6a2fca8109f4fdba33052f11ed86102bddb2338519e1827387137fefc66a98b" + ], + "version": "==2.28.11.7" + }, + "types-urllib3": { + "hashes": [ + "sha256:ed6b9e8a8be488796f72306889a06a3fc3cb1aa99af02ab8afb50144d7317e49", + "sha256:eec5556428eec862b1ac578fb69aab3877995a99ffec9e5a12cf7fbd0cc9daee" + ], + "version": "==1.26.25.4" + }, "typing-extensions": { "hashes": [ "sha256:49f75d16ff11f1cd258e1b988ccff82a3ca5570217d7ad8c5f48205dd99a677e", @@ -343,6 +363,13 @@ "index": "pypi", "version": "==19.10b0" }, + "chevron": { + "hashes": [ + "sha256:87613aafdf6d77b6a90ff073165a61ae5086e21ad49057aa0e53681601800ebf", + "sha256:fbf996a709f8da2e745ef763f482ce2d311aa817d287593a5b990d6d6e4f0443" + ], + "version": "==0.14.0" + }, "click": { "hashes": [ "sha256:8c04c11192119b1ef78ea049e0a6f0463e4c48ef00a30160c704337586f3ad7a", @@ -367,6 +394,14 @@ "markers": "python_version >= '2.7'", "version": "==0.3" }, + "exceptiongroup": { + "hashes": [ + "sha256:327cbda3da756e2de031a3107b81ab7b3770a602c4d16ca618298c526f4bec1e", + "sha256:bcb67d800a4497e1b404c2dd44fca47d3b7a5e5433dbab67f96c1a685cdfdf23" + ], + "markers": "python_version < '3.11'", + "version": "==1.1.0" + }, "flake8": { "hashes": [ "sha256:45681a117ecc81e870cbf1262835ae4af5e7a8b08e40b944a8a6e6b895914cfb", @@ -601,6 +636,14 @@ "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==0.10.2" }, + "tomli": { + "hashes": [ + "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", + "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f" + ], + "markers": "python_version >= '3.7'", + "version": "==2.0.1" + }, "typed-ast": { "hashes": [ "sha256:01ae5f73431d21eead5015997ab41afa53aa1fbe252f9da060be5dad2c730ace", From 358401340db41478ffe8f416ea85df47d5a448ea Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Sun, 1 Jan 2023 12:49:45 +0000 Subject: [PATCH 06/18] Downgrade Ubuntu for Python 3.6 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c88ed84..49160f2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,7 @@ on: jobs: publish: - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 # 22.04 doesn't have Python 3.6 strategy: fail-fast: false matrix: From 7f0dd51240bd13f17884e397d1cea012d6a77e88 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Sun, 1 Jan 2023 12:55:03 +0000 Subject: [PATCH 07/18] Require up-to-date Pipenv.lock --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 49160f2..b27efaa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,7 +28,7 @@ jobs: run: | pip install --upgrade pip pip install pipenv - pipenv install --dev + pipenv install --dev --deploy - name: Black run: pipenv run black --check django_filters-stubs/ From b31268286cca336ff28d43e0887cf8d3934bed04 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Sun, 1 Jan 2023 12:57:16 +0000 Subject: [PATCH 08/18] Update black --- Pipfile | 2 +- Pipfile.lock | 26 ++++++++++++++++++++++---- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/Pipfile b/Pipfile index 0227d11..b7f00bd 100644 --- a/Pipfile +++ b/Pipfile @@ -4,7 +4,7 @@ url = "https://pypi.org/simple" verify_ssl = true [dev-packages] -black = "==19.10b0" +black = "==22.12.0" flake8 = "*" isort = "*" pytest-mypy-plugins = "*" diff --git a/Pipfile.lock b/Pipfile.lock index 596e639..04d8d87 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "87f4bd39b22d1b9111b1a8bfd4461f2f126d80eb26b4ee3279acf0bea72a96e3" + "sha256": "388acf169f644fb53ad7d54957876ea35eae619df15cfccfe8d0b9d154589c54" }, "pipfile-spec": 6, "requires": {}, @@ -357,11 +357,21 @@ }, "black": { "hashes": [ - "sha256:1b30e59be925fafc1ee4565e5e08abef6b03fe455102883820fe5ee2e4734e0b", - "sha256:c2edb73a08e9e0e6f65a0e6af18b059b8b1cdd5bef997d7a0b181df93dc81539" + "sha256:101c69b23df9b44247bd88e1d7e90154336ac4992502d4197bdac35dd7ee3320", + "sha256:159a46a4947f73387b4d83e87ea006dbb2337eab6c879620a3ba52699b1f4351", + "sha256:1f58cbe16dfe8c12b7434e50ff889fa479072096d79f0a7f25e4ab8e94cd8350", + "sha256:229351e5a18ca30f447bf724d007f890f97e13af070bb6ad4c0a441cd7596a2f", + "sha256:436cc9167dd28040ad90d3b404aec22cedf24a6e4d7de221bec2730ec0c97bcf", + "sha256:559c7a1ba9a006226f09e4916060982fd27334ae1998e7a38b3f33a37f7a2148", + "sha256:7412e75863aa5c5411886804678b7d083c7c28421210180d67dfd8cf1221e1f4", + "sha256:77d86c9f3db9b1bf6761244bc0b3572a546f5fe37917a044e02f3166d5aafa7d", + "sha256:82d9fe8fee3401e02e79767016b4907820a7dc28d70d137eb397b92ef3cc5bfc", + "sha256:9eedd20838bd5d75b80c9f5487dbcb06836a43833a37846cf1d8c1cc01cef59d", + "sha256:c116eed0efb9ff870ded8b62fe9f28dd61ef6e9ddd28d83d7d264a38417dcee2", + "sha256:d30b212bffeb1e252b31dd269dfae69dd17e06d92b87ad26e23890f3efea366f" ], "index": "pypi", - "version": "==19.10b0" + "version": "==22.12.0" }, "chevron": { "hashes": [ @@ -491,6 +501,14 @@ ], "version": "==0.9.0" }, + "platformdirs": { + "hashes": [ + "sha256:83c8f6d04389165de7c9b6f0c682439697887bca0aa2f1c87ef1826be3584490", + "sha256:e1fea1fe471b9ff8332e229df3cb7de4f53eeea4998d3b6bfff542115e998bd2" + ], + "markers": "python_version >= '3.7'", + "version": "==2.6.2" + }, "pluggy": { "hashes": [ "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159", From e5efd04b356a3dc1412892f9f2f40e8f644fae87 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Tue, 3 Jan 2023 13:36:45 +0000 Subject: [PATCH 09/18] Change CI job name to "ci" Co-authored-by: Davis Raymond --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b27efaa..d59de18 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,7 @@ on: - master jobs: - publish: + ci: runs-on: ubuntu-20.04 # 22.04 doesn't have Python 3.6 strategy: fail-fast: false From a6d7d391ea421d9222c522b1691a0e3a43bc58f8 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Tue, 3 Jan 2023 13:43:33 +0000 Subject: [PATCH 10/18] Replace pipenv with pip-tools --- .github/workflows/ci.yml | 11 +- Pipfile | 13 - Pipfile.lock | 719 --------------------------------------- requirements.in | 7 + requirements.txt | 146 ++++++++ setup.py | 1 + 6 files changed, 159 insertions(+), 738 deletions(-) delete mode 100644 Pipfile delete mode 100644 Pipfile.lock create mode 100644 requirements.in create mode 100644 requirements.txt diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d59de18..07db348 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,17 +27,16 @@ jobs: - name: Install Pipenv requirements run: | pip install --upgrade pip - pip install pipenv - pipenv install --dev --deploy + pip install -r requirements.txt - name: Black - run: pipenv run black --check django_filters-stubs/ + run: black --check django_filters-stubs/ - name: isort - run: pipenv run isort --check + run: isort --check django_filters-stubs - name: flake8 - run: pipenv run flake8 + run: flake8 - name: pytest - run: pipenv run pytest \ No newline at end of file + run: pytest -vvv \ No newline at end of file diff --git a/Pipfile b/Pipfile deleted file mode 100644 index b7f00bd..0000000 --- a/Pipfile +++ /dev/null @@ -1,13 +0,0 @@ -[[source]] -name = "pypi" -url = "https://pypi.org/simple" -verify_ssl = true - -[dev-packages] -black = "==22.12.0" -flake8 = "*" -isort = "*" -pytest-mypy-plugins = "*" - -[packages] -django-filter-stubs = {editable = true,path = "."} \ No newline at end of file diff --git a/Pipfile.lock b/Pipfile.lock deleted file mode 100644 index 04d8d87..0000000 --- a/Pipfile.lock +++ /dev/null @@ -1,719 +0,0 @@ -{ - "_meta": { - "hash": { - "sha256": "388acf169f644fb53ad7d54957876ea35eae619df15cfccfe8d0b9d154589c54" - }, - "pipfile-spec": 6, - "requires": {}, - "sources": [ - { - "name": "pypi", - "url": "https://pypi.org/simple", - "verify_ssl": true - } - ] - }, - "default": { - "asgiref": { - "hashes": [ - "sha256:4ef1ab46b484e3c706329cedeff284a5d40824200638503f5768edb6de7d58e9", - "sha256:ffc141aa908e6f175673e7b1b3b7af4fdb0ecb738fc5c8b88f69f055c2415214" - ], - "markers": "python_version >= '3.6'", - "version": "==3.4.1" - }, - "certifi": { - "hashes": [ - "sha256:2bbf76fd432960138b3ef6dda3dde0544f27cbf8546c458e60baf371917ba9ee", - "sha256:50b1e4f8446b06f41be7dd6338db18e0990601dce795c2b1686458aa7e8fa7d8" - ], - "version": "==2021.5.30" - }, - "charset-normalizer": { - "hashes": [ - "sha256:5d209c0a931f215cee683b6445e2d77677e7e75e159f78def0db09d68fafcaa6", - "sha256:5ec46d183433dcbd0ab716f2d7f29d8dee50505b3fdb40c6b985c7c4f5a3591f" - ], - "markers": "python_version >= '3'", - "version": "==2.0.6" - }, - "coreapi": { - "hashes": [ - "sha256:46145fcc1f7017c076a2ef684969b641d18a2991051fddec9458ad3f78ffc1cb", - "sha256:bf39d118d6d3e171f10df9ede5666f63ad80bba9a29a8ec17726a66cf52ee6f3" - ], - "version": "==2.3.3" - }, - "coreschema": { - "hashes": [ - "sha256:5e6ef7bf38c1525d5e55a895934ab4273548629f16aed5c0a6caa74ebf45551f", - "sha256:9503506007d482ab0867ba14724b93c18a33b22b6d19fb419ef2d239dd4a1607" - ], - "version": "==0.0.4" - }, - "django": { - "hashes": [ - "sha256:9f8be75646f62204320b195062b1d696ba28aa3d45ee72fb7c888ffaebc5bdb2", - "sha256:a6e0d1ff11095b7394c079ade7094c73b2dc3df4a7a373c9b58ed73b77a97feb" - ], - "index": "pypi", - "version": "==3.1.13" - }, - "django-filter-stubs": { - "editable": true, - "path": "." - }, - "django-stubs": { - "hashes": [ - "sha256:59c9f81af64d214b1954eaf90f037778c8d2b9c2de946a3cda177fefcf588fbd", - "sha256:664843091636a917faf5256d028476559dc360fdef9050b6df87ab61b21607bf" - ], - "markers": "python_version >= '3.6'", - "version": "==1.9.0" - }, - "django-stubs-ext": { - "hashes": [ - "sha256:783c198d7e39a41be0b90fd843fa2770243a642922af679be4b19e03b82c8c28", - "sha256:a51a3e9e844d4e1cacaaedbb33bf3def78a3956eed5d9575a640bd97ccd99cec" - ], - "markers": "python_version >= '3.6'", - "version": "==0.3.1" - }, - "djangorestframework-stubs": { - "hashes": [ - "sha256:037f0582b1e6c79366b6a839da861474d59210c4bfa1d36291545cb6ede6a0da", - "sha256:f6ed5fb19c12aa752288ddc6ad28d4ca7c81681ca7f28a19aba9064b2a69489c" - ], - "markers": "python_version >= '3.6'", - "version": "==1.4.0" - }, - "idna": { - "hashes": [ - "sha256:14475042e284991034cb48e06f6851428fb14c4dc953acd9be9a5e95c7b6dd7a", - "sha256:467fbad99067910785144ce333826c71fb0e63a425657295239737f7ecd125f3" - ], - "markers": "python_version >= '3'", - "version": "==3.2" - }, - "itypes": { - "hashes": [ - "sha256:03da6872ca89d29aef62773672b2d408f490f80db48b23079a4b194c86dd04c6", - "sha256:af886f129dea4a2a1e3d36595a2d139589e4dd287f5cab0b40e799ee81570ff1" - ], - "version": "==1.2.0" - }, - "jinja2": { - "hashes": [ - "sha256:1f06f2da51e7b56b8f238affdd6b4e2c61e39598a378cc49345bc1bd42a978a4", - "sha256:703f484b47a6af502e743c9122595cc812b0271f661722403114f71a79d0f5a4" - ], - "markers": "python_version >= '3.6'", - "version": "==3.0.1" - }, - "markupsafe": { - "hashes": [ - "sha256:01a9b8ea66f1658938f65b93a85ebe8bc016e6769611be228d797c9d998dd298", - "sha256:023cb26ec21ece8dc3907c0e8320058b2e0cb3c55cf9564da612bc325bed5e64", - "sha256:0446679737af14f45767963a1a9ef7620189912317d095f2d9ffa183a4d25d2b", - "sha256:0717a7390a68be14b8c793ba258e075c6f4ca819f15edfc2a3a027c823718567", - "sha256:0955295dd5eec6cb6cc2fe1698f4c6d84af2e92de33fbcac4111913cd100a6ff", - "sha256:0d4b31cc67ab36e3392bbf3862cfbadac3db12bdd8b02a2731f509ed5b829724", - "sha256:10f82115e21dc0dfec9ab5c0223652f7197feb168c940f3ef61563fc2d6beb74", - "sha256:168cd0a3642de83558a5153c8bd34f175a9a6e7f6dc6384b9655d2697312a646", - "sha256:1d609f577dc6e1aa17d746f8bd3c31aa4d258f4070d61b2aa5c4166c1539de35", - "sha256:1f2ade76b9903f39aa442b4aadd2177decb66525062db244b35d71d0ee8599b6", - "sha256:2a7d351cbd8cfeb19ca00de495e224dea7e7d919659c2841bbb7f420ad03e2d6", - "sha256:2d7d807855b419fc2ed3e631034685db6079889a1f01d5d9dac950f764da3dad", - "sha256:2ef54abee730b502252bcdf31b10dacb0a416229b72c18b19e24a4509f273d26", - "sha256:36bc903cbb393720fad60fc28c10de6acf10dc6cc883f3e24ee4012371399a38", - "sha256:37205cac2a79194e3750b0af2a5720d95f786a55ce7df90c3af697bfa100eaac", - "sha256:3c112550557578c26af18a1ccc9e090bfe03832ae994343cfdacd287db6a6ae7", - "sha256:3dd007d54ee88b46be476e293f48c85048603f5f516008bee124ddd891398ed6", - "sha256:47ab1e7b91c098ab893b828deafa1203de86d0bc6ab587b160f78fe6c4011f75", - "sha256:49e3ceeabbfb9d66c3aef5af3a60cc43b85c33df25ce03d0031a608b0a8b2e3f", - "sha256:4efca8f86c54b22348a5467704e3fec767b2db12fc39c6d963168ab1d3fc9135", - "sha256:53edb4da6925ad13c07b6d26c2a852bd81e364f95301c66e930ab2aef5b5ddd8", - "sha256:5855f8438a7d1d458206a2466bf82b0f104a3724bf96a1c781ab731e4201731a", - "sha256:594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a", - "sha256:5bb28c636d87e840583ee3adeb78172efc47c8b26127267f54a9c0ec251d41a9", - "sha256:60bf42e36abfaf9aff1f50f52644b336d4f0a3fd6d8a60ca0d054ac9f713a864", - "sha256:611d1ad9a4288cf3e3c16014564df047fe08410e628f89805e475368bd304914", - "sha256:6557b31b5e2c9ddf0de32a691f2312a32f77cd7681d8af66c2692efdbef84c18", - "sha256:693ce3f9e70a6cf7d2fb9e6c9d8b204b6b39897a2c4a1aa65728d5ac97dcc1d8", - "sha256:6a7fae0dd14cf60ad5ff42baa2e95727c3d81ded453457771d02b7d2b3f9c0c2", - "sha256:6c4ca60fa24e85fe25b912b01e62cb969d69a23a5d5867682dd3e80b5b02581d", - "sha256:6fcf051089389abe060c9cd7caa212c707e58153afa2c649f00346ce6d260f1b", - "sha256:7d91275b0245b1da4d4cfa07e0faedd5b0812efc15b702576d103293e252af1b", - "sha256:905fec760bd2fa1388bb5b489ee8ee5f7291d692638ea5f67982d968366bef9f", - "sha256:97383d78eb34da7e1fa37dd273c20ad4320929af65d156e35a5e2d89566d9dfb", - "sha256:984d76483eb32f1bcb536dc27e4ad56bba4baa70be32fa87152832cdd9db0833", - "sha256:99df47edb6bda1249d3e80fdabb1dab8c08ef3975f69aed437cb69d0a5de1e28", - "sha256:a30e67a65b53ea0a5e62fe23682cfe22712e01f453b95233b25502f7c61cb415", - "sha256:ab3ef638ace319fa26553db0624c4699e31a28bb2a835c5faca8f8acf6a5a902", - "sha256:add36cb2dbb8b736611303cd3bfcee00afd96471b09cda130da3581cbdc56a6d", - "sha256:b2f4bf27480f5e5e8ce285a8c8fd176c0b03e93dcc6646477d4630e83440c6a9", - "sha256:b7f2d075102dc8c794cbde1947378051c4e5180d52d276987b8d28a3bd58c17d", - "sha256:baa1a4e8f868845af802979fcdbf0bb11f94f1cb7ced4c4b8a351bb60d108145", - "sha256:be98f628055368795d818ebf93da628541e10b75b41c559fdf36d104c5787066", - "sha256:bf5d821ffabf0ef3533c39c518f3357b171a1651c1ff6827325e4489b0e46c3c", - "sha256:c47adbc92fc1bb2b3274c4b3a43ae0e4573d9fbff4f54cd484555edbf030baf1", - "sha256:d7f9850398e85aba693bb640262d3611788b1f29a79f0c93c565694658f4071f", - "sha256:d8446c54dc28c01e5a2dbac5a25f071f6653e6e40f3a8818e8b45d790fe6ef53", - "sha256:e0f138900af21926a02425cf736db95be9f4af72ba1bb21453432a07f6082134", - "sha256:e9936f0b261d4df76ad22f8fee3ae83b60d7c3e871292cd42f40b81b70afae85", - "sha256:f5653a225f31e113b152e56f154ccbe59eeb1c7487b39b9d9f9cdb58e6c79dc5", - "sha256:f826e31d18b516f653fe296d967d700fddad5901ae07c622bb3705955e1faa94", - "sha256:f8ba0e8349a38d3001fae7eadded3f6606f0da5d748ee53cc1dab1d6527b9509", - "sha256:f9081981fe268bd86831e5c75f7de206ef275defcb82bc70740ae6dc507aee51", - "sha256:fa130dd50c57d53368c9d59395cb5526eda596d3ffe36666cd81a44d56e48872" - ], - "markers": "python_version >= '3.6'", - "version": "==2.0.1" - }, - "mypy": { - "hashes": [ - "sha256:088cd9c7904b4ad80bec811053272986611b84221835e079be5bcad029e79dd9", - "sha256:0aadfb2d3935988ec3815952e44058a3100499f5be5b28c34ac9d79f002a4a9a", - "sha256:119bed3832d961f3a880787bf621634ba042cb8dc850a7429f643508eeac97b9", - "sha256:1a85e280d4d217150ce8cb1a6dddffd14e753a4e0c3cf90baabb32cefa41b59e", - "sha256:3c4b8ca36877fc75339253721f69603a9c7fdb5d4d5a95a1a1b899d8b86a4de2", - "sha256:3e382b29f8e0ccf19a2df2b29a167591245df90c0b5a2542249873b5c1d78212", - "sha256:42c266ced41b65ed40a282c575705325fa7991af370036d3f134518336636f5b", - "sha256:53fd2eb27a8ee2892614370896956af2ff61254c275aaee4c230ae771cadd885", - "sha256:704098302473cb31a218f1775a873b376b30b4c18229421e9e9dc8916fd16150", - "sha256:7df1ead20c81371ccd6091fa3e2878559b5c4d4caadaf1a484cf88d93ca06703", - "sha256:866c41f28cee548475f146aa4d39a51cf3b6a84246969f3759cb3e9c742fc072", - "sha256:a155d80ea6cee511a3694b108c4494a39f42de11ee4e61e72bc424c490e46457", - "sha256:adaeee09bfde366d2c13fe6093a7df5df83c9a2ba98638c7d76b010694db760e", - "sha256:b6fb13123aeef4a3abbcfd7e71773ff3ff1526a7d3dc538f3929a49b42be03f0", - "sha256:b94e4b785e304a04ea0828759172a15add27088520dc7e49ceade7834275bedb", - "sha256:c0df2d30ed496a08de5daed2a9ea807d07c21ae0ab23acf541ab88c24b26ab97", - "sha256:c6c2602dffb74867498f86e6129fd52a2770c48b7cd3ece77ada4fa38f94eba8", - "sha256:ceb6e0a6e27fb364fb3853389607cf7eb3a126ad335790fa1e14ed02fba50811", - "sha256:d9dd839eb0dc1bbe866a288ba3c1afc33a202015d2ad83b31e875b5905a079b6", - "sha256:e4dab234478e3bd3ce83bac4193b2ecd9cf94e720ddd95ce69840273bf44f6de", - "sha256:ec4e0cd079db280b6bdabdc807047ff3e199f334050db5cbb91ba3e959a67504", - "sha256:ecd2c3fe726758037234c93df7e98deb257fd15c24c9180dacf1ef829da5f921", - "sha256:ef565033fa5a958e62796867b1df10c40263ea9ded87164d67572834e57a174d" - ], - "markers": "python_version >= '3.5'", - "version": "==0.910" - }, - "mypy-extensions": { - "hashes": [ - "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d", - "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8" - ], - "version": "==0.4.3" - }, - "pytz": { - "hashes": [ - "sha256:83a4a90894bf38e243cf052c8b58f381bfe9a7a483f6a9cab140bc7f702ac4da", - "sha256:eb10ce3e7736052ed3623d49975ce333bcd712c7bb19a58b9e2089d4057d0798" - ], - "version": "==2021.1" - }, - "requests": { - "hashes": [ - "sha256:6c1246513ecd5ecd4528a0906f910e8f0f9c6b8ec72030dc9fd154dc1a6efd24", - "sha256:b8aa58f8cf793ffd8782d3d8cb19e66ef36f7aba4353eec859e74678b01b07a7" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", - "version": "==2.26.0" - }, - "sanitized-package": { - "editable": true, - "path": "." - }, - "sqlparse": { - "hashes": [ - "sha256:0c00730c74263a94e5a9919ade150dfc3b19c574389985446148402998287dae", - "sha256:48719e356bb8b42991bdbb1e8b83223757b93789c00910a616a071910ca4a64d" - ], - "markers": "python_version >= '3.5'", - "version": "==0.4.2" - }, - "toml": { - "hashes": [ - "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", - "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f" - ], - "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==0.10.2" - }, - "tomli": { - "hashes": [ - "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", - "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f" - ], - "markers": "python_version >= '3.7'", - "version": "==2.0.1" - }, - "typed-ast": { - "hashes": [ - "sha256:01ae5f73431d21eead5015997ab41afa53aa1fbe252f9da060be5dad2c730ace", - "sha256:067a74454df670dcaa4e59349a2e5c81e567d8d65458d480a5b3dfecec08c5ff", - "sha256:0fb71b8c643187d7492c1f8352f2c15b4c4af3f6338f21681d3681b3dc31a266", - "sha256:1b3ead4a96c9101bef08f9f7d1217c096f31667617b58de957f690c92378b528", - "sha256:2068531575a125b87a41802130fa7e29f26c09a2833fea68d9a40cf33902eba6", - "sha256:209596a4ec71d990d71d5e0d312ac935d86930e6eecff6ccc7007fe54d703808", - "sha256:2c726c276d09fc5c414693a2de063f521052d9ea7c240ce553316f70656c84d4", - "sha256:398e44cd480f4d2b7ee8d98385ca104e35c81525dd98c519acff1b79bdaac363", - "sha256:52b1eb8c83f178ab787f3a4283f68258525f8d70f778a2f6dd54d3b5e5fb4341", - "sha256:5feca99c17af94057417d744607b82dd0a664fd5e4ca98061480fd8b14b18d04", - "sha256:7538e495704e2ccda9b234b82423a4038f324f3a10c43bc088a1636180f11a41", - "sha256:760ad187b1041a154f0e4d0f6aae3e40fdb51d6de16e5c99aedadd9246450e9e", - "sha256:777a26c84bea6cd934422ac2e3b78863a37017618b6e5c08f92ef69853e765d3", - "sha256:95431a26309a21874005845c21118c83991c63ea800dd44843e42a916aec5899", - "sha256:9ad2c92ec681e02baf81fdfa056fe0d818645efa9af1f1cd5fd6f1bd2bdfd805", - "sha256:9c6d1a54552b5330bc657b7ef0eae25d00ba7ffe85d9ea8ae6540d2197a3788c", - "sha256:aee0c1256be6c07bd3e1263ff920c325b59849dc95392a05f258bb9b259cf39c", - "sha256:af3d4a73793725138d6b334d9d247ce7e5f084d96284ed23f22ee626a7b88e39", - "sha256:b36b4f3920103a25e1d5d024d155c504080959582b928e91cb608a65c3a49e1a", - "sha256:b9574c6f03f685070d859e75c7f9eeca02d6933273b5e69572e5ff9d5e3931c3", - "sha256:bff6ad71c81b3bba8fa35f0f1921fb24ff4476235a6e94a26ada2e54370e6da7", - "sha256:c190f0899e9f9f8b6b7863debfb739abcb21a5c054f911ca3596d12b8a4c4c7f", - "sha256:c907f561b1e83e93fad565bac5ba9c22d96a54e7ea0267c708bffe863cbe4075", - "sha256:cae53c389825d3b46fb37538441f75d6aecc4174f615d048321b716df2757fb0", - "sha256:dd4a21253f42b8d2b48410cb31fe501d32f8b9fbeb1f55063ad102fe9c425e40", - "sha256:dde816ca9dac1d9c01dd504ea5967821606f02e510438120091b84e852367428", - "sha256:f2362f3cb0f3172c42938946dbc5b7843c2a28aec307c49100c8b38764eb6927", - "sha256:f328adcfebed9f11301eaedfa48e15bdece9b519fb27e6a8c01aa52a17ec31b3", - "sha256:f8afcf15cc511ada719a88e013cec87c11aff7b91f019295eb4530f96fe5ef2f", - "sha256:fb1bbeac803adea29cedd70781399c99138358c26d05fcbd23c13016b7f5ec65" - ], - "markers": "python_version < '3.8'", - "version": "==1.4.3" - }, - "types-pytz": { - "hashes": [ - "sha256:28fb1c0f77f59aebe9b792d073ebfbbbf7b329f9d4af6a6079713a618a1c0f31", - "sha256:448828a06f2aaa840e57364d866c661645a045e532f817e4f10c8c3ab2b66651" - ], - "version": "==2021.1.2" - }, - "types-pyyaml": { - "hashes": [ - "sha256:1d9e431e9f1f78a65ea957c558535a3b15ad67ea4912bce48a6c1b613dcf81ad", - "sha256:f1d1357168988e45fa20c65aecb3911462246a84809015dd889ebf8b1db74124" - ], - "version": "==5.4.10" - }, - "types-requests": { - "hashes": [ - "sha256:0ae38633734990d019b80f5463dfa164ebd3581998ac8435f526da6fe4d598c3", - "sha256:b6a2fca8109f4fdba33052f11ed86102bddb2338519e1827387137fefc66a98b" - ], - "version": "==2.28.11.7" - }, - "types-urllib3": { - "hashes": [ - "sha256:ed6b9e8a8be488796f72306889a06a3fc3cb1aa99af02ab8afb50144d7317e49", - "sha256:eec5556428eec862b1ac578fb69aab3877995a99ffec9e5a12cf7fbd0cc9daee" - ], - "version": "==1.26.25.4" - }, - "typing-extensions": { - "hashes": [ - "sha256:49f75d16ff11f1cd258e1b988ccff82a3ca5570217d7ad8c5f48205dd99a677e", - "sha256:d8226d10bc02a29bcc81df19a26e56a9647f8b0a6d4a83924139f4a8b01f17b7", - "sha256:f1d25edafde516b146ecd0613dabcc61409817af4766fbbcfb8d1ad4ec441a34" - ], - "markers": "python_version < '3.8'", - "version": "==3.10.0.2" - }, - "uritemplate": { - "hashes": [ - "sha256:07620c3f3f8eed1f12600845892b0e036a2420acf513c53f7de0abd911a5894f", - "sha256:5af8ad10cec94f215e3f48112de2022e1d5a37ed427fbd88652fa908f2ab7cae" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==3.0.1" - }, - "urllib3": { - "hashes": [ - "sha256:4987c65554f7a2dbf30c18fd48778ef124af6fab771a377103da0585e2336ece", - "sha256:c4fdf4019605b6e5423637e01bc9fe4daef873709a7973e195ceba0a62bbc844" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'", - "version": "==1.26.7" - } - }, - "develop": { - "appdirs": { - "hashes": [ - "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41", - "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128" - ], - "version": "==1.4.4" - }, - "attrs": { - "hashes": [ - "sha256:149e90d6d8ac20db7a955ad60cf0e6881a3f20d37096140088356da6c716b0b1", - "sha256:ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==21.2.0" - }, - "black": { - "hashes": [ - "sha256:101c69b23df9b44247bd88e1d7e90154336ac4992502d4197bdac35dd7ee3320", - "sha256:159a46a4947f73387b4d83e87ea006dbb2337eab6c879620a3ba52699b1f4351", - "sha256:1f58cbe16dfe8c12b7434e50ff889fa479072096d79f0a7f25e4ab8e94cd8350", - "sha256:229351e5a18ca30f447bf724d007f890f97e13af070bb6ad4c0a441cd7596a2f", - "sha256:436cc9167dd28040ad90d3b404aec22cedf24a6e4d7de221bec2730ec0c97bcf", - "sha256:559c7a1ba9a006226f09e4916060982fd27334ae1998e7a38b3f33a37f7a2148", - "sha256:7412e75863aa5c5411886804678b7d083c7c28421210180d67dfd8cf1221e1f4", - "sha256:77d86c9f3db9b1bf6761244bc0b3572a546f5fe37917a044e02f3166d5aafa7d", - "sha256:82d9fe8fee3401e02e79767016b4907820a7dc28d70d137eb397b92ef3cc5bfc", - "sha256:9eedd20838bd5d75b80c9f5487dbcb06836a43833a37846cf1d8c1cc01cef59d", - "sha256:c116eed0efb9ff870ded8b62fe9f28dd61ef6e9ddd28d83d7d264a38417dcee2", - "sha256:d30b212bffeb1e252b31dd269dfae69dd17e06d92b87ad26e23890f3efea366f" - ], - "index": "pypi", - "version": "==22.12.0" - }, - "chevron": { - "hashes": [ - "sha256:87613aafdf6d77b6a90ff073165a61ae5086e21ad49057aa0e53681601800ebf", - "sha256:fbf996a709f8da2e745ef763f482ce2d311aa817d287593a5b990d6d6e4f0443" - ], - "version": "==0.14.0" - }, - "click": { - "hashes": [ - "sha256:8c04c11192119b1ef78ea049e0a6f0463e4c48ef00a30160c704337586f3ad7a", - "sha256:fba402a4a47334742d782209a7c79bc448911afe1149d07bdabdf480b3e2f4b6" - ], - "markers": "python_version >= '3.6'", - "version": "==8.0.1" - }, - "decorator": { - "hashes": [ - "sha256:7b12e7c3c6ab203a29e157335e9122cb03de9ab7264b137594103fd4a683b374", - "sha256:e59913af105b9860aa2c8d3272d9de5a56a4e608db9a2f167a8480b323d529a7" - ], - "markers": "python_version >= '3.5'", - "version": "==5.1.0" - }, - "entrypoints": { - "hashes": [ - "sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19", - "sha256:c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451" - ], - "markers": "python_version >= '2.7'", - "version": "==0.3" - }, - "exceptiongroup": { - "hashes": [ - "sha256:327cbda3da756e2de031a3107b81ab7b3770a602c4d16ca618298c526f4bec1e", - "sha256:bcb67d800a4497e1b404c2dd44fca47d3b7a5e5433dbab67f96c1a685cdfdf23" - ], - "markers": "python_version < '3.11'", - "version": "==1.1.0" - }, - "flake8": { - "hashes": [ - "sha256:45681a117ecc81e870cbf1262835ae4af5e7a8b08e40b944a8a6e6b895914cfb", - "sha256:49356e766643ad15072a789a20915d3c91dc89fd313ccd71802303fd67e4deca" - ], - "index": "pypi", - "version": "==3.7.9" - }, - "importlib-metadata": { - "hashes": [ - "sha256:b618b6d2d5ffa2f16add5697cf57a46c76a56229b0ed1c438322e4e95645bd15", - "sha256:f284b3e11256ad1e5d03ab86bb2ccd6f5339688ff17a4d797a0fe7df326f23b1" - ], - "markers": "python_version < '3.8'", - "version": "==4.8.1" - }, - "iniconfig": { - "hashes": [ - "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3", - "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32" - ], - "version": "==1.1.1" - }, - "isort": { - "hashes": [ - "sha256:54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1", - "sha256:6e811fcb295968434526407adb8796944f1988c5b65e8139058f2014cbe100fd" - ], - "index": "pypi", - "version": "==4.3.21" - }, - "mccabe": { - "hashes": [ - "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42", - "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f" - ], - "version": "==0.6.1" - }, - "mypy": { - "hashes": [ - "sha256:088cd9c7904b4ad80bec811053272986611b84221835e079be5bcad029e79dd9", - "sha256:0aadfb2d3935988ec3815952e44058a3100499f5be5b28c34ac9d79f002a4a9a", - "sha256:119bed3832d961f3a880787bf621634ba042cb8dc850a7429f643508eeac97b9", - "sha256:1a85e280d4d217150ce8cb1a6dddffd14e753a4e0c3cf90baabb32cefa41b59e", - "sha256:3c4b8ca36877fc75339253721f69603a9c7fdb5d4d5a95a1a1b899d8b86a4de2", - "sha256:3e382b29f8e0ccf19a2df2b29a167591245df90c0b5a2542249873b5c1d78212", - "sha256:42c266ced41b65ed40a282c575705325fa7991af370036d3f134518336636f5b", - "sha256:53fd2eb27a8ee2892614370896956af2ff61254c275aaee4c230ae771cadd885", - "sha256:704098302473cb31a218f1775a873b376b30b4c18229421e9e9dc8916fd16150", - "sha256:7df1ead20c81371ccd6091fa3e2878559b5c4d4caadaf1a484cf88d93ca06703", - "sha256:866c41f28cee548475f146aa4d39a51cf3b6a84246969f3759cb3e9c742fc072", - "sha256:a155d80ea6cee511a3694b108c4494a39f42de11ee4e61e72bc424c490e46457", - "sha256:adaeee09bfde366d2c13fe6093a7df5df83c9a2ba98638c7d76b010694db760e", - "sha256:b6fb13123aeef4a3abbcfd7e71773ff3ff1526a7d3dc538f3929a49b42be03f0", - "sha256:b94e4b785e304a04ea0828759172a15add27088520dc7e49ceade7834275bedb", - "sha256:c0df2d30ed496a08de5daed2a9ea807d07c21ae0ab23acf541ab88c24b26ab97", - "sha256:c6c2602dffb74867498f86e6129fd52a2770c48b7cd3ece77ada4fa38f94eba8", - "sha256:ceb6e0a6e27fb364fb3853389607cf7eb3a126ad335790fa1e14ed02fba50811", - "sha256:d9dd839eb0dc1bbe866a288ba3c1afc33a202015d2ad83b31e875b5905a079b6", - "sha256:e4dab234478e3bd3ce83bac4193b2ecd9cf94e720ddd95ce69840273bf44f6de", - "sha256:ec4e0cd079db280b6bdabdc807047ff3e199f334050db5cbb91ba3e959a67504", - "sha256:ecd2c3fe726758037234c93df7e98deb257fd15c24c9180dacf1ef829da5f921", - "sha256:ef565033fa5a958e62796867b1df10c40263ea9ded87164d67572834e57a174d" - ], - "markers": "python_version >= '3.5'", - "version": "==0.910" - }, - "mypy-extensions": { - "hashes": [ - "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d", - "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8" - ], - "version": "==0.4.3" - }, - "packaging": { - "hashes": [ - "sha256:7dc96269f53a4ccec5c0670940a4281106dd0bb343f47b7471f779df49c2fbe7", - "sha256:c86254f9220d55e31cc94d69bade760f0847da8000def4dfe1c6b872fd14ff14" - ], - "markers": "python_version >= '3.6'", - "version": "==21.0" - }, - "pathspec": { - "hashes": [ - "sha256:7d15c4ddb0b5c802d161efc417ec1a2558ea2653c2e8ad9c19098201dc1c993a", - "sha256:e564499435a2673d586f6b2130bb5b95f04a3ba06f81b8f895b651a3c76aabb1" - ], - "version": "==0.9.0" - }, - "platformdirs": { - "hashes": [ - "sha256:83c8f6d04389165de7c9b6f0c682439697887bca0aa2f1c87ef1826be3584490", - "sha256:e1fea1fe471b9ff8332e229df3cb7de4f53eeea4998d3b6bfff542115e998bd2" - ], - "markers": "python_version >= '3.7'", - "version": "==2.6.2" - }, - "pluggy": { - "hashes": [ - "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159", - "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3" - ], - "markers": "python_version >= '3.6'", - "version": "==1.0.0" - }, - "py": { - "hashes": [ - "sha256:21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3", - "sha256:3b80836aa6d1feeaa108e046da6423ab8f6ceda6468545ae8d02d9d58d18818a" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==1.10.0" - }, - "pycodestyle": { - "hashes": [ - "sha256:95a2219d12372f05704562a14ec30bc76b05a5b297b21a5dfe3f6fac3491ae56", - "sha256:e40a936c9a450ad81df37f549d676d127b1b66000a6c500caa2b085bc0ca976c" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==2.5.0" - }, - "pyflakes": { - "hashes": [ - "sha256:17dbeb2e3f4d772725c777fabc446d5634d1038f234e77343108ce445ea69ce0", - "sha256:d976835886f8c5b31d47970ed689944a0262b5f3afa00a5a7b4dc81e5449f8a2" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==2.1.1" - }, - "pyparsing": { - "hashes": [ - "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1", - "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b" - ], - "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==2.4.7" - }, - "pytest": { - "hashes": [ - "sha256:131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89", - "sha256:7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134" - ], - "markers": "python_version >= '3.6'", - "version": "==6.2.5" - }, - "pytest-mypy-plugins": { - "hashes": [ - "sha256:9012dddb48b27652b432a5b8102b3046d7da36a7a15a9cffa5b0d123484afe68", - "sha256:ca562a5e49ccbc8e46a6281050eae9ad6f10512b9000d36571c0fe78334b8ea3" - ], - "index": "pypi", - "version": "==1.2.0" - }, - "pyyaml": { - "hashes": [ - "sha256:08682f6b72c722394747bddaf0aa62277e02557c0fd1c42cb853016a38f8dedf", - "sha256:0f5f5786c0e09baddcd8b4b45f20a7b5d61a7e7e99846e3c799b05c7c53fa696", - "sha256:129def1b7c1bf22faffd67b8f3724645203b79d8f4cc81f674654d9902cb4393", - "sha256:294db365efa064d00b8d1ef65d8ea2c3426ac366c0c4368d930bf1c5fb497f77", - "sha256:3b2b1824fe7112845700f815ff6a489360226a5609b96ec2190a45e62a9fc922", - "sha256:3bd0e463264cf257d1ffd2e40223b197271046d09dadf73a0fe82b9c1fc385a5", - "sha256:4465124ef1b18d9ace298060f4eccc64b0850899ac4ac53294547536533800c8", - "sha256:49d4cdd9065b9b6e206d0595fee27a96b5dd22618e7520c33204a4a3239d5b10", - "sha256:4e0583d24c881e14342eaf4ec5fbc97f934b999a6828693a99157fde912540cc", - "sha256:5accb17103e43963b80e6f837831f38d314a0495500067cb25afab2e8d7a4018", - "sha256:607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e", - "sha256:6c78645d400265a062508ae399b60b8c167bf003db364ecb26dcab2bda048253", - "sha256:72a01f726a9c7851ca9bfad6fd09ca4e090a023c00945ea05ba1638c09dc3347", - "sha256:74c1485f7707cf707a7aef42ef6322b8f97921bd89be2ab6317fd782c2d53183", - "sha256:895f61ef02e8fed38159bb70f7e100e00f471eae2bc838cd0f4ebb21e28f8541", - "sha256:8c1be557ee92a20f184922c7b6424e8ab6691788e6d86137c5d93c1a6ec1b8fb", - "sha256:bb4191dfc9306777bc594117aee052446b3fa88737cd13b7188d0e7aa8162185", - "sha256:bfb51918d4ff3d77c1c856a9699f8492c612cde32fd3bcd344af9be34999bfdc", - "sha256:c20cfa2d49991c8b4147af39859b167664f2ad4561704ee74c1de03318e898db", - "sha256:cb333c16912324fd5f769fff6bc5de372e9e7a202247b48870bc251ed40239aa", - "sha256:d2d9808ea7b4af864f35ea216be506ecec180628aced0704e34aca0b040ffe46", - "sha256:d483ad4e639292c90170eb6f7783ad19490e7a8defb3e46f97dfe4bacae89122", - "sha256:dd5de0646207f053eb0d6c74ae45ba98c3395a571a2891858e87df7c9b9bd51b", - "sha256:e1d4970ea66be07ae37a3c2e48b5ec63f7ba6804bdddfdbd3cfd954d25a82e63", - "sha256:e4fac90784481d221a8e4b1162afa7c47ed953be40d31ab4629ae917510051df", - "sha256:fa5ae20527d8e831e8230cbffd9f8fe952815b2b7dae6ffec25318803a7528fc", - "sha256:fd7f6999a8070df521b6384004ef42833b9bd62cfee11a09bda1079b4b704247", - "sha256:fdc842473cd33f45ff6bce46aea678a54e3d21f1b61a7750ce3c498eedfe25d6", - "sha256:fe69978f3f768926cfa37b867e3843918e012cf83f680806599ddce33c2c68b0" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", - "version": "==5.4.1" - }, - "regex": { - "hashes": [ - "sha256:04f6b9749e335bb0d2f68c707f23bb1773c3fb6ecd10edf0f04df12a8920d468", - "sha256:08d74bfaa4c7731b8dac0a992c63673a2782758f7cfad34cf9c1b9184f911354", - "sha256:0fc1f8f06977c2d4f5e3d3f0d4a08089be783973fc6b6e278bde01f0544ff308", - "sha256:121f4b3185feaade3f85f70294aef3f777199e9b5c0c0245c774ae884b110a2d", - "sha256:1413b5022ed6ac0d504ba425ef02549a57d0f4276de58e3ab7e82437892704fc", - "sha256:1743345e30917e8c574f273f51679c294effba6ad372db1967852f12c76759d8", - "sha256:28fc475f560d8f67cc8767b94db4c9440210f6958495aeae70fac8faec631797", - "sha256:31a99a4796bf5aefc8351e98507b09e1b09115574f7c9dbb9cf2111f7220d2e2", - "sha256:328a1fad67445550b982caa2a2a850da5989fd6595e858f02d04636e7f8b0b13", - "sha256:473858730ef6d6ff7f7d5f19452184cd0caa062a20047f6d6f3e135a4648865d", - "sha256:4cde065ab33bcaab774d84096fae266d9301d1a2f5519d7bd58fc55274afbf7a", - "sha256:5f6a808044faae658f546dd5f525e921de9fa409de7a5570865467f03a626fc0", - "sha256:610b690b406653c84b7cb6091facb3033500ee81089867ee7d59e675f9ca2b73", - "sha256:66256b6391c057305e5ae9209941ef63c33a476b73772ca967d4a2df70520ec1", - "sha256:6eebf512aa90751d5ef6a7c2ac9d60113f32e86e5687326a50d7686e309f66ed", - "sha256:79aef6b5cd41feff359acaf98e040844613ff5298d0d19c455b3d9ae0bc8c35a", - "sha256:808ee5834e06f57978da3e003ad9d6292de69d2bf6263662a1a8ae30788e080b", - "sha256:8e44769068d33e0ea6ccdf4b84d80c5afffe5207aa4d1881a629cf0ef3ec398f", - "sha256:999ad08220467b6ad4bd3dd34e65329dd5d0df9b31e47106105e407954965256", - "sha256:9b006628fe43aa69259ec04ca258d88ed19b64791693df59c422b607b6ece8bb", - "sha256:9d05ad5367c90814099000442b2125535e9d77581855b9bee8780f1b41f2b1a2", - "sha256:a577a21de2ef8059b58f79ff76a4da81c45a75fe0bfb09bc8b7bb4293fa18983", - "sha256:a617593aeacc7a691cc4af4a4410031654f2909053bd8c8e7db837f179a630eb", - "sha256:abb48494d88e8a82601af905143e0de838c776c1241d92021e9256d5515b3645", - "sha256:ac88856a8cbccfc14f1b2d0b829af354cc1743cb375e7f04251ae73b2af6adf8", - "sha256:b4c220a1fe0d2c622493b0a1fd48f8f991998fb447d3cd368033a4b86cf1127a", - "sha256:b844fb09bd9936ed158ff9df0ab601e2045b316b17aa8b931857365ea8586906", - "sha256:bdc178caebd0f338d57ae445ef8e9b737ddf8fbc3ea187603f65aec5b041248f", - "sha256:c206587c83e795d417ed3adc8453a791f6d36b67c81416676cad053b4104152c", - "sha256:c61dcc1cf9fd165127a2853e2c31eb4fb961a4f26b394ac9fe5669c7a6592892", - "sha256:c7cb4c512d2d3b0870e00fbbac2f291d4b4bf2634d59a31176a87afe2777c6f0", - "sha256:d4a332404baa6665b54e5d283b4262f41f2103c255897084ec8f5487ce7b9e8e", - "sha256:d5111d4c843d80202e62b4fdbb4920db1dcee4f9366d6b03294f45ed7b18b42e", - "sha256:e1e8406b895aba6caa63d9fd1b6b1700d7e4825f78ccb1e5260551d168db38ed", - "sha256:e8690ed94481f219a7a967c118abaf71ccc440f69acd583cab721b90eeedb77c", - "sha256:ed283ab3a01d8b53de3a05bfdf4473ae24e43caee7dcb5584e86f3f3e5ab4374", - "sha256:ed4b50355b066796dacdd1cf538f2ce57275d001838f9b132fab80b75e8c84dd", - "sha256:ee329d0387b5b41a5dddbb6243a21cb7896587a651bebb957e2d2bb8b63c0791", - "sha256:f3bf1bc02bc421047bfec3343729c4bbbea42605bcfd6d6bfe2c07ade8b12d2a", - "sha256:f585cbbeecb35f35609edccb95efd95a3e35824cd7752b586503f7e6087303f1", - "sha256:f60667673ff9c249709160529ab39667d1ae9fd38634e006bec95611f632e759" - ], - "version": "==2021.8.28" - }, - "toml": { - "hashes": [ - "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", - "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f" - ], - "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==0.10.2" - }, - "tomli": { - "hashes": [ - "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", - "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f" - ], - "markers": "python_version >= '3.7'", - "version": "==2.0.1" - }, - "typed-ast": { - "hashes": [ - "sha256:01ae5f73431d21eead5015997ab41afa53aa1fbe252f9da060be5dad2c730ace", - "sha256:067a74454df670dcaa4e59349a2e5c81e567d8d65458d480a5b3dfecec08c5ff", - "sha256:0fb71b8c643187d7492c1f8352f2c15b4c4af3f6338f21681d3681b3dc31a266", - "sha256:1b3ead4a96c9101bef08f9f7d1217c096f31667617b58de957f690c92378b528", - "sha256:2068531575a125b87a41802130fa7e29f26c09a2833fea68d9a40cf33902eba6", - "sha256:209596a4ec71d990d71d5e0d312ac935d86930e6eecff6ccc7007fe54d703808", - "sha256:2c726c276d09fc5c414693a2de063f521052d9ea7c240ce553316f70656c84d4", - "sha256:398e44cd480f4d2b7ee8d98385ca104e35c81525dd98c519acff1b79bdaac363", - "sha256:52b1eb8c83f178ab787f3a4283f68258525f8d70f778a2f6dd54d3b5e5fb4341", - "sha256:5feca99c17af94057417d744607b82dd0a664fd5e4ca98061480fd8b14b18d04", - "sha256:7538e495704e2ccda9b234b82423a4038f324f3a10c43bc088a1636180f11a41", - "sha256:760ad187b1041a154f0e4d0f6aae3e40fdb51d6de16e5c99aedadd9246450e9e", - "sha256:777a26c84bea6cd934422ac2e3b78863a37017618b6e5c08f92ef69853e765d3", - "sha256:95431a26309a21874005845c21118c83991c63ea800dd44843e42a916aec5899", - "sha256:9ad2c92ec681e02baf81fdfa056fe0d818645efa9af1f1cd5fd6f1bd2bdfd805", - "sha256:9c6d1a54552b5330bc657b7ef0eae25d00ba7ffe85d9ea8ae6540d2197a3788c", - "sha256:aee0c1256be6c07bd3e1263ff920c325b59849dc95392a05f258bb9b259cf39c", - "sha256:af3d4a73793725138d6b334d9d247ce7e5f084d96284ed23f22ee626a7b88e39", - "sha256:b36b4f3920103a25e1d5d024d155c504080959582b928e91cb608a65c3a49e1a", - "sha256:b9574c6f03f685070d859e75c7f9eeca02d6933273b5e69572e5ff9d5e3931c3", - "sha256:bff6ad71c81b3bba8fa35f0f1921fb24ff4476235a6e94a26ada2e54370e6da7", - "sha256:c190f0899e9f9f8b6b7863debfb739abcb21a5c054f911ca3596d12b8a4c4c7f", - "sha256:c907f561b1e83e93fad565bac5ba9c22d96a54e7ea0267c708bffe863cbe4075", - "sha256:cae53c389825d3b46fb37538441f75d6aecc4174f615d048321b716df2757fb0", - "sha256:dd4a21253f42b8d2b48410cb31fe501d32f8b9fbeb1f55063ad102fe9c425e40", - "sha256:dde816ca9dac1d9c01dd504ea5967821606f02e510438120091b84e852367428", - "sha256:f2362f3cb0f3172c42938946dbc5b7843c2a28aec307c49100c8b38764eb6927", - "sha256:f328adcfebed9f11301eaedfa48e15bdece9b519fb27e6a8c01aa52a17ec31b3", - "sha256:f8afcf15cc511ada719a88e013cec87c11aff7b91f019295eb4530f96fe5ef2f", - "sha256:fb1bbeac803adea29cedd70781399c99138358c26d05fcbd23c13016b7f5ec65" - ], - "markers": "python_version < '3.8'", - "version": "==1.4.3" - }, - "typing-extensions": { - "hashes": [ - "sha256:49f75d16ff11f1cd258e1b988ccff82a3ca5570217d7ad8c5f48205dd99a677e", - "sha256:d8226d10bc02a29bcc81df19a26e56a9647f8b0a6d4a83924139f4a8b01f17b7", - "sha256:f1d25edafde516b146ecd0613dabcc61409817af4766fbbcfb8d1ad4ec441a34" - ], - "markers": "python_version < '3.8'", - "version": "==3.10.0.2" - }, - "zipp": { - "hashes": [ - "sha256:957cfda87797e389580cb8b9e3870841ca991e2125350677b2ca83a0e99390a3", - "sha256:f5812b1e007e48cff63449a5e9f4e7ebea716b4111f9c4f9a645f91d579bf0c4" - ], - "markers": "python_version >= '3.6'", - "version": "==3.5.0" - } - } -} diff --git a/requirements.in b/requirements.in new file mode 100644 index 0000000..f5f7c42 --- /dev/null +++ b/requirements.in @@ -0,0 +1,7 @@ +-e . + +black==22.12.0 +flake8 +isort +pytest-mypy-plugins +pip-tools \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..789895e --- /dev/null +++ b/requirements.txt @@ -0,0 +1,146 @@ +# +# This file is autogenerated by pip-compile with Python 3.7 +# by the following command: +# +# pip-compile +# +-e . + # via -r requirements.in +asgiref==3.6.0 + # via django +attrs==22.2.0 + # via pytest +black==22.12.0 + # via -r requirements.in +build==0.9.0 + # via pip-tools +certifi==2022.12.7 + # via requests +charset-normalizer==2.1.1 + # via requests +chevron==0.14.0 + # via pytest-mypy-plugins +click==8.1.3 + # via + # black + # pip-tools +decorator==5.1.1 + # via pytest-mypy-plugins +django==3.2.16 + # via + # django-stubs + # django-stubs-ext +django-stubs==1.13.1 + # via + # django-filter-stubs + # djangorestframework-stubs +django-stubs-ext==0.7.0 + # via django-stubs +djangorestframework-stubs==1.8.0 + # via django-filter-stubs +exceptiongroup==1.1.0 + # via pytest +flake8==5.0.4 + # via -r requirements.in +idna==3.4 + # via requests +importlib-metadata==4.2.0 + # via + # build + # click + # flake8 + # pep517 + # pluggy + # pytest +iniconfig==1.1.1 + # via pytest +isort==5.11.4 + # via -r requirements.in +mccabe==0.7.0 + # via flake8 +mypy==0.991 + # via + # django-filter-stubs + # django-stubs + # djangorestframework-stubs + # pytest-mypy-plugins +mypy-extensions==0.4.3 + # via + # black + # mypy +packaging==22.0 + # via + # build + # pytest +pathspec==0.10.3 + # via black +pep517==0.13.0 + # via build +pip-tools==6.12.1 + # via -r requirements.in +platformdirs==2.6.2 + # via black +pluggy==1.0.0 + # via pytest +pycodestyle==2.9.1 + # via flake8 +pyflakes==2.5.0 + # via flake8 +pytest==7.2.0 + # via pytest-mypy-plugins +pytest-mypy-plugins==1.10.1 + # via -r requirements.in +pytz==2022.7 + # via django +pyyaml==6.0 + # via pytest-mypy-plugins +regex==2022.10.31 + # via pytest-mypy-plugins +requests==2.28.1 + # via djangorestframework-stubs +sqlparse==0.4.3 + # via django +tomli==2.0.1 + # via + # black + # build + # django-stubs + # mypy + # pep517 + # pytest +typed-ast==1.5.4 + # via + # black + # mypy +types-pytz==2022.7.0.0 + # via django-stubs +types-pyyaml==6.0.12.2 + # via + # django-stubs + # djangorestframework-stubs +types-requests==2.28.11.7 + # via djangorestframework-stubs +types-urllib3==1.26.25.4 + # via types-requests +typing-extensions==4.4.0 + # via + # black + # django-filter-stubs + # django-stubs + # django-stubs-ext + # djangorestframework-stubs + # importlib-metadata + # mypy + # platformdirs +urllib3==1.26.13 + # via requests +wheel==0.38.4 + # via pip-tools +zipp==3.11.0 + # via + # importlib-metadata + # pep517 + +# The following packages are considered to be unsafe in a requirements file: +# pip +# setuptools diff --git a/setup.py b/setup.py index f93ee0d..e33fd00 100644 --- a/setup.py +++ b/setup.py @@ -17,6 +17,7 @@ def find_stub_files(name): result.append(f) return result + long_description = (Path(__file__).parent / "README.md").read_text() From 558e69e9f714066a2b7f8d3769ae840dac80e3a9 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Tue, 3 Jan 2023 13:44:31 +0000 Subject: [PATCH 11/18] Cache is now pip --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 07db348..6e1270f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,9 +22,9 @@ jobs: uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - cache: 'pipenv' + cache: 'pip' - - name: Install Pipenv requirements + - name: Install requirements run: | pip install --upgrade pip pip install -r requirements.txt From 40fcfeea6fceef10ce4b190b904fd97bca49c844 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Tue, 3 Jan 2023 13:46:39 +0000 Subject: [PATCH 12/18] Downgrade asgiref for 3.6 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 789895e..1476594 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ # -e . # via -r requirements.in -asgiref==3.6.0 +asgiref==3.4.1 # via django attrs==22.2.0 # via pytest From 1dad5defc697ee784adc96b1702f625d68bdb1b8 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Tue, 3 Jan 2023 16:36:43 +0000 Subject: [PATCH 13/18] Fix widget error --- django_filters-stubs/widgets.pyi | 6 +++--- tests/test_imports.yml | 4 +--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/django_filters-stubs/widgets.pyi b/django_filters-stubs/widgets.pyi index a6ff349..5faeffa 100644 --- a/django_filters-stubs/widgets.pyi +++ b/django_filters-stubs/widgets.pyi @@ -1,7 +1,7 @@ from typing import Any, Dict, Optional, Tuple from django import forms -from django.forms.renderers import EngineMixin +from django.forms.renderers import BaseRenderer from django.utils.safestring import SafeText _OptAttrs = Dict[str, Any] @@ -11,13 +11,13 @@ class LinkWidget(forms.Widget): def __init__(self, attrs: Optional[Any] = ..., choices: Any = ...) -> None: ... data: Any = ... def value_from_datadict(self, data: Any, files: Any, name: Any): ... - def render( + def render( # type: ignore[override] self, name: str, value: Any, attrs: Optional[_OptAttrs] = ..., choices: Tuple = ..., - renderer: Optional[EngineMixin] = ..., + renderer: Optional[BaseRenderer] = ..., ) -> SafeText: ... def render_options(self, choices: Any, selected_choices: Any, name: Any): ... def render_option( diff --git a/tests/test_imports.yml b/tests/test_imports.yml index 5753ddc..9a7ef58 100644 --- a/tests/test_imports.yml +++ b/tests/test_imports.yml @@ -13,6 +13,4 @@ import django_filters.widgets import django_filters.rest_framework.backends import django_filters.rest_framework.filters - import django_filters.rest_framework.filterset - out: | - ../../home/travis/build/DavisRayM/django-filter-stubs/django_filters-stubs/widgetsi:14: error: Signature of "render" incompatible with supertype "Widget" \ No newline at end of file + import django_filters.rest_framework.filterset \ No newline at end of file From 2679b62835c1ef6d66bb361cbace8a97cef9befa Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Tue, 3 Jan 2023 16:41:58 +0000 Subject: [PATCH 14/18] Redo requirements for Python 3.6 --- requirements.in | 2 +- requirements.txt | 91 ++++++++++++++++++++++++++---------------------- 2 files changed, 51 insertions(+), 42 deletions(-) diff --git a/requirements.in b/requirements.in index f5f7c42..6ca1342 100644 --- a/requirements.in +++ b/requirements.in @@ -1,6 +1,6 @@ -e . -black==22.12.0 +black flake8 isort pytest-mypy-plugins diff --git a/requirements.txt b/requirements.txt index 1476594..b0d6689 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ # -# This file is autogenerated by pip-compile with Python 3.7 -# by the following command: +# This file is autogenerated by pip-compile with python 3.6 +# To update, run: # # pip-compile # @@ -10,43 +10,46 @@ asgiref==3.4.1 # via django attrs==22.2.0 # via pytest -black==22.12.0 +black==22.8.0 # via -r requirements.in -build==0.9.0 - # via pip-tools certifi==2022.12.7 # via requests -charset-normalizer==2.1.1 +charset-normalizer==2.0.12 # via requests chevron==0.14.0 # via pytest-mypy-plugins -click==8.1.3 +click==8.0.4 # via # black # pip-tools +coreapi==2.3.3 + # via djangorestframework-stubs +coreschema==0.0.4 + # via coreapi +dataclasses==0.8 + # via + # black + # pytest-mypy-plugins decorator==5.1.1 # via pytest-mypy-plugins django==3.2.16 # via # django-stubs # django-stubs-ext -django-stubs==1.13.1 +django-stubs==1.9.0 # via # django-filter-stubs # djangorestframework-stubs -django-stubs-ext==0.7.0 +django-stubs-ext==0.5.0 # via django-stubs -djangorestframework-stubs==1.8.0 +djangorestframework-stubs==1.4.0 # via django-filter-stubs -exceptiongroup==1.1.0 - # via pytest flake8==5.0.4 # via -r requirements.in idna==3.4 # via requests importlib-metadata==4.2.0 # via - # build # click # flake8 # pep517 @@ -54,11 +57,17 @@ importlib-metadata==4.2.0 # pytest iniconfig==1.1.1 # via pytest -isort==5.11.4 +isort==5.10.1 # via -r requirements.in +itypes==1.2.0 + # via coreapi +jinja2==3.0.3 + # via coreschema +markupsafe==2.0.1 + # via jinja2 mccabe==0.7.0 # via flake8 -mypy==0.991 +mypy==0.971 # via # django-filter-stubs # django-stubs @@ -68,27 +77,29 @@ mypy-extensions==0.4.3 # via # black # mypy -packaging==22.0 - # via - # build - # pytest -pathspec==0.10.3 +packaging==21.3 + # via pytest +pathspec==0.9.0 # via black pep517==0.13.0 - # via build -pip-tools==6.12.1 + # via pip-tools +pip-tools==6.4.0 # via -r requirements.in -platformdirs==2.6.2 +platformdirs==2.4.0 # via black pluggy==1.0.0 # via pytest +py==1.11.0 + # via pytest pycodestyle==2.9.1 # via flake8 pyflakes==2.5.0 # via flake8 -pytest==7.2.0 +pyparsing==3.0.9 + # via packaging +pytest==7.0.1 # via pytest-mypy-plugins -pytest-mypy-plugins==1.10.1 +pytest-mypy-plugins==1.9.3 # via -r requirements.in pytz==2022.7 # via django @@ -96,15 +107,17 @@ pyyaml==6.0 # via pytest-mypy-plugins regex==2022.10.31 # via pytest-mypy-plugins -requests==2.28.1 - # via djangorestframework-stubs +requests==2.27.1 + # via + # coreapi + # djangorestframework-stubs sqlparse==0.4.3 # via django -tomli==2.0.1 +toml==0.10.2 + # via django-stubs +tomli==1.2.3 # via # black - # build - # django-stubs # mypy # pep517 # pytest @@ -115,15 +128,10 @@ typed-ast==1.5.4 types-pytz==2022.7.0.0 # via django-stubs types-pyyaml==6.0.12.2 + # via django-stubs +typing-extensions==4.1.1 # via - # django-stubs - # djangorestframework-stubs -types-requests==2.28.11.7 - # via djangorestframework-stubs -types-urllib3==1.26.25.4 - # via types-requests -typing-extensions==4.4.0 - # via + # asgiref # black # django-filter-stubs # django-stubs @@ -131,12 +139,13 @@ typing-extensions==4.4.0 # djangorestframework-stubs # importlib-metadata # mypy - # platformdirs +uritemplate==4.1.1 + # via coreapi urllib3==1.26.13 # via requests -wheel==0.38.4 +wheel==0.37.1 # via pip-tools -zipp==3.11.0 +zipp==3.6.0 # via # importlib-metadata # pep517 From 27a60b8296701ce0336c3ccdce5a6231f1f5cdf0 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Tue, 3 Jan 2023 16:44:08 +0000 Subject: [PATCH 15/18] Reformat comment --- django_filters-stubs/widgets.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/django_filters-stubs/widgets.pyi b/django_filters-stubs/widgets.pyi index 5faeffa..a2e6108 100644 --- a/django_filters-stubs/widgets.pyi +++ b/django_filters-stubs/widgets.pyi @@ -11,7 +11,7 @@ class LinkWidget(forms.Widget): def __init__(self, attrs: Optional[Any] = ..., choices: Any = ...) -> None: ... data: Any = ... def value_from_datadict(self, data: Any, files: Any, name: Any): ... - def render( # type: ignore[override] + def render( # type: ignore[override] self, name: str, value: Any, From 361dff8e3f19e06da5a225f8f72dda1a61a4fbf6 Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Tue, 3 Jan 2023 16:46:58 +0000 Subject: [PATCH 16/18] 3.6 wants different things --- .github/workflows/ci.yml | 14 +++- requirements-3.6.txt | 155 +++++++++++++++++++++++++++++++++++++++ requirements.txt | 93 +++++++++++------------ 3 files changed, 208 insertions(+), 54 deletions(-) create mode 100644 requirements-3.6.txt diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6e1270f..7b3ae80 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,10 +24,18 @@ jobs: python-version: ${{ matrix.python-version }} cache: 'pip' - - name: Install requirements + - name: Upgrade pip + run: pip install --upgrade pip + + - name: Install requirements (3.6) + run: | + pip install -r requirements-3.6.txt + if: matrix.python-version == '3.6' + + - name: Install requirements (3.7+) run: | - pip install --upgrade pip - pip install -r requirements.txt + pip install -r requirements.txt + if: matrix.python-version != '3.6' - name: Black run: black --check django_filters-stubs/ diff --git a/requirements-3.6.txt b/requirements-3.6.txt new file mode 100644 index 0000000..b0d6689 --- /dev/null +++ b/requirements-3.6.txt @@ -0,0 +1,155 @@ +# +# This file is autogenerated by pip-compile with python 3.6 +# To update, run: +# +# pip-compile +# +-e . + # via -r requirements.in +asgiref==3.4.1 + # via django +attrs==22.2.0 + # via pytest +black==22.8.0 + # via -r requirements.in +certifi==2022.12.7 + # via requests +charset-normalizer==2.0.12 + # via requests +chevron==0.14.0 + # via pytest-mypy-plugins +click==8.0.4 + # via + # black + # pip-tools +coreapi==2.3.3 + # via djangorestframework-stubs +coreschema==0.0.4 + # via coreapi +dataclasses==0.8 + # via + # black + # pytest-mypy-plugins +decorator==5.1.1 + # via pytest-mypy-plugins +django==3.2.16 + # via + # django-stubs + # django-stubs-ext +django-stubs==1.9.0 + # via + # django-filter-stubs + # djangorestframework-stubs +django-stubs-ext==0.5.0 + # via django-stubs +djangorestframework-stubs==1.4.0 + # via django-filter-stubs +flake8==5.0.4 + # via -r requirements.in +idna==3.4 + # via requests +importlib-metadata==4.2.0 + # via + # click + # flake8 + # pep517 + # pluggy + # pytest +iniconfig==1.1.1 + # via pytest +isort==5.10.1 + # via -r requirements.in +itypes==1.2.0 + # via coreapi +jinja2==3.0.3 + # via coreschema +markupsafe==2.0.1 + # via jinja2 +mccabe==0.7.0 + # via flake8 +mypy==0.971 + # via + # django-filter-stubs + # django-stubs + # djangorestframework-stubs + # pytest-mypy-plugins +mypy-extensions==0.4.3 + # via + # black + # mypy +packaging==21.3 + # via pytest +pathspec==0.9.0 + # via black +pep517==0.13.0 + # via pip-tools +pip-tools==6.4.0 + # via -r requirements.in +platformdirs==2.4.0 + # via black +pluggy==1.0.0 + # via pytest +py==1.11.0 + # via pytest +pycodestyle==2.9.1 + # via flake8 +pyflakes==2.5.0 + # via flake8 +pyparsing==3.0.9 + # via packaging +pytest==7.0.1 + # via pytest-mypy-plugins +pytest-mypy-plugins==1.9.3 + # via -r requirements.in +pytz==2022.7 + # via django +pyyaml==6.0 + # via pytest-mypy-plugins +regex==2022.10.31 + # via pytest-mypy-plugins +requests==2.27.1 + # via + # coreapi + # djangorestframework-stubs +sqlparse==0.4.3 + # via django +toml==0.10.2 + # via django-stubs +tomli==1.2.3 + # via + # black + # mypy + # pep517 + # pytest +typed-ast==1.5.4 + # via + # black + # mypy +types-pytz==2022.7.0.0 + # via django-stubs +types-pyyaml==6.0.12.2 + # via django-stubs +typing-extensions==4.1.1 + # via + # asgiref + # black + # django-filter-stubs + # django-stubs + # django-stubs-ext + # djangorestframework-stubs + # importlib-metadata + # mypy +uritemplate==4.1.1 + # via coreapi +urllib3==1.26.13 + # via requests +wheel==0.37.1 + # via pip-tools +zipp==3.6.0 + # via + # importlib-metadata + # pep517 + +# The following packages are considered to be unsafe in a requirements file: +# pip +# setuptools diff --git a/requirements.txt b/requirements.txt index b0d6689..789895e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,55 +1,52 @@ # -# This file is autogenerated by pip-compile with python 3.6 -# To update, run: +# This file is autogenerated by pip-compile with Python 3.7 +# by the following command: # # pip-compile # -e . # via -r requirements.in -asgiref==3.4.1 +asgiref==3.6.0 # via django attrs==22.2.0 # via pytest -black==22.8.0 +black==22.12.0 # via -r requirements.in +build==0.9.0 + # via pip-tools certifi==2022.12.7 # via requests -charset-normalizer==2.0.12 +charset-normalizer==2.1.1 # via requests chevron==0.14.0 # via pytest-mypy-plugins -click==8.0.4 +click==8.1.3 # via # black # pip-tools -coreapi==2.3.3 - # via djangorestframework-stubs -coreschema==0.0.4 - # via coreapi -dataclasses==0.8 - # via - # black - # pytest-mypy-plugins decorator==5.1.1 # via pytest-mypy-plugins django==3.2.16 # via # django-stubs # django-stubs-ext -django-stubs==1.9.0 +django-stubs==1.13.1 # via # django-filter-stubs # djangorestframework-stubs -django-stubs-ext==0.5.0 +django-stubs-ext==0.7.0 # via django-stubs -djangorestframework-stubs==1.4.0 +djangorestframework-stubs==1.8.0 # via django-filter-stubs +exceptiongroup==1.1.0 + # via pytest flake8==5.0.4 # via -r requirements.in idna==3.4 # via requests importlib-metadata==4.2.0 # via + # build # click # flake8 # pep517 @@ -57,17 +54,11 @@ importlib-metadata==4.2.0 # pytest iniconfig==1.1.1 # via pytest -isort==5.10.1 +isort==5.11.4 # via -r requirements.in -itypes==1.2.0 - # via coreapi -jinja2==3.0.3 - # via coreschema -markupsafe==2.0.1 - # via jinja2 mccabe==0.7.0 # via flake8 -mypy==0.971 +mypy==0.991 # via # django-filter-stubs # django-stubs @@ -77,29 +68,27 @@ mypy-extensions==0.4.3 # via # black # mypy -packaging==21.3 - # via pytest -pathspec==0.9.0 +packaging==22.0 + # via + # build + # pytest +pathspec==0.10.3 # via black pep517==0.13.0 - # via pip-tools -pip-tools==6.4.0 + # via build +pip-tools==6.12.1 # via -r requirements.in -platformdirs==2.4.0 +platformdirs==2.6.2 # via black pluggy==1.0.0 # via pytest -py==1.11.0 - # via pytest pycodestyle==2.9.1 # via flake8 pyflakes==2.5.0 # via flake8 -pyparsing==3.0.9 - # via packaging -pytest==7.0.1 +pytest==7.2.0 # via pytest-mypy-plugins -pytest-mypy-plugins==1.9.3 +pytest-mypy-plugins==1.10.1 # via -r requirements.in pytz==2022.7 # via django @@ -107,17 +96,15 @@ pyyaml==6.0 # via pytest-mypy-plugins regex==2022.10.31 # via pytest-mypy-plugins -requests==2.27.1 - # via - # coreapi - # djangorestframework-stubs +requests==2.28.1 + # via djangorestframework-stubs sqlparse==0.4.3 # via django -toml==0.10.2 - # via django-stubs -tomli==1.2.3 +tomli==2.0.1 # via # black + # build + # django-stubs # mypy # pep517 # pytest @@ -128,10 +115,15 @@ typed-ast==1.5.4 types-pytz==2022.7.0.0 # via django-stubs types-pyyaml==6.0.12.2 - # via django-stubs -typing-extensions==4.1.1 # via - # asgiref + # django-stubs + # djangorestframework-stubs +types-requests==2.28.11.7 + # via djangorestframework-stubs +types-urllib3==1.26.25.4 + # via types-requests +typing-extensions==4.4.0 + # via # black # django-filter-stubs # django-stubs @@ -139,13 +131,12 @@ typing-extensions==4.1.1 # djangorestframework-stubs # importlib-metadata # mypy -uritemplate==4.1.1 - # via coreapi + # platformdirs urllib3==1.26.13 # via requests -wheel==0.37.1 +wheel==0.38.4 # via pip-tools -zipp==3.6.0 +zipp==3.11.0 # via # importlib-metadata # pep517 From 539a203dc83b7548b47afc013b83c91c5ac2671c Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Tue, 3 Jan 2023 17:03:28 +0000 Subject: [PATCH 17/18] Downgrade mypy for 3.6 --- requirements-3.6.txt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/requirements-3.6.txt b/requirements-3.6.txt index b0d6689..a4a92c4 100644 --- a/requirements-3.6.txt +++ b/requirements-3.6.txt @@ -2,7 +2,7 @@ # This file is autogenerated by pip-compile with python 3.6 # To update, run: # -# pip-compile +# pip-compile --output-file=requirements-3.6.txt requirements.in # -e . # via -r requirements.in @@ -67,7 +67,7 @@ markupsafe==2.0.1 # via jinja2 mccabe==0.7.0 # via flake8 -mypy==0.971 +mypy==0.910 # via # django-filter-stubs # django-stubs @@ -114,14 +114,15 @@ requests==2.27.1 sqlparse==0.4.3 # via django toml==0.10.2 - # via django-stubs + # via + # django-stubs + # mypy tomli==1.2.3 # via # black - # mypy # pep517 # pytest -typed-ast==1.5.4 +typed-ast==1.4.3 # via # black # mypy From ec17f1ae6b897bcdfe6f36c29e8bec29d2a3f90c Mon Sep 17 00:00:00 2001 From: Tom Parker-Shemilt Date: Fri, 6 Jan 2023 15:45:04 +0000 Subject: [PATCH 18/18] Remove 3.6 support --- .github/workflows/ci.yml | 11 +-- requirements-3.6.txt | 156 --------------------------------------- setup.py | 1 - 3 files changed, 3 insertions(+), 165 deletions(-) delete mode 100644 requirements-3.6.txt diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7b3ae80..2b1d39d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,11 +9,11 @@ on: jobs: ci: - runs-on: ubuntu-20.04 # 22.04 doesn't have Python 3.6 + runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: - python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11"] + python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"] steps: - name: Checkout uses: actions/checkout@v3 @@ -27,15 +27,10 @@ jobs: - name: Upgrade pip run: pip install --upgrade pip - - name: Install requirements (3.6) - run: | - pip install -r requirements-3.6.txt - if: matrix.python-version == '3.6' - - name: Install requirements (3.7+) run: | pip install -r requirements.txt - if: matrix.python-version != '3.6' + - name: Black run: black --check django_filters-stubs/ diff --git a/requirements-3.6.txt b/requirements-3.6.txt deleted file mode 100644 index a4a92c4..0000000 --- a/requirements-3.6.txt +++ /dev/null @@ -1,156 +0,0 @@ -# -# This file is autogenerated by pip-compile with python 3.6 -# To update, run: -# -# pip-compile --output-file=requirements-3.6.txt requirements.in -# --e . - # via -r requirements.in -asgiref==3.4.1 - # via django -attrs==22.2.0 - # via pytest -black==22.8.0 - # via -r requirements.in -certifi==2022.12.7 - # via requests -charset-normalizer==2.0.12 - # via requests -chevron==0.14.0 - # via pytest-mypy-plugins -click==8.0.4 - # via - # black - # pip-tools -coreapi==2.3.3 - # via djangorestframework-stubs -coreschema==0.0.4 - # via coreapi -dataclasses==0.8 - # via - # black - # pytest-mypy-plugins -decorator==5.1.1 - # via pytest-mypy-plugins -django==3.2.16 - # via - # django-stubs - # django-stubs-ext -django-stubs==1.9.0 - # via - # django-filter-stubs - # djangorestframework-stubs -django-stubs-ext==0.5.0 - # via django-stubs -djangorestframework-stubs==1.4.0 - # via django-filter-stubs -flake8==5.0.4 - # via -r requirements.in -idna==3.4 - # via requests -importlib-metadata==4.2.0 - # via - # click - # flake8 - # pep517 - # pluggy - # pytest -iniconfig==1.1.1 - # via pytest -isort==5.10.1 - # via -r requirements.in -itypes==1.2.0 - # via coreapi -jinja2==3.0.3 - # via coreschema -markupsafe==2.0.1 - # via jinja2 -mccabe==0.7.0 - # via flake8 -mypy==0.910 - # via - # django-filter-stubs - # django-stubs - # djangorestframework-stubs - # pytest-mypy-plugins -mypy-extensions==0.4.3 - # via - # black - # mypy -packaging==21.3 - # via pytest -pathspec==0.9.0 - # via black -pep517==0.13.0 - # via pip-tools -pip-tools==6.4.0 - # via -r requirements.in -platformdirs==2.4.0 - # via black -pluggy==1.0.0 - # via pytest -py==1.11.0 - # via pytest -pycodestyle==2.9.1 - # via flake8 -pyflakes==2.5.0 - # via flake8 -pyparsing==3.0.9 - # via packaging -pytest==7.0.1 - # via pytest-mypy-plugins -pytest-mypy-plugins==1.9.3 - # via -r requirements.in -pytz==2022.7 - # via django -pyyaml==6.0 - # via pytest-mypy-plugins -regex==2022.10.31 - # via pytest-mypy-plugins -requests==2.27.1 - # via - # coreapi - # djangorestframework-stubs -sqlparse==0.4.3 - # via django -toml==0.10.2 - # via - # django-stubs - # mypy -tomli==1.2.3 - # via - # black - # pep517 - # pytest -typed-ast==1.4.3 - # via - # black - # mypy -types-pytz==2022.7.0.0 - # via django-stubs -types-pyyaml==6.0.12.2 - # via django-stubs -typing-extensions==4.1.1 - # via - # asgiref - # black - # django-filter-stubs - # django-stubs - # django-stubs-ext - # djangorestframework-stubs - # importlib-metadata - # mypy -uritemplate==4.1.1 - # via coreapi -urllib3==1.26.13 - # via requests -wheel==0.37.1 - # via pip-tools -zipp==3.6.0 - # via - # importlib-metadata - # pep517 - -# The following packages are considered to be unsafe in a requirements file: -# pip -# setuptools diff --git a/setup.py b/setup.py index e33fd00..b263369 100644 --- a/setup.py +++ b/setup.py @@ -42,7 +42,6 @@ def find_stub_files(name): classifiers=[ "Development Status :: 1 - Planning", "License :: OSI Approved :: MIT License", - "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", ], )