[tool.poetry] name = "portal-satu-peta-backend" version = "0.1.0" description = "Backend untuk Portal Data Satu Peta" authors = ["Trikintech "] readme = "README.md" [tool.poetry.dependencies] python = ">=3.13,<4.0" fastapi = ">=0.115.12,<0.116.0" uvicorn = {extras = ["standard"], version = ">=0.34.1,<0.35.0"} pydantic = {extras = ["email"], version = ">=2.11.3,<3.0.0"} pydantic-settings = ">=2.8.1,<3.0.0" python-jose = {extras = ["cryptography"], version = ">=3.4.0,<4.0.0"} passlib = {extras = ["bcrypt"], version = ">=1.7.4,<2.0.0"} alembic = ">=1.15.2,<2.0.0" orjson = ">=3.10.16,<4.0.0" uuid6 = ">=2024.7.10,<2025.0.0" fastapi-async-sqlalchemy = ">=0.6.1,<0.7.0" asyncpg = ">=0.30.0,<0.31.0" greenlet = ">=3.2.1,<4.0.0" brotli-asgi = ">=1.4.0,<2.0.0" miniopy-async = ">=1.22.1,<2.0.0" urllib3 = ">=2.4.0,<3.0.0" python-multipart = ">=0.0.20,<0.0.21" itsdangerous = ">=2.2.0,<3.0.0" pytz = "^2025.2" shapely = "^2.1.0" colour = "^0.1.5" httpx = {extras = ["http2"], version = "^0.28.1"} psutil = "^7.0.0" [build-system] requires = ["poetry-core>=2.0.0,<3.0.0"] build-backend = "poetry.core.masonry.api" [tool.poetry.group.dev.dependencies] pytest = "^8.3.5" pytest-asyncio = "^0.26.0" httpx = "^0.28.1" pytest-cov = "^6.1.1" pre-commit = "^4.2.0" commitizen = {version = "^4.6.0", python = ">=3.13,<4.0"} [tool.pytest.ini_options] testpaths = ["tests"] python_files = "test_*.py" python_functions = "test_*" python_classes = "Test*" [tool.mypy] python_version = "3.10" plugins = ["pydantic.mypy"] disallow_untyped_defs = true disallow_incomplete_defs = true [tool.black] line-length = 88 target-version = ["py310"] [tool.isort] profile = "black" line_length = 88