diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c0de84b8..b5f8c562 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -17,14 +17,6 @@ repos: rev: 1.2.0 hooks: - id: pyproject-fmt -- repo: https://github.com/asottile/setup-cfg-fmt - rev: v2.5.0 - hooks: - - id: setup-cfg-fmt - args: - - --include-version-classifiers - - --max-py-version - - '3.12' - repo: https://github.com/tox-dev/tox-ini-fmt rev: 1.3.1 hooks: @@ -78,7 +70,6 @@ repos: - flake8-bugbear - flake8-comprehensions - flake8-tidy-imports - - flake8-typing-imports - repo: https://github.com/pre-commit/mirrors-mypy rev: v1.6.1 hooks: diff --git a/docs/conf.py b/docs/conf.py index 1aa8acdb..30a957a5 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -6,6 +6,7 @@ from __future__ import annotations import sys +import tomllib from pathlib import Path # -- Path setup -------------------------------------------------------------- @@ -25,11 +26,10 @@ def _get_version() -> str: - lines = (here / ".." / "setup.cfg").read_text().splitlines() - version_lines = [line.strip() for line in lines if line.startswith("version = ")] - - assert len(version_lines) == 1 - return version_lines[0].split(" = ")[1] + with (here / ".." / "pyproject.toml").open("rb") as fp: + data = tomllib.load(fp) + version: str = data["project"]["version"] + return version version = _get_version() diff --git a/pyproject.toml b/pyproject.toml index 6f4716f8..c7abc173 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,6 +4,50 @@ requires = [ "setuptools", ] +[project] +name = "django-mysql" +version = "4.12.0" +description = "Django-MySQL extends Django's built-in MySQL and MariaDB support their specific features not available on other databases." +readme = {file = "README.rst", content-type = "text/x-rst"} +keywords = [ + "Django", + "MariaDB", + "MySQL", +] +license = {text = "MIT"} +authors = [{name = "Adam Johnson", email = "me@adamj.eu"}] +requires-python = ">=3.8" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Framework :: Django", + "Framework :: Django :: 3.2", + "Framework :: Django :: 4.0", + "Framework :: Django :: 4.1", + "Framework :: Django :: 4.2", + "Framework :: Django :: 5.0", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Natural Language :: English", + "Operating System :: OS Independent", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: Implementation :: CPython", + "Topic :: Database", + "Typing :: Typed", +] +dependencies = [ + "Django>=3.2", +] +[project.urls] +Changelog = "https://django-mysql.readthedocs.io/en/latest/changelog.html" +Documentation = "https://django-mysql.readthedocs.io/" +Funding = "https://adamj.eu/books/" +Repository = "https://github.com/adamchainz/django-mysql" + [tool.black] target-version = ['py38'] @@ -15,6 +59,23 @@ addopts = """\ """ django_find_project = false +[tool.coverage.run] +branch = true +parallel = true +source = [ + "django_mysql", + "tests", +] + +[tool.coverage.paths] +source = [ + "src", + ".tox/**/site-packages", +] + +[tool.coverage.report] +show_missing = true + [tool.mypy] check_untyped_defs = true disallow_any_generics = true diff --git a/requirements/py310-django32.txt b/requirements/py310-django32.txt index de0b846a..c64ce6e8 100644 --- a/requirements/py310-django32.txt +++ b/requirements/py310-django32.txt @@ -8,7 +8,7 @@ asgiref==3.7.2 \ --hash=sha256:89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e \ --hash=sha256:9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed # via django -coverage==7.3.2 \ +coverage[toml]==7.3.2 \ --hash=sha256:0cbf38419fb1a347aaf63481c00f0bdc86889d9fbf3f25109cf96c26b403fda1 \ --hash=sha256:12d15ab5833a997716d76f2ac1e4b4d536814fc213c85ca72756c19e5a6b3d63 \ --hash=sha256:149de1d2401ae4655c436a3dced6dd153f4c3309f599c3d4bd97ab172eaf02d9 \ @@ -157,7 +157,9 @@ sqlparse==0.4.4 \ tomli==2.0.1 \ --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f - # via pytest + # via + # coverage + # pytest typing-extensions==4.8.0 \ --hash=sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0 \ --hash=sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef diff --git a/requirements/py310-django40.txt b/requirements/py310-django40.txt index 3b2d058a..dcfb954e 100644 --- a/requirements/py310-django40.txt +++ b/requirements/py310-django40.txt @@ -8,7 +8,7 @@ asgiref==3.7.2 \ --hash=sha256:89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e \ --hash=sha256:9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed # via django -coverage==7.3.2 \ +coverage[toml]==7.3.2 \ --hash=sha256:0cbf38419fb1a347aaf63481c00f0bdc86889d9fbf3f25109cf96c26b403fda1 \ --hash=sha256:12d15ab5833a997716d76f2ac1e4b4d536814fc213c85ca72756c19e5a6b3d63 \ --hash=sha256:149de1d2401ae4655c436a3dced6dd153f4c3309f599c3d4bd97ab172eaf02d9 \ @@ -153,7 +153,9 @@ sqlparse==0.4.4 \ tomli==2.0.1 \ --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f - # via pytest + # via + # coverage + # pytest typing-extensions==4.8.0 \ --hash=sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0 \ --hash=sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef diff --git a/requirements/py310-django41.txt b/requirements/py310-django41.txt index 0e1a0e4d..c2d5a582 100644 --- a/requirements/py310-django41.txt +++ b/requirements/py310-django41.txt @@ -8,7 +8,7 @@ asgiref==3.7.2 \ --hash=sha256:89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e \ --hash=sha256:9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed # via django -coverage==7.3.2 \ +coverage[toml]==7.3.2 \ --hash=sha256:0cbf38419fb1a347aaf63481c00f0bdc86889d9fbf3f25109cf96c26b403fda1 \ --hash=sha256:12d15ab5833a997716d76f2ac1e4b4d536814fc213c85ca72756c19e5a6b3d63 \ --hash=sha256:149de1d2401ae4655c436a3dced6dd153f4c3309f599c3d4bd97ab172eaf02d9 \ @@ -153,7 +153,9 @@ sqlparse==0.4.4 \ tomli==2.0.1 \ --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f - # via pytest + # via + # coverage + # pytest typing-extensions==4.8.0 \ --hash=sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0 \ --hash=sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef diff --git a/requirements/py310-django42.txt b/requirements/py310-django42.txt index 34208119..9fd621c2 100644 --- a/requirements/py310-django42.txt +++ b/requirements/py310-django42.txt @@ -8,7 +8,7 @@ asgiref==3.7.2 \ --hash=sha256:89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e \ --hash=sha256:9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed # via django -coverage==7.3.2 \ +coverage[toml]==7.3.2 \ --hash=sha256:0cbf38419fb1a347aaf63481c00f0bdc86889d9fbf3f25109cf96c26b403fda1 \ --hash=sha256:12d15ab5833a997716d76f2ac1e4b4d536814fc213c85ca72756c19e5a6b3d63 \ --hash=sha256:149de1d2401ae4655c436a3dced6dd153f4c3309f599c3d4bd97ab172eaf02d9 \ @@ -153,7 +153,9 @@ sqlparse==0.4.4 \ tomli==2.0.1 \ --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f - # via pytest + # via + # coverage + # pytest typing-extensions==4.8.0 \ --hash=sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0 \ --hash=sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef diff --git a/requirements/py310-django50.txt b/requirements/py310-django50.txt index 653a0b4b..9e804116 100644 --- a/requirements/py310-django50.txt +++ b/requirements/py310-django50.txt @@ -8,7 +8,7 @@ asgiref==3.7.2 \ --hash=sha256:89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e \ --hash=sha256:9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed # via django -coverage==7.3.2 \ +coverage[toml]==7.3.2 \ --hash=sha256:0cbf38419fb1a347aaf63481c00f0bdc86889d9fbf3f25109cf96c26b403fda1 \ --hash=sha256:12d15ab5833a997716d76f2ac1e4b4d536814fc213c85ca72756c19e5a6b3d63 \ --hash=sha256:149de1d2401ae4655c436a3dced6dd153f4c3309f599c3d4bd97ab172eaf02d9 \ @@ -153,7 +153,9 @@ sqlparse==0.4.4 \ tomli==2.0.1 \ --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f - # via pytest + # via + # coverage + # pytest typing-extensions==4.8.0 \ --hash=sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0 \ --hash=sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef diff --git a/requirements/py311-django41.txt b/requirements/py311-django41.txt index 5b7beb8f..ea870f1a 100644 --- a/requirements/py311-django41.txt +++ b/requirements/py311-django41.txt @@ -8,7 +8,7 @@ asgiref==3.7.2 \ --hash=sha256:89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e \ --hash=sha256:9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed # via django -coverage==7.3.2 \ +coverage[toml]==7.3.2 \ --hash=sha256:0cbf38419fb1a347aaf63481c00f0bdc86889d9fbf3f25109cf96c26b403fda1 \ --hash=sha256:12d15ab5833a997716d76f2ac1e4b4d536814fc213c85ca72756c19e5a6b3d63 \ --hash=sha256:149de1d2401ae4655c436a3dced6dd153f4c3309f599c3d4bd97ab172eaf02d9 \ diff --git a/requirements/py311-django42.txt b/requirements/py311-django42.txt index e3c7a9d9..fd5c2f76 100644 --- a/requirements/py311-django42.txt +++ b/requirements/py311-django42.txt @@ -8,7 +8,7 @@ asgiref==3.7.2 \ --hash=sha256:89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e \ --hash=sha256:9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed # via django -coverage==7.3.2 \ +coverage[toml]==7.3.2 \ --hash=sha256:0cbf38419fb1a347aaf63481c00f0bdc86889d9fbf3f25109cf96c26b403fda1 \ --hash=sha256:12d15ab5833a997716d76f2ac1e4b4d536814fc213c85ca72756c19e5a6b3d63 \ --hash=sha256:149de1d2401ae4655c436a3dced6dd153f4c3309f599c3d4bd97ab172eaf02d9 \ diff --git a/requirements/py311-django50.txt b/requirements/py311-django50.txt index b6e2cdbc..2d08d877 100644 --- a/requirements/py311-django50.txt +++ b/requirements/py311-django50.txt @@ -8,7 +8,7 @@ asgiref==3.7.2 \ --hash=sha256:89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e \ --hash=sha256:9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed # via django -coverage==7.3.2 \ +coverage[toml]==7.3.2 \ --hash=sha256:0cbf38419fb1a347aaf63481c00f0bdc86889d9fbf3f25109cf96c26b403fda1 \ --hash=sha256:12d15ab5833a997716d76f2ac1e4b4d536814fc213c85ca72756c19e5a6b3d63 \ --hash=sha256:149de1d2401ae4655c436a3dced6dd153f4c3309f599c3d4bd97ab172eaf02d9 \ diff --git a/requirements/py312-django42.txt b/requirements/py312-django42.txt index 85a32322..b9be9502 100644 --- a/requirements/py312-django42.txt +++ b/requirements/py312-django42.txt @@ -8,7 +8,7 @@ asgiref==3.7.2 \ --hash=sha256:89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e \ --hash=sha256:9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed # via django -coverage==7.3.2 \ +coverage[toml]==7.3.2 \ --hash=sha256:0cbf38419fb1a347aaf63481c00f0bdc86889d9fbf3f25109cf96c26b403fda1 \ --hash=sha256:12d15ab5833a997716d76f2ac1e4b4d536814fc213c85ca72756c19e5a6b3d63 \ --hash=sha256:149de1d2401ae4655c436a3dced6dd153f4c3309f599c3d4bd97ab172eaf02d9 \ diff --git a/requirements/py312-django50.txt b/requirements/py312-django50.txt index ae4aca57..ce4e4d1f 100644 --- a/requirements/py312-django50.txt +++ b/requirements/py312-django50.txt @@ -8,7 +8,7 @@ asgiref==3.7.2 \ --hash=sha256:89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e \ --hash=sha256:9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed # via django -coverage==7.3.2 \ +coverage[toml]==7.3.2 \ --hash=sha256:0cbf38419fb1a347aaf63481c00f0bdc86889d9fbf3f25109cf96c26b403fda1 \ --hash=sha256:12d15ab5833a997716d76f2ac1e4b4d536814fc213c85ca72756c19e5a6b3d63 \ --hash=sha256:149de1d2401ae4655c436a3dced6dd153f4c3309f599c3d4bd97ab172eaf02d9 \ diff --git a/requirements/py38-django32.txt b/requirements/py38-django32.txt index f7f01bbc..ac81ccf9 100644 --- a/requirements/py38-django32.txt +++ b/requirements/py38-django32.txt @@ -8,7 +8,7 @@ asgiref==3.7.2 \ --hash=sha256:89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e \ --hash=sha256:9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed # via django -coverage==7.3.2 \ +coverage[toml]==7.3.2 \ --hash=sha256:0cbf38419fb1a347aaf63481c00f0bdc86889d9fbf3f25109cf96c26b403fda1 \ --hash=sha256:12d15ab5833a997716d76f2ac1e4b4d536814fc213c85ca72756c19e5a6b3d63 \ --hash=sha256:149de1d2401ae4655c436a3dced6dd153f4c3309f599c3d4bd97ab172eaf02d9 \ @@ -161,7 +161,9 @@ sqlparse==0.4.4 \ tomli==2.0.1 \ --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f - # via pytest + # via + # coverage + # pytest typing-extensions==4.8.0 \ --hash=sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0 \ --hash=sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef diff --git a/requirements/py38-django40.txt b/requirements/py38-django40.txt index ca10e92e..9aeb60c3 100644 --- a/requirements/py38-django40.txt +++ b/requirements/py38-django40.txt @@ -26,7 +26,7 @@ backports-zoneinfo==0.2.1 \ --hash=sha256:f04e857b59d9d1ccc39ce2da1021d196e47234873820cbeaad210724b1ee28ac \ --hash=sha256:fadbfe37f74051d024037f223b8e001611eac868b5c5b06144ef4d8b799862f2 # via django -coverage==7.3.2 \ +coverage[toml]==7.3.2 \ --hash=sha256:0cbf38419fb1a347aaf63481c00f0bdc86889d9fbf3f25109cf96c26b403fda1 \ --hash=sha256:12d15ab5833a997716d76f2ac1e4b4d536814fc213c85ca72756c19e5a6b3d63 \ --hash=sha256:149de1d2401ae4655c436a3dced6dd153f4c3309f599c3d4bd97ab172eaf02d9 \ @@ -175,7 +175,9 @@ sqlparse==0.4.4 \ tomli==2.0.1 \ --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f - # via pytest + # via + # coverage + # pytest typing-extensions==4.8.0 \ --hash=sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0 \ --hash=sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef diff --git a/requirements/py38-django41.txt b/requirements/py38-django41.txt index 7d7554a9..d25bb826 100644 --- a/requirements/py38-django41.txt +++ b/requirements/py38-django41.txt @@ -26,7 +26,7 @@ backports-zoneinfo==0.2.1 \ --hash=sha256:f04e857b59d9d1ccc39ce2da1021d196e47234873820cbeaad210724b1ee28ac \ --hash=sha256:fadbfe37f74051d024037f223b8e001611eac868b5c5b06144ef4d8b799862f2 # via django -coverage==7.3.2 \ +coverage[toml]==7.3.2 \ --hash=sha256:0cbf38419fb1a347aaf63481c00f0bdc86889d9fbf3f25109cf96c26b403fda1 \ --hash=sha256:12d15ab5833a997716d76f2ac1e4b4d536814fc213c85ca72756c19e5a6b3d63 \ --hash=sha256:149de1d2401ae4655c436a3dced6dd153f4c3309f599c3d4bd97ab172eaf02d9 \ @@ -175,7 +175,9 @@ sqlparse==0.4.4 \ tomli==2.0.1 \ --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f - # via pytest + # via + # coverage + # pytest typing-extensions==4.8.0 \ --hash=sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0 \ --hash=sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef diff --git a/requirements/py38-django42.txt b/requirements/py38-django42.txt index 84bd97cf..54d1c22a 100644 --- a/requirements/py38-django42.txt +++ b/requirements/py38-django42.txt @@ -26,7 +26,7 @@ backports-zoneinfo==0.2.1 \ --hash=sha256:f04e857b59d9d1ccc39ce2da1021d196e47234873820cbeaad210724b1ee28ac \ --hash=sha256:fadbfe37f74051d024037f223b8e001611eac868b5c5b06144ef4d8b799862f2 # via django -coverage==7.3.2 \ +coverage[toml]==7.3.2 \ --hash=sha256:0cbf38419fb1a347aaf63481c00f0bdc86889d9fbf3f25109cf96c26b403fda1 \ --hash=sha256:12d15ab5833a997716d76f2ac1e4b4d536814fc213c85ca72756c19e5a6b3d63 \ --hash=sha256:149de1d2401ae4655c436a3dced6dd153f4c3309f599c3d4bd97ab172eaf02d9 \ @@ -175,7 +175,9 @@ sqlparse==0.4.4 \ tomli==2.0.1 \ --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f - # via pytest + # via + # coverage + # pytest typing-extensions==4.8.0 \ --hash=sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0 \ --hash=sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef diff --git a/requirements/py39-django32.txt b/requirements/py39-django32.txt index 25b7f8e8..a3b29d18 100644 --- a/requirements/py39-django32.txt +++ b/requirements/py39-django32.txt @@ -8,7 +8,7 @@ asgiref==3.7.2 \ --hash=sha256:89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e \ --hash=sha256:9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed # via django -coverage==7.3.2 \ +coverage[toml]==7.3.2 \ --hash=sha256:0cbf38419fb1a347aaf63481c00f0bdc86889d9fbf3f25109cf96c26b403fda1 \ --hash=sha256:12d15ab5833a997716d76f2ac1e4b4d536814fc213c85ca72756c19e5a6b3d63 \ --hash=sha256:149de1d2401ae4655c436a3dced6dd153f4c3309f599c3d4bd97ab172eaf02d9 \ @@ -161,7 +161,9 @@ sqlparse==0.4.4 \ tomli==2.0.1 \ --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f - # via pytest + # via + # coverage + # pytest typing-extensions==4.8.0 \ --hash=sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0 \ --hash=sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef diff --git a/requirements/py39-django40.txt b/requirements/py39-django40.txt index eb6940be..511517dc 100644 --- a/requirements/py39-django40.txt +++ b/requirements/py39-django40.txt @@ -8,7 +8,7 @@ asgiref==3.7.2 \ --hash=sha256:89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e \ --hash=sha256:9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed # via django -coverage==7.3.2 \ +coverage[toml]==7.3.2 \ --hash=sha256:0cbf38419fb1a347aaf63481c00f0bdc86889d9fbf3f25109cf96c26b403fda1 \ --hash=sha256:12d15ab5833a997716d76f2ac1e4b4d536814fc213c85ca72756c19e5a6b3d63 \ --hash=sha256:149de1d2401ae4655c436a3dced6dd153f4c3309f599c3d4bd97ab172eaf02d9 \ @@ -157,7 +157,9 @@ sqlparse==0.4.4 \ tomli==2.0.1 \ --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f - # via pytest + # via + # coverage + # pytest typing-extensions==4.8.0 \ --hash=sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0 \ --hash=sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef diff --git a/requirements/py39-django41.txt b/requirements/py39-django41.txt index e93a835e..dfb8b8e8 100644 --- a/requirements/py39-django41.txt +++ b/requirements/py39-django41.txt @@ -8,7 +8,7 @@ asgiref==3.7.2 \ --hash=sha256:89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e \ --hash=sha256:9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed # via django -coverage==7.3.2 \ +coverage[toml]==7.3.2 \ --hash=sha256:0cbf38419fb1a347aaf63481c00f0bdc86889d9fbf3f25109cf96c26b403fda1 \ --hash=sha256:12d15ab5833a997716d76f2ac1e4b4d536814fc213c85ca72756c19e5a6b3d63 \ --hash=sha256:149de1d2401ae4655c436a3dced6dd153f4c3309f599c3d4bd97ab172eaf02d9 \ @@ -157,7 +157,9 @@ sqlparse==0.4.4 \ tomli==2.0.1 \ --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f - # via pytest + # via + # coverage + # pytest typing-extensions==4.8.0 \ --hash=sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0 \ --hash=sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef diff --git a/requirements/py39-django42.txt b/requirements/py39-django42.txt index 299d454c..dfb7f39f 100644 --- a/requirements/py39-django42.txt +++ b/requirements/py39-django42.txt @@ -8,7 +8,7 @@ asgiref==3.7.2 \ --hash=sha256:89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e \ --hash=sha256:9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed # via django -coverage==7.3.2 \ +coverage[toml]==7.3.2 \ --hash=sha256:0cbf38419fb1a347aaf63481c00f0bdc86889d9fbf3f25109cf96c26b403fda1 \ --hash=sha256:12d15ab5833a997716d76f2ac1e4b4d536814fc213c85ca72756c19e5a6b3d63 \ --hash=sha256:149de1d2401ae4655c436a3dced6dd153f4c3309f599c3d4bd97ab172eaf02d9 \ @@ -157,7 +157,9 @@ sqlparse==0.4.4 \ tomli==2.0.1 \ --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f - # via pytest + # via + # coverage + # pytest typing-extensions==4.8.0 \ --hash=sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0 \ --hash=sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef diff --git a/requirements/requirements.in b/requirements/requirements.in index f7dad6f5..943043f2 100644 --- a/requirements/requirements.in +++ b/requirements/requirements.in @@ -1,4 +1,4 @@ -coverage +coverage[toml] django django-testdata django-jsonfield-backport diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 55c2b21b..00000000 --- a/setup.cfg +++ /dev/null @@ -1,77 +0,0 @@ -[metadata] -name = django_mysql -version = 4.12.0 -description = Django-MySQL extends Django's built-in MySQL and MariaDB support their specific features not available on other databases. -long_description = file: README.rst -long_description_content_type = text/x-rst -url = https://github.com/adamchainz/django-mysql -author = Adam Johnson -author_email = me@adamj.eu -license = MIT -license_files = LICENSE -classifiers = - Development Status :: 5 - Production/Stable - Framework :: Django - Framework :: Django :: 3.2 - Framework :: Django :: 4.0 - Framework :: Django :: 4.1 - Framework :: Django :: 4.2 - Framework :: Django :: 5.0 - Intended Audience :: Developers - License :: OSI Approved :: MIT License - Natural Language :: English - Operating System :: OS Independent - Programming Language :: Python :: 3 - Programming Language :: Python :: 3 :: Only - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: 3.10 - Programming Language :: Python :: 3.11 - Programming Language :: Python :: 3.12 - Programming Language :: Python :: Implementation :: CPython - Topic :: Database - Typing :: Typed -keywords = - Django - MySQL - MariaDB -project_urls = - Documentation = https://django-mysql.readthedocs.io/ - Changelog = https://django-mysql.readthedocs.io/en/latest/changelog.html - Funding = https://adamj.eu/books/ - Mastodon = https://fosstodon.org/@adamchainz - Twitter = https://twitter.com/adamchainz - -[options] -packages = find: -install_requires = - Django>=3.2 -python_requires = >=3.8 -include_package_data = True -package_dir = - =src -zip_safe = False - -[options.packages.find] -where = src - -[coverage:run] -branch = True -parallel = True -source = - django_mysql - tests - -[coverage:paths] -source = - src - .tox/**/site-packages - -[coverage:report] -show_missing = True - -[flake8] -max-line-length = 88 -extend-ignore = E203 -per-file-ignores = - */__init__.py:F401 diff --git a/tox.ini b/tox.ini index 9b3fd95c..fed102d8 100644 --- a/tox.ini +++ b/tox.ini @@ -26,3 +26,9 @@ commands = -W error::PendingDeprecationWarning \ -m coverage run \ -m pytest {posargs:tests} + +[flake8] +max-line-length = 88 +extend-ignore = E203 +per-file-ignores = + */__init__.py:F401