[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "umap-project"
dynamic = ["version"]
description = "Create maps with OpenStreetMap layers in a minute and embed them in your site."
readme = "README.md"
authors = [
  { name = "Yohan Boniface", email = "yb@enix.org" },
]
maintainers = [
  { name = "David Larlet", email = "david@larlet.fr" },
]
homepage = "https://github.com/umap-project/umap"
keywords = ["django", "leaflet", "geodjango", "openstreetmap", "map"]
requires-python = ">=3.10"
classifiers = [
  "Development Status :: 4 - Beta",
  "Intended Audience :: Developers",
  "Operating System :: OS Independent",
  "Topic :: Software Development :: Libraries :: Python Modules",
  "Programming Language :: Python",
  "Programming Language :: Python :: 3 :: Only",
  "Programming Language :: Python :: 3.10",
  "Programming Language :: Python :: 3.11",
  "Programming Language :: Python :: 3.12",
]
dependencies = [
  "Django==5.1.8",
  "django-agnocomplete==2.2.0",
  "django-environ==0.12.0",
  "django-probes==1.7.0",
  "Pillow==11.1.0",
  "psycopg==3.2.6",
  "requests==2.32.3",
  "rcssmin==1.2.1",
  "rjsmin==1.2.4",
  "social-auth-core==4.5.6",
  "social-auth-app-django==5.4.3",
]

[project.optional-dependencies]
dev = [
  "hatch==1.14.1",
  "ruff==0.11.4",
  "djlint==1.36.4",
  "mkdocs==1.6.1",
  "mkdocs-material==9.6.10",
  "mkdocs-static-i18n==1.3.0",
  "vermin==1.6.0",
  "pymdown-extensions==10.14.3",
  "isort==6.0.1",
]
test = [
  "daphne==4.1.2",
  "factory-boy==3.3.3",
  "playwright>=1.39",
  "pytest==8.3.5",
  "pytest-django==4.10.0",
  "pytest-playwright==0.7.0",
  "pytest-rerunfailures==15.0",
  "pytest-xdist>=3.5.0,<4",
  "moto[s3]==5.1.3"
]
docker = [
  "uvicorn==0.34.0",
]
s3 = [
  "django-storages[s3]==1.14.6",
]
sync = [
  "pydantic==2.11.2",
  "redis==5.2.1",
  "websockets==15.0.1",
]

[project.scripts]
umap = "umap.bin:main"

[tool.hatch.build.targets.sdist]
include = [
  "/umap",
]

[tool.hatch.build.targets.wheel]
packages = ["umap"]

[tool.hatch.metadata]
allow-direct-references = true

[tool.hatch.version]
path = "umap/__init__.py"

[tool.flake8]
# Black crazyness.
max-line-length = 88

[tool.djlint]
profile="django"
indent=2
format_css=true
blank_line_after_tag="load,extends"
line_break_after_multiline_tag=true

[lint]
# Disable autoremove of unused import.
unfixable = ["F401"]
