1- [tool . poetry ]
1+ [project ]
22name = " pyportfolioopt"
3- version = " 1.5.6 "
3+ version = " 0.0.0 "
44description = " Financial portfolio optimization in python"
55license = " MIT"
6- authors = [
" Robert Andrew Martin < [email protected] > " ]
6+ authors = [
{ name = " Robert Andrew Martin" , email = " [email protected] " } ]
77readme = " README.md"
88repository = " https://github.com/robertmartin8/PyPortfolioOpt"
99documentation = " https://pyportfolioopt.readthedocs.io/en/latest/"
1010keywords = [" finance" , " portfolio" , " optimization" , " quant" , " investing" ]
11+ requires-python = " >=3.10"
1112classifiers =[
1213 " Development Status :: 4 - Beta" ,
1314 " Environment :: Console" ,
@@ -25,43 +26,90 @@ classifiers=[
2526 " Topic :: Office/Business :: Financial" ,
2627 " Topic :: Office/Business :: Financial :: Investment" ,
2728 ]
28- packages = [ {include = " pypfopt" } ]
29+ dependencies = [
30+ " scipy" ,
31+ " pandas" ,
32+ " cvxpy" ,
33+ " numpy"
34+ ]
2935
30- [tool .poetry .urls ]
31- "Issues" = " https://github.com/robertmartin8/PyPortfolioOpt/issues"
32- "Personal website" = " https://reasonabledeviations.com"
36+ # [tool.poetry.urls]
37+ # "Issues" = "https://github.com/robertmartin8/PyPortfolioOpt/issues"
38+ # "Personal website" = "https://reasonabledeviations.com"
3339
34- [tool .poetry .dependencies ]
35- python = " >=3.9"
36- scipy = " >=1.3"
37- pandas = " >=0.19"
38- cvxpy = " >=1.1.19"
39- numpy = " >=1.26.0"
40- matplotlib = { version =" >=3.2.0" , optional =true }
41- scikit-learn = { version =" >=0.24.1" , optional =true }
42- ecos = { version =" ^2.0.14" , optional =true }
43- plotly = { version =" ^5.0.0" , optional =true }
40+ [project .optional-dependencies ]
41+ plot = [
42+ " matplotlib" ,
43+ " plotly" ,
44+ " scikit-learn" ,
45+ " ecos"
46+ ]
4447
45- [tool . poetry . dev-dependencies ]
46- pytest = " >=7.1.2 "
47- flake8 = " >=4 .0.1 "
48- jupyterlab = " >=3.4.2 "
49- black = " >=22.3.0 "
50- ipykernel = " >=6.13.0 "
51- jedi = " >=0.18.1 "
52- pytest-cov = " >=3.0.0 "
53- yfinance = " >=0.1.70 "
48+ [dependency-groups ]
49+ dev = [
50+ " pytest-cov>=6 .0.0 " ,
51+ " pytest>=8.3.3 " ,
52+ " pre-commit>=4.0.1 " ,
53+ " jedi " ,
54+ " yfinance " ,
55+ " ecos "
56+ ]
5457
55- [tool .poetry .extras ]
56- optionals = [" scikit-learn" , " matplotlib" , " cvxopt" ]
58+ # excel = [
59+ # "odfpy>=1.4.1",
60+ # "openpyxl>=3.1.0",
61+ # "python-calamine>=0.1.7",
62+ # "pyxlsb>=1.0.10",
63+ # "xlrd>=2.0.1",
64+ # "xlsxwriter>=3.0.5"
65+ # ]
66+
67+ # [tool.poetry.dependencies]
68+ # python = ">=3.9"
69+ # scipy = ">=1.3"
70+ # pandas = ">=0.19"
71+ # cvxpy = ">=1.1.19"
72+ # numpy = ">=1.26.0"
73+ # matplotlib = { version=">=3.2.0", optional=true }
74+ # scikit-learn = { version=">=0.24.1", optional=true }
75+ # ecos = { version="^2.0.14", optional=true }
76+ # plotly = { version="^5.0.0", optional=true }
77+
78+ # [tool.poetry.dev-dependencies]
79+ # pytest = ">=7.1.2"
80+ # flake8 = ">=4.0.1"
81+ # jupyterlab = ">=3.4.2"
82+ # black = ">=22.3.0"
83+ # ipykernel = ">=6.13.0"
84+ # jedi = ">=0.18.1"
85+ # pytest-cov = ">=3.0.0"
86+ # yfinance = ">=0.1.70"
87+
88+ # [tool.poetry.extras]
89+ # optionals = ["scikit-learn", "matplotlib", "cvxopt"]
90+
91+ [tool .ruff ]
92+ select = [" E" , " F" , " I" ]
93+ line-length = 120
94+ target-version = " py310"
95+ exclude = [
96+ " *__init__.py" , " tests/test_imports.py"
97+ ]
5798
5899[build-system ]
59- requires = [" poetry-core>=1.0.0" ]
60- build-backend = " poetry.core.masonry.api"
100+ requires = [" hatchling" ]
101+ build-backend = " hatchling.build"
102+
103+ [tool .hatch .build .targets .wheel ]
104+ packages = [" pypfopt" ]
105+
106+ # [build-system]
107+ # requires = ["poetry-core>=1.0.0"]
108+ # build-backend = "poetry.core.masonry.api"
61109
62110
63- [tool .black ]
64- line-length = 88
111+ # [tool.black]
112+ # line-length = 88
65113
66- [tool .isort ]
67- profile = " black"
114+ # [tool.isort]
115+ # profile = "black"
0 commit comments