2026-01-27 02:11:58 +00:00
|
|
|
[tool.poetry]
|
|
|
|
|
name = "portal-satu-peta-backend"
|
|
|
|
|
version = "0.1.0"
|
|
|
|
|
description = "Backend untuk Portal Data Satu Peta"
|
|
|
|
|
authors = ["Trikintech <trikintech@gmail.com>"]
|
|
|
|
|
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"
|
2026-02-10 01:57:02 +00:00
|
|
|
pandas = "^3.0.0"
|
|
|
|
|
geopandas = "^1.1.2"
|
|
|
|
|
fiona = "^1.10.1"
|
|
|
|
|
numpy = "^2.4.2"
|
|
|
|
|
pdfplumber = "^0.11.9"
|
|
|
|
|
py7zr = "^1.1.0"
|
|
|
|
|
pyogrio = "^0.12.1"
|
|
|
|
|
rapidfuzz = "^3.14.3"
|
|
|
|
|
requests = "^2.32.5"
|
|
|
|
|
openpyxl = "^3.1.5"
|
|
|
|
|
pyarrow = "21.0.0"
|
2026-01-27 02:11:58 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[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
|