cfsem 2.1.0__tar.gz → 2.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. cfsem-2.2.0/.github/workflows/CI.yml +181 -0
  2. {cfsem-2.1.0 → cfsem-2.2.0}/CHANGELOG.md +17 -0
  3. {cfsem-2.1.0 → cfsem-2.2.0}/Cargo.lock +28 -143
  4. {cfsem-2.1.0 → cfsem-2.2.0}/Cargo.toml +3 -3
  5. {cfsem-2.1.0 → cfsem-2.2.0}/PKG-INFO +15 -15
  6. {cfsem-2.1.0 → cfsem-2.2.0}/README.md +1 -1
  7. {cfsem-2.1.0 → cfsem-2.2.0}/cfsem/__init__.py +45 -16
  8. {cfsem-2.1.0 → cfsem-2.2.0}/cfsem/bindings.py +212 -73
  9. {cfsem-2.1.0 → cfsem-2.2.0}/docs/index.md +1 -1
  10. {cfsem-2.1.0 → cfsem-2.2.0}/docs/python/flux_density.md +4 -0
  11. cfsem-2.2.0/docs/python/force.md +5 -0
  12. {cfsem-2.1.0 → cfsem-2.2.0}/docs/python/inductance.md +2 -0
  13. {cfsem-2.1.0 → cfsem-2.2.0}/pyproject.toml +3 -4
  14. cfsem-2.2.0/src/lib.rs +776 -0
  15. {cfsem-2.1.0 → cfsem-2.2.0}/test/test_electromagnetics.py +129 -14
  16. {cfsem-2.1.0 → cfsem-2.2.0}/test/test_funcs.py +18 -2
  17. cfsem-2.1.0/.github/workflows/CI.yml +0 -119
  18. cfsem-2.1.0/src/lib.rs +0 -595
  19. {cfsem-2.1.0 → cfsem-2.2.0}/.cargo/config.toml +0 -0
  20. {cfsem-2.1.0 → cfsem-2.2.0}/.github/workflows/actions.yml +0 -0
  21. {cfsem-2.1.0 → cfsem-2.2.0}/.gitignore +0 -0
  22. {cfsem-2.1.0 → cfsem-2.2.0}/.readthedocs.yml +0 -0
  23. {cfsem-2.1.0 → cfsem-2.2.0}/CONTRIBUTING.md +0 -0
  24. {cfsem-2.1.0 → cfsem-2.2.0}/LICENSE +0 -0
  25. {cfsem-2.1.0 → cfsem-2.2.0}/build_docs.sh +0 -0
  26. {cfsem-2.1.0 → cfsem-2.2.0}/cfsem/py.typed +0 -0
  27. {cfsem-2.1.0 → cfsem-2.2.0}/cfsem/types.py +0 -0
  28. {cfsem-2.1.0 → cfsem-2.2.0}/docs/assets/logo.svg +0 -0
  29. {cfsem-2.1.0 → cfsem-2.2.0}/docs/javascripts/mathjax.js +0 -0
  30. {cfsem-2.1.0 → cfsem-2.2.0}/docs/python/example_outputs/.placeholder +0 -0
  31. {cfsem-2.1.0 → cfsem-2.2.0}/docs/python/examples.md +0 -0
  32. {cfsem-2.1.0 → cfsem-2.2.0}/docs/python/filament.md +0 -0
  33. {cfsem-2.1.0 → cfsem-2.2.0}/docs/python/grad_shafranov.md +0 -0
  34. {cfsem-2.1.0 → cfsem-2.2.0}/docs/python/math.md +0 -0
  35. {cfsem-2.1.0 → cfsem-2.2.0}/docs/python/types.md +0 -0
  36. {cfsem-2.1.0 → cfsem-2.2.0}/docs/python/vector_potential.md +0 -0
  37. {cfsem-2.1.0 → cfsem-2.2.0}/docs/requirements.txt +0 -0
  38. {cfsem-2.1.0 → cfsem-2.2.0}/docs/stylesheets/extra.css +0 -0
  39. {cfsem-2.1.0 → cfsem-2.2.0}/examples/helmholtz.py +0 -0
  40. {cfsem-2.1.0 → cfsem-2.2.0}/examples/inductance.py +0 -0
  41. {cfsem-2.1.0 → cfsem-2.2.0}/mkdocs.yml +0 -0
  42. {cfsem-2.1.0 → cfsem-2.2.0}/test/__init__.py +0 -0
  43. {cfsem-2.1.0 → cfsem-2.2.0}/test/test_examples.py +0 -0
  44. {cfsem-2.1.0 → cfsem-2.2.0}/test/test_filaments.py +0 -0
  45. {cfsem-2.1.0 → cfsem-2.2.0}/test/test_gradshafranov.py +0 -0
  46. {cfsem-2.1.0 → cfsem-2.2.0}/test/test_math.py +0 -0
@@ -0,0 +1,181 @@
1
+ # This file is autogenerated by maturin v1.8.2
2
+ # To update, run
3
+ #
4
+ # maturin generate-ci github
5
+ #
6
+ name: CI
7
+
8
+ on:
9
+ push:
10
+ branches:
11
+ - release
12
+ workflow_dispatch:
13
+
14
+ permissions:
15
+ contents: read
16
+
17
+ jobs:
18
+ linux:
19
+ runs-on: ${{ matrix.platform.runner }}
20
+ strategy:
21
+ matrix:
22
+ python-version: ['3.9', '3.10', '3.11', '3.12']
23
+ platform:
24
+ - runner: ubuntu-22.04
25
+ target: x86_64
26
+ - runner: ubuntu-22.04
27
+ target: x86
28
+ - runner: ubuntu-22.04
29
+ target: aarch64
30
+ - runner: ubuntu-22.04
31
+ target: armv7
32
+ - runner: ubuntu-22.04
33
+ target: s390x
34
+ - runner: ubuntu-22.04
35
+ target: ppc64le
36
+ steps:
37
+ - uses: actions/checkout@v4
38
+ - uses: actions/setup-python@v5
39
+ with:
40
+ python-version: ${{ matrix.python-version }}
41
+ - name: Build wheels
42
+ uses: PyO3/maturin-action@v1
43
+ with:
44
+ target: ${{ matrix.platform.target }}
45
+ args: --release --out dist --find-interpreter
46
+ sccache: 'true'
47
+ manylinux: auto
48
+ - name: Upload wheels
49
+ uses: actions/upload-artifact@v4
50
+ with:
51
+ name: wheels-linux-${{ matrix.platform.target }}-py${{ matrix.python-version }}
52
+ path: dist
53
+
54
+ musllinux:
55
+ runs-on: ${{ matrix.platform.runner }}
56
+ strategy:
57
+ matrix:
58
+ python-version: ['3.9', '3.10', '3.11', '3.12']
59
+ platform:
60
+ - runner: ubuntu-22.04
61
+ target: x86_64
62
+ - runner: ubuntu-22.04
63
+ target: x86
64
+ - runner: ubuntu-22.04
65
+ target: aarch64
66
+ - runner: ubuntu-22.04
67
+ target: armv7
68
+ steps:
69
+ - uses: actions/checkout@v4
70
+ - uses: actions/setup-python@v5
71
+ with:
72
+ python-version: ${{ matrix.python-version }}
73
+ - name: Build wheels
74
+ uses: PyO3/maturin-action@v1
75
+ with:
76
+ target: ${{ matrix.platform.target }}
77
+ args: --release --out dist --find-interpreter
78
+ sccache: 'true'
79
+ manylinux: musllinux_1_2
80
+ - name: Upload wheels
81
+ uses: actions/upload-artifact@v4
82
+ with:
83
+ name: wheels-musllinux-${{ matrix.platform.target }}-py${{ matrix.python-version }}
84
+ path: dist
85
+
86
+ windows:
87
+ runs-on: ${{ matrix.platform.runner }}
88
+ strategy:
89
+ matrix:
90
+ python-version: ['3.9', '3.10', '3.11', '3.12']
91
+ platform:
92
+ - runner: windows-latest
93
+ target: x64
94
+ - runner: windows-latest
95
+ target: x86
96
+ steps:
97
+ - uses: actions/checkout@v4
98
+ - uses: actions/setup-python@v5
99
+ with:
100
+ python-version: ${{ matrix.python-version }}
101
+ architecture: ${{ matrix.platform.target }}
102
+ - name: Build wheels
103
+ uses: PyO3/maturin-action@v1
104
+ with:
105
+ target: ${{ matrix.platform.target }}
106
+ args: --release --out dist --find-interpreter
107
+ sccache: 'true'
108
+ - name: Upload wheels
109
+ uses: actions/upload-artifact@v4
110
+ with:
111
+ name: wheels-windows-${{ matrix.platform.target }}-py${{ matrix.python-version }}
112
+ path: dist
113
+
114
+ macos:
115
+ runs-on: ${{ matrix.platform.runner }}
116
+ strategy:
117
+ matrix:
118
+ python-version: ['3.9', '3.10', '3.11', '3.12']
119
+ platform:
120
+ - runner: macos-13
121
+ target: x86_64
122
+ - runner: macos-14
123
+ target: aarch64
124
+ steps:
125
+ - uses: actions/checkout@v4
126
+ - uses: actions/setup-python@v5
127
+ with:
128
+ python-version: ${{ matrix.python-version }}
129
+ - name: Build wheels
130
+ uses: PyO3/maturin-action@v1
131
+ with:
132
+ target: ${{ matrix.platform.target }}
133
+ args: --release --out dist --find-interpreter
134
+ sccache: 'true'
135
+ - name: Upload wheels
136
+ uses: actions/upload-artifact@v4
137
+ with:
138
+ name: wheels-macos-${{ matrix.platform.target }}-py${{ matrix.python-version }}
139
+ path: dist
140
+
141
+ sdist:
142
+ runs-on: ubuntu-latest
143
+ steps:
144
+ - uses: actions/checkout@v4
145
+ - name: Build sdist
146
+ uses: PyO3/maturin-action@v1
147
+ with:
148
+ command: sdist
149
+ args: --out dist
150
+ - name: Upload sdist
151
+ uses: actions/upload-artifact@v4
152
+ with:
153
+ name: wheels-sdist
154
+ path: dist
155
+
156
+ release:
157
+ name: Release
158
+ runs-on: ubuntu-latest
159
+ #if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
160
+ needs: [linux, musllinux, windows, macos, sdist]
161
+ permissions:
162
+ # Use to sign the release artifacts
163
+ id-token: write
164
+ # Used to upload release artifacts
165
+ contents: write
166
+ # Used to generate artifact attestation
167
+ attestations: write
168
+ steps:
169
+ - uses: actions/download-artifact@v4
170
+ - name: Generate artifact attestation
171
+ uses: actions/attest-build-provenance@v1
172
+ with:
173
+ subject-path: 'wheels-*/*'
174
+ - name: Publish to PyPI
175
+ #if: ${{ startsWith(github.ref, 'refs/tags/') }}
176
+ uses: PyO3/maturin-action@v1
177
+ env:
178
+ MATURIN_PYPI_TOKEN: ${{ secrets.MATURIN_PASSWORD }}
179
+ with:
180
+ command: upload
181
+ args: --non-interactive --skip-existing wheels-*/*
@@ -1,5 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.2.0 2025-02-03
4
+
5
+ ### Added
6
+
7
+ * Add circular-to-linear filament bridge functions
8
+ * B-field and mutual inductance
9
+ * Much faster and more accurate than discretizing loops and using linear filament functions, and more cross-platform consistent than doing coordinate conversions on circular filament methods at the python level
10
+ * Add dipole flux density function
11
+ * Add JxB body force density functions
12
+ * Add run-time assertions to check domain of validity of Lyle's method for self-inductance
13
+
14
+ ### Changed
15
+
16
+ * Roll rust bindings forward to latest numpy and pyo3
17
+ * Update interfaces with rust functions that have changed their function signature
18
+ * Update python bindings with convenience functions for making inputs contiguous and flat, to reduce repetition
19
+
3
20
  ## 2.1.0 2024-08-27
4
21
 
5
22
  ### Added
@@ -1,6 +1,6 @@
1
1
  # This file is automatically @generated by Cargo.
2
2
  # It is not intended for manual editing.
3
- version = 3
3
+ version = 4
4
4
 
5
5
  [[package]]
6
6
  name = "_cfsem"
@@ -26,12 +26,6 @@ version = "1.3.0"
26
26
  source = "registry+https://github.com/rust-lang/crates.io-index"
27
27
  checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
28
28
 
29
- [[package]]
30
- name = "bitflags"
31
- version = "2.5.0"
32
- source = "registry+https://github.com/rust-lang/crates.io-index"
33
- checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
34
-
35
29
  [[package]]
36
30
  name = "bytemuck"
37
31
  version = "1.16.0"
@@ -46,11 +40,13 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
46
40
 
47
41
  [[package]]
48
42
  name = "cfsem"
49
- version = "1.1.0"
43
+ version = "2.0.0"
50
44
  source = "registry+https://github.com/rust-lang/crates.io-index"
51
- checksum = "2b3e27e61569347c86debb5a8032a62c7acb3b6da51d14f68dd948cf7625dd79"
45
+ checksum = "756becb9d9fc8fed74e794677856d42436525ba318adeb6943e7829ab5943b06"
52
46
  dependencies = [
47
+ "libm",
53
48
  "nalgebra",
49
+ "num-traits",
54
50
  "rayon",
55
51
  ]
56
52
 
@@ -87,9 +83,9 @@ checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b"
87
83
 
88
84
  [[package]]
89
85
  name = "heck"
90
- version = "0.4.1"
86
+ version = "0.5.0"
91
87
  source = "registry+https://github.com/rust-lang/crates.io-index"
92
- checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
88
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
93
89
 
94
90
  [[package]]
95
91
  name = "indoc"
@@ -104,14 +100,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
104
100
  checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
105
101
 
106
102
  [[package]]
107
- name = "lock_api"
108
- version = "0.4.12"
103
+ name = "libm"
104
+ version = "0.2.11"
109
105
  source = "registry+https://github.com/rust-lang/crates.io-index"
110
- checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17"
111
- dependencies = [
112
- "autocfg",
113
- "scopeguard",
114
- ]
106
+ checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa"
115
107
 
116
108
  [[package]]
117
109
  name = "matrixmultiply"
@@ -134,9 +126,9 @@ dependencies = [
134
126
 
135
127
  [[package]]
136
128
  name = "nalgebra"
137
- version = "0.33.0"
129
+ version = "0.33.2"
138
130
  source = "registry+https://github.com/rust-lang/crates.io-index"
139
- checksum = "3c4b5f057b303842cf3262c27e465f4c303572e7f6b0648f60e16248ac3397f4"
131
+ checksum = "26aecdf64b707efd1310e3544d709c5c0ac61c13756046aaaba41be5c4f66a3b"
140
132
  dependencies = [
141
133
  "approx",
142
134
  "matrixmultiply",
@@ -218,13 +210,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
218
210
  checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
219
211
  dependencies = [
220
212
  "autocfg",
213
+ "libm",
221
214
  ]
222
215
 
223
216
  [[package]]
224
217
  name = "numpy"
225
- version = "0.21.0"
218
+ version = "0.23.0"
226
219
  source = "registry+https://github.com/rust-lang/crates.io-index"
227
- checksum = "ec170733ca37175f5d75a5bea5911d6ff45d2cd52849ce98b685394e4f2f37f4"
220
+ checksum = "b94caae805f998a07d33af06e6a3891e38556051b8045c615470a71590e13e78"
228
221
  dependencies = [
229
222
  "libc",
230
223
  "ndarray",
@@ -241,29 +234,6 @@ version = "1.19.0"
241
234
  source = "registry+https://github.com/rust-lang/crates.io-index"
242
235
  checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
243
236
 
244
- [[package]]
245
- name = "parking_lot"
246
- version = "0.12.3"
247
- source = "registry+https://github.com/rust-lang/crates.io-index"
248
- checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27"
249
- dependencies = [
250
- "lock_api",
251
- "parking_lot_core",
252
- ]
253
-
254
- [[package]]
255
- name = "parking_lot_core"
256
- version = "0.9.10"
257
- source = "registry+https://github.com/rust-lang/crates.io-index"
258
- checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
259
- dependencies = [
260
- "cfg-if",
261
- "libc",
262
- "redox_syscall",
263
- "smallvec",
264
- "windows-targets",
265
- ]
266
-
267
237
  [[package]]
268
238
  name = "paste"
269
239
  version = "1.0.15"
@@ -287,15 +257,15 @@ dependencies = [
287
257
 
288
258
  [[package]]
289
259
  name = "pyo3"
290
- version = "0.21.2"
260
+ version = "0.23.4"
291
261
  source = "registry+https://github.com/rust-lang/crates.io-index"
292
- checksum = "a5e00b96a521718e08e03b1a622f01c8a8deb50719335de3f60b3b3950f069d8"
262
+ checksum = "57fe09249128b3173d092de9523eaa75136bf7ba85e0d69eca241c7939c933cc"
293
263
  dependencies = [
294
264
  "cfg-if",
295
265
  "indoc",
296
266
  "libc",
297
267
  "memoffset",
298
- "parking_lot",
268
+ "once_cell",
299
269
  "portable-atomic",
300
270
  "pyo3-build-config",
301
271
  "pyo3-ffi",
@@ -305,9 +275,9 @@ dependencies = [
305
275
 
306
276
  [[package]]
307
277
  name = "pyo3-build-config"
308
- version = "0.21.2"
278
+ version = "0.23.4"
309
279
  source = "registry+https://github.com/rust-lang/crates.io-index"
310
- checksum = "7883df5835fafdad87c0d888b266c8ec0f4c9ca48a5bed6bbb592e8dedee1b50"
280
+ checksum = "1cd3927b5a78757a0d71aa9dff669f903b1eb64b54142a9bd9f757f8fde65fd7"
311
281
  dependencies = [
312
282
  "once_cell",
313
283
  "target-lexicon",
@@ -315,9 +285,9 @@ dependencies = [
315
285
 
316
286
  [[package]]
317
287
  name = "pyo3-ffi"
318
- version = "0.21.2"
288
+ version = "0.23.4"
319
289
  source = "registry+https://github.com/rust-lang/crates.io-index"
320
- checksum = "01be5843dc60b916ab4dad1dca6d20b9b4e6ddc8e15f50c47fe6d85f1fb97403"
290
+ checksum = "dab6bb2102bd8f991e7749f130a70d05dd557613e39ed2deeee8e9ca0c4d548d"
321
291
  dependencies = [
322
292
  "libc",
323
293
  "pyo3-build-config",
@@ -325,9 +295,9 @@ dependencies = [
325
295
 
326
296
  [[package]]
327
297
  name = "pyo3-macros"
328
- version = "0.21.2"
298
+ version = "0.23.4"
329
299
  source = "registry+https://github.com/rust-lang/crates.io-index"
330
- checksum = "77b34069fc0682e11b31dbd10321cbf94808394c56fd996796ce45217dfac53c"
300
+ checksum = "91871864b353fd5ffcb3f91f2f703a22a9797c91b9ab497b1acac7b07ae509c7"
331
301
  dependencies = [
332
302
  "proc-macro2",
333
303
  "pyo3-macros-backend",
@@ -337,9 +307,9 @@ dependencies = [
337
307
 
338
308
  [[package]]
339
309
  name = "pyo3-macros-backend"
340
- version = "0.21.2"
310
+ version = "0.23.4"
341
311
  source = "registry+https://github.com/rust-lang/crates.io-index"
342
- checksum = "08260721f32db5e1a5beae69a55553f56b99bd0e1c3e6e0a5e8851a9d0f5a85c"
312
+ checksum = "43abc3b80bc20f3facd86cd3c60beed58c3e2aa26213f3cda368de39c60a27e4"
343
313
  dependencies = [
344
314
  "heck",
345
315
  "proc-macro2",
@@ -383,20 +353,11 @@ dependencies = [
383
353
  "crossbeam-utils",
384
354
  ]
385
355
 
386
- [[package]]
387
- name = "redox_syscall"
388
- version = "0.5.2"
389
- source = "registry+https://github.com/rust-lang/crates.io-index"
390
- checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd"
391
- dependencies = [
392
- "bitflags",
393
- ]
394
-
395
356
  [[package]]
396
357
  name = "rustc-hash"
397
- version = "1.1.0"
358
+ version = "2.1.0"
398
359
  source = "registry+https://github.com/rust-lang/crates.io-index"
399
- checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
360
+ checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497"
400
361
 
401
362
  [[package]]
402
363
  name = "safe_arch"
@@ -407,12 +368,6 @@ dependencies = [
407
368
  "bytemuck",
408
369
  ]
409
370
 
410
- [[package]]
411
- name = "scopeguard"
412
- version = "1.2.0"
413
- source = "registry+https://github.com/rust-lang/crates.io-index"
414
- checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
415
-
416
371
  [[package]]
417
372
  name = "simba"
418
373
  version = "0.9.0"
@@ -426,12 +381,6 @@ dependencies = [
426
381
  "wide",
427
382
  ]
428
383
 
429
- [[package]]
430
- name = "smallvec"
431
- version = "1.13.2"
432
- source = "registry+https://github.com/rust-lang/crates.io-index"
433
- checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
434
-
435
384
  [[package]]
436
385
  name = "syn"
437
386
  version = "2.0.66"
@@ -476,67 +425,3 @@ dependencies = [
476
425
  "bytemuck",
477
426
  "safe_arch",
478
427
  ]
479
-
480
- [[package]]
481
- name = "windows-targets"
482
- version = "0.52.5"
483
- source = "registry+https://github.com/rust-lang/crates.io-index"
484
- checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb"
485
- dependencies = [
486
- "windows_aarch64_gnullvm",
487
- "windows_aarch64_msvc",
488
- "windows_i686_gnu",
489
- "windows_i686_gnullvm",
490
- "windows_i686_msvc",
491
- "windows_x86_64_gnu",
492
- "windows_x86_64_gnullvm",
493
- "windows_x86_64_msvc",
494
- ]
495
-
496
- [[package]]
497
- name = "windows_aarch64_gnullvm"
498
- version = "0.52.5"
499
- source = "registry+https://github.com/rust-lang/crates.io-index"
500
- checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263"
501
-
502
- [[package]]
503
- name = "windows_aarch64_msvc"
504
- version = "0.52.5"
505
- source = "registry+https://github.com/rust-lang/crates.io-index"
506
- checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6"
507
-
508
- [[package]]
509
- name = "windows_i686_gnu"
510
- version = "0.52.5"
511
- source = "registry+https://github.com/rust-lang/crates.io-index"
512
- checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670"
513
-
514
- [[package]]
515
- name = "windows_i686_gnullvm"
516
- version = "0.52.5"
517
- source = "registry+https://github.com/rust-lang/crates.io-index"
518
- checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9"
519
-
520
- [[package]]
521
- name = "windows_i686_msvc"
522
- version = "0.52.5"
523
- source = "registry+https://github.com/rust-lang/crates.io-index"
524
- checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf"
525
-
526
- [[package]]
527
- name = "windows_x86_64_gnu"
528
- version = "0.52.5"
529
- source = "registry+https://github.com/rust-lang/crates.io-index"
530
- checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9"
531
-
532
- [[package]]
533
- name = "windows_x86_64_gnullvm"
534
- version = "0.52.5"
535
- source = "registry+https://github.com/rust-lang/crates.io-index"
536
- checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596"
537
-
538
- [[package]]
539
- name = "windows_x86_64_msvc"
540
- version = "0.52.5"
541
- source = "registry+https://github.com/rust-lang/crates.io-index"
542
- checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
@@ -9,9 +9,9 @@ name = "_cfsem"
9
9
  crate-type = ["cdylib"]
10
10
 
11
11
  [dependencies]
12
- pyo3 = "0.21.2"
13
- numpy = "0.21.0" # This must match pyo3 version!
14
- cfsem = "1.1.0"
12
+ pyo3 = "0.23.4"
13
+ numpy = "0.23.0" # This must match pyo3 version!
14
+ cfsem = "2.0.0"
15
15
 
16
16
  [profile.release]
17
17
  opt-level = 3
@@ -1,24 +1,24 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: cfsem
3
- Version: 2.1.0
3
+ Version: 2.2.0
4
4
  Classifier: Programming Language :: Rust
5
5
  Classifier: Programming Language :: Python :: Implementation :: CPython
6
6
  Classifier: Programming Language :: Python :: Implementation :: PyPy
7
- Requires-Dist: numpy >=2
8
- Requires-Dist: interpn >=0.2.3
9
- Requires-Dist: pytest >=7.1.3 ; extra == 'dev'
10
- Requires-Dist: coverage >=6.5.0 ; extra == 'dev'
11
- Requires-Dist: ruff >=0.6.2 ; extra == 'dev'
12
- Requires-Dist: pyright >=1.1.331 ; extra == 'dev'
13
- Requires-Dist: scipy >=1.8 ; extra == 'dev'
14
- Requires-Dist: mkdocs >=1.6.0 ; extra == 'dev'
15
- Requires-Dist: mkdocs-material >=9.5.25 ; extra == 'dev'
16
- Requires-Dist: mkdocstrings[python] >=0.25.1 ; extra == 'dev'
17
- Requires-Dist: matplotlib >=3.9 ; extra == 'dev'
7
+ Requires-Dist: numpy>=2
8
+ Requires-Dist: interpn>=0.2.3
9
+ Requires-Dist: pytest>=7.1.3 ; extra == 'dev'
10
+ Requires-Dist: coverage>=6.5.0 ; extra == 'dev'
11
+ Requires-Dist: ruff>=0.6.2 ; extra == 'dev'
12
+ Requires-Dist: pyright==1.1.393 ; extra == 'dev'
13
+ Requires-Dist: scipy>=1.8 ; extra == 'dev'
14
+ Requires-Dist: mkdocs>=1.6.0 ; extra == 'dev'
15
+ Requires-Dist: mkdocs-material>=9.5.25 ; extra == 'dev'
16
+ Requires-Dist: mkdocstrings[python]>=0.25.1 ; extra == 'dev'
17
+ Requires-Dist: matplotlib>=3.9 ; extra == 'dev'
18
18
  Provides-Extra: dev
19
19
  License-File: LICENSE
20
20
  Summary: Quasi-steady electromagnetics including filamentized approximations, Biot-Savart, and Grad-Shafranov.
21
- Author-email: jlogan@cfs.energy
21
+ Author-email: Commonwealth Fusion Systems <jlogan@cfs.energy>
22
22
  License: MIT
23
23
  Requires-Python: >=3.9, <3.13
24
24
  Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
@@ -63,7 +63,7 @@ maturin develop --release
63
63
 
64
64
  No part of installation requires root. If access issues are encountered, this can likely be resolved by using a virtual environment.
65
65
 
66
- Some computationally-expensive calculations are written in Rust. These calculations and their python bindings are compiled during installation with no intervention from the user. Symmetric bindings with docstrings are available in the `bindings.py` module and re-exported at the library level.
66
+ Some computationally-expensive calculations are written in Rust. These calculations and their python bindings are installed from pre-built binaries when installing from pypi or compiled during local development installation, with no intervention from the user in either case. Symmetric bindings with docstrings are available in the `bindings.py` module and re-exported at the library level.
67
67
 
68
68
  To build with all of the optimizations available on your local machine, you can do:
69
69
 
@@ -38,7 +38,7 @@ maturin develop --release
38
38
 
39
39
  No part of installation requires root. If access issues are encountered, this can likely be resolved by using a virtual environment.
40
40
 
41
- Some computationally-expensive calculations are written in Rust. These calculations and their python bindings are compiled during installation with no intervention from the user. Symmetric bindings with docstrings are available in the `bindings.py` module and re-exported at the library level.
41
+ Some computationally-expensive calculations are written in Rust. These calculations and their python bindings are installed from pre-built binaries when installing from pypi or compiled during local development installation, with no intervention from the user in either case. Symmetric bindings with docstrings are available in the `bindings.py` module and re-exported at the library level.
42
42
 
43
43
  To build with all of the optimizations available on your local machine, you can do:
44
44