[project] name = "finance-tracker" version = "0.1.0" requires-python = ">=3.12" dependencies = [ "fastapi>=0.115", "uvicorn[standard]>=0.30", "sqlalchemy[asyncio]>=2.0", "asyncpg>=0.30", "alembic>=1.14", "redis[hiredis]>=5.2", "pydantic[email]>=2.10", "pydantic-settings>=2.7", "argon2-cffi>=23.1", "python-jose[cryptography]>=3.3", "pyotp>=2.9", "qrcode[pil]>=8.0", "cryptography>=44.0", "yfinance>=0.2", "prophet>=1.1", "statsmodels>=0.14", "numpy>=2.0", "scipy>=1.14", "pandas>=2.2", "joblib>=1.4", "apscheduler>=3.10", "python-multipart>=0.0.12", "httpx>=0.27", "python-dateutil>=2.9", "slowapi>=0.1.9", "structlog>=24.0", "pillow>=11.0", "python-magic>=0.4", "pytesseract>=0.3", "pdfplumber>=0.11", "pdf2image>=1.17", "psycopg2-binary>=2.9", ] [project.optional-dependencies] dev = [ "pytest>=8.0", "pytest-asyncio>=0.24", "pytest-cov>=6.0", "httpx>=0.27", "anyio>=4.0", ] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"] [tool.hatch.build.targets.wheel] packages = ["app"]