[build-system] build-backend = "flit_core.buildapi" requires = [ "flit-core<4,>=3.2", ] [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", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", ] dynamic = [ "description", "version", ] dependencies = [ "bcrypt", "beautifulsoup4", "celery<6,>=5.4", "celery-once>=3.0.1", "django<5.2,>=5.1", "django-bootstrap-form", "django-bootstrap5>=23.3", "django-celery-beat>=2.7", "django-esi>=5", "django-redis>=5.4", "django-registration<4,>=3.3", "django-solo", "django-sortedm2m", "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", ] optional-dependencies.docs = [ "myst-parser>=4", "sphinx>=8", "sphinx-copybutton", "sphinx-rtd-theme<4,>=3.0.0rc1", "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