allianceauth/pyproject.toml
2025-04-07 14:01:33 +10:00

182 lines
4.1 KiB
TOML

[build-system]
build-backend = "flit_core.buildapi"
requires = [
"flit-core>=3.2,<4",
]
[project]
name = "allianceauth"
readme = "README.md"
keywords = [
"allianceauth",
"eveonline",
]
license = { file = "LICENSE" }
authors = [
{ name = "Alliance Auth", email = "adarnof@gmail.com" },
]
requires-python = ">=3.10"
classifiers = [
"Environment :: Web Environment",
"Framework :: Celery",
"Framework :: Django",
"Framework :: Django :: 5.1",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU General Public License v2 (GPLv2)",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Internet :: WWW/HTTP :: Dynamic Content",
]
dynamic = [
"description",
"version",
]
dependencies = [
"bcrypt",
"beautifulsoup4",
"celery>=5.5,<6",
"celery-once>=3.0.1",
"django>=5.1,<5.2",
"django-bootstrap-form",
"django-bootstrap5>=23.3",
"django-celery-beat>=2.7",
"django-esi>=5",
"django-redis>=5.4",
"django-registration>=5.1,<6",
"django-solo",
"django-sortedm2m",
"django-sri",
"dnspython",
"mysqlclient>=2.1",
"openfire-restapi",
"packaging>=21",
"passlib",
"pydiscourse",
"python-slugify>=1.2",
"redis>=5",
"requests>=2.9.1",
"requests-oauthlib",
"semantic-version",
"slixmpp<1.9",
]
optional-dependencies.docs = [
"myst-parser>=4",
"sphinx>=8",
"sphinx-copybutton",
"sphinx-rtd-theme>=3,<4",
"sphinx-tabs",
"sphinxcontrib-django",
]
optional-dependencies.test = [
"coverage>=4.3.1",
"django-webtest",
"requests-mock>=1.2",
]
urls.Documentation = "https://allianceauth.readthedocs.io/"
urls.Homepage = "https://gitlab.com/allianceauth/allianceauth"
urls.Source = "https://gitlab.com/allianceauth/allianceauth"
urls.Tracker = "https://gitlab.com/allianceauth/allianceauth/-/issues"
scripts.allianceauth = "allianceauth.bin.allianceauth:main"
[tool.flit.module]
name = "allianceauth"
[tool.ruff]
line-length = 119
format.line-ending = "lf"
lint.select = [
"B", # flake8-bugbear
"C", # pylint convention
# "D", # pydocstyle, Want to turn these on, but our docstrings are lightly used
"D300", # use triple double-quotes in docstrings PEP 257
"DJ", # flake8-django
"DOC", # pylintdoc
"E", # pycodestyle error
"F", # pyflakes (flake8 base)
"G010", # logging-warn, Warn on using logging.warn
"I", # isort
"PGH005", # pygrep-hooks, python-check-mock-method
"RUF100", # basically yesqa
"UP", # pyupgrade, will target requires-python
"W", # pycodestyle Warning
]
lint.ignore = [
"E501", # Line too long, WIP across repo.
]
lint.per-file-ignores = { "*local.py" = [ "F405", "F403" ] }
lint.isort.combine-as-imports = true # profile=django
lint.isort.section-order = [
"future",
"standard-library",
"third-party",
"DJANGO",
"ESI",
"first-party",
"local-folder",
]
lint.isort.sections."DJANGO" = [
"django",
"django_redis",
"django_registration",
]
lint.isort.sections."ESI" = [
"esi",
]
[tool.isort]
profile = "django"
sections = [
"FUTURE",
"STDLIB",
"THIRDPARTY",
"DJANGO",
"ESI",
"FIRSTPARTY",
"LOCALFOLDER",
]
known_esi = [
"esi",
]
known_django = [ #Lump relatively
"django",
"django_redis",
"django_registration",
]
skip_gitignore = true
[tool.flake8]
exclude = [
".git",
"*migrations*",
".tox",
"dist",
"htmlcov",
]
max-line-length = 119
select = [
"C", # pylint convention
"E", # pycodestyle error
"F", # pyflakes (flake8 base)
"W", # pycodestyle Warning
"B", # flake8-bugbear
]
ignore = [
"E501", # Line too long, WIP across repo.
]
per-file-ignores = [
"docker/conf/local.py:F405",
]
[tool.djlint]
max_attribute_length = 119
max_line_length = 119
max_blank_lines = 1