11[build-system ]
2- requires = [" setuptools>=45" , " wheel" , " oldest-supported-numpy" , " cmake" , " ninja" , " setuptools_scm[toml]>=6.0" ]
3- build-backend = " setuptools.build_meta"
2+ requires = [
3+ " scikit-build-core>=0.3.3" ,
4+ " pybind11" ,
5+ " oldest-supported-numpy" ,
6+ " setuptools_scm>=8.0" ,
7+ ' tomli; python_version < "3.11"' ,]
8+ build-backend = " scikit_build_core.build"
9+
10+ [project ]
11+ name = " simsopt"
12+ license = {text = " MIT License" }
13+ description =" Framework for optimizing stellarators"
14+ readme = " README.md"
15+ # long_description = file: README.md
16+ # long_description_content_type = text/markdown
17+ requires-python = " >=3.8"
18+ authors = [
19+ {
name =
" Matt Landreman" ,
email =
" [email protected] " },
20+ {
name =
" Bharat Medasani" ,
email =
" [email protected] " },
21+ {
name =
" Florian Wechsung" ,
email =
" [email protected] " }
22+ ]
23+ maintainers = [
24+ {
name =
" Bharat Medasani" ,
email =
" [email protected] " },
25+ {
name =
" Matt Landreman" ,
email =
" [email protected] " },
26+ ]
27+ classifiers = [
28+ " Development Status :: 5 - Production/Stable" ,
29+ " Intended Audience :: Science/Research" ,
30+ " Topic :: Scientific/Engineering :: Physics" ,
31+ " License :: OSI Approved :: MIT License" ,
32+ " Operating System :: MacOS :: MacOS X" ,
33+ " Operating System :: POSIX :: Linux" ,
34+ " Environment :: Console" ,
35+ " Programming Language :: Python :: 3 :: Only" ,
36+ " Programming Language :: Python :: 3.8" ,
37+ " Programming Language :: Python :: 3.9" ,
38+ " Programming Language :: Python :: 3.10"
39+ ]
40+ keywords = [
41+ " plasma physics" ,
42+ " plasma" ,
43+ " magnetohydrodynamics" ,
44+ " mhd" ,
45+ " nuclear fusion reactor" ,
46+ " fusion" ,
47+ " stellarator" ,
48+ " vmec" ,
49+ " spec" ,
50+ " optimization" ,
51+ " Biot-Savart" ,
52+ " magnetostatics"
53+ ]
54+ dependencies = [
55+ " numpy>=1.21" ,
56+ " jax>=0.2.5" ,
57+ " jaxlib>=0.1.56" ,
58+ " scipy>=1.5.4" ,
59+ " Deprecated>=1.2.10" ,
60+ " nptyping>=1.3.0" ,
61+ " monty>=2021.6.10" ,
62+ " ruamel.yaml" ,
63+ " sympy" ,
64+ " f90nml" ,
65+ " randomgen" ,
66+ " pyevtk" ,
67+ " matplotlib"
68+ ]
69+ dynamic = [" version" ]
70+
71+ [project .optional-dependencies ]
72+ SPEC = [" py_spec>=3.0.1" , " pyoculus>=0.1.1" , " h5py>=3.1.0" ]
73+ MPI = [" mpi4py>=3.0.3" ]
74+ VIS = [" vtk >= 8.1.2" , " PyQt5" , " mayavi" , " plotly" , " networkx" ]
75+ DOCS = [" sphinx" , " sphinx-rtd-theme" ]
76+
77+ [project .urls ]
78+ Homepage = " https://github.com/hiddenSymmetries/simsopt"
79+ Download = " https://pypi.org/project/simsopt"
80+ Issues = " https://github.com/hiddenSymmetries/simsopt/issues"
81+ Documentation = " https://simsopt.readthedocs.io"
82+ Repository = " https://github.com/hiddenSymmetries/simsopt"
83+
84+ [tool .setuptools_scm ]
85+ write_to = " src/simsopt/_version.py"
86+ local_scheme = " dirty"
87+
88+ [tool .scikit-build ]
89+ metadata.version.provider = " scikit_build_core.metadata.setuptools_scm"
90+ sdist.include = [" src/simsopt/_version.py" ]
91+ build-dir = " build/{wheel_tag}"
492
5- [tools .setuptools_scm ]
693
794[tool .ruff ]
895src = [" src/simsopt" ]
@@ -18,3 +105,14 @@ extend-exclude = ["thirdparty"]
18105"tests/geo/test_curve.py" = [" F401" ]
19106"tests/geo/test_surface.py" = [" F401" ]
20107"tests/mhd/test_virtual_casing.py" = [" F841" ]
108+
109+ [tool .coverage .run ]
110+ parallel = true
111+ relative_files = true
112+ source = [" simsopt" ]
113+
114+ [tool .coverage .paths ]
115+ source = [
116+ " src" ,
117+ " /**/lib*/python*/site-packages"
118+ ]
0 commit comments