@@ -12,7 +12,7 @@ dependencies = [
1212 " ccy>=1.7.1" ,
1313 " python-dotenv>=1.0.1" ,
1414 " polars[pandas,pyarrow]>=1.11.0" ,
15- " statsmodels ( >=0.14.6,<0.15.0) " ,
15+ " statsmodels>=0.14.6,<0.15.0" ,
1616]
1717
1818[project .urls ]
@@ -21,70 +21,67 @@ Repository = "https://github.com/quantmind/quantflow"
2121Documentation = " https://quantmind.github.io/quantflow/"
2222
2323[project .optional-dependencies ]
24- data = [ " aio-fluid[http]>=1.2.1" ]
24+ book = [
25+ " altair>=6.0.0" ,
26+ " autodocsumm>=0.2.14" ,
27+ " duckdb>=1.4.4" ,
28+ " fastapi>=0.129.0" ,
29+ " google-genai>=1.61.0" ,
30+ " marimo>=0.19.7" ,
31+ " mcp>=1.26.0" ,
32+ " openai>=2.16.0" ,
33+ " plotly>=6.2.0" ,
34+ " pydantic-ai-slim>=1.51.0" ,
35+ " sympy>=1.12" ,
36+ ]
2537cli = [
2638 " asciichartpy>=1.5.25" ,
2739 " async-cache>=1.1.1" ,
28- " prompt-toolkit>=3.0.43" ,
29- " rich>=13.9.4" ,
3040 " click>=8.1.7" ,
3141 " holidays>=0.63" ,
42+ " prompt-toolkit>=3.0.43" ,
43+ " rich>=13.9.4" ,
44+ ]
45+ data = [ " aio-fluid[http]>=1.2.1" ]
46+ dev = [
47+ " black>=26.3.1" ,
48+ " ghp-import>=2.0.2" ,
49+ " isort>=8.0.0" ,
50+ " mypy>=1.14.1" ,
51+ " pytest-asyncio>=1.0.0" ,
52+ " pytest-cov>=7.0.0" ,
53+ " ruff>=0.15.4" ,
54+ " types-python-dateutil>=2.9.0.20251115" ,
55+ ]
56+ docs = [
57+ " griffe-pydantic>=1.1.0" ,
58+ " griffe-typingdoc>=0.2.7" ,
59+ " mkdocs-macros-plugin>=1.3.7" ,
60+ " mkdocs-material>=9.7.0" ,
61+ " mkdocs-redirects>=1.2.1" ,
62+ " mkdocstrings[python]==1.0.0" ,
63+ ]
64+ ml = [
65+ " torch>=2.10.0" ,
3266]
3367
3468[project .scripts ]
3569qf = " quantflow.cli.script:main"
3670
37- [tool .poetry .group .dev .dependencies ]
38- black = " ^26.1.0"
39- ghp-import = " ^2.0.2"
40- isort = " ^8.0.0"
41- mypy = " ^1.14.1"
42- pytest-asyncio = " ^1.0.0"
43- pytest-cov = " ^7.0.0"
44- ruff = " ^0.15.4"
45- types-python-dateutil = " ^2.9.0.20251115"
46-
47- [tool .poetry .group .docs ]
48- optional = true
49-
50- [tool .poetry .group .docs .dependencies ]
51- mkdocs-material = " ^9.7.0"
52- mkdocs-macros-plugin = " ^1.3.7"
53- mkdocs-redirects = " ^1.2.1"
54- mkdocstrings = { version = " 1.0.0" , extras = [ " python" ] }
55- griffe-pydantic = " ^1.1.0"
56- griffe-typingdoc = " ^0.2.7"
57-
58- [tool .poetry .group .book ]
59- optional = true
60-
61- [tool .poetry .group .ml ]
62- optional = true
71+ [build-system ]
72+ requires = [ " hatchling" ]
73+ build-backend = " hatchling.build"
6374
64- [tool .poetry .group .book .dependencies ]
65- altair = " ^6.0.0"
66- autodocsumm = " ^0.2.14"
67- duckdb = " ^1.4.4"
68- fastapi = " ^0.129.0"
69- google-genai = " ^1.61.0"
70- marimo = " ^0.19.7"
71- mcp = " ^1.26.0"
72- openai = " ^2.16.0"
73- plotly = " ^6.2.0"
74- pydantic-ai-slim = " ^1.51.0"
75- sympy = " ^1.12"
75+ [tool .uv .workspace ]
76+ members = [ " packages/*" ]
7677
77- [tool .poetry . group . ml . dependencies ]
78- torch = { version = " ^2.10.0 " , source = " pytorch" }
78+ [tool .uv . sources ]
79+ torch = { index = " pytorch" }
7980
80- [[tool .poetry . source ]]
81+ [[tool .uv . index ]]
8182name = " pytorch"
8283url = " https://download.pytorch.org/whl/cu126"
83- priority = " explicit"
84-
85- [build-system ]
86- requires = [ " poetry-core>=1.0.0" ]
87- build-backend = " poetry.core.masonry.api"
84+ explicit = true
8885
8986[tool .jupytext .formats ]
9087"notebooks/" = " ipynb,py:percent"
0 commit comments