diff --git a/.flake8 b/.flake8 index 160c1b8..cf5d05d 100644 --- a/.flake8 +++ b/.flake8 @@ -1,5 +1,9 @@ [flake8] +# E203 -> whitespace before ':' (conflicts with Black) +# E231 -> Bad trailing comma (conflicts with Black) +# E501 -> line too long (conflicts with Black) + extend-ignore: - E203, # whitespace before ':' (conflicts with Black) - E231, # Bad trailing comma (conflicts with Black) - E501, # line too long (conflicts with Black) + E203, + E231, + E501, diff --git a/.github/workflows/pants.yaml b/.github/workflows/pants.yaml index 3fdb773..11b6575 100644 --- a/.github/workflows/pants.yaml +++ b/.github/workflows/pants.yaml @@ -20,7 +20,7 @@ jobs: runs-on: ubuntu-24.04 strategy: matrix: - python-version: [3.9] + python-version: [3.12] steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v4 diff --git a/lockfiles/python-default.lock b/lockfiles/python-default.lock index f7c1ef4..5331fb6 100644 --- a/lockfiles/python-default.lock +++ b/lockfiles/python-default.lock @@ -4,17 +4,17 @@ // // --- BEGIN PANTS LOCKFILE METADATA: DO NOT EDIT OR REMOVE --- // { -// "version": 3, +// "version": 4, // "valid_for_interpreter_constraints": [ -// "CPython<3.10,>=3.9" +// "CPython<3.13,>=3.12" // ], // "generated_with_requirements": [ // "ansicolors>=1.0.2", // "django-debug-toolbar<4,>=3.8.0", -// "django-stubs==1.10.1", +// "django-stubs~=4.2.7", // "django<4,>=3.2.13", // "gunicorn>=20.1.0", -// "mypy==0.942", +// "mypy==1.18.1", // "protobuf>=3.11.3", // "pytest-django<5,>=4", // "pytest>=6.0.1", @@ -26,7 +26,9 @@ // "manylinux": "manylinux2014", // "requirement_constraints": [], // "only_binary": [], -// "no_binary": [] +// "no_binary": [], +// "excludes": [], +// "overrides": [] // } // --- END PANTS LOCKFILE METADATA --- @@ -36,6 +38,8 @@ "allow_wheels": true, "build_isolation": true, "constraints": [], + "elide_unused_requires_dist": false, + "excluded": [], "locked_resolves": [ { "locked_requirements": [ @@ -61,158 +65,137 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e", - "url": "https://files.pythonhosted.org/packages/9b/80/b9051a4a07ad231558fcd8ffc89232711b4e618c15cb7a392a17384bbeef/asgiref-3.7.2-py3-none-any.whl" + "hash": "aef8a81283a34d0ab31630c9b7dfe70c812c95eba78171367ca8745e88124734", + "url": "https://files.pythonhosted.org/packages/17/9c/fc2331f538fbf7eedba64b2052e99ccf9ba9d6888e2f41441ee28847004b/asgiref-3.10.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed", - "url": "https://files.pythonhosted.org/packages/12/19/64e38c1c2cbf0da9635b7082bbdf0e89052e93329279f59759c24a10cc96/asgiref-3.7.2.tar.gz" + "hash": "d89f2d8cd8b56dada7d52fa7dc8075baa08fb836560710d38c292a7a3f78c04e", + "url": "https://files.pythonhosted.org/packages/46/08/4dfec9b90758a59acc6be32ac82e98d1fbfc321cb5cfa410436dbacf821c/asgiref-3.10.0.tar.gz" } ], "project_name": "asgiref", "requires_dists": [ - "mypy>=0.800; extra == \"tests\"", + "mypy>=1.14.0; extra == \"tests\"", "pytest-asyncio; extra == \"tests\"", "pytest; extra == \"tests\"", - "typing-extensions>=4; python_version < \"3.11\"" + "typing_extensions>=4; python_version < \"3.11\"" ], - "requires_python": ">=3.7", - "version": "3.7.2" + "requires_python": ">=3.9", + "version": "3.10.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9", - "url": "https://files.pythonhosted.org/packages/4c/dd/2234eab22353ffc7d94e8d13177aaa050113286e93e7b40eae01fbf7c3d9/certifi-2023.7.22-py3-none-any.whl" + "hash": "0f212c2744a9bb6de0c56639a6f68afe01ecd92d91f14ae897c4fe7bbeeef0de", + "url": "https://files.pythonhosted.org/packages/e4/37/af0d2ef3967ac0d6113837b44a4f0bfe1328c2b9763bd5b1744520e5cfed/certifi-2025.10.5-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082", - "url": "https://files.pythonhosted.org/packages/98/98/c2ff18671db109c9f10ed27f5ef610ae05b73bd876664139cf95bd1429aa/certifi-2023.7.22.tar.gz" + "hash": "47c09d31ccf2acf0be3f701ea53595ee7e0b8fa08801c6624be771df09ae7b43", + "url": "https://files.pythonhosted.org/packages/4c/5b/b6ce21586237c77ce67d01dc5507039d444b630dd76611bbca2d8e5dcd91/certifi-2025.10.5.tar.gz" } ], "project_name": "certifi", "requires_dists": [], - "requires_python": ">=3.6", - "version": "2023.7.22" + "requires_python": ">=3.7", + "version": "2025.10.5" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6", - "url": "https://files.pythonhosted.org/packages/bf/a0/188f223c7d8b924fb9b554b9d27e0e7506fd5bf9cfb6dbacb2dfd5832b53/charset_normalizer-3.2.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c", - "url": "https://files.pythonhosted.org/packages/09/79/1b7af063e7c57a51aab7f2aaccd79bb8a694dfae668e8aa79b0b045b17bc/charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e", - "url": "https://files.pythonhosted.org/packages/1b/2c/7376d101efdec15e61e9861890cf107c6ce3cceba89eb87cc416ee0528cd/charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252", - "url": "https://files.pythonhosted.org/packages/23/59/8011a01cd8b904d08d86b4a49f407e713d20ee34155300dc698892a29f8b/charset_normalizer-3.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "ce571ab16d890d23b5c278547ba694193a45011ff86a9162a71307ed9f86759a", + "url": "https://files.pythonhosted.org/packages/8a/1f/f041989e93b001bc4e44bb1669ccdcf54d3f00e628229a85b08d330615c5/charset_normalizer-3.4.3-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace", - "url": "https://files.pythonhosted.org/packages/2a/53/cf0a48de1bdcf6ff6e1c9a023f5f523dfe303e4024f216feac64b6eb7f67/charset-normalizer-3.2.0.tar.gz" + "hash": "42e5088973e56e31e4fa58eb6bd709e42fc03799c11c42929592889a2e54c491", + "url": "https://files.pythonhosted.org/packages/05/6b/e2539a0a4be302b481e8cafb5af8792da8093b486885a1ae4d15d452bcec/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5", - "url": "https://files.pythonhosted.org/packages/47/03/2cde6c5fba0115e8726272aabfca33b9d84d377cc11c4bab092fa9617d7a/charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "1606f4a55c0fd363d754049cdf400175ee96c992b1f8018b993941f221221c5f", + "url": "https://files.pythonhosted.org/packages/16/ab/0233c3231af734f5dfcf0844aa9582d5a1466c985bbed6cedab85af9bfe3/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952", - "url": "https://files.pythonhosted.org/packages/4a/46/a22af93e707f0d3c3865a2c21b4363c778239f5a6405aadd220992ac3058/charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + "hash": "cc34f233c9e71701040d772aa7490318673aa7164a0efe3172b2981218c26d93", + "url": "https://files.pythonhosted.org/packages/31/e7/883ee5676a2ef217a40ce0bffcc3d0dfbf9e64cbcfbdf822c52981c3304b/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_s390x.whl" }, { "algorithm": "sha256", - "hash": "203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f", - "url": "https://files.pythonhosted.org/packages/7b/c6/7f75892d87d7afcf8ed909f3e74de1bc61abd9d77cd9aab1f449430856c5/charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_x86_64.whl" + "hash": "0cacf8f7297b0c4fcb74227692ca46b4a5852f8f4f24b3c766dd94a1075c4884", + "url": "https://files.pythonhosted.org/packages/7d/a8/c6ec5d389672521f644505a257f50544c074cf5fc292d5390331cd6fc9c3/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4", - "url": "https://files.pythonhosted.org/packages/80/75/eadff07a61d5602b6b19859d464bc0983654ae79114ef8aa15797b02271c/charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" + "hash": "3cfb2aad70f2c6debfbcb717f23b7eb55febc0bb23dcffc0f076009da10c6392", + "url": "https://files.pythonhosted.org/packages/82/10/0fd19f20c624b278dddaf83b8464dcddc2456cb4b02bb902a6da126b87a1/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22", - "url": "https://files.pythonhosted.org/packages/85/52/77ab28e0eb07f12a02732c55abfc3be481bd46c91d5ade76a8904dfb59a4/charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_aarch64.whl" + "hash": "6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14", + "url": "https://files.pythonhosted.org/packages/83/2d/5fd176ceb9b2fc619e63405525573493ca23441330fcdaee6bef9460e924/charset_normalizer-3.4.3.tar.gz" }, { "algorithm": "sha256", - "hash": "cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299", - "url": "https://files.pythonhosted.org/packages/95/d3/ed29b2d14ec9044a223dcf7c439fa550ef9c6d06c9372cd332374d990559/charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_s390x.whl" + "hash": "027b776c26d38b7f15b26a5da1044f376455fb3766df8fc38563b4efbc515154", + "url": "https://files.pythonhosted.org/packages/ae/02/e29e22b4e02839a0e4a06557b1999d0a47db3567e82989b5bb21f3fbbd9f/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858", - "url": "https://files.pythonhosted.org/packages/d3/d8/50a33f82bdf25e71222a55cef146310e3e9fe7d5790be5281d715c012eae/charset_normalizer-3.2.0-cp39-cp39-macosx_11_0_arm64.whl" + "hash": "320e8e66157cc4e247d9ddca8e21f427efc7a04bbd0ac8a9faf56583fa543f9f", + "url": "https://files.pythonhosted.org/packages/c1/35/6525b21aa0db614cf8b5792d232021dca3df7f90a1944db934efa5d20bb1/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c", - "url": "https://files.pythonhosted.org/packages/ed/21/03b4a3533b7a845ee31ed4542ca06debdcf7f12c099ae3dd6773c275b0df/charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_i686.whl" + "hash": "e28e334d3ff134e88989d90ba04b47d84382a828c061d0d1027b1b12a62b39b1", + "url": "https://files.pythonhosted.org/packages/e9/5e/14c94999e418d9b87682734589404a25854d5f5d0408df68bc15b6ff54bb/charset_normalizer-3.4.3-cp312-cp312-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020", - "url": "https://files.pythonhosted.org/packages/f2/e8/d9651a0afd4ee792207b24bd1d438ed750f1c0f29df62bd73d24ded428f9/charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200", - "url": "https://files.pythonhosted.org/packages/f9/0d/514be8597d7a96243e5467a37d337b9399cec117a513fcf9328405d911c0/charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "c6fd51128a41297f5409deab284fecbe5305ebd7e5a1f959bee1c054622b7018", + "url": "https://files.pythonhosted.org/packages/fc/eb/a2ffb08547f4e1e5415fb69eb7db25932c52a52bed371429648db4d84fb1/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" } ], "project_name": "charset-normalizer", "requires_dists": [], - "requires_python": ">=3.7.0", - "version": "3.2.0" + "requires_python": ">=3.7", + "version": "3.4.3" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28", - "url": "https://files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl" + "hash": "9b9f285302c6e3064f4330c05f05b81945b2a39544279343e6e7c5f27a9baddc", + "url": "https://files.pythonhosted.org/packages/db/d3/9dcc0f5797f070ec8edf30fbadfb200e71d9db6b84d211e3b2085a7589a0/click-8.3.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de", - "url": "https://files.pythonhosted.org/packages/96/d3/f04c7bfcf5c1862a2a5b845c6b2b360488cf47af55dfa79c98f6a6bf98b5/click-8.1.7.tar.gz" + "hash": "e7b8232224eba16f4ebe410c25ced9f7875cb5f3263ffc93cc3e8da705e229c4", + "url": "https://files.pythonhosted.org/packages/46/61/de6cd827efad202d7057d93e0fed9294b96952e188f7384832791c7b2254/click-8.3.0.tar.gz" } ], "project_name": "click", "requires_dists": [ - "colorama; platform_system == \"Windows\"", - "importlib-metadata; python_version < \"3.8\"" + "colorama; platform_system == \"Windows\"" ], - "requires_python": ">=3.7", - "version": "8.1.7" + "requires_python": ">=3.10", + "version": "8.3.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "d31b06c58aa2cd73998ca5966bc3001243d3c4e77ee2d0c479bced124765fd99", - "url": "https://files.pythonhosted.org/packages/97/8d/03ac2f7a3f751f597be12c03a09147f9ca80906264044bb05758bbcc2b32/Django-3.2.21-py3-none-any.whl" + "hash": "a52ea7fcf280b16f7b739cec38fa6d3f8953a5456986944c3ca97e79882b4e38", + "url": "https://files.pythonhosted.org/packages/30/8e/cc23c762c5dcd1d367d73cf006a326e0df2bd0e785cba18b658b39904c1e/Django-3.2.25-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "a5de4c484e7b7418e6d3e52a5b8794f0e6b9f9e4ce3c037018cf1c489fa87f3c", - "url": "https://files.pythonhosted.org/packages/9f/4a/2b57890fd9a1511ed3c580ef3636f018d06b1f9ae42b3033e4fff3ff7720/Django-3.2.21.tar.gz" + "hash": "7ca38a78654aee72378594d63e51636c04b8e28574f5505dff630895b5472777", + "url": "https://files.pythonhosted.org/packages/ec/68/0e744f07b57bfdf99abbb6b3eb14fcba188867021c05f4a104e04f6d56b8/Django-3.2.25.tar.gz" } ], "project_name": "django", @@ -224,7 +207,7 @@ "sqlparse>=0.2.2" ], "requires_python": ">=3.6", - "version": "3.2.21" + "version": "3.2.25" }, { "artifacts": [ @@ -251,39 +234,39 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "dfffa933e3c7f5cae92c860fbd6cf4ae58c4f78eed93843612f863207c9e0e1a", - "url": "https://files.pythonhosted.org/packages/9b/70/fa9c13b2c9305f5728ee7200e4666a0f66472171bb4656919fc7ff3be35e/django_stubs-1.10.1-py3-none-any.whl" + "hash": "4cf4de258fa71adc6f2799e983091b9d46cfc67c6eebc68fe111218c9a62b3b8", + "url": "https://files.pythonhosted.org/packages/31/33/a4024662b31999841bc18ef845a790f6b6a9ad50f5b2aceb029896612d17/django_stubs-4.2.7-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "2ec21fc14dba392156e0ec8438e1863c86ddb295f1c8d88eecd7e0e04977c843", - "url": "https://files.pythonhosted.org/packages/20/b7/07950c67ab79042c52fc1a2b32c5c6995385bd1a5333206b88a6e8380476/django-stubs-1.10.1.tar.gz" + "hash": "8ccd2ff4ee5adf22b9e3b7b1a516d2e1c2191e9d94e672c35cc2bc3dd61e0f6b", + "url": "https://files.pythonhosted.org/packages/1c/1f/1b1da357d37cbbf21496c17aad5a55416c7c37944a909c4a19ddd61994df/django-stubs-4.2.7.tar.gz" } ], "project_name": "django-stubs", "requires_dists": [ "django", - "django-stubs-ext>=0.4.0", - "mypy<0.950,>=0.930", - "tomli", + "django-stubs-ext>=4.2.7", + "mypy~=1.7.0; extra == \"compatible-mypy\"", + "tomli; python_version < \"3.11\"", "types-PyYAML", "types-pytz", "typing-extensions" ], - "requires_python": ">=3.7", - "version": "1.10.1" + "requires_python": ">=3.8", + "version": "4.2.7" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "fdacc65a14d2d4b97334b58ff178a5853ec8c8c76cec406e417916ad67536ce4", - "url": "https://files.pythonhosted.org/packages/92/e5/f186498e66e7cf505e8e4cf2bb9fa631bdf61a33dbb997558f4fdbcc6240/django_stubs_ext-4.2.2-py3-none-any.whl" + "hash": "9b4b8ac9d32f7e6c304fd05477f8688fae6ed57f6a0f9f4d074f9e55b5a3da14", + "url": "https://files.pythonhosted.org/packages/e0/fe/a85a105fddffadb4a8d50e500caeee87d836b679d51a19d52dfa0cc6c660/django_stubs_ext-5.2.5-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "c69d1cc46f1c4c3b7894b685a5022c29b2a36c7cfb52e23762eaf357ebfc2c98", - "url": "https://files.pythonhosted.org/packages/58/31/2950163649bb058b164227a6bfd015d3b2b24c8a07463ba1f996d9f15e03/django-stubs-ext-4.2.2.tar.gz" + "hash": "ecc628df29d36cede638567c4e33ff485dd7a99f1552ad0cece8c60e9c3a8872", + "url": "https://files.pythonhosted.org/packages/16/94/c9b8f4c47084a0fa666da9066c36771098101932688adf2c17a40fab79c2/django_stubs_ext-5.2.5.tar.gz" } ], "project_name": "django-stubs-ext", @@ -291,89 +274,79 @@ "django", "typing-extensions" ], - "requires_python": ">=3.8", - "version": "4.2.2" + "requires_python": ">=3.10", + "version": "5.2.5" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "343280667a4585d195ca1cf9cef84a4e178c4b6cf2274caef9859782b567d5e3", - "url": "https://files.pythonhosted.org/packages/ad/83/b71e58666f156a39fb29417e4c8ca4bc7400c0dd4ed9e8842ab54dc8c344/exceptiongroup-1.1.3-py3-none-any.whl" + "hash": "ec400d38950de4dfd418cff8328b2c8faed0edb0d517d3394e457c317908ca4d", + "url": "https://files.pythonhosted.org/packages/cb/7d/6dac2a6e1eba33ee43f318edbed4ff29151a49b5d37f080aad1e6469bca4/gunicorn-23.0.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "097acd85d473d75af5bb98e41b61ff7fe35efe6675e4f9370ec6ec5126d160e9", - "url": "https://files.pythonhosted.org/packages/c2/e1/5561ad26f99b7779c28356f73f69a8b468ef491d0f6adf20d7ed0ac98ec1/exceptiongroup-1.1.3.tar.gz" - } - ], - "project_name": "exceptiongroup", - "requires_dists": [ - "pytest>=6; extra == \"test\"" - ], - "requires_python": ">=3.7", - "version": "1.1.3" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "3213aa5e8c24949e792bcacfc176fef362e7aac80b76c56f6b5122bf350722f0", - "url": "https://files.pythonhosted.org/packages/0e/2a/c3a878eccb100ccddf45c50b6b8db8cf3301a6adede6e31d48e8531cab13/gunicorn-21.2.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "88ec8bff1d634f98e61b9f65bc4bf3cd918a90806c6f5c48bc5603849ec81033", - "url": "https://files.pythonhosted.org/packages/06/89/acd9879fa6a5309b4bf16a5a8855f1e58f26d38e0c18ede9b3a70996b021/gunicorn-21.2.0.tar.gz" + "hash": "f014447a0101dc57e294f6c18ca6b40227a4c90e9bdb586042628030cba004ec", + "url": "https://files.pythonhosted.org/packages/34/72/9614c465dc206155d93eff0ca20d42e1e35afc533971379482de953521a4/gunicorn-23.0.0.tar.gz" } ], "project_name": "gunicorn", "requires_dists": [ - "eventlet>=0.24.1; extra == \"eventlet\"", + "coverage; extra == \"testing\"", + "eventlet!=0.36.0,>=0.24.1; extra == \"eventlet\"", + "eventlet; extra == \"testing\"", + "gevent; extra == \"testing\"", "gevent>=1.4.0; extra == \"gevent\"", "importlib-metadata; python_version < \"3.8\"", "packaging", + "pytest-cov; extra == \"testing\"", + "pytest; extra == \"testing\"", "setproctitle; extra == \"setproctitle\"", "tornado>=0.2; extra == \"tornado\"" ], - "requires_python": ">=3.5", - "version": "21.2.0" + "requires_python": ">=3.7", + "version": "23.0.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2", - "url": "https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl" + "hash": "946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", + "url": "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4", - "url": "https://files.pythonhosted.org/packages/8b/e1/43beb3d38dba6cb420cefa297822eac205a277ab43e5ba5d5c46faf96438/idna-3.4.tar.gz" + "hash": "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", + "url": "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" } ], "project_name": "idna", - "requires_dists": [], - "requires_python": ">=3.5", - "version": "3.4" + "requires_dists": [ + "flake8>=7.1.1; extra == \"all\"", + "mypy>=1.11.2; extra == \"all\"", + "pytest>=8.3.2; extra == \"all\"", + "ruff>=0.6.2; extra == \"all\"" + ], + "requires_python": ">=3.6", + "version": "3.10" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", - "url": "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl" + "hash": "9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", + "url": "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3", - "url": "https://files.pythonhosted.org/packages/d7/4b/cbd8e699e64a6f16ca3a8220661b5f83792b3017d0f79807cb8708d33913/iniconfig-2.0.0.tar.gz" + "hash": "3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", + "url": "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz" } ], "project_name": "iniconfig", "requires_dists": [], - "requires_python": ">=3.7", - "version": "2.0.0" + "requires_python": ">=3.8", + "version": "2.1.0" }, { "artifacts": [ @@ -397,430 +370,470 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "fe4bda6bd4340caa6e5cf95e73f8fea5c4bfc55763dd42f1b50a94c1b4a2fbd4", - "url": "https://files.pythonhosted.org/packages/1b/ea/50d8357ed72f6c8352fe08657a9b05d672a4ab2470b9447fd73d87f0d47a/lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl" + "hash": "6f91fd2b2ea15a6800c8e24418c0775a1694eefc011392da73bc6cef2623b322", + "url": "https://files.pythonhosted.org/packages/19/93/03ba725df4c3d72afd9596eef4a37a837ce8e4806010569bedfcd2cb68fd/lxml-6.0.2-cp312-cp312-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "fbc74f42c3525ac4ffa4b89cbdd00057b6196bcefe8bce794abd42d33a018092", + "url": "https://files.pythonhosted.org/packages/1e/be/667d17363b38a78c4bd63cfd4b4632029fd68d2c2dc81f25ce9eb5224dd5/lxml-6.0.2-cp312-cp312-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl" }, { "algorithm": "sha256", - "hash": "48628bd53a426c9eb9bc066a923acaa0878d1e86129fd5359aee99285f4eed9c", - "url": "https://files.pythonhosted.org/packages/30/39/7305428d1c4f28282a4f5bdbef24e0f905d351f34cf351ceb131f5cddf78/lxml-4.9.3.tar.gz" + "hash": "064fdadaf7a21af3ed1dcaa106b854077fbeada827c18f72aec9346847cd65d0", + "url": "https://files.pythonhosted.org/packages/35/35/d955a070994725c4f7d80583a96cab9c107c57a125b20bb5f708fe941011/lxml-6.0.2-cp312-cp312-manylinux_2_31_armv7l.whl" }, { "algorithm": "sha256", - "hash": "690dafd0b187ed38583a648076865d8c229661ed20e48f2335d68e2cf7dc829d", - "url": "https://files.pythonhosted.org/packages/35/0b/7c3b67cf80d3b826273f860c20810c791c39ce55df612c8bf4bbdfa1ec11/lxml-4.9.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl" + "hash": "e8113639f3296706fbac34a30813929e29247718e88173ad849f57ca59754924", + "url": "https://files.pythonhosted.org/packages/37/6f/9aae1008083bb501ef63284220ce81638332f9ccbfa53765b2b7502203cf/lxml-6.0.2-cp312-cp312-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "d27be7405547d1f958b60837dc4c1007da90b8b23f54ba1f8b728c78fdb19d50", - "url": "https://files.pythonhosted.org/packages/39/6f/ed4327ac1370da702b7ac4047f4664fbdfb92a98b87ac779863202efc1ff/lxml-4.9.3-cp39-cp39-musllinux_1_1_x86_64.whl" + "hash": "2047d8234fe735ab77802ce5f2297e410ff40f5238aec569ad7c8e163d7b19a6", + "url": "https://files.pythonhosted.org/packages/76/47/b3ec58dc5c374697f5ba37412cd2728f427d056315d124dd4b61da381877/lxml-6.0.2-cp312-cp312-musllinux_1_2_riscv64.whl" }, { "algorithm": "sha256", - "hash": "9bb6ad405121241e99a86efff22d3ef469024ce22875a7ae045896ad23ba2340", - "url": "https://files.pythonhosted.org/packages/50/e1/1c23a817d68418a59b39e6d2b353e211728c21353900279a04e65f6507a0/lxml-4.9.3-cp39-cp39-macosx_11_0_x86_64.whl" + "hash": "700efd30c0fa1a3581d80a748157397559396090a51d306ea59a70020223d16f", + "url": "https://files.pythonhosted.org/packages/a2/b0/7e64e0460fcb36471899f75831509098f3fd7cd02a3833ac517433cb4f8f/lxml-6.0.2-cp312-cp312-manylinux_2_26_i686.manylinux_2_28_i686.whl" }, { "algorithm": "sha256", - "hash": "b6420a005548ad52154c8ceab4a1290ff78d757f9e5cbc68f8c77089acd3c432", - "url": "https://files.pythonhosted.org/packages/6a/bf/a2f75c3c1e4e310e14cfe81117c8c1fca092bbb595babebd7df66b8eb5e6/lxml-4.9.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl" + "hash": "cd79f3367bd74b317dda655dc8fcfa304d9eb6e4fb06b7168c5cf27f96e0cd62", + "url": "https://files.pythonhosted.org/packages/aa/88/262177de60548e5a2bfc46ad28232c9e9cbde697bd94132aeb80364675cb/lxml-6.0.2.tar.gz" }, { "algorithm": "sha256", - "hash": "8ed74706b26ad100433da4b9d807eae371efaa266ffc3e9191ea436087a9d6a7", - "url": "https://files.pythonhosted.org/packages/6d/8f/eb30dead5cd2dd8f0a91f8bcb371688e158c8cbb4a3496e41196ea1171c0/lxml-4.9.3-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl" + "hash": "c33e66d44fe60e72397b487ee92e01da0d09ba2d66df8eae42d77b6d06e5eba0", + "url": "https://files.pythonhosted.org/packages/b9/e1/e5df362e9ca4e2f48ed6411bd4b3a0ae737cc842e96877f5bf9428055ab4/lxml-6.0.2-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "bb3bb49c7a6ad9d981d734ef7c7193bc349ac338776a0360cc671eaee89bcf69", - "url": "https://files.pythonhosted.org/packages/a2/e5/78402bb7bc3e9b43c7857f9e2c60ab5b5d5d9aa35ae76b4043b12535eb18/lxml-4.9.3-cp39-cp39-musllinux_1_1_aarch64.whl" + "hash": "6da5185951d72e6f5352166e3da7b0dc27aa70bd1090b0eb3f7f7212b53f1bb8", + "url": "https://files.pythonhosted.org/packages/bd/55/6ceddaca353ebd0f1908ef712c597f8570cc9c58130dbb89903198e441fd/lxml-6.0.2-cp312-cp312-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "ed667f49b11360951e201453fc3967344d0d0263aa415e1619e85ae7fd17b4e0", - "url": "https://files.pythonhosted.org/packages/b6/4b/8964ca1238c6952d33afdcd89771a95a7e4ac7949e543c6685a6bd7b47c2/lxml-4.9.3-pp39-pypy39_pp73-macosx_11_0_x86_64.whl" + "hash": "90a345bbeaf9d0587a3aaffb7006aa39ccb6ff0e96a57286c0cb2fd1520ea192", + "url": "https://files.pythonhosted.org/packages/c6/d1/232b3309a02d60f11e71857778bfcd4acbdb86c07db8260caf7d008b08f8/lxml-6.0.2-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "5515edd2a6d1a5a70bfcdee23b42ec33425e405c5b351478ab7dc9347228f96e", - "url": "https://files.pythonhosted.org/packages/c5/a2/7876f76606725340c989b1c73b5501fc41fb21e50a8597c9ecdb63a05b27/lxml-4.9.3-cp39-cp39-manylinux_2_28_x86_64.whl" + "hash": "c371aa98126a0d4c739ca93ceffa0fd7a5d732e3ac66a46e74339acd4d334564", + "url": "https://files.pythonhosted.org/packages/c8/20/a7760713e65888db79bbae4f6146a6ae5c04e4a204a3c48896c408cd6ed2/lxml-6.0.2-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "fbf521479bcac1e25a663df882c46a641a9bff6b56dc8b0fafaebd2f66fb231b", - "url": "https://files.pythonhosted.org/packages/cc/b9/d822b2fc9b9406cff3ec6be03d69adb0e44fcad09608489ea4acaf2443bb/lxml-4.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl" + "hash": "57a86e1ebb4020a38d295c04fc79603c7899e0df71588043eb218722dabc087f", + "url": "https://files.pythonhosted.org/packages/cf/e8/fd63e15da5e3fd4c2146f8bbb3c14e94ab850589beab88e547b2dbce22e1/lxml-6.0.2-cp312-cp312-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "303bf1edce6ced16bf67a18a1cf8339d0db79577eec5d9a6d4a80f0fb10aa2da", - "url": "https://files.pythonhosted.org/packages/de/07/fcfc5adfb793e6181049a361b2909723c5821b2bc18a21064da4429631a8/lxml-4.9.3-cp39-cp39-manylinux_2_28_aarch64.whl" + "hash": "65ea18d710fd14e0186c2f973dc60bb52039a275f82d3c44a0e42b43440ea534", + "url": "https://files.pythonhosted.org/packages/da/87/f6cb9442e4bada8aab5ae7e1046264f62fdbeaa6e3f6211b93f4c0dd97f1/lxml-6.0.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" }, { "algorithm": "sha256", - "hash": "8b77946fd508cbf0fccd8e400a7f71d4ac0e1595812e66025bac475a8e811694", - "url": "https://files.pythonhosted.org/packages/e4/f0/715c36f1fa3a12c0df47aef20b2ddcb09dbb346c7861628bbccf4a7cb8f4/lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl" + "hash": "6ddff43f702905a4e32bc24f3f2e2edfe0f8fde3277d481bffb709a4cced7a1f", + "url": "https://files.pythonhosted.org/packages/ea/47/62c70aa4a1c26569bc958c9ca86af2bb4e1f614e8c04fb2989833874f7ae/lxml-6.0.2-cp312-cp312-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "e4da8ca0c0c0aea88fd46be8e44bd49716772358d648cce45fe387f7b92374a7", - "url": "https://files.pythonhosted.org/packages/e5/47/fab85a1b473be9fc2a3b3329e0970b287123bd02367fe83ae06ca6ef5f58/lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl" + "hash": "a8bef9b9825fa8bc816a6e641bb67219489229ebc648be422af695f6e7a4fa7f", + "url": "https://files.pythonhosted.org/packages/f1/ca/31fb37f99f37f1536c133476674c10b577e409c0a624384147653e38baf2/lxml-6.0.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "a59f5448ba2ceccd06995c95ea59a7674a10de0810f2ce90c9006f3cbc044456", + "url": "https://files.pythonhosted.org/packages/f3/c8/8ff2bc6b920c84355146cd1ab7d181bc543b89241cfb1ebee824a7c81457/lxml-6.0.2-cp312-cp312-macosx_10_13_universal2.whl" } ], "project_name": "lxml", "requires_dists": [ "BeautifulSoup4; extra == \"htmlsoup\"", - "Cython>=0.29.35; extra == \"source\"", "cssselect>=0.7; extra == \"cssselect\"", - "html5lib; extra == \"html5\"" + "html5lib; extra == \"html5\"", + "lxml_html_clean; extra == \"html-clean\"" ], - "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7", - "version": "4.9.3" + "requires_python": ">=3.8", + "version": "6.0.2" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "a1b383fe99678d7402754fe90448d4037f9512ce70c21f8aee3b8bf48ffc51db", - "url": "https://files.pythonhosted.org/packages/dd/c1/072c3187d19d1e5445a0230b526916e37497eefe6b060491845603fa6f95/mypy-0.942-py3-none-any.whl" + "hash": "b76a4de66a0ac01da1be14ecc8ae88ddea33b8380284a9e3eae39d57ebcbe26e", + "url": "https://files.pythonhosted.org/packages/e0/1d/4b97d3089b48ef3d904c9ca69fab044475bd03245d878f5f0b3ea1daf7ce/mypy-1.18.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "6ce34a118d1a898f47def970a2042b8af6bdcc01546454726c7dd2171aa6dfca", - "url": "https://files.pythonhosted.org/packages/52/67/f3bfbb3b73c8b154a7fe2c4e36c24751329a67151a014dc7b12a6e45e386/mypy-0.942-cp39-cp39-macosx_10_9_universal2.whl" + "hash": "9e988c64ad3ac5987f43f5154f884747faf62141b7f842e87465b45299eea5a9", + "url": "https://files.pythonhosted.org/packages/14/a3/931e09fc02d7ba96da65266884da4e4a8806adcdb8a57faaacc6edf1d538/mypy-1.18.1.tar.gz" }, { "algorithm": "sha256", - "hash": "10daab80bc40f84e3f087d896cdb53dc811a9f04eae4b3f95779c26edee89d16", - "url": "https://files.pythonhosted.org/packages/67/13/e99a8d4f804f3db73073512f04cce0fad7d0c75cc69245f99eab9ebf67d9/mypy-0.942-cp39-cp39-macosx_10_9_x86_64.whl" + "hash": "8750ceb014a96c9890421c83f0db53b0f3b8633e2864c6f9bc0a8e93951ed18d", + "url": "https://files.pythonhosted.org/packages/32/bb/92642a9350fc339dd9dcefcf6862d171b52294af107d521dce075f32f298/mypy-1.18.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "3841b5433ff936bff2f4dc8d54cf2cdbfea5d8e88cedfac45c161368e5770ba6", - "url": "https://files.pythonhosted.org/packages/7f/90/27f32c7c4cac281b7e0a2bdf225f0e3020dc091efcba4bc2efc32d1d5592/mypy-0.942-cp39-cp39-macosx_11_0_arm64.whl" + "hash": "7509549b5e41be279afc1228242d0e397f1af2919a8f2877ad542b199dc4083e", + "url": "https://files.pythonhosted.org/packages/90/83/235606c8b6d50a8eba99773add907ce1d41c068edb523f81eb0d01603a83/mypy-1.18.1-cp312-cp312-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "6f7106cbf9cc2f403693bf50ed7c9fa5bb3dfa9007b240db3c910929abe2a322", - "url": "https://files.pythonhosted.org/packages/84/c7/9555abe67e9d1b5300042797f5c2829de40c831e5d99a8f467e741a4816a/mypy-0.942-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl" + "hash": "5956ecaabb3a245e3f34100172abca1507be687377fe20e24d6a7557e07080e2", + "url": "https://files.pythonhosted.org/packages/ca/25/4e2ce00f8d15b99d0c68a2536ad63e9eac033f723439ef80290ec32c1ff5/mypy-1.18.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "17e44649fec92e9f82102b48a3bf7b4a5510ad0cd22fa21a104826b5db4903e2", - "url": "https://files.pythonhosted.org/packages/e3/7b/3fa271e904b0e8689fb0f0083a43a8bf84b9b47b8f3f5a36e0ee2c064eb4/mypy-0.942.tar.gz" + "hash": "fb89ea08ff41adf59476b235293679a6eb53a7b9400f6256272fb6029bec3ce5", + "url": "https://files.pythonhosted.org/packages/cd/ee/38d01db91c198fb6350025d28f9719ecf3c8f2c55a0094bfbf3ef478cc9a/mypy-1.18.1-cp312-cp312-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "502cde8896be8e638588b90fdcb4c5d5b8c1b004dfc63fd5604a973547367bb9", + "url": "https://files.pythonhosted.org/packages/e7/14/1c3f54d606cb88a55d1567153ef3a8bc7b74702f2ff5eb64d0994f9e49cb/mypy-1.18.1-cp312-cp312-macosx_10_13_x86_64.whl" } ], "project_name": "mypy", "requires_dists": [ "lxml; extra == \"reports\"", - "mypy-extensions>=0.4.3", + "mypy_extensions>=1.0.0", + "orjson; extra == \"faster-cache\"", + "pathspec>=0.9.0", + "pip; extra == \"install-types\"", "psutil>=4.0; extra == \"dmypy\"", - "tomli>=1.1.0", - "typed-ast<2,>=1.4.0; extra == \"python2\"", - "typed-ast<2,>=1.4.0; python_version < \"3.8\"", - "typing-extensions>=3.10" + "setuptools>=50; extra == \"mypyc\"", + "tomli>=1.1.0; python_version < \"3.11\"", + "typing_extensions>=4.6.0" ], - "requires_python": ">=3.6", - "version": "0.942" + "requires_python": ">=3.9", + "version": "1.18.1" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d", - "url": "https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl" + "hash": "1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505", + "url": "https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782", - "url": "https://files.pythonhosted.org/packages/98/a4/1ab47638b92648243faf97a5aeb6ea83059cc3624972ab6b8d2316078d3f/mypy_extensions-1.0.0.tar.gz" + "hash": "52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558", + "url": "https://files.pythonhosted.org/packages/a2/6e/371856a3fb9d31ca8dac321cda606860fa4548858c0cc45d9d1d4ca2628b/mypy_extensions-1.1.0.tar.gz" } ], "project_name": "mypy-extensions", "requires_dists": [], - "requires_python": ">=3.5", - "version": "1.0.0" + "requires_python": ">=3.8", + "version": "1.1.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61", - "url": "https://files.pythonhosted.org/packages/ab/c3/57f0601a2d4fe15de7a553c00adbc901425661bf048f2a22dfc500caf121/packaging-23.1-py3-none-any.whl" + "hash": "29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", + "url": "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f", - "url": "https://files.pythonhosted.org/packages/b9/6c/7c6658d258d7971c5eb0d9b69fa9265879ec9a9158031206d47800ae2213/packaging-23.1.tar.gz" + "hash": "d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", + "url": "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz" } ], "project_name": "packaging", "requires_dists": [], - "requires_python": ">=3.7", - "version": "23.1" + "requires_python": ">=3.8", + "version": "25.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", + "url": "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", + "url": "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz" + } + ], + "project_name": "pathspec", + "requires_dists": [], + "requires_python": ">=3.8", + "version": "0.12.1" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "d89c696a773f8bd377d18e5ecda92b7a3793cbe66c87060a6fb58c7b6e1061f7", - "url": "https://files.pythonhosted.org/packages/05/b8/42ed91898d4784546c5f06c60506400548db3f7a4b3fb441cba4e5c17952/pluggy-1.3.0-py3-none-any.whl" + "hash": "e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", + "url": "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12", - "url": "https://files.pythonhosted.org/packages/36/51/04defc761583568cae5fd533abda3d40164cbdcf22dee5b7126ffef68a40/pluggy-1.3.0.tar.gz" + "hash": "7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", + "url": "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz" } ], "project_name": "pluggy", "requires_dists": [ + "coverage; extra == \"testing\"", "pre-commit; extra == \"dev\"", "pytest-benchmark; extra == \"testing\"", "pytest; extra == \"testing\"", "tox; extra == \"dev\"" ], - "requires_python": ">=3.8", - "version": "1.3.0" + "requires_python": ">=3.9", + "version": "1.6.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "f6f8dc65625dadaad0c8545319c2e2f0424fede988368893ca3844261342c11a", - "url": "https://files.pythonhosted.org/packages/fa/8a/e9c6b48b8f4651df1b1a9d46fe94a74ed99881141b4660aa855a798c7c53/protobuf-4.24.3-py3-none-any.whl" + "hash": "2601b779fc7d32a866c6b4404f9d42a3f67c5b9f3f15b4db3cccabe06b95c346", + "url": "https://files.pythonhosted.org/packages/97/b7/15cc7d93443d6c6a84626ae3258a91f4c6ac8c0edd5df35ea7658f71b79c/protobuf-6.32.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "12e9ad2ec079b833176d2921be2cb24281fa591f0b119b208b788adc48c2561d", - "url": "https://files.pythonhosted.org/packages/79/30/98dc7297ce8c3f0182800d2879703f0196e76d6a28e53ecaafc3901f8118/protobuf-4.24.3.tar.gz" + "hash": "d8c7e6eb619ffdf105ee4ab76af5a68b60a9d0f66da3ea12d1640e6d8dab7281", + "url": "https://files.pythonhosted.org/packages/10/56/a8a3f4e7190837139e68c7002ec749190a163af3e330f65d90309145a210/protobuf-6.32.1-cp39-abi3-macosx_10_9_universal2.whl" }, { "algorithm": "sha256", - "hash": "ba53c2f04798a326774f0e53b9c759eaef4f6a568ea7072ec6629851c8435959", - "url": "https://files.pythonhosted.org/packages/90/76/4303d1f01e799ed0243a55ec81fb16a731faed0d7c95eaba809f4c7f408d/protobuf-4.24.3-cp37-abi3-manylinux2014_aarch64.whl" + "hash": "2f5b80a49e1eb7b86d85fcd23fe92df154b9730a725c3b38c4e43b9d77018bf4", + "url": "https://files.pythonhosted.org/packages/3f/be/8dd0a927c559b37d7a6c8ab79034fd167dcc1f851595f2e641ad62be8643/protobuf-6.32.1-cp39-abi3-manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "f6ccbcf027761a2978c1406070c3788f6de4a4b2cc20800cc03d52df716ad675", - "url": "https://files.pythonhosted.org/packages/bb/c3/6a06208ecf0934ecaf509b51c52a6cf688586f54ae81ac65c56124571494/protobuf-4.24.3-cp37-abi3-manylinux2014_x86_64.whl" + "hash": "b1864818300c297265c83a4982fd3169f97122c299f56a56e2445c3698d34710", + "url": "https://files.pythonhosted.org/packages/5c/f6/88d77011b605ef979aace37b7703e4eefad066f7e84d935e5a696515c2dd/protobuf-6.32.1-cp39-abi3-manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "6e514e8af0045be2b56e56ae1bb14f43ce7ffa0f68b1c793670ccbe2c4fc7d2b", - "url": "https://files.pythonhosted.org/packages/fe/f3/957db80e5b9f7fd7df97e5554fdc57919dfad24e89291223fd04a0e3c84f/protobuf-4.24.3-cp37-abi3-macosx_10_9_universal2.whl" + "hash": "ee2469e4a021474ab9baafea6cd070e5bf27c7d29433504ddea1a4ee5850f68d", + "url": "https://files.pythonhosted.org/packages/fa/a4/cc17347aa2897568beece2e674674359f911d6fe21b0b8d6268cd42727ac/protobuf-6.32.1.tar.gz" } ], "project_name": "protobuf", "requires_dists": [], - "requires_python": ">=3.7", - "version": "4.24.3" + "requires_python": ">=3.9", + "version": "6.32.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", + "url": "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", + "url": "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz" + } + ], + "project_name": "pygments", + "requires_dists": [ + "colorama>=0.4.6; extra == \"windows-terminal\"" + ], + "requires_python": ">=3.8", + "version": "2.19.2" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "1d881c6124e08ff0a1bb75ba3ec0bfd8b5354a01c194ddd5a0a870a48d99b002", - "url": "https://files.pythonhosted.org/packages/df/d0/e192c4275aecabf74faa1aacd75ef700091913236ec78b1a98f62a2412ee/pytest-7.4.2-py3-none-any.whl" + "hash": "872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79", + "url": "https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "a766259cfab564a2ad52cb1aae1b881a75c3eb7e34ca3779697c23ed47c47069", - "url": "https://files.pythonhosted.org/packages/e5/d0/18209bb95db8ee693a9a04fe056ab0663c6d6b1baf67dd50819dd9cd4bd7/pytest-7.4.2.tar.gz" + "hash": "86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01", + "url": "https://files.pythonhosted.org/packages/a3/5c/00a0e072241553e1a7496d638deababa67c5058571567b92a7eaa258397c/pytest-8.4.2.tar.gz" } ], "project_name": "pytest", "requires_dists": [ - "argcomplete; extra == \"testing\"", - "attrs>=19.2.0; extra == \"testing\"", - "colorama; sys_platform == \"win32\"", - "exceptiongroup>=1.0.0rc8; python_version < \"3.11\"", - "hypothesis>=3.56; extra == \"testing\"", - "importlib-metadata>=0.12; python_version < \"3.8\"", - "iniconfig", - "mock; extra == \"testing\"", - "nose; extra == \"testing\"", - "packaging", - "pluggy<2.0,>=0.12", - "pygments>=2.7.2; extra == \"testing\"", - "requests; extra == \"testing\"", - "setuptools; extra == \"testing\"", - "tomli>=1.0.0; python_version < \"3.11\"", - "xmlschema; extra == \"testing\"" + "argcomplete; extra == \"dev\"", + "attrs>=19.2; extra == \"dev\"", + "colorama>=0.4; sys_platform == \"win32\"", + "exceptiongroup>=1; python_version < \"3.11\"", + "hypothesis>=3.56; extra == \"dev\"", + "iniconfig>=1", + "mock; extra == \"dev\"", + "packaging>=20", + "pluggy<2,>=1.5", + "pygments>=2.7.2", + "requests; extra == \"dev\"", + "setuptools; extra == \"dev\"", + "tomli>=1; python_version < \"3.11\"", + "xmlschema; extra == \"dev\"" ], - "requires_python": ">=3.7", - "version": "7.4.2" + "requires_python": ">=3.9", + "version": "8.4.2" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "c60834861933773109334fe5a53e83d1ef4828f2203a1d6a0fa9972f4f75ab3e", - "url": "https://files.pythonhosted.org/packages/4b/21/b65ecd6686da400e2f6e3c49c2a428325abd979c9670cd97e1671f53296e/pytest_django-4.5.2-py3-none-any.whl" + "hash": "1b63773f648aa3d8541000c26929c1ea63934be1cfa674c76436966d73fe6a10", + "url": "https://files.pythonhosted.org/packages/be/ac/bd0608d229ec808e51a21044f3f2f27b9a37e7a0ebaca7247882e67876af/pytest_django-4.11.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "d9076f759bb7c36939dbdd5ae6633c18edfc2902d1a69fdbefd2426b970ce6c2", - "url": "https://files.pythonhosted.org/packages/9b/42/6d6563165b82289d4a30ea477f85c04386303e51cf4e4e4651d4f9910830/pytest-django-4.5.2.tar.gz" + "hash": "a949141a1ee103cb0e7a20f1451d355f83f5e4a5d07bdd4dcfdd1fd0ff227991", + "url": "https://files.pythonhosted.org/packages/b1/fb/55d580352db26eb3d59ad50c64321ddfe228d3d8ac107db05387a2fadf3a/pytest_django-4.11.1.tar.gz" } ], "project_name": "pytest-django", "requires_dists": [ "Django; extra == \"testing\"", "django-configurations>=2.0; extra == \"testing\"", - "pytest>=5.4.0", - "sphinx-rtd-theme; extra == \"docs\"", - "sphinx; extra == \"docs\"" + "pytest>=7.0.0", + "sphinx; extra == \"docs\"", + "sphinx_rtd_theme; extra == \"docs\"" ], - "requires_python": ">=3.5", - "version": "4.5.2" + "requires_python": ">=3.8", + "version": "4.11.1" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "ce42d816b81b68506614c11e8937d3aa9e41007ceb50bfdcb0749b921bf646c7", - "url": "https://files.pythonhosted.org/packages/32/4d/aaf7eff5deb402fd9a24a1449a8119f00d74ae9c2efa79f8ef9994261fc2/pytz-2023.3.post1-py2.py3-none-any.whl" + "hash": "5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", + "url": "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "7b4fddbeb94a1eba4b557da24f19fdf9db575192544270a9101d8509f9f43d7b", - "url": "https://files.pythonhosted.org/packages/69/4f/7bf883f12ad496ecc9514cd9e267b29a68b3e9629661a2bbc24f80eff168/pytz-2023.3.post1.tar.gz" + "hash": "360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3", + "url": "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz" } ], "project_name": "pytz", "requires_dists": [], "requires_python": null, - "version": "2023.3.post1" + "version": "2025.2" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f", - "url": "https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl" + "hash": "2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", + "url": "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1", - "url": "https://files.pythonhosted.org/packages/9d/be/10918a2eac4ae9f02f6cfe6414b7a155ccd8f7f9d4380d62fd5b955065c3/requests-2.31.0.tar.gz" + "hash": "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", + "url": "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz" } ], "project_name": "requests", "requires_dists": [ "PySocks!=1.5.7,>=1.5.6; extra == \"socks\"", "certifi>=2017.4.17", - "chardet<6,>=3.0.2; extra == \"use_chardet_on_py3\"", - "charset-normalizer<4,>=2", + "chardet<6,>=3.0.2; extra == \"use-chardet-on-py3\"", + "charset_normalizer<4,>=2", "idna<4,>=2.5", "urllib3<3,>=1.21.1" ], - "requires_python": ">=3.7", - "version": "2.31.0" + "requires_python": ">=3.9", + "version": "2.32.5" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a", - "url": "https://files.pythonhosted.org/packages/bb/26/7945080113158354380a12ce26873dd6c1ebd88d47f5bc24e2c5bb38c16a/setuptools-68.2.2-py3-none-any.whl" + "hash": "062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922", + "url": "https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87", - "url": "https://files.pythonhosted.org/packages/ef/cc/93f7213b2ab5ed383f98ce8020e632ef256b406b8569606c3f160ed8e1c9/setuptools-68.2.2.tar.gz" + "hash": "f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c", + "url": "https://files.pythonhosted.org/packages/18/5d/3bf57dcd21979b887f014ea83c24ae194cfcd12b9e0fda66b957c69d1fca/setuptools-80.9.0.tar.gz" } ], "project_name": "setuptools", "requires_dists": [ - "build[virtualenv]; extra == \"testing\"", - "build[virtualenv]>=1.0.3; extra == \"testing-integration\"", - "filelock>=3.4.0; extra == \"testing\"", - "filelock>=3.4.0; extra == \"testing-integration\"", - "flake8-2020; extra == \"testing\"", - "furo; extra == \"docs\"", - "ini2toml[lite]>=0.9; extra == \"testing\"", - "jaraco.develop>=7.21; (python_version >= \"3.9\" and sys_platform != \"cygwin\") and extra == \"testing\"", - "jaraco.envs>=2.2; extra == \"testing\"", - "jaraco.envs>=2.2; extra == \"testing-integration\"", - "jaraco.packaging>=9.3; extra == \"docs\"", - "jaraco.path>=3.2.0; extra == \"testing\"", - "jaraco.path>=3.2.0; extra == \"testing-integration\"", - "jaraco.tidelift>=1.4; extra == \"docs\"", - "packaging>=23.1; extra == \"testing-integration\"", - "pip>=19.1; extra == \"testing\"", - "pygments-github-lexers==0.0.5; extra == \"docs\"", - "pytest-black>=0.3.7; platform_python_implementation != \"PyPy\" and extra == \"testing\"", - "pytest-checkdocs>=2.4; extra == \"testing\"", - "pytest-cov; platform_python_implementation != \"PyPy\" and extra == \"testing\"", - "pytest-enabler; extra == \"testing-integration\"", - "pytest-enabler>=2.2; extra == \"testing\"", - "pytest-mypy>=0.9.1; platform_python_implementation != \"PyPy\" and extra == \"testing\"", - "pytest-perf; sys_platform != \"cygwin\" and extra == \"testing\"", - "pytest-ruff; sys_platform != \"cygwin\" and extra == \"testing\"", - "pytest-timeout; extra == \"testing\"", - "pytest-xdist; extra == \"testing\"", - "pytest-xdist; extra == \"testing-integration\"", - "pytest; extra == \"testing-integration\"", - "pytest>=6; extra == \"testing\"", - "rst.linker>=1.9; extra == \"docs\"", - "sphinx-favicon; extra == \"docs\"", - "sphinx-hoverxref<2; extra == \"docs\"", - "sphinx-inline-tabs; extra == \"docs\"", - "sphinx-lint; extra == \"docs\"", - "sphinx-notfound-page<2,>=1; extra == \"docs\"", - "sphinx-reredirects; extra == \"docs\"", - "sphinx>=3.5; extra == \"docs\"", - "sphinxcontrib-towncrier; extra == \"docs\"", - "tomli-w>=1.0.0; extra == \"testing\"", - "tomli; extra == \"testing-integration\"", - "virtualenv>=13.0.0; extra == \"testing\"", - "virtualenv>=13.0.0; extra == \"testing-integration\"", - "wheel; extra == \"testing\"", - "wheel; extra == \"testing-integration\"" - ], - "requires_python": ">=3.8", - "version": "68.2.2" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "5430a4fe2ac7d0f93e66f1efc6e1338a41884b7ddf2a350cedd20ccc4d9d28f3", - "url": "https://files.pythonhosted.org/packages/98/5a/66d7c9305baa9f11857f247d4ba761402cea75db6058ff850ed7128957b7/sqlparse-0.4.4-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "d446183e84b8349fa3061f0fe7f06ca94ba65b426946ffebe6e3e8295332420c", - "url": "https://files.pythonhosted.org/packages/65/16/10f170ec641ed852611b6c9441b23d10b5702ab5288371feab3d36de2574/sqlparse-0.4.4.tar.gz" + "build[virtualenv]>=1.0.3; extra == \"test\"", + "filelock>=3.4.0; extra == \"test\"", + "furo; extra == \"doc\"", + "importlib_metadata>=6; python_version < \"3.10\" and extra == \"core\"", + "importlib_metadata>=7.0.2; python_version < \"3.10\" and extra == \"type\"", + "ini2toml[lite]>=0.14; extra == \"test\"", + "jaraco.develop>=7.21; (python_version >= \"3.9\" and sys_platform != \"cygwin\") and extra == \"test\"", + "jaraco.develop>=7.21; sys_platform != \"cygwin\" and extra == \"type\"", + "jaraco.envs>=2.2; extra == \"test\"", + "jaraco.functools>=4; extra == \"core\"", + "jaraco.packaging>=9.3; extra == \"doc\"", + "jaraco.path>=3.7.2; extra == \"test\"", + "jaraco.test>=5.5; extra == \"test\"", + "jaraco.text>=3.7; extra == \"core\"", + "jaraco.tidelift>=1.4; extra == \"doc\"", + "more_itertools; extra == \"core\"", + "more_itertools>=8.8; extra == \"core\"", + "mypy==1.14.*; extra == \"type\"", + "packaging>=24.2; extra == \"core\"", + "packaging>=24.2; extra == \"test\"", + "pip>=19.1; extra == \"test\"", + "platformdirs>=4.2.2; extra == \"core\"", + "pygments-github-lexers==0.0.5; extra == \"doc\"", + "pyproject-hooks!=1.1; extra == \"doc\"", + "pyproject-hooks!=1.1; extra == \"test\"", + "pytest!=8.1.*,>=6; extra == \"test\"", + "pytest-checkdocs>=2.4; extra == \"check\"", + "pytest-cov; extra == \"cover\"", + "pytest-enabler>=2.2; extra == \"enabler\"", + "pytest-home>=0.5; extra == \"test\"", + "pytest-mypy; extra == \"type\"", + "pytest-perf; sys_platform != \"cygwin\" and extra == \"test\"", + "pytest-ruff>=0.2.1; sys_platform != \"cygwin\" and extra == \"check\"", + "pytest-subprocess; extra == \"test\"", + "pytest-timeout; extra == \"test\"", + "pytest-xdist>=3; extra == \"test\"", + "rst.linker>=1.9; extra == \"doc\"", + "ruff>=0.8.0; sys_platform != \"cygwin\" and extra == \"check\"", + "sphinx-favicon; extra == \"doc\"", + "sphinx-inline-tabs; extra == \"doc\"", + "sphinx-lint; extra == \"doc\"", + "sphinx-notfound-page<2,>=1; extra == \"doc\"", + "sphinx-reredirects; extra == \"doc\"", + "sphinx>=3.5; extra == \"doc\"", + "sphinxcontrib-towncrier; extra == \"doc\"", + "tomli-w>=1.0.0; extra == \"test\"", + "tomli>=2.0.1; python_version < \"3.11\" and extra == \"core\"", + "towncrier<24.7; extra == \"doc\"", + "virtualenv>=13.0.0; extra == \"test\"", + "wheel>=0.43.0; extra == \"core\"", + "wheel>=0.44.0; extra == \"test\"" + ], + "requires_python": ">=3.9", + "version": "80.9.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "cf2196ed3418f3ba5de6af7e82c694a9fbdbfecccdfc72e281548517081f16ca", + "url": "https://files.pythonhosted.org/packages/a9/5c/bfd6bd0bf979426d405cc6e71eceb8701b148b16c21d2dc3c261efc61c7b/sqlparse-0.5.3-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "09f67787f56a0b16ecdbde1bfc7f5d9c3371ca683cfeaa8e6ff60b4807ec9272", + "url": "https://files.pythonhosted.org/packages/e5/40/edede8dd6977b0d3da179a342c198ed100dd2aba4be081861ee5911e4da4/sqlparse-0.5.3.tar.gz" } ], "project_name": "sqlparse", "requires_dists": [ "build; extra == \"dev\"", - "flake8; extra == \"dev\"", - "pytest-cov; extra == \"test\"", - "pytest; extra == \"test\"", + "hatch; extra == \"dev\"", "sphinx; extra == \"doc\"" ], - "requires_python": ">=3.5", - "version": "0.4.4" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", - "url": "https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f", - "url": "https://files.pythonhosted.org/packages/c0/3f/d7af728f075fb08564c5949a9c95e44352e23dee646869fa104a3b2060a3/tomli-2.0.1.tar.gz" - } - ], - "project_name": "tomli", - "requires_dists": [], - "requires_python": ">=3.7", - "version": "2.0.1" + "requires_python": ">=3.8", + "version": "0.5.3" }, { "artifacts": [ @@ -849,137 +862,118 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "1999a123a3dc0e39a2ef6d19f3f8584211de9e6a77fe7a0259f04a524e90a5cf", - "url": "https://files.pythonhosted.org/packages/79/4f/58c28f50233612d9890cc2b068aee977ef3f7d6434ef4debf98162e34152/types_pytz-2023.3.1.1-py3-none-any.whl" + "hash": "4f55ed1b43e925cf851a756fe1707e0f5deeb1976e15bf844bcaa025e8fbd0db", + "url": "https://files.pythonhosted.org/packages/db/d0/91c24fe54e565f2344d7a6821e6c6bb099841ef09007ea6321a0bac0f808/types_pytz-2025.2.0.20250809-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "cc23d0192cd49c8f6bba44ee0c81e4586a8f30204970fc0894d209a6b08dab9a", - "url": "https://files.pythonhosted.org/packages/a7/33/6f8feb17652548d68f0bab14c7f810419ffc43bd30792d54a89289ac2b6f/types-pytz-2023.3.1.1.tar.gz" + "hash": "222e32e6a29bb28871f8834e8785e3801f2dc4441c715cd2082b271eecbe21e5", + "url": "https://files.pythonhosted.org/packages/07/e2/c774f754de26848f53f05defff5bb21dd9375a059d1ba5b5ea943cf8206e/types_pytz-2025.2.0.20250809.tar.gz" } ], "project_name": "types-pytz", "requires_dists": [], - "requires_python": null, - "version": "2023.3.1.1" + "requires_python": ">=3.9", + "version": "2025.2.0.20250809" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "c05bc6c158facb0676674b7f11fe3960db4f389718e19e62bd2b84d6205cfd24", - "url": "https://files.pythonhosted.org/packages/9d/df/aabb870a04254ceb8a406b0a4222c1b14f7fdf3d2d7633ba49364aca27f3/types_PyYAML-6.0.12.12-py3-none-any.whl" + "hash": "e7d4d9e064e89a3b3cae120b4990cd370874d2bf12fa5f46c97018dd5d3c9ab6", + "url": "https://files.pythonhosted.org/packages/bd/e0/1eed384f02555dde685fff1a1ac805c1c7dcb6dd019c916fe659b1c1f9ec/types_pyyaml-6.0.12.20250915-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "334373d392fde0fdf95af5c3f1661885fa10c52167b14593eb856289e1855062", - "url": "https://files.pythonhosted.org/packages/af/48/b3bbe63a129a80911b60f57929c5b243af909bc1c9590917434bca61a4a3/types-PyYAML-6.0.12.12.tar.gz" + "hash": "0f8b54a528c303f0e6f7165687dd33fafa81c807fcac23f632b63aa624ced1d3", + "url": "https://files.pythonhosted.org/packages/7e/69/3c51b36d04da19b92f9e815be12753125bd8bc247ba0470a982e6979e71c/types_pyyaml-6.0.12.20250915.tar.gz" } ], "project_name": "types-pyyaml", "requires_dists": [], - "requires_python": null, - "version": "6.0.12.12" + "requires_python": ">=3.9", + "version": "6.0.12.20250915" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "c7a9d6b62776f21b169a94a0e9d2dfcae62fa9149f53594ff791c3ae67325490", - "url": "https://files.pythonhosted.org/packages/ce/7f/0e94566840d36a44d17921d47ff8536e0c1f129113e40cb9718564213672/types_requests-2.31.0.4-py3-none-any.whl" + "hash": "78c9c1fffebbe0fa487a418e0fa5252017e9c60d1a2da394077f1780f655d7e1", + "url": "https://files.pythonhosted.org/packages/2a/20/9a227ea57c1285986c4cf78400d0a91615d25b24e257fd9e2969606bdfae/types_requests-2.32.4.20250913-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "a111041148d7e04bf100c476bc4db3ee6b0a1cd0b4018777f6a660b1c4f1318d", - "url": "https://files.pythonhosted.org/packages/df/6f/67b641d3fb005fba2306056057b49cc351bf41b11277e1ef69ce0d7798e2/types-requests-2.31.0.4.tar.gz" + "hash": "abd6d4f9ce3a9383f269775a9835a4c24e5cd6b9f647d64f88aa4613c33def5d", + "url": "https://files.pythonhosted.org/packages/36/27/489922f4505975b11de2b5ad07b4fe1dca0bca9be81a703f26c5f3acfce5/types_requests-2.32.4.20250913.tar.gz" } ], "project_name": "types-requests", "requires_dists": [ - "types-urllib3" + "urllib3>=2" ], - "requires_python": null, - "version": "2.31.0.4" + "requires_python": ">=3.9", + "version": "2.32.4.20250913" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "9683bbb7fb72e32bfe9d2be6e04875fbe1b3eeec3cbb4ea231435aa7fd6b4f0e", - "url": "https://files.pythonhosted.org/packages/11/7b/3fc711b2efea5e85a7a0bbfe269ea944aa767bbba5ec52f9ee45d362ccf3/types_urllib3-1.26.25.14-py3-none-any.whl" + "hash": "f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", + "url": "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "229b7f577c951b8c1b92c1bc2b2fdb0b49847bd2af6d1cc2a2e3dd340f3bda8f", - "url": "https://files.pythonhosted.org/packages/73/de/b9d7a68ad39092368fb21dd6194b362b98a1daeea5dcfef5e1adb5031c7e/types-urllib3-1.26.25.14.tar.gz" - } - ], - "project_name": "types-urllib3", - "requires_dists": [], - "requires_python": null, - "version": "1.26.25.14" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0", - "url": "https://files.pythonhosted.org/packages/24/21/7d397a4b7934ff4028987914ac1044d3b7d52712f30e2ac7a2ae5bc86dd0/typing_extensions-4.8.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef", - "url": "https://files.pythonhosted.org/packages/1f/7a/8b94bb016069caa12fc9f587b28080ac33b4fbb8ca369b98bc0a4828543e/typing_extensions-4.8.0.tar.gz" + "hash": "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", + "url": "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" } ], "project_name": "typing-extensions", "requires_dists": [], - "requires_python": ">=3.8", - "version": "4.8.0" + "requires_python": ">=3.9", + "version": "4.15.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "ef16afa8ba34a1f989db38e1dbbe0c302e4289a47856990d0682e374563ce35e", - "url": "https://files.pythonhosted.org/packages/37/dc/399e63f5d1d96bb643404ee830657f4dfcf8503f5ba8fa3c6d465d0c57fe/urllib3-2.0.5-py3-none-any.whl" + "hash": "e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", + "url": "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "13abf37382ea2ce6fb744d4dad67838eec857c9f4f57009891805e0b5e123594", - "url": "https://files.pythonhosted.org/packages/51/13/62cb4a0af89fdf72db4a0ead8026e724c7f3cbf69706d84a4eff439be853/urllib3-2.0.5.tar.gz" + "hash": "3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", + "url": "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz" } ], "project_name": "urllib3", "requires_dists": [ "brotli>=1.0.9; platform_python_implementation == \"CPython\" and extra == \"brotli\"", "brotlicffi>=0.8.0; platform_python_implementation != \"CPython\" and extra == \"brotli\"", - "certifi; extra == \"secure\"", - "cryptography>=1.9; extra == \"secure\"", - "idna>=2.0.0; extra == \"secure\"", - "pyopenssl>=17.1.0; extra == \"secure\"", + "h2<5,>=4; extra == \"h2\"", "pysocks!=1.5.7,<2.0,>=1.5.6; extra == \"socks\"", - "urllib3-secure-extra; extra == \"secure\"", "zstandard>=0.18.0; extra == \"zstd\"" ], - "requires_python": ">=3.7", - "version": "2.0.5" + "requires_python": ">=3.9", + "version": "2.5.0" } ], "platform_tag": null } ], + "only_builds": [], + "only_wheels": [], + "overridden": [], "path_mappings": {}, - "pex_version": "2.1.134", - "pip_version": "20.3.4-patched", + "pex_version": "2.55.2", + "pip_version": "24.2", "prefer_older_binary": false, "requirements": [ "ansicolors>=1.0.2", "django-debug-toolbar<4,>=3.8.0", - "django-stubs==1.10.1", + "django-stubs~=4.2.7", "django<4,>=3.2.13", "gunicorn>=20.1.0", - "mypy==0.942", + "mypy==1.18.1", "protobuf>=3.11.3", "pytest-django<5,>=4", "pytest>=6.0.1", @@ -989,7 +983,7 @@ "types-requests>=2.25.1" ], "requires_python": [ - "<3.10,>=3.9" + "CPython<3.13,>=3.12" ], "resolver_version": "pip-2020-resolver", "style": "universal", @@ -998,5 +992,6 @@ "mac" ], "transitive": true, - "use_pep517": null + "use_pep517": null, + "use_system_time": false } diff --git a/mypy.ini b/mypy.ini index bfa06af..ceafb75 100644 --- a/mypy.ini +++ b/mypy.ini @@ -1,7 +1,7 @@ [mypy] -follow_imports: silent -ignore_missing_imports: True +follow_imports = silent +ignore_missing_imports = True # Optionals no_implicit_optional = True diff --git a/pants.toml b/pants.toml index 55b0f4a..1f4582f 100644 --- a/pants.toml +++ b/pants.toml @@ -2,7 +2,7 @@ # Licensed under the Apache License, Version 2.0 (see LICENSE). [GLOBAL] -pants_version = "2.28.0" +pants_version = "2.29.0" backend_packages.add = [ 'pants.backend.python', @@ -25,7 +25,7 @@ root_patterns = ["/"] # The default interpreter compatibility for code in this repo. Individual targets can override # this with the `compatibility` field. See # https://www.pantsbuild.org/docs/python-interpreter-compatibility. -interpreter_constraints = [">=3.9,<3.10"] +interpreter_constraints = [">=3.12,<3.13"] # Use a lockfile. See https://www.pantsbuild.org/docs/python-third-party-dependencies. enable_resolves = true resolves = { python-default = "lockfiles/python-default.lock" } @@ -53,5 +53,5 @@ execution_slot_var = "PANTS_EXECUTION_SLOT" [mypy] install_from_resolve = "python-default" -requirements = ["django-stubs"] -interpreter_constraints = [">=3.9,<3.10"] +requirements = ["mypy", "django-stubs"] +interpreter_constraints = [">=3.12,<3.13"] diff --git a/requirements.txt b/requirements.txt index d0f34eb..bfa5129 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,9 +4,9 @@ ansicolors>=1.0.2 django>=3.2.13,<4 django-debug-toolbar>=3.8.0,<4 -django-stubs==1.10.1 +django-stubs~=4.2.7 gunicorn>=20.1.0 -mypy==0.942 +mypy==1.18.1 setuptools>=42.0.0 translate>=3.2.1 protobuf>=3.11.3