Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch to pyproject.toml #91

Merged
merged 2 commits into from
Jun 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Viicos marked this conversation as resolved.
Show resolved Hide resolved
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"]
Viicos marked this conversation as resolved.
Show resolved Hide resolved
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}