[project] name = "findata-os" version = "0.1.0" description = "FinData OS — private research-grade financial data lakehouse (MacLustr)" requires-python = ">=3.12" dependencies = [ "findata-core", "findata-schema", "findata-quality", "findata-market-firstrate", "findata-fundamentals", "findata-ingest", "findata-api", "findata-sdk", ] [dependency-groups] dev = [ "pytest>=8.3", "pytest-asyncio>=0.24", "httpx>=0.28", "ruff>=0.8", "pip-audit>=2.7", "freezegun>=1.5", ] [tool.uv.workspace] members = [ "packages/core", "packages/schema", "packages/python-sdk", "services/quality", "services/ingest", "services/api", "connectors/market", "connectors/fundamentals", ] [tool.uv.sources] findata-core = { workspace = true } findata-schema = { workspace = true } findata-quality = { workspace = true } findata-market-firstrate = { workspace = true } findata-fundamentals = { workspace = true } findata-ingest = { workspace = true } findata-api = { workspace = true } findata-sdk = { workspace = true } [tool.pytest.ini_options] testpaths = ["tests"] asyncio_mode = "auto" markers = ["node: requires the storage node (Postgres, lake)", "vendor: performs a real vendor call (never in CI)"] filterwarnings = ["ignore::DeprecationWarning"] [tool.ruff] line-length = 110 target-version = "py312" [tool.ruff.lint] select = ["E", "F", "I", "B", "UP", "SIM", "RUF", "PLW", "C4", "S110"] ignore = ["B008", "RUF001", "RUF002", "RUF003", "PLW0603", "PLW2901", "PLW0108", "E402", "E731", "PLW1510", "E501", "RUF059", "F841", "S110", "SIM102", "SIM115", "FLY002", "RUF015", "C401", "UP007", "UP045", "RUF012", "B904"]