@@ -8,12 +8,12 @@ readme = "README.md"
8
8
homepage = " https://github.com/flexcompute/tidy3d"
9
9
repository = " https://github.com/flexcompute/tidy3d"
10
10
classifiers = [
11
- " License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)" ,
12
- " Programming Language :: Python :: 3.9" ,
13
- " Programming Language :: Python :: 3.10" ,
14
- " Programming Language :: Python :: 3.11" ,
15
- " Programming Language :: Python :: 3.12" ,
16
- " Operating System :: OS Independent" ,
11
+ " License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)" ,
12
+ " Programming Language :: Python :: 3.9" ,
13
+ " Programming Language :: Python :: 3.10" ,
14
+ " Programming Language :: Python :: 3.11" ,
15
+ " Programming Language :: Python :: 3.12" ,
16
+ " Operating System :: OS Independent" ,
17
17
]
18
18
documentation = " https://docs.flexcompute.com/projects/tidy3d/en/latest/"
19
19
@@ -49,71 +49,143 @@ joblib = "*"
49
49
50
50
# ## Optional dependencies ###
51
51
# development core
52
- bump-my-version = { version = " *" , optional = true }
53
- ruff = {version = " 0.2.2" , optional = true }
54
- coverage = {version = " *" , optional = true }
55
- dill = {version = " *" , optional = true }
56
- ipython = {version = " *" , optional = true }
57
- memory_profiler = {version = " *" , optional = true }
58
- pre-commit = {version = " *" , optional = true }
59
- pylint = {version = " *" , optional = true }
60
- pytest = {version = " *" , optional = true }
61
- pytest-timeout = {version = " *" , optional = true }
62
- tox = {version = " *" , optional = true }
52
+ bump-my-version = { version = " *" , optional = true }
53
+ ruff = { version = " 0.2.2" , optional = true }
54
+ coverage = { version = " *" , optional = true }
55
+ dill = { version = " *" , optional = true }
56
+ ipython = { version = " *" , optional = true }
57
+ memory_profiler = { version = " *" , optional = true }
58
+ pre-commit = { version = " *" , optional = true }
59
+ pylint = { version = " *" , optional = true }
60
+ pytest = { version = " *" , optional = true }
61
+ pytest-timeout = { version = " *" , optional = true }
62
+ tox = { version = " *" , optional = true }
63
63
64
64
# gdspy
65
- gdspy = {version = " *" , optional = true }
65
+ gdspy = { version = " *" , optional = true }
66
66
67
67
# gdstk
68
- gdstk = {version = " >=0.9.49" , optional = true }
68
+ gdstk = { version = " >=0.9.49" , optional = true }
69
69
70
70
# jax
71
- jaxlib = {version = " 0.4.25" , source =" jaxsource" , optional = true }
72
- jax = {version = " 0.4.25" , extras = [" cpu" ], source =" jaxsource" , optional = true }
71
+ jaxlib = { version = " 0.4.25" , source = " jaxsource" , optional = true }
72
+ jax = { version = " 0.4.25" , extras = [
73
+ " cpu" ,
74
+ ], source = " jaxsource" , optional = true }
73
75
74
76
# scikit-rf
75
- scikit-rf = {version = " *" , optional = true }
77
+ scikit-rf = { version = " *" , optional = true }
76
78
77
79
# trimesh
78
- networkx = {version = " ^2.6.3" , optional = true }
79
- rtree = {version = " 1.2.0" , optional = true }
80
- trimesh = {version = " ^4" , optional = true }
80
+ networkx = { version = " ^2.6.3" , optional = true }
81
+ rtree = { version = " 1.2.0" , optional = true }
82
+ trimesh = { version = " ^4" , optional = true }
81
83
82
84
# docs
83
- jupyter = {version = " *" , optional = true }
84
- jinja2 = {version = " >=3.1.2" , optional = true }
85
- nbconvert = {version = " >=7.11.0" , optional = true }
86
- sphinx = {version = " >=6" , optional = true }
87
- nbsphinx = {version = " >=0.8.7" , optional = true }
88
- sphinx-copybutton = {version = " >=0.5.2" , optional = true }
89
- sphinx-book-theme = {version = " >=1.0.1" , optional = true }
90
- pydata-sphinx-theme = {version = " >=0.13.3" , optional = true }
85
+ jupyter = { version = " *" , optional = true }
86
+ jinja2 = { version = " >=3.1.2" , optional = true }
87
+ nbconvert = { version = " >=7.11.0" , optional = true }
88
+ sphinx = { version = " >=6" , optional = true }
89
+ nbsphinx = { version = " >=0.8.7" , optional = true }
90
+ sphinx-copybutton = { version = " >=0.5.2" , optional = true }
91
+ sphinx-book-theme = { version = " >=1.0.1" , optional = true }
92
+ pydata-sphinx-theme = { version = " >=0.13.3" , optional = true }
91
93
# divparams = {optional = true, git = "https://github.com/daquinteroflex/sphinxcontrib-divparams.git"} # TODO FIX
92
- tmm = {version = " *" , optional = true }
93
- grcwa = {version = " *" , optional = true }
94
- sphinx-favicon = {version = " *" , optional = true }
95
- sphinx-sitemap = {version = " >=2.5.1" , optional = true }
96
- sphinx-notfound-page = {version = " *" , optional = true }
97
- sphinx-tabs = {version = " *" , optional = true }
98
- nbdime = {version = " *" , optional = true }
99
- myst-parser = {version = " *" , optional = true }
100
- optax = {version = " >=0.2.2" , optional = true }
101
- signac = {version = " *" , optional = true }
102
- flax = {version = " >=0.8.2" , optional = true }
103
- sax = {version = " ^0.11" , optional = true }
104
- vtk = {version = " >=9.2.6" , optional = true }
105
- pyswarms = {version = " *" , optional = true }
106
- sphinxemoji = {version = " *" , optional = true }
107
- devsim = {version = " *" , optional = true }
108
- cma = {version = " *" , optional = true }
94
+ tmm = { version = " *" , optional = true }
95
+ grcwa = { version = " *" , optional = true }
96
+ sphinx-favicon = { version = " *" , optional = true }
97
+ sphinx-sitemap = { version = " >=2.5.1" , optional = true }
98
+ sphinx-notfound-page = { version = " *" , optional = true }
99
+ sphinx-tabs = { version = " *" , optional = true }
100
+ nbdime = { version = " *" , optional = true }
101
+ myst-parser = { version = " *" , optional = true }
102
+ optax = { version = " >=0.2.2" , optional = true }
103
+ signac = { version = " *" , optional = true }
104
+ flax = { version = " >=0.8.2" , optional = true }
105
+ sax = { version = " ^0.11" , optional = true }
106
+ vtk = { version = " >=9.2.6" , optional = true }
107
+ pyswarms = { version = " *" , optional = true }
108
+ sphinxemoji = { version = " *" , optional = true }
109
+ devsim = { version = " *" , optional = true }
110
+ cma = { version = " *" , optional = true }
109
111
110
112
[tool .poetry .extras ]
111
- dev = [' bump-my-version' , " coverage" , ' dill' , ' divparams' , ' gdspy' , ' gdstk' , ' gdstk' , ' grcwa' , ' ipython' , ' ipython' , ' jax' , ' jaxlib' , ' jinja2' ,
112
- ' jupyter' , ' myst-parser' , ' memory_profiler' , ' nbconvert' , ' nbdime' , ' nbsphinx' , ' networkx' , ' optax' , ' pre-commit' ,
113
- ' pydata-sphinx-theme' , ' pylint' , ' pyswarms' , ' pytest' , ' pytest-timeout' , ' rtree' , ' ruff' , ' sax' , ' signac' , ' sphinx' ,
114
- ' sphinx-book-theme' , ' sphinx-copybutton' , ' sphinx-favicon' , ' sphinx-notfound-page' , ' sphinx-sitemap' , ' sphinx-tabs' , ' sphinxemoji' , ' tmm' , ' tox' , ' trimesh' ,
115
- ' scikit-rf' , ' vtk' , ' devsim' , ' cma' ]
116
- docs = [" jupyter" , " jinja2" , " nbconvert" , " sphinx" , " nbsphinx" , " ipython" , " divparams" , " sphinx-copybutton" , ' sphinx-favicon' , " sphinx-book-theme" , " pydata-sphinx-theme" , " tmm" , " gdstk" , " grcwa" , " sphinx-sitemap" , ' sphinx-notfound-page' , " nbdime" , " optax" , " signac" , " sax" , " pylint" , " sphinx-tabs" , " sphinxemoji" , " myst-parser" , " devsim" , " cma" ]
113
+ dev = [
114
+ ' bump-my-version' ,
115
+ " coverage" ,
116
+ ' dill' ,
117
+ ' divparams' ,
118
+ ' gdspy' ,
119
+ ' gdstk' ,
120
+ ' gdstk' ,
121
+ ' grcwa' ,
122
+ ' ipython' ,
123
+ ' ipython' ,
124
+ ' jax' ,
125
+ ' jaxlib' ,
126
+ ' jinja2' ,
127
+ ' jupyter' ,
128
+ ' myst-parser' ,
129
+ ' memory_profiler' ,
130
+ ' nbconvert' ,
131
+ ' nbdime' ,
132
+ ' nbsphinx' ,
133
+ ' networkx' ,
134
+ ' optax' ,
135
+ ' pre-commit' ,
136
+ ' pydata-sphinx-theme' ,
137
+ ' pylint' ,
138
+ ' pyswarms' ,
139
+ ' pytest' ,
140
+ ' pytest-timeout' ,
141
+ ' rtree' ,
142
+ ' ruff' ,
143
+ ' sax' ,
144
+ ' signac' ,
145
+ ' sphinx' ,
146
+ ' sphinx-book-theme' ,
147
+ ' sphinx-copybutton' ,
148
+ ' sphinx-favicon' ,
149
+ ' sphinx-notfound-page' ,
150
+ ' sphinx-sitemap' ,
151
+ ' sphinx-tabs' ,
152
+ ' sphinxemoji' ,
153
+ ' tmm' ,
154
+ ' tox' ,
155
+ ' trimesh' ,
156
+ ' scikit-rf' ,
157
+ ' vtk' ,
158
+ ' devsim' ,
159
+ ' cma' ,
160
+ ]
161
+ docs = [
162
+ " jupyter" ,
163
+ " jinja2" ,
164
+ " nbconvert" ,
165
+ " sphinx" ,
166
+ " nbsphinx" ,
167
+ " ipython" ,
168
+ " divparams" ,
169
+ " sphinx-copybutton" ,
170
+ ' sphinx-favicon' ,
171
+ " sphinx-book-theme" ,
172
+ " pydata-sphinx-theme" ,
173
+ " tmm" ,
174
+ " gdstk" ,
175
+ " grcwa" ,
176
+ " sphinx-sitemap" ,
177
+ ' sphinx-notfound-page' ,
178
+ " nbdime" ,
179
+ " optax" ,
180
+ " signac" ,
181
+ " sax" ,
182
+ " pylint" ,
183
+ " sphinx-tabs" ,
184
+ " sphinxemoji" ,
185
+ " myst-parser" ,
186
+ " devsim" ,
187
+ " cma" ,
188
+ ]
117
189
gdspy = [" gdspy" ]
118
190
gdstk = [" gdstk" ]
119
191
jax = [" jaxlib" , " jax" ]
@@ -144,13 +216,15 @@ extend-exclude = ["docs/faq/", "docs/notebooks/"]
144
216
145
217
[tool .ruff .lint ]
146
218
ignore-init-module-imports = true
147
- typing-modules = [" tidy3d.components.types" ] # without this Literal["something fails"]
219
+ typing-modules = [
220
+ " tidy3d.components.types" ,
221
+ ] # without this Literal["something fails"]
148
222
select = [
149
- " E" , # pycodestyle errors
150
- " W" , # pycodestyle warnings
151
- " F" , # pyflakes
152
- " C" , # flake8-comprehensions
153
- " B" , # flake8-bugbear
223
+ " E" , # pycodestyle errors
224
+ " W" , # pycodestyle warnings
225
+ " F" , # pyflakes
226
+ " C" , # flake8-comprehensions
227
+ " B" , # flake8-bugbear
154
228
" UP" ,
155
229
" NPY201" , # numpy 2.* compatibility check
156
230
]
@@ -171,7 +245,15 @@ ignore = [
171
245
[tool .pytest .ini_options ]
172
246
addopts = " --doctest-modules"
173
247
doctest_optionflags = " NORMALIZE_WHITESPACE ELLIPSIS"
174
- norecursedirs = [" tests/_test_local" , " tests/test_cli" , " tests/_test_data" , " tests/_test_notebooks" , " tidy3d/web" , " docs/notebooks" , " docs/faq" ]
248
+ norecursedirs = [
249
+ " tests/_test_local" ,
250
+ " tests/test_cli" ,
251
+ " tests/_test_data" ,
252
+ " tests/_test_notebooks" ,
253
+ " tidy3d/web" ,
254
+ " docs/notebooks" ,
255
+ " docs/faq" ,
256
+ ]
175
257
filterwarnings = " ignore::DeprecationWarning"
176
258
testpaths = [" tidy3d" , " tests" , " docs" ]
177
259
python_files = " *.py"
@@ -187,10 +269,7 @@ parse = """(?x)
187
269
(?P<pre_n>0|[1-9]\\ d*) # pre-release version number
188
270
)? # pre-release section is optional
189
271
"""
190
- serialize = [
191
- " {major}.{minor}.{patch}{pre_l}{pre_n}" ,
192
- " {major}.{minor}.{patch}" ,
193
- ]
272
+ serialize = [" {major}.{minor}.{patch}{pre_l}{pre_n}" , " {major}.{minor}.{patch}" ]
194
273
search = " {current_version}"
195
274
replace = " {new_version}"
196
275
regex = false
0 commit comments