pyproject.toml (120 lines of code) (raw):

[build-system] requires = [ "flit_core >=3.2,<4", ] build-backend = "flit_core.buildapi" [project] name = "wagtail-localize-smartling" authors = [ { name = "Ben Dickinson", email = "ben.dickinson@torchbox.com" }, ] description = "An extension for wagtail-localize that integrates with the Smartling translation platform" readme = "README.md" license = { file = "LICENSE" } classifiers = [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Framework :: Django", "Framework :: Django :: 4.2", "Framework :: Django :: 5.0", "Framework :: Django :: 5.1", "Framework :: Wagtail", "Framework :: Wagtail :: 5", "Framework :: Wagtail :: 6", ] requires-python = ">=3.11" dynamic = [ "version", ] dependencies = [ "Django>=4.2", "Wagtail>=6.1", "djangorestframework>=3", "requests", "wagtail-localize>=1.0.0", ] [project.optional-dependencies] test = [ "beautifulsoup4==4.12.3", "coverage>=7.6.1,<8.0", "dj-database-url==2.1.0", "django-stubs", "djangorestframework-stubs", "freezegun==1.5.1", "pre-commit==3.4.0", "pyright==1.1.390", "pytest-cov==5.0.0", "pytest-django==4.8.0", "pytest-mock==3.14.0", "pytest-responses==0.5.1", "pytest-xdist==3.6.1", "pytest==8.3.2", "python-dotenv==1.0.1", "responses==0.25.0", "ruff==0.6.4", # keep in sync with pre-commit.yaml "tox", "tox-gh-actions", "wagtail-factories==4.2.1" ] [project.urls] Repository = "https://github.com/mozilla/wagtail-localize-smartling" Issues = "https://github.com/mozilla/wagtail-localize-smartling/issues" Changelog = "https://github.com/mozilla/wagtail-localize-smartling/blob/main/CHANGELOG.md" [tool.flit.module] name = "wagtail_localize_smartling" [tool.pytest.ini_options] pythonpath = ['.'] django_find_project = false DJANGO_SETTINGS_MODULE = "testapp.settings" [tool.pyright] typeCheckingMode = "standard" reportUnnecessaryTypeIgnoreComment = true # Make sure we're checking against the minimum supported Python version by # default. CI will check against all supported versions for us. pythonVersion = "3.11" [tool.ruff] extend-exclude = [ "LC_MESSAGES", "locale", ] [tool.ruff.lint] select = [ "B", # flake8-bugbear "C4", # flake8-comprehensions "DJ", # flake8-django "E", # pycodestyle errors "F", # pyflakes "I", # isort "RUF100", # unused noqa "S", # flake8-bandit "UP", # pyupgrade "W", # warning ] fixable = [ "C4", "E", "F", "I", "UP", ] [tool.ruff.lint.isort] lines-after-imports = 2 lines-between-types = 1 known-local-folder = ["src", "tests", "testapp"] [tool.ruff.lint.per-file-ignores] "tests/**/*.py" = [ "S101", # asserts allowed in tests "ARG", # unused function args (pytest fixtures) "FBT", # booleans as positional arguments (@pytest.mark.parametrize) "PLR2004", # magic value used in comparison "S311", # standard pseudo-random generators are not suitable for cryptographic purposes ] [tool.ruff.format] docstring-code-format = true