[build-system] requires = ["setuptools>=61.0", "wheel"] build-backend = "setuptools.build_meta" [project] name = "northern-thailand-ping-river-monitor" version = "3.1.3" description = "Real-time water level monitoring system for the Ping River Basin in Northern Thailand" readme = "README.md" license = {text = "MIT"} authors = [ {name = "Ping River Monitor Team", email = "contact@example.com"} ] keywords = [ "water monitoring", "hydrology", "thailand", "ping river", "environmental monitoring", "time series", "fastapi", "real-time data" ] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "Intended Audience :: System Administrators", "Topic :: Scientific/Engineering :: Hydrology", "Topic :: System :: Monitoring", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Operating System :: OS Independent", "Environment :: Web Environment", "Framework :: FastAPI" ] requires-python = ">=3.9" dependencies = [ # Core dependencies "requests==2.31.0", "schedule==1.2.0", "pandas==2.0.3", # Web API framework "fastapi==0.104.1", "uvicorn[standard]==0.24.0", "pydantic==2.5.0", # Database adapters "sqlalchemy==2.0.23", "influxdb==5.3.1", "pymysql==1.1.0", "psycopg2-binary==2.9.9", # Monitoring and metrics "psutil==5.9.6" ] [project.optional-dependencies] dev = [ # Testing "pytest==7.4.3", "pytest-cov==4.1.0", "pytest-asyncio==0.21.1", # Code formatting and linting "black==23.11.0", "flake8==6.1.0", "isort==5.12.0", "mypy==1.7.1", # Pre-commit hooks "pre-commit==3.5.0", # Development tools "ipython==8.17.2", "jupyter==1.0.0", # Type stubs "types-requests==2.31.0.10", "types-python-dateutil==2.8.19.14" ] docs = [ "sphinx==7.2.6", "sphinx-rtd-theme==1.3.0", "sphinx-autodoc-typehints==1.25.2" ] all = [ "influxdb==5.3.1", "pymysql==1.1.0", "psycopg2-binary==2.9.9" ] [project.scripts] ping-river-monitor = "src.main:main" ping-river-api = "src.web_api:main" [project.urls] Homepage = "https://git.b4l.co.th/B4L/Northern-Thailand-Ping-River-Monitor" Repository = "https://git.b4l.co.th/B4L/Northern-Thailand-Ping-River-Monitor" Issues = "https://git.b4l.co.th/B4L/Northern-Thailand-Ping-River-Monitor/issues" Documentation = "https://git.b4l.co.th/B4L/Northern-Thailand-Ping-River-Monitor/wiki" [dependency-groups] dev = [ # Testing "pytest==7.4.3", "pytest-cov==4.1.0", "pytest-asyncio==0.21.1", # Code formatting and linting "black==23.11.0", "flake8==6.1.0", "isort==5.12.0", "mypy==1.7.1", # Pre-commit hooks "pre-commit==3.5.0", # Development tools "ipython==8.17.2", "jupyter==1.0.0", # Type stubs "types-requests==2.31.0.10", "types-python-dateutil==2.8.19.14", # Documentation "sphinx==7.2.6", "sphinx-rtd-theme==1.3.0", "sphinx-autodoc-typehints==1.25.2", "pyinstaller>=6.16.0", ] [tool.setuptools.packages.find] where = ["src"] [tool.setuptools.package-dir] "" = "src"