diff --git a/.github/workflows/lint-and-test.yml b/.github/workflows/lint-and-test.yml index 5d9966b..30fe6c9 100644 --- a/.github/workflows/lint-and-test.yml +++ b/.github/workflows/lint-and-test.yml @@ -48,17 +48,10 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip + pip install --group dev . pip install -q Django~=${{ matrix.django_version }} - pip install coverage pytest - if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - name: Run tests run: | - coverage3 run --source='./encrypted_fields' manage.py test + coverage run --source='./src/encrypted_fields' manage.py test coverage xml - -# - name: "Upload coverage to Artifact" -# uses: actions/upload-artifact@v4 -# with: -# name: coverage -# path: coverage.xml diff --git a/.gitignore b/.gitignore index f0f01b9..a04484b 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,5 @@ dist/ .ruff_cache .venv .venv_django_* +.coverage* +coverage.* diff --git a/pyproject.toml b/pyproject.toml index 8a2f802..c99195c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,35 @@ +[project] +name = "django-fernet-encrypted-fields" +version = "0.3.1" +description = "Symmetrically encrypted model fields for Django" +readme = "README.md" +license = "MIT" +authors = [ + { name = "jazzband", email = "n.anahara@fragment.co.jp" }, +] +requires-python = ">=3.10" +dependencies = [ + "Django>=4.2", + "cryptography>=35.0.0", +] + +[project.urls] +Homepage = "https://github.com/jazzband/django-fernet-encrypted-fields/" + +[build-system] +requires = ["setuptools>=61.0.0"] +build-backend = "setuptools.build_meta" + +[dependency-groups] +dev = [ + "mypy>=1.19.1,<2", + "pre-commit>=4.5.1", + "ruff>=0.15.6,<0.16.0", + "pytest>=9.0.2", + "pytest-cov>=7.0.0", + "coverage>=7.13.4,<8.0.0", +] + ################## # ruff ################## @@ -7,7 +39,7 @@ lint.fixable = ["ALL"] lint.ignore = ["A003", "COM812", "D", "DJ008", "ERA001", "ISC001", "PLC2401", "PLC2403", "PT011", "RUF001", "S101", "S105", "S608", "SIM103", "TC001", "TC002", "TC003", "UP040"] lint.select = ["ALL"] lint.unfixable = ["ERA001", "F401"] -include = ["encrypted_fields/*.py", "package_test/*.py"] +extend-include = ["package_test/**/*.py"] target-version = "py312" ################## diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index df636f6..0000000 --- a/requirements.txt +++ /dev/null @@ -1,4 +0,0 @@ -cffi==2.0.0 -cryptography==46.0.2 -pycparser==2.23 -Django>=4.2 diff --git a/setup.py b/setup.py deleted file mode 100644 index 5b7c6fc..0000000 --- a/setup.py +++ /dev/null @@ -1,18 +0,0 @@ -from setuptools import setup - -setup( - name="django-fernet-encrypted-fields", - description=("This is inspired by django-encrypted-fields."), - long_description=open("README.md").read(), - long_description_content_type="text/markdown", - url="http://github.com/jazzband/django-fernet-encrypted-fields/", - license="MIT", - author="jazzband", - author_email="n.anahara@fragment.co.jp", - packages=["encrypted_fields"], - version="0.3.0", - install_requires=[ - "Django>=4.2", - "cryptography>=35.0.0", - ], -) diff --git a/encrypted_fields/__init__.py b/src/encrypted_fields/__init__.py similarity index 100% rename from encrypted_fields/__init__.py rename to src/encrypted_fields/__init__.py diff --git a/encrypted_fields/fields.py b/src/encrypted_fields/fields.py similarity index 100% rename from encrypted_fields/fields.py rename to src/encrypted_fields/fields.py