cfsem 2.1.0__tar.gz → 2.3.1__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.
- cfsem-2.3.1/.github/workflows/CI.yml +181 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/.github/workflows/actions.yml +1 -1
- {cfsem-2.1.0 → cfsem-2.3.1}/CHANGELOG.md +30 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/Cargo.lock +31 -145
- {cfsem-2.1.0 → cfsem-2.3.1}/Cargo.toml +4 -4
- {cfsem-2.1.0 → cfsem-2.3.1}/PKG-INFO +16 -16
- {cfsem-2.1.0 → cfsem-2.3.1}/README.md +1 -1
- {cfsem-2.1.0 → cfsem-2.3.1}/cfsem/__init__.py +45 -16
- {cfsem-2.1.0 → cfsem-2.3.1}/cfsem/bindings.py +212 -73
- {cfsem-2.1.0 → cfsem-2.3.1}/docs/index.md +1 -1
- {cfsem-2.1.0 → cfsem-2.3.1}/docs/python/flux_density.md +4 -0
- cfsem-2.3.1/docs/python/force.md +5 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/docs/python/inductance.md +2 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/pyproject.toml +5 -6
- cfsem-2.3.1/src/lib.rs +776 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/test/test_electromagnetics.py +129 -14
- {cfsem-2.1.0 → cfsem-2.3.1}/test/test_funcs.py +18 -2
- cfsem-2.1.0/.github/workflows/CI.yml +0 -119
- cfsem-2.1.0/src/lib.rs +0 -595
- {cfsem-2.1.0 → cfsem-2.3.1}/.cargo/config.toml +0 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/.gitignore +0 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/.readthedocs.yml +0 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/CONTRIBUTING.md +0 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/LICENSE +0 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/build_docs.sh +0 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/cfsem/py.typed +0 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/cfsem/types.py +0 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/docs/assets/logo.svg +0 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/docs/javascripts/mathjax.js +0 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/docs/python/example_outputs/.placeholder +0 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/docs/python/examples.md +0 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/docs/python/filament.md +0 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/docs/python/grad_shafranov.md +0 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/docs/python/math.md +0 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/docs/python/types.md +0 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/docs/python/vector_potential.md +0 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/docs/requirements.txt +0 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/docs/stylesheets/extra.css +0 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/examples/helmholtz.py +0 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/examples/inductance.py +0 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/mkdocs.yml +0 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/test/__init__.py +0 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/test/test_examples.py +0 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/test/test_filaments.py +0 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/test/test_gradshafranov.py +0 -0
- {cfsem-2.1.0 → cfsem-2.3.1}/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', '3.13']
|
|
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', '3.13']
|
|
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', '3.13']
|
|
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', '3.13']
|
|
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,35 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.3.1 2025-03-19
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
|
|
7
|
+
* Update rust to 2024 edition
|
|
8
|
+
* Update pyo3 rust dep version to resolve conditional compilation issue in build for linux arm/aarch64
|
|
9
|
+
|
|
10
|
+
## 2.3.0 2025-03-19
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
* Add support for python 3.13
|
|
15
|
+
|
|
16
|
+
## 2.2.0 2025-02-03
|
|
17
|
+
|
|
18
|
+
### Added
|
|
19
|
+
|
|
20
|
+
* Add circular-to-linear filament bridge functions
|
|
21
|
+
* B-field and mutual inductance
|
|
22
|
+
* 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
|
|
23
|
+
* Add dipole flux density function
|
|
24
|
+
* Add JxB body force density functions
|
|
25
|
+
* Add run-time assertions to check domain of validity of Lyle's method for self-inductance
|
|
26
|
+
|
|
27
|
+
### Changed
|
|
28
|
+
|
|
29
|
+
* Roll rust bindings forward to latest numpy and pyo3
|
|
30
|
+
* Update interfaces with rust functions that have changed their function signature
|
|
31
|
+
* Update python bindings with convenience functions for making inputs contiguous and flat, to reduce repetition
|
|
32
|
+
|
|
3
33
|
## 2.1.0 2024-08-27
|
|
4
34
|
|
|
5
35
|
### 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
|
+
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 = "
|
|
43
|
+
version = "2.0.0"
|
|
50
44
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
51
|
-
checksum = "
|
|
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.
|
|
86
|
+
version = "0.5.0"
|
|
91
87
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
92
|
-
checksum = "
|
|
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 = "
|
|
108
|
-
version = "0.
|
|
103
|
+
name = "libm"
|
|
104
|
+
version = "0.2.11"
|
|
109
105
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
110
|
-
checksum = "
|
|
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.
|
|
129
|
+
version = "0.33.2"
|
|
138
130
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
139
|
-
checksum = "
|
|
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.
|
|
218
|
+
version = "0.24.0"
|
|
226
219
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
227
|
-
checksum = "
|
|
220
|
+
checksum = "a7cfbf3f0feededcaa4d289fe3079b03659e85c5b5a177f4ba6fb01ab4fb3e39"
|
|
228
221
|
dependencies = [
|
|
229
222
|
"libc",
|
|
230
223
|
"ndarray",
|
|
@@ -232,6 +225,7 @@ dependencies = [
|
|
|
232
225
|
"num-integer",
|
|
233
226
|
"num-traits",
|
|
234
227
|
"pyo3",
|
|
228
|
+
"pyo3-build-config",
|
|
235
229
|
"rustc-hash",
|
|
236
230
|
]
|
|
237
231
|
|
|
@@ -241,29 +235,6 @@ version = "1.19.0"
|
|
|
241
235
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
242
236
|
checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
|
|
243
237
|
|
|
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
238
|
[[package]]
|
|
268
239
|
name = "paste"
|
|
269
240
|
version = "1.0.15"
|
|
@@ -287,15 +258,15 @@ dependencies = [
|
|
|
287
258
|
|
|
288
259
|
[[package]]
|
|
289
260
|
name = "pyo3"
|
|
290
|
-
version = "0.
|
|
261
|
+
version = "0.24.0"
|
|
291
262
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
292
|
-
checksum = "
|
|
263
|
+
checksum = "7f1c6c3591120564d64db2261bec5f910ae454f01def849b9c22835a84695e86"
|
|
293
264
|
dependencies = [
|
|
294
265
|
"cfg-if",
|
|
295
266
|
"indoc",
|
|
296
267
|
"libc",
|
|
297
268
|
"memoffset",
|
|
298
|
-
"
|
|
269
|
+
"once_cell",
|
|
299
270
|
"portable-atomic",
|
|
300
271
|
"pyo3-build-config",
|
|
301
272
|
"pyo3-ffi",
|
|
@@ -305,9 +276,9 @@ dependencies = [
|
|
|
305
276
|
|
|
306
277
|
[[package]]
|
|
307
278
|
name = "pyo3-build-config"
|
|
308
|
-
version = "0.
|
|
279
|
+
version = "0.24.0"
|
|
309
280
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
310
|
-
checksum = "
|
|
281
|
+
checksum = "e9b6c2b34cf71427ea37c7001aefbaeb85886a074795e35f161f5aecc7620a7a"
|
|
311
282
|
dependencies = [
|
|
312
283
|
"once_cell",
|
|
313
284
|
"target-lexicon",
|
|
@@ -315,9 +286,9 @@ dependencies = [
|
|
|
315
286
|
|
|
316
287
|
[[package]]
|
|
317
288
|
name = "pyo3-ffi"
|
|
318
|
-
version = "0.
|
|
289
|
+
version = "0.24.0"
|
|
319
290
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
320
|
-
checksum = "
|
|
291
|
+
checksum = "5507651906a46432cdda02cd02dd0319f6064f1374c9147c45b978621d2c3a9c"
|
|
321
292
|
dependencies = [
|
|
322
293
|
"libc",
|
|
323
294
|
"pyo3-build-config",
|
|
@@ -325,9 +296,9 @@ dependencies = [
|
|
|
325
296
|
|
|
326
297
|
[[package]]
|
|
327
298
|
name = "pyo3-macros"
|
|
328
|
-
version = "0.
|
|
299
|
+
version = "0.24.0"
|
|
329
300
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
330
|
-
checksum = "
|
|
301
|
+
checksum = "b0d394b5b4fd8d97d48336bb0dd2aebabad39f1d294edd6bcd2cccf2eefe6f42"
|
|
331
302
|
dependencies = [
|
|
332
303
|
"proc-macro2",
|
|
333
304
|
"pyo3-macros-backend",
|
|
@@ -337,9 +308,9 @@ dependencies = [
|
|
|
337
308
|
|
|
338
309
|
[[package]]
|
|
339
310
|
name = "pyo3-macros-backend"
|
|
340
|
-
version = "0.
|
|
311
|
+
version = "0.24.0"
|
|
341
312
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
342
|
-
checksum = "
|
|
313
|
+
checksum = "fd72da09cfa943b1080f621f024d2ef7e2773df7badd51aa30a2be1f8caa7c8e"
|
|
343
314
|
dependencies = [
|
|
344
315
|
"heck",
|
|
345
316
|
"proc-macro2",
|
|
@@ -383,20 +354,11 @@ dependencies = [
|
|
|
383
354
|
"crossbeam-utils",
|
|
384
355
|
]
|
|
385
356
|
|
|
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
357
|
[[package]]
|
|
396
358
|
name = "rustc-hash"
|
|
397
|
-
version = "
|
|
359
|
+
version = "2.1.0"
|
|
398
360
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
399
|
-
checksum = "
|
|
361
|
+
checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497"
|
|
400
362
|
|
|
401
363
|
[[package]]
|
|
402
364
|
name = "safe_arch"
|
|
@@ -407,12 +369,6 @@ dependencies = [
|
|
|
407
369
|
"bytemuck",
|
|
408
370
|
]
|
|
409
371
|
|
|
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
372
|
[[package]]
|
|
417
373
|
name = "simba"
|
|
418
374
|
version = "0.9.0"
|
|
@@ -426,12 +382,6 @@ dependencies = [
|
|
|
426
382
|
"wide",
|
|
427
383
|
]
|
|
428
384
|
|
|
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
385
|
[[package]]
|
|
436
386
|
name = "syn"
|
|
437
387
|
version = "2.0.66"
|
|
@@ -445,9 +395,9 @@ dependencies = [
|
|
|
445
395
|
|
|
446
396
|
[[package]]
|
|
447
397
|
name = "target-lexicon"
|
|
448
|
-
version = "0.
|
|
398
|
+
version = "0.13.2"
|
|
449
399
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
450
|
-
checksum = "
|
|
400
|
+
checksum = "e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a"
|
|
451
401
|
|
|
452
402
|
[[package]]
|
|
453
403
|
name = "typenum"
|
|
@@ -476,67 +426,3 @@ dependencies = [
|
|
|
476
426
|
"bytemuck",
|
|
477
427
|
"safe_arch",
|
|
478
428
|
]
|
|
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"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "_cfsem"
|
|
3
3
|
version = "0.1.0" # Version is controlled by python project
|
|
4
|
-
edition = "
|
|
4
|
+
edition = "2024"
|
|
5
5
|
|
|
6
6
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
7
7
|
[lib]
|
|
@@ -9,9 +9,9 @@ name = "_cfsem"
|
|
|
9
9
|
crate-type = ["cdylib"]
|
|
10
10
|
|
|
11
11
|
[dependencies]
|
|
12
|
-
pyo3 = "0.
|
|
13
|
-
numpy = "0.
|
|
14
|
-
cfsem = "
|
|
12
|
+
pyo3 = "0.24.0"
|
|
13
|
+
numpy = "0.24.0" # This must match pyo3 version!
|
|
14
|
+
cfsem = "2.0.0"
|
|
15
15
|
|
|
16
16
|
[profile.release]
|
|
17
17
|
opt-level = 3
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: cfsem
|
|
3
|
-
Version: 2.1
|
|
3
|
+
Version: 2.3.1
|
|
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
|
|
8
|
-
Requires-Dist: interpn
|
|
9
|
-
Requires-Dist: pytest
|
|
10
|
-
Requires-Dist: coverage
|
|
11
|
-
Requires-Dist: ruff
|
|
12
|
-
Requires-Dist: pyright
|
|
13
|
-
Requires-Dist: scipy
|
|
14
|
-
Requires-Dist: mkdocs
|
|
15
|
-
Requires-Dist: mkdocs-material
|
|
16
|
-
Requires-Dist: mkdocstrings[python]
|
|
17
|
-
Requires-Dist: matplotlib
|
|
7
|
+
Requires-Dist: numpy>=2
|
|
8
|
+
Requires-Dist: interpn>=0.2.5
|
|
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
|
-
Requires-Python: >=3.9, <3.
|
|
23
|
+
Requires-Python: >=3.9, <3.14
|
|
24
24
|
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
|
|
25
25
|
|
|
26
26
|
# cfsem
|
|
@@ -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
|
|