11[project ]
22
3- authors = [{name = " Jeffrey Larson" }, {name = " Stephen Hudson" },
4- {name = " Stefan M. Wild" }, {name = " David Bindel" },
5- {name = " John-Luke Navarro" }]
3+ authors = [
4+ { name = " Jeffrey Larson" },
5+ { name = " Stephen Hudson" },
6+ { name = " Stefan M. Wild" },
7+ { name = " David Bindel" },
8+ { name = " John-Luke Navarro" },
9+ ]
610
7- dependencies = [ " numpy" , " psutil" , " pydantic" , " pyyaml" , " tomli" ]
11+ dependencies = [" numpy" , " psutil" , " pydantic" , " pyyaml" , " tomli" ]
812
913description = " A Python toolkit for coordinating asynchronous and dynamic ensembles of calculations."
1014name = " libensemble"
1115requires-python = " >=3.10"
12- license = {file = " LICENSE" }
16+ license = { file = " LICENSE" }
1317readme = " README.rst"
1418
1519classifiers = [
16- " Development Status :: 5 - Production/Stable" ,
17- " Intended Audience :: Developers" ,
18- " Intended Audience :: Science/Research" ,
19- " License :: OSI Approved :: BSD License" ,
20- " Natural Language :: English" ,
21- " Operating System :: POSIX :: Linux" ,
22- " Operating System :: Unix" ,
23- " Operating System :: MacOS" ,
24- " Programming Language :: Python :: 3" ,
25- " Programming Language :: Python :: 3.10" ,
26- " Programming Language :: Python :: 3.11" ,
27- " Programming Language :: Python :: 3.12" ,
28- " Programming Language :: Python :: 3.13" ,
29- " Programming Language :: Python :: Implementation :: CPython" ,
30- " Topic :: Scientific/Engineering" ,
31- " Topic :: Software Development :: Libraries :: Python Modules" ,
20+ " Development Status :: 5 - Production/Stable" ,
21+ " Intended Audience :: Developers" ,
22+ " Intended Audience :: Science/Research" ,
23+ " License :: OSI Approved :: BSD License" ,
24+ " Natural Language :: English" ,
25+ " Operating System :: POSIX :: Linux" ,
26+ " Operating System :: Unix" ,
27+ " Operating System :: MacOS" ,
28+ " Programming Language :: Python :: 3" ,
29+ " Programming Language :: Python :: 3.10" ,
30+ " Programming Language :: Python :: 3.11" ,
31+ " Programming Language :: Python :: 3.12" ,
32+ " Programming Language :: Python :: 3.13" ,
33+ " Programming Language :: Python :: 3.14" ,
34+ " Programming Language :: Python :: Implementation :: CPython" ,
35+ " Topic :: Scientific/Engineering" ,
36+ " Topic :: Software Development :: Libraries :: Python Modules" ,
3237]
3338dynamic = [" version" ]
3439
@@ -39,16 +44,16 @@ Issues = "https://github.com/Libensemble/libensemble/issues"
3944
4045[build-system ]
4146build-backend = " setuptools.build_meta"
42- requires = [" setuptools" , " wheel" , " pip>=24.3.1,<26" , " setuptools>=75.1.0,<81" , ]
47+ requires = [" setuptools" , " wheel" , " pip>=24.3.1,<26" , " setuptools>=75.1.0,<81" ]
4348
4449[tool .setuptools .packages .find ]
4550where = [" ." ]
4651include = [" libensemble*" ]
4752
4853[tool .setuptools .dynamic ]
49- version = {attr = " libensemble.version.__version__" }
54+ version = { attr = " libensemble.version.__version__" }
5055
51- [tool .pixi .project ]
56+ [tool .pixi .workspace ]
5257channels = [" conda-forge" ]
5358platforms = [" osx-arm64" , " osx-64" , " linux-64" ]
5459
@@ -68,11 +73,13 @@ py310 = ["py310", "basic"]
6873py311 = [" py311" , " basic" ]
6974py312 = [" py312" , " basic" ]
7075py313 = [" py313" , " basic" ]
76+ py314 = [" py314" , " basic" ]
7177
7278py310e = [" py310" , " py310e" , " basic" , " extra" ]
7379py311e = [" py311" , " py311e" , " basic" , " extra" ]
7480py312e = [" py312" , " py312e" , " basic" , " extra" ]
7581py313e = [" py313" , " py313e" , " basic" , " extra" ]
82+ py314e = [" py314" , " py314e" , " basic" , " extra" ]
7683
7784# Extra tools for dev environment
7885[tool .pixi .feature .dev .dependencies ]
@@ -84,7 +91,6 @@ git-lfs = ">=3.6.1,<4"
8491mpi = " >=1.0.1,<2"
8592mpich = " >=4.0.0,<5"
8693mpi4py = " >=4.0.3,<5"
87- nlopt = " <=2.8.0"
8894scipy = " >=1.13,<2"
8995mpmath = " >=1.3.0,<2"
9096
@@ -101,15 +107,13 @@ matplotlib = ">=3.10.1,<4"
101107
102108# Extra dependencies for extra CI
103109[tool .pixi .feature .extra .dependencies ]
104- ax-platform = " >=0.5.0,<0.6"
105110superlu_dist = " >=9.0.0,<10"
106111hypre = " >=2.32.0,<3"
107112mumps-mpi = " >=5.7.3,<6"
108113dfo-ls = " >=1.3.0,<2"
109- pyzmq = " >=26.4.0,<27"
110114petsc = " >=3.23.0,<4"
111115petsc4py = " >=3.23.0,<4"
112- ninja = " >=1.13.1,<2" # for building Tasmanian from pypi
116+ ninja = " >=1.13.1,<2" # for building Tasmanian from pypi
113117
114118[tool .pixi .feature .docs .dependencies ]
115119sphinx = " >=8.2.1,<9"
@@ -133,27 +137,49 @@ scikit-build = ">=0.18.1,<0.19"
133137packaging = " >=25.0,<26"
134138
135139# Python versions
140+ # nlopt only works up to python 3.13
136141[tool .pixi .feature .py310 .dependencies ]
137142python = " 3.10.*"
143+ nlopt = " <=2.9.0"
138144[tool .pixi .feature .py311 .dependencies ]
139145python = " 3.11.*"
146+ nlopt = " <=2.9.0"
140147[tool .pixi .feature .py312 .dependencies ]
141148python = " 3.12.*"
149+ nlopt = " <=2.9.0"
142150[tool .pixi .feature .py313 .dependencies ]
143151python = " 3.13.*"
152+ nlopt = " <=2.9.0"
153+ [tool .pixi .feature .py314 .dependencies ]
154+ python = " 3.14.*"
144155
145- # Octave only works up to 3.12 on Linux
156+ # Octave, ax-platform only works up to 3.13 on Linux
146157[tool .pixi .feature .py310e .target .linux-64 .dependencies ]
147158octave = " >=9.4.0,<10"
159+ ax-platform = " >=0.5.0,<0.6"
160+ pyzmq = " >=26.4.0,<27"
161+
148162[tool .pixi .feature .py311e .target .linux-64 .dependencies ]
149163octave = " >=9.4.0,<10"
164+ ax-platform = " >=0.5.0,<0.6"
165+ pyzmq = " >=26.4.0,<27"
166+
150167[tool .pixi .feature .py312e .target .linux-64 .dependencies ]
151168octave = " >=9.4.0,<10"
169+ ax-platform = " >=0.5.0,<0.6"
170+ pyzmq = " >=26.4.0,<27"
171+
152172[tool .pixi .feature .py313e .target .linux-64 .dependencies ]
173+ octave = " >=9.4.0,<10"
174+ ax-platform = " >=0.5.0,<0.6"
175+ pyzmq = " >=26.4.0,<27"
176+
177+ [tool .pixi .feature .py314e .target .linux-64 .dependencies ]
178+
153179
154180# Dependencies for libEnsemble
155181[tool .pixi .dependencies ]
156- python = " >=3.10,<3.14 "
182+ python = " >=3.10,<3.15 "
157183pip = " >=24.3.1,<25"
158184setuptools = " >=75.6.0,<76"
159185numpy = " >=1.21,<3"
@@ -172,13 +198,19 @@ gxx_linux-64 = ">=14.2.0,<15"
172198
173199# Extra dependencies, from pypi
174200[dependency-groups ]
175- extra = [" pyenchant" , " enchant>=0.0.1,<0.0.2" , " proxystore>=0.7.0" , " redis>=6.0.0,<7" , " globus-compute-sdk>=2.28.0,<3" ]
201+ extra = [
202+ " pyenchant" ,
203+ " enchant>=0.0.1,<0.0.2" ,
204+ " proxystore>=0.7.0" ,
205+ " redis>=6.0.0,<7" ,
206+ " globus-compute-sdk>=2.28.0,<3" ,
207+ ]
176208dev = [" wat>=0.7.0,<0.8" ]
177209
178210# Various config from here onward
179211[tool .black ]
180212line-length = 120
181- target-version = [' py310' , ' py311' , ' py312' , ' py313' ]
213+ target-version = [' py310' , ' py311' , ' py312' , ' py313' , ' py314 ' ]
182214force-exclude = '''
183215(
184216 /(
@@ -190,10 +222,7 @@ force-exclude = '''
190222'''
191223
192224[tool .typos .default ]
193- extend-ignore-identifiers-re = [
194- " .*NDArray.*" ,
195- " 8ba9de56.*"
196- ]
225+ extend-ignore-identifiers-re = [" .*NDArray.*" , " 8ba9de56.*" ]
197226
198227[tool .typos .default .extend-words ]
199228als = " als"
0 commit comments