Initial extraction from monorepo
This commit is contained in:
commit
f7ef7ca4ab
56 changed files with 6163 additions and 0 deletions
62
pyproject.toml
Normal file
62
pyproject.toml
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
[tool.poetry]
|
||||
name = "fire-planner"
|
||||
version = "0.1.0"
|
||||
description = "Risk-adjusted, tax-minimised FIRE retirement planner — Monte Carlo simulator over jurisdictions, withdrawal strategies, and UK-departure years."
|
||||
authors = ["Viktor Barzin <viktorbarzin@meta.com>"]
|
||||
readme = "README.md"
|
||||
packages = [{ include = "fire_planner" }]
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
python = ">=3.12,<3.13"
|
||||
fastapi = "^0.115"
|
||||
uvicorn = "^0.32"
|
||||
httpx = "^0.27"
|
||||
pydantic = "^2.9"
|
||||
sqlalchemy = { extras = ["asyncio"], version = "^2.0" }
|
||||
asyncpg = "^0.29"
|
||||
alembic = "^1.13"
|
||||
click = "^8.1"
|
||||
numpy = "^2.1"
|
||||
pandas = "^2.2"
|
||||
prometheus-fastapi-instrumentator = "^7.0"
|
||||
|
||||
[tool.poetry.group.dev.dependencies]
|
||||
pytest = "^8.3"
|
||||
pytest-asyncio = "^0.23"
|
||||
hypothesis = "^6.115"
|
||||
mypy = "^1.11"
|
||||
ruff = "^0.6"
|
||||
yapf = "^0.43"
|
||||
respx = "^0.21"
|
||||
aiosqlite = "^0.20"
|
||||
|
||||
[build-system]
|
||||
requires = ["poetry-core"]
|
||||
build-backend = "poetry.core.masonry.api"
|
||||
|
||||
[tool.pytest.ini_options]
|
||||
asyncio_mode = "auto"
|
||||
testpaths = ["tests"]
|
||||
|
||||
[tool.mypy]
|
||||
python_version = "3.12"
|
||||
strict = true
|
||||
files = ["fire_planner", "tests"]
|
||||
|
||||
[[tool.mypy.overrides]]
|
||||
module = ["respx.*", "pandas.*"]
|
||||
ignore_missing_imports = true
|
||||
|
||||
[tool.ruff]
|
||||
line-length = 100
|
||||
target-version = "py312"
|
||||
|
||||
[tool.ruff.lint]
|
||||
select = ["E", "F", "W", "I", "UP", "B", "SIM", "RUF"]
|
||||
# RUF002 / RUF003 flag ambiguous unicode characters (×, —, etc.) in
|
||||
# docstrings and comments — we use them intentionally for readability.
|
||||
ignore = ["RUF002", "RUF003"]
|
||||
|
||||
[tool.yapf]
|
||||
based_on_style = "pep8"
|
||||
column_limit = 100
|
||||
Loading…
Add table
Add a link
Reference in a new issue