Skip to content

Commit

Permalink
Merge pull request #91 from maykinmedia/pyproject
Browse files Browse the repository at this point in the history
Switch to `pyproject.toml`
  • Loading branch information
sergei-maertens authored Jun 26, 2024
2 parents 55ac66b + 5c9b33e commit 428e8c0
Show file tree
Hide file tree
Showing 8 changed files with 133 additions and 143 deletions.
10 changes: 0 additions & 10 deletions .bumpversion.cfg

This file was deleted.

3 changes: 3 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[flake8]
max-line-length=88
exclude=env,.tox,doc
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,8 @@ jobs:

- name: Build sdist and wheel
run: |
pip install pip setuptools wheel --upgrade
python setup.py sdist bdist_wheel
pip install build --upgrade
python -m build
- name: Publish a Python distribution to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
125 changes: 125 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
[build-system]
requires = ["setuptools>=61.0.0"]
build-backend = "setuptools.build_meta"

[project]
name = "mozilla-django-oidc-db"
version = "0.18.1"
description = "A database-backed configuration for mozilla-django-oidc"
authors = [
{name = "Maykin Media", email = "support@maykinmedia.nl"}
]
readme = "README.rst"
license = {file = "LICENSE"}
keywords = ["OIDC", "django", "database", "authentication"]
classifiers = [
"Development Status :: 4 - Beta",
"Framework :: Django",
"Framework :: Django :: 4.2",
"Intended Audience :: Developers",
"Operating System :: Unix",
"Operating System :: MacOS",
"Operating System :: Microsoft :: Windows",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Software Development :: Libraries :: Python Modules",
]
requires-python = ">=3.10"
dependencies = [
"django>=4.2",
"django-jsonform",
"django-solo",
"glom",
"mozilla-django-oidc>=3.0.0",
"typing-extensions>=4.0.0",
]

[project.urls]
Homepage = "/~https://github.com/maykinmedia/mozilla-django-oidc-db"
Documentation = "https://mozilla-django-oidc-db.readthedocs.io/en/latest/"
"Bug Tracker" = "/~https://github.com/maykinmedia/mozilla-django-oidc-db/issues"
"Source Code" = "/~https://github.com/maykinmedia/mozilla-django-oidc-db"
Changelog = "/~https://github.com/maykinmedia/mozilla-django-oidc-db/blob/master/CHANGELOG.rst"

[project.optional-dependencies]
tests = [
"psycopg2",
"pytest",
"pytest-django",
"pytest-mock",
"pytest-recording",
"requests-mock",
"factory-boy",
"pyquery",
"tox",
"isort",
"black",
"flake8",
]
coverage = [
"pytest-cov",
]
docs = [
"sphinx",
"sphinx-rtd-theme",
]
release = [
"bump-my-version",
"twine",
]

[tool.setuptools.packages.find]
include = ["mozilla_django_oidc_db*"]
namespaces = false

[tool.isort]
profile = "black"
combine_as_imports = true
known_django = "django"
known_first_party="mozilla_django_oidc_db"
sections=["FUTURE", "STDLIB", "DJANGO", "THIRDPARTY", "FIRSTPARTY", "LOCALFOLDER"]
skip = ["env", "node_modules", ".tox"]
skip_glob = ["**/migrations/**"]

[tool.pytest.ini_options]
testpaths = ["tests"]
DJANGO_SETTINGS_MODULE = "testapp.settings"
markers = [
"oidcconfig: keyword arguments for the OIDC config",
"auth_request: additional configuration for the auth_request fixture",
"callback_request: additional configuration for the callback_request fixture",
"mock_backend_claims: claims to be returned by the mock backend fixture",
]

[tool.bumpversion]
current_version = "0.18.1"
files = [
{filename = "pyproject.toml"},
{filename = "README.rst"},
{filename = "docs/conf.py"},
]

[tool.coverage.run]
branch = true
source = [
"mozilla_django_oidc_db"
]
omit = [
# migrations run while django initializes the test db
"*/migrations/*",
]

[tool.coverage.report]
exclude_also = [
"if (typing\\.)?TYPE_CHECKING:",
"@(typing\\.)?overload",
"class .*\\(.*Protocol.*\\):",
"@(abc\\.)?abstractmethod",
"raise NotImplementedError",
"\\.\\.\\.",
"pass",
]
omit = [
"*/migrations/*",
]
125 changes: 0 additions & 125 deletions setup.cfg

This file was deleted.

3 changes: 0 additions & 3 deletions setup.py

This file was deleted.

2 changes: 1 addition & 1 deletion tests/test_admin_form.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ class ExtendedOpenIDConnectConfigForm(OpenIDConnectConfigForm):
# Define an extra field to derive from the configuration
oidc_mapping = dict(
**OpenIDConnectConfigForm.oidc_mapping,
**{"logout_endpoint": "end_session_endpoint"}
**{"logout_endpoint": "end_session_endpoint"},
)

form = ExtendedOpenIDConnectConfigForm(data=form_data)
Expand Down
4 changes: 2 additions & 2 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ passenv =
setenv =
PYTHONPATH = {toxinidir}
commands =
py.test tests \
pytest tests \
--cov --cov-report xml:reports/coverage-{envname}.xml \
{posargs}

Expand All @@ -56,6 +56,6 @@ extras =
docs
tests
commands=
py.test check_sphinx.py -v \
pytest check_sphinx.py -v \
--tb=auto \
{posargs}

0 comments on commit 428e8c0

Please sign in to comment.