diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 40f4d50..b16a92e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,8 +22,11 @@ jobs: submodules: true persist-credentials: false + - name: Install the latest version of uv + uses: astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # 6.3.1 + - name: Build - run: pipx run build + run: uv build - uses: actions/upload-artifact@v4 with: diff --git a/HISTORY.rst b/HISTORY.rst index a6440f5..02282a4 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -3,6 +3,12 @@ History ------- +3.2.0 +++++++++++++++++++ + +* Setuptools has been replaced with the uv build backend for building the + package. + 3.1.0 (2025-05-23) ++++++++++++++++++ diff --git a/MANIFEST.in b/MANIFEST.in deleted file mode 100644 index 45f3196..0000000 --- a/MANIFEST.in +++ /dev/null @@ -1,10 +0,0 @@ -include HISTORY.rst README.rst LICENSE minfraud/py.typed -exclude .* .github/**/* dev-bin/* -recursive-include tests * -recursive-include docs * -recursive-exclude docs *.pyc -recursive-exclude docs *.pyo -recursive-exclude tests *.pyc -recursive-exclude tests *.pyo -prune docs/_build -prune docs/_themes diff --git a/pyproject.toml b/pyproject.toml index 043bcde..6b5f273 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,6 +16,7 @@ dependencies = [ requires-python = ">=3.9" readme = "README.rst" license = "Apache-2.0" +license-files = ["LICENSE"] classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", @@ -50,11 +51,18 @@ Documentation = "https://minfraud.readthedocs.org/" "Issue Tracker" = "https://github.com/maxmind/minfraud-api-python/issues" [build-system] -requires = [ - "setuptools>=77.0.3", - "setuptools-scm", +requires = ["uv_build>=0.7.19,<0.8.0"] +build-backend = "uv_build" + +[tool.uv.build-backend] +source-include = [ + "HISTORY.rst", + "README.rst", + "LICENSE", + "docs/html", + "examples/*.py", + "tests/*.py", ] -build-backend = "setuptools.build_meta" [tool.ruff.lint] select = ["ALL"] @@ -87,12 +95,9 @@ ignorelist = ["id"] [tool.ruff.lint.per-file-ignores] "docs/*" = ["ALL"] -"minfraud/models.py" = [ "PLR0913" ] +"src/minfraud/models.py" = [ "PLR0913" ] "tests/*" = ["ANN201", "D"] -[tool.setuptools.package-data] -minfraud = ["py.typed"] - [tool.tox] env_list = [ "3.9", @@ -120,7 +125,7 @@ dependency_groups = [ "lint", ] commands = [ - ["mypy", "minfraud", "tests"], + ["mypy", "src", "tests"], ["ruff", "check"], ["ruff", "format", "--check", "--diff", "."], ] diff --git a/minfraud/__init__.py b/src/minfraud/__init__.py similarity index 100% rename from minfraud/__init__.py rename to src/minfraud/__init__.py diff --git a/minfraud/errors.py b/src/minfraud/errors.py similarity index 100% rename from minfraud/errors.py rename to src/minfraud/errors.py diff --git a/minfraud/models.py b/src/minfraud/models.py similarity index 100% rename from minfraud/models.py rename to src/minfraud/models.py diff --git a/minfraud/py.typed b/src/minfraud/py.typed similarity index 100% rename from minfraud/py.typed rename to src/minfraud/py.typed diff --git a/minfraud/request.py b/src/minfraud/request.py similarity index 100% rename from minfraud/request.py rename to src/minfraud/request.py diff --git a/minfraud/validation.py b/src/minfraud/validation.py similarity index 100% rename from minfraud/validation.py rename to src/minfraud/validation.py diff --git a/minfraud/version.py b/src/minfraud/version.py similarity index 100% rename from minfraud/version.py rename to src/minfraud/version.py diff --git a/minfraud/webservice.py b/src/minfraud/webservice.py similarity index 100% rename from minfraud/webservice.py rename to src/minfraud/webservice.py