cmsmanage/pyproject.toml

182 lines
3.6 KiB
TOML

[project]
name = "CMSManage"
version = "0.1.0"
description = ""
authors = [
{name = "Adam Goldsmith", email = "contact@adamgoldsmith.name"},
]
dependencies = [
"django~=5.1",
"django-admin-logs~=1.3",
"django-auth-ldap~=4.8",
"django-markdownx~=4.0",
"django-recurrence~=1.11",
"django-widget-tweaks~=1.5",
"django-stubs-ext~=5.0",
"markdownify~=0.13",
"mdformat~=0.7",
"mdformat-tables~=0.4",
"mysqlclient~=2.2",
"django-autocomplete-light~=3.11",
"weasyprint~=62.3",
"requests~=2.32",
"semver~=3.0",
"djangorestframework~=3.15",
"django-q2~=1.6",
"lxml~=5.3",
"django-object-actions~=4.2",
"bitstring~=4.2",
"udm-rest-client~=1.2",
"openapi-client-udm~=1.0",
"django-nh3~=0.1",
"nh3~=0.2",
"django-tables2~=2.7",
"tablib[ods,xlsx]~=3.6",
"django-filter~=24.3",
"django-db-views~=0.1",
"django-mysql~=4.14",
"django-weasyprint~=2.3",
"django-sendfile2~=0.7",
"django-bootstrap5~=24.2",
"django-configurations[database,email]~=2.5",
"django-vite~=3.0",
"django-template-partials~=24.4",
"google-api-python-client~=2.142",
"google-auth-oauthlib~=1.2",
"django-model-utils~=4.5",
]
requires-python = ">=3.11"
[project.optional-dependencies]
server = [
"uvicorn[standard]~=0.30",
"setuptools~=73.0",
]
[project.entry-points."djangoq.errorreporters"]
admin_email = "cmsmanage.django_q2_admin_email_reporter:AdminEmailReporter"
[tool.ruff]
line-length = 88
[tool.ruff.lint]
select = [
"E4",
"E7",
"E9",
"F",
"I",
"C4",
"UP",
"PERF",
"PL",
"SIM",
"FIX003",
"DJ012",
"A",
"INP",
"ISC",
"Q",
"PIE",
"LOG",
"RSE",
"TCH",
"PTH",
"FURB",
"B",
]
ignore = ["ISC001"]
[tool.ruff.lint.isort]
known-first-party = [
"cmsmanage",
"dashboard",
"doorcontrol",
"membershipworks",
"paperwork",
"rentals",
"reservations",
"tasks",
]
section-order = ["future", "standard-library", "django", "third-party", "first-party", "local-folder"]
[tool.ruff.lint.isort.sections]
"django" = ["django"]
[tool.djlint]
profile="django"
extension = ".dj.html"
indent = 2
blank_line_after_tag = "load,extends"
max_blank_lines = 1
ignore = "T003,H017,H021,H030,H031"
custom_blocks = "partialdef"
format_css = true
format_js = true
[tool.djlint.css]
indent_size = 2
[tool.djlint.js]
indent_size = 2
[tool.mypy]
plugins = [
"./cmsmanage/mypy_django_configurations_plugin.py",
"mypy_django_plugin.main",
"mypy_drf_plugin.main",
]
[tool.django-stubs]
django_settings_module = "cmsmanage.settings"
strict_settings = false
[[tool.pdm.source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[[tool.pdm.source]]
url = "https://git.claremontmakerspace.org/api/packages/CMS/pypi/simple"
verify_ssl = true
name = "CMS"
include_packages = ["openapi-client-udm"]
[tool.pdm.dev-dependencies]
lint = [
"djlint~=1.34",
"ruff~=0.6",
]
typing = [
"mypy~=1.10",
"django-stubs~=5.0",
"setuptools~=73.0",
"types-bleach~=6.1",
"types-requests~=2.32",
"types-urllib3~=1.26",
"djangorestframework-stubs[compatible-mypy]~=3.15",
"types-Markdown~=3.6",
"types-Pygments~=2.18",
"types-psycopg2~=2.9",
"types-lxml~=2024.8",
"google-api-python-client-stubs~=1.27",
"types-python-dateutil~=2.9",
]
debug = [
"django-debug-toolbar~=4.4",
]
dev = [
"django-extensions~=3.2",
"ipython~=8.26",
"hypothesis[django]~=6.111",
"tblib~=3.0",
]
[tool.pdm.scripts]
start = "./manage.py runserver"
fmt.shell = "ruff check --fix ; ruff format . ; djlint --reformat ."
[build-system]
requires = ["pdm-backend"]
build-backend = "pdm.backend"