hprm 0.1.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.
- hprm-0.1.0/.cargo/config.toml +3 -0
- hprm-0.1.0/.github/workflows/release.yml +87 -0
- hprm-0.1.0/.gitignore +7 -0
- hprm-0.1.0/Cargo.lock +473 -0
- hprm-0.1.0/Cargo.toml +18 -0
- hprm-0.1.0/PKG-INFO +52 -0
- hprm-0.1.0/README.md +34 -0
- hprm-0.1.0/examples/adaptivets_demo.py +67 -0
- hprm-0.1.0/examples/demo.py +48 -0
- hprm-0.1.0/getting-started +26 -0
- hprm-0.1.0/graphics/test.png +0 -0
- hprm-0.1.0/graphics/test2.png +0 -0
- hprm-0.1.0/graphics/test3.png +0 -0
- hprm-0.1.0/how_to_develop_on_this_project +24 -0
- hprm-0.1.0/pyproject.toml +34 -0
- hprm-0.1.0/roadmap.md +44 -0
- hprm-0.1.0/src/lib.rs +153 -0
- hprm-0.1.0/src/math/ode.rs +251 -0
- hprm-0.1.0/src/math.rs +26 -0
- hprm-0.1.0/src/physics_mod.rs +21 -0
- hprm-0.1.0/src/simdata_mod.rs +68 -0
- hprm-0.1.0/src/simulation.rs +82 -0
- hprm-0.1.0/src/state/model_1dof.rs +78 -0
- hprm-0.1.0/src/state/model_3dof.rs +128 -0
- hprm-0.1.0/src/state/state_vector.rs +173 -0
- hprm-0.1.0/src/state.rs +114 -0
- hprm-0.1.0/uv.lock +1828 -0
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- 'v*'
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
linux:
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v4
|
|
16
|
+
- uses: PyO3/maturin-action@v1
|
|
17
|
+
with:
|
|
18
|
+
command: build
|
|
19
|
+
args: --release --out dist
|
|
20
|
+
sccache: 'true'
|
|
21
|
+
manylinux: auto
|
|
22
|
+
- name: Upload wheels
|
|
23
|
+
uses: actions/upload-artifact@v4
|
|
24
|
+
with:
|
|
25
|
+
name: wheels-linux
|
|
26
|
+
path: dist
|
|
27
|
+
|
|
28
|
+
windows:
|
|
29
|
+
runs-on: windows-latest
|
|
30
|
+
steps:
|
|
31
|
+
- uses: actions/checkout@v4
|
|
32
|
+
- uses: PyO3/maturin-action@v1
|
|
33
|
+
with:
|
|
34
|
+
command: build
|
|
35
|
+
args: --release --out dist
|
|
36
|
+
sccache: 'true'
|
|
37
|
+
- name: Upload wheels
|
|
38
|
+
uses: actions/upload-artifact@v4
|
|
39
|
+
with:
|
|
40
|
+
name: wheels-windows
|
|
41
|
+
path: dist
|
|
42
|
+
|
|
43
|
+
macos:
|
|
44
|
+
runs-on: macos-latest
|
|
45
|
+
steps:
|
|
46
|
+
- uses: actions/checkout@v4
|
|
47
|
+
- uses: PyO3/maturin-action@v1
|
|
48
|
+
with:
|
|
49
|
+
command: build
|
|
50
|
+
args: --release --out dist
|
|
51
|
+
sccache: 'true'
|
|
52
|
+
- name: Upload wheels
|
|
53
|
+
uses: actions/upload-artifact@v4
|
|
54
|
+
with:
|
|
55
|
+
name: wheels-macos
|
|
56
|
+
path: dist
|
|
57
|
+
|
|
58
|
+
sdist:
|
|
59
|
+
runs-on: ubuntu-latest
|
|
60
|
+
steps:
|
|
61
|
+
- uses: actions/checkout@v4
|
|
62
|
+
- name: Build sdist
|
|
63
|
+
uses: PyO3/maturin-action@v1
|
|
64
|
+
with:
|
|
65
|
+
command: sdist
|
|
66
|
+
args: --out dist
|
|
67
|
+
- name: Upload sdist
|
|
68
|
+
uses: actions/upload-artifact@v4
|
|
69
|
+
with:
|
|
70
|
+
name: wheels-sdist
|
|
71
|
+
path: dist
|
|
72
|
+
|
|
73
|
+
release:
|
|
74
|
+
name: Release
|
|
75
|
+
runs-on: ubuntu-latest
|
|
76
|
+
if: startsWith(github.ref, 'refs/tags/')
|
|
77
|
+
needs: [linux, windows, macos, sdist]
|
|
78
|
+
environment: release
|
|
79
|
+
permissions:
|
|
80
|
+
id-token: write
|
|
81
|
+
steps:
|
|
82
|
+
- uses: actions/download-artifact@v4
|
|
83
|
+
- name: Publish to PyPI
|
|
84
|
+
uses: PyO3/maturin-action@v1
|
|
85
|
+
with:
|
|
86
|
+
command: upload
|
|
87
|
+
args: --non-interactive --skip-existing wheels-*/*
|
hprm-0.1.0/.gitignore
ADDED
hprm-0.1.0/Cargo.lock
ADDED
|
@@ -0,0 +1,473 @@
|
|
|
1
|
+
# This file is automatically @generated by Cargo.
|
|
2
|
+
# It is not intended for manual editing.
|
|
3
|
+
version = 4
|
|
4
|
+
|
|
5
|
+
[[package]]
|
|
6
|
+
name = "approx"
|
|
7
|
+
version = "0.5.1"
|
|
8
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
9
|
+
checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6"
|
|
10
|
+
dependencies = [
|
|
11
|
+
"num-traits",
|
|
12
|
+
]
|
|
13
|
+
|
|
14
|
+
[[package]]
|
|
15
|
+
name = "autocfg"
|
|
16
|
+
version = "1.4.0"
|
|
17
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
18
|
+
checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
|
|
19
|
+
|
|
20
|
+
[[package]]
|
|
21
|
+
name = "bytemuck"
|
|
22
|
+
version = "1.24.0"
|
|
23
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
24
|
+
checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4"
|
|
25
|
+
|
|
26
|
+
[[package]]
|
|
27
|
+
name = "glam"
|
|
28
|
+
version = "0.14.0"
|
|
29
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
30
|
+
checksum = "333928d5eb103c5d4050533cec0384302db6be8ef7d3cebd30ec6a35350353da"
|
|
31
|
+
|
|
32
|
+
[[package]]
|
|
33
|
+
name = "glam"
|
|
34
|
+
version = "0.15.2"
|
|
35
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
36
|
+
checksum = "3abb554f8ee44336b72d522e0a7fe86a29e09f839a36022fa869a7dfe941a54b"
|
|
37
|
+
|
|
38
|
+
[[package]]
|
|
39
|
+
name = "glam"
|
|
40
|
+
version = "0.16.0"
|
|
41
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
42
|
+
checksum = "4126c0479ccf7e8664c36a2d719f5f2c140fbb4f9090008098d2c291fa5b3f16"
|
|
43
|
+
|
|
44
|
+
[[package]]
|
|
45
|
+
name = "glam"
|
|
46
|
+
version = "0.17.3"
|
|
47
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
48
|
+
checksum = "e01732b97afd8508eee3333a541b9f7610f454bb818669e66e90f5f57c93a776"
|
|
49
|
+
|
|
50
|
+
[[package]]
|
|
51
|
+
name = "glam"
|
|
52
|
+
version = "0.18.0"
|
|
53
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
54
|
+
checksum = "525a3e490ba77b8e326fb67d4b44b4bd2f920f44d4cc73ccec50adc68e3bee34"
|
|
55
|
+
|
|
56
|
+
[[package]]
|
|
57
|
+
name = "glam"
|
|
58
|
+
version = "0.19.0"
|
|
59
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
60
|
+
checksum = "2b8509e6791516e81c1a630d0bd7fbac36d2fa8712a9da8662e716b52d5051ca"
|
|
61
|
+
|
|
62
|
+
[[package]]
|
|
63
|
+
name = "glam"
|
|
64
|
+
version = "0.20.5"
|
|
65
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
66
|
+
checksum = "f43e957e744be03f5801a55472f593d43fabdebf25a4585db250f04d86b1675f"
|
|
67
|
+
|
|
68
|
+
[[package]]
|
|
69
|
+
name = "glam"
|
|
70
|
+
version = "0.21.3"
|
|
71
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
72
|
+
checksum = "518faa5064866338b013ff9b2350dc318e14cc4fcd6cb8206d7e7c9886c98815"
|
|
73
|
+
|
|
74
|
+
[[package]]
|
|
75
|
+
name = "glam"
|
|
76
|
+
version = "0.22.0"
|
|
77
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
78
|
+
checksum = "12f597d56c1bd55a811a1be189459e8fad2bbc272616375602443bdfb37fa774"
|
|
79
|
+
|
|
80
|
+
[[package]]
|
|
81
|
+
name = "glam"
|
|
82
|
+
version = "0.23.0"
|
|
83
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
84
|
+
checksum = "8e4afd9ad95555081e109fe1d21f2a30c691b5f0919c67dfa690a2e1eb6bd51c"
|
|
85
|
+
|
|
86
|
+
[[package]]
|
|
87
|
+
name = "glam"
|
|
88
|
+
version = "0.24.2"
|
|
89
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
90
|
+
checksum = "b5418c17512bdf42730f9032c74e1ae39afc408745ebb2acf72fbc4691c17945"
|
|
91
|
+
|
|
92
|
+
[[package]]
|
|
93
|
+
name = "glam"
|
|
94
|
+
version = "0.25.0"
|
|
95
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
96
|
+
checksum = "151665d9be52f9bb40fc7966565d39666f2d1e69233571b71b87791c7e0528b3"
|
|
97
|
+
|
|
98
|
+
[[package]]
|
|
99
|
+
name = "glam"
|
|
100
|
+
version = "0.27.0"
|
|
101
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
102
|
+
checksum = "9e05e7e6723e3455f4818c7b26e855439f7546cf617ef669d1adedb8669e5cb9"
|
|
103
|
+
|
|
104
|
+
[[package]]
|
|
105
|
+
name = "glam"
|
|
106
|
+
version = "0.28.0"
|
|
107
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
108
|
+
checksum = "779ae4bf7e8421cf91c0b3b64e7e8b40b862fba4d393f59150042de7c4965a94"
|
|
109
|
+
|
|
110
|
+
[[package]]
|
|
111
|
+
name = "glam"
|
|
112
|
+
version = "0.29.3"
|
|
113
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
114
|
+
checksum = "8babf46d4c1c9d92deac9f7be466f76dfc4482b6452fc5024b5e8daf6ffeb3ee"
|
|
115
|
+
|
|
116
|
+
[[package]]
|
|
117
|
+
name = "glam"
|
|
118
|
+
version = "0.30.9"
|
|
119
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
120
|
+
checksum = "bd47b05dddf0005d850e5644cae7f2b14ac3df487979dbfff3b56f20b1a6ae46"
|
|
121
|
+
|
|
122
|
+
[[package]]
|
|
123
|
+
name = "heck"
|
|
124
|
+
version = "0.5.0"
|
|
125
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
126
|
+
checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
|
|
127
|
+
|
|
128
|
+
[[package]]
|
|
129
|
+
name = "hprm"
|
|
130
|
+
version = "0.1.0"
|
|
131
|
+
dependencies = [
|
|
132
|
+
"nalgebra",
|
|
133
|
+
"numpy",
|
|
134
|
+
"pyo3",
|
|
135
|
+
]
|
|
136
|
+
|
|
137
|
+
[[package]]
|
|
138
|
+
name = "indoc"
|
|
139
|
+
version = "2.0.5"
|
|
140
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
141
|
+
checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5"
|
|
142
|
+
|
|
143
|
+
[[package]]
|
|
144
|
+
name = "libc"
|
|
145
|
+
version = "0.2.170"
|
|
146
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
147
|
+
checksum = "875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828"
|
|
148
|
+
|
|
149
|
+
[[package]]
|
|
150
|
+
name = "matrixmultiply"
|
|
151
|
+
version = "0.3.10"
|
|
152
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
153
|
+
checksum = "a06de3016e9fae57a36fd14dba131fccf49f74b40b7fbdb472f96e361ec71a08"
|
|
154
|
+
dependencies = [
|
|
155
|
+
"autocfg",
|
|
156
|
+
"rawpointer",
|
|
157
|
+
]
|
|
158
|
+
|
|
159
|
+
[[package]]
|
|
160
|
+
name = "memoffset"
|
|
161
|
+
version = "0.9.1"
|
|
162
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
163
|
+
checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
|
|
164
|
+
dependencies = [
|
|
165
|
+
"autocfg",
|
|
166
|
+
]
|
|
167
|
+
|
|
168
|
+
[[package]]
|
|
169
|
+
name = "nalgebra"
|
|
170
|
+
version = "0.34.1"
|
|
171
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
172
|
+
checksum = "c4d5b3eff5cd580f93da45e64715e8c20a3996342f1e466599cf7a267a0c2f5f"
|
|
173
|
+
dependencies = [
|
|
174
|
+
"approx",
|
|
175
|
+
"glam 0.14.0",
|
|
176
|
+
"glam 0.15.2",
|
|
177
|
+
"glam 0.16.0",
|
|
178
|
+
"glam 0.17.3",
|
|
179
|
+
"glam 0.18.0",
|
|
180
|
+
"glam 0.19.0",
|
|
181
|
+
"glam 0.20.5",
|
|
182
|
+
"glam 0.21.3",
|
|
183
|
+
"glam 0.22.0",
|
|
184
|
+
"glam 0.23.0",
|
|
185
|
+
"glam 0.24.2",
|
|
186
|
+
"glam 0.25.0",
|
|
187
|
+
"glam 0.27.0",
|
|
188
|
+
"glam 0.28.0",
|
|
189
|
+
"glam 0.29.3",
|
|
190
|
+
"glam 0.30.9",
|
|
191
|
+
"matrixmultiply",
|
|
192
|
+
"nalgebra-macros",
|
|
193
|
+
"num-complex",
|
|
194
|
+
"num-rational",
|
|
195
|
+
"num-traits",
|
|
196
|
+
"simba",
|
|
197
|
+
"typenum",
|
|
198
|
+
]
|
|
199
|
+
|
|
200
|
+
[[package]]
|
|
201
|
+
name = "nalgebra-macros"
|
|
202
|
+
version = "0.3.0"
|
|
203
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
204
|
+
checksum = "973e7178a678cfd059ccec50887658d482ce16b0aa9da3888ddeab5cd5eb4889"
|
|
205
|
+
dependencies = [
|
|
206
|
+
"proc-macro2",
|
|
207
|
+
"quote",
|
|
208
|
+
"syn",
|
|
209
|
+
]
|
|
210
|
+
|
|
211
|
+
[[package]]
|
|
212
|
+
name = "ndarray"
|
|
213
|
+
version = "0.16.1"
|
|
214
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
215
|
+
checksum = "882ed72dce9365842bf196bdeedf5055305f11fc8c03dee7bb0194a6cad34841"
|
|
216
|
+
dependencies = [
|
|
217
|
+
"matrixmultiply",
|
|
218
|
+
"num-complex",
|
|
219
|
+
"num-integer",
|
|
220
|
+
"num-traits",
|
|
221
|
+
"portable-atomic",
|
|
222
|
+
"portable-atomic-util",
|
|
223
|
+
"rawpointer",
|
|
224
|
+
]
|
|
225
|
+
|
|
226
|
+
[[package]]
|
|
227
|
+
name = "num-bigint"
|
|
228
|
+
version = "0.4.6"
|
|
229
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
230
|
+
checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9"
|
|
231
|
+
dependencies = [
|
|
232
|
+
"num-integer",
|
|
233
|
+
"num-traits",
|
|
234
|
+
]
|
|
235
|
+
|
|
236
|
+
[[package]]
|
|
237
|
+
name = "num-complex"
|
|
238
|
+
version = "0.4.6"
|
|
239
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
240
|
+
checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495"
|
|
241
|
+
dependencies = [
|
|
242
|
+
"num-traits",
|
|
243
|
+
]
|
|
244
|
+
|
|
245
|
+
[[package]]
|
|
246
|
+
name = "num-integer"
|
|
247
|
+
version = "0.1.46"
|
|
248
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
249
|
+
checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
|
|
250
|
+
dependencies = [
|
|
251
|
+
"num-traits",
|
|
252
|
+
]
|
|
253
|
+
|
|
254
|
+
[[package]]
|
|
255
|
+
name = "num-rational"
|
|
256
|
+
version = "0.4.2"
|
|
257
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
258
|
+
checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824"
|
|
259
|
+
dependencies = [
|
|
260
|
+
"num-bigint",
|
|
261
|
+
"num-integer",
|
|
262
|
+
"num-traits",
|
|
263
|
+
]
|
|
264
|
+
|
|
265
|
+
[[package]]
|
|
266
|
+
name = "num-traits"
|
|
267
|
+
version = "0.2.19"
|
|
268
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
269
|
+
checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
|
|
270
|
+
dependencies = [
|
|
271
|
+
"autocfg",
|
|
272
|
+
]
|
|
273
|
+
|
|
274
|
+
[[package]]
|
|
275
|
+
name = "numpy"
|
|
276
|
+
version = "0.27.0"
|
|
277
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
278
|
+
checksum = "0fa24ffc88cf9d43f7269d6b6a0d0a00010924a8cc90604a21ef9c433b66998d"
|
|
279
|
+
dependencies = [
|
|
280
|
+
"libc",
|
|
281
|
+
"ndarray",
|
|
282
|
+
"num-complex",
|
|
283
|
+
"num-integer",
|
|
284
|
+
"num-traits",
|
|
285
|
+
"pyo3",
|
|
286
|
+
"pyo3-build-config",
|
|
287
|
+
"rustc-hash",
|
|
288
|
+
]
|
|
289
|
+
|
|
290
|
+
[[package]]
|
|
291
|
+
name = "once_cell"
|
|
292
|
+
version = "1.21.3"
|
|
293
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
294
|
+
checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
|
|
295
|
+
|
|
296
|
+
[[package]]
|
|
297
|
+
name = "paste"
|
|
298
|
+
version = "1.0.15"
|
|
299
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
300
|
+
checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
|
|
301
|
+
|
|
302
|
+
[[package]]
|
|
303
|
+
name = "portable-atomic"
|
|
304
|
+
version = "1.10.0"
|
|
305
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
306
|
+
checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6"
|
|
307
|
+
|
|
308
|
+
[[package]]
|
|
309
|
+
name = "portable-atomic-util"
|
|
310
|
+
version = "0.2.4"
|
|
311
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
312
|
+
checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507"
|
|
313
|
+
dependencies = [
|
|
314
|
+
"portable-atomic",
|
|
315
|
+
]
|
|
316
|
+
|
|
317
|
+
[[package]]
|
|
318
|
+
name = "proc-macro2"
|
|
319
|
+
version = "1.0.93"
|
|
320
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
321
|
+
checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99"
|
|
322
|
+
dependencies = [
|
|
323
|
+
"unicode-ident",
|
|
324
|
+
]
|
|
325
|
+
|
|
326
|
+
[[package]]
|
|
327
|
+
name = "pyo3"
|
|
328
|
+
version = "0.27.2"
|
|
329
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
330
|
+
checksum = "ab53c047fcd1a1d2a8820fe84f05d6be69e9526be40cb03b73f86b6b03e6d87d"
|
|
331
|
+
dependencies = [
|
|
332
|
+
"indoc",
|
|
333
|
+
"libc",
|
|
334
|
+
"memoffset",
|
|
335
|
+
"once_cell",
|
|
336
|
+
"portable-atomic",
|
|
337
|
+
"pyo3-build-config",
|
|
338
|
+
"pyo3-ffi",
|
|
339
|
+
"pyo3-macros",
|
|
340
|
+
"unindent",
|
|
341
|
+
]
|
|
342
|
+
|
|
343
|
+
[[package]]
|
|
344
|
+
name = "pyo3-build-config"
|
|
345
|
+
version = "0.27.2"
|
|
346
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
347
|
+
checksum = "b455933107de8642b4487ed26d912c2d899dec6114884214a0b3bb3be9261ea6"
|
|
348
|
+
dependencies = [
|
|
349
|
+
"target-lexicon",
|
|
350
|
+
]
|
|
351
|
+
|
|
352
|
+
[[package]]
|
|
353
|
+
name = "pyo3-ffi"
|
|
354
|
+
version = "0.27.2"
|
|
355
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
356
|
+
checksum = "1c85c9cbfaddf651b1221594209aed57e9e5cff63c4d11d1feead529b872a089"
|
|
357
|
+
dependencies = [
|
|
358
|
+
"libc",
|
|
359
|
+
"pyo3-build-config",
|
|
360
|
+
]
|
|
361
|
+
|
|
362
|
+
[[package]]
|
|
363
|
+
name = "pyo3-macros"
|
|
364
|
+
version = "0.27.2"
|
|
365
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
366
|
+
checksum = "0a5b10c9bf9888125d917fb4d2ca2d25c8df94c7ab5a52e13313a07e050a3b02"
|
|
367
|
+
dependencies = [
|
|
368
|
+
"proc-macro2",
|
|
369
|
+
"pyo3-macros-backend",
|
|
370
|
+
"quote",
|
|
371
|
+
"syn",
|
|
372
|
+
]
|
|
373
|
+
|
|
374
|
+
[[package]]
|
|
375
|
+
name = "pyo3-macros-backend"
|
|
376
|
+
version = "0.27.2"
|
|
377
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
378
|
+
checksum = "03b51720d314836e53327f5871d4c0cfb4fb37cc2c4a11cc71907a86342c40f9"
|
|
379
|
+
dependencies = [
|
|
380
|
+
"heck",
|
|
381
|
+
"proc-macro2",
|
|
382
|
+
"pyo3-build-config",
|
|
383
|
+
"quote",
|
|
384
|
+
"syn",
|
|
385
|
+
]
|
|
386
|
+
|
|
387
|
+
[[package]]
|
|
388
|
+
name = "quote"
|
|
389
|
+
version = "1.0.38"
|
|
390
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
391
|
+
checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc"
|
|
392
|
+
dependencies = [
|
|
393
|
+
"proc-macro2",
|
|
394
|
+
]
|
|
395
|
+
|
|
396
|
+
[[package]]
|
|
397
|
+
name = "rawpointer"
|
|
398
|
+
version = "0.2.1"
|
|
399
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
400
|
+
checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
|
|
401
|
+
|
|
402
|
+
[[package]]
|
|
403
|
+
name = "rustc-hash"
|
|
404
|
+
version = "2.1.1"
|
|
405
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
406
|
+
checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d"
|
|
407
|
+
|
|
408
|
+
[[package]]
|
|
409
|
+
name = "safe_arch"
|
|
410
|
+
version = "0.7.4"
|
|
411
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
412
|
+
checksum = "96b02de82ddbe1b636e6170c21be622223aea188ef2e139be0a5b219ec215323"
|
|
413
|
+
dependencies = [
|
|
414
|
+
"bytemuck",
|
|
415
|
+
]
|
|
416
|
+
|
|
417
|
+
[[package]]
|
|
418
|
+
name = "simba"
|
|
419
|
+
version = "0.9.1"
|
|
420
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
421
|
+
checksum = "c99284beb21666094ba2b75bbceda012e610f5479dfcc2d6e2426f53197ffd95"
|
|
422
|
+
dependencies = [
|
|
423
|
+
"approx",
|
|
424
|
+
"num-complex",
|
|
425
|
+
"num-traits",
|
|
426
|
+
"paste",
|
|
427
|
+
"wide",
|
|
428
|
+
]
|
|
429
|
+
|
|
430
|
+
[[package]]
|
|
431
|
+
name = "syn"
|
|
432
|
+
version = "2.0.98"
|
|
433
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
434
|
+
checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1"
|
|
435
|
+
dependencies = [
|
|
436
|
+
"proc-macro2",
|
|
437
|
+
"quote",
|
|
438
|
+
"unicode-ident",
|
|
439
|
+
]
|
|
440
|
+
|
|
441
|
+
[[package]]
|
|
442
|
+
name = "target-lexicon"
|
|
443
|
+
version = "0.13.3"
|
|
444
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
445
|
+
checksum = "df7f62577c25e07834649fc3b39fafdc597c0a3527dc1c60129201ccfcbaa50c"
|
|
446
|
+
|
|
447
|
+
[[package]]
|
|
448
|
+
name = "typenum"
|
|
449
|
+
version = "1.19.0"
|
|
450
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
451
|
+
checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb"
|
|
452
|
+
|
|
453
|
+
[[package]]
|
|
454
|
+
name = "unicode-ident"
|
|
455
|
+
version = "1.0.17"
|
|
456
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
457
|
+
checksum = "00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe"
|
|
458
|
+
|
|
459
|
+
[[package]]
|
|
460
|
+
name = "unindent"
|
|
461
|
+
version = "0.2.3"
|
|
462
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
463
|
+
checksum = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce"
|
|
464
|
+
|
|
465
|
+
[[package]]
|
|
466
|
+
name = "wide"
|
|
467
|
+
version = "0.7.33"
|
|
468
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
469
|
+
checksum = "0ce5da8ecb62bcd8ec8b7ea19f69a51275e91299be594ea5cc6ef7819e16cd03"
|
|
470
|
+
dependencies = [
|
|
471
|
+
"bytemuck",
|
|
472
|
+
"safe_arch",
|
|
473
|
+
]
|
hprm-0.1.0/Cargo.toml
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
[package]
|
|
2
|
+
name = "hprm"
|
|
3
|
+
version = "0.1.0"
|
|
4
|
+
edition = "2021"
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
|
|
7
|
+
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
8
|
+
[lib]
|
|
9
|
+
name = "hprm"
|
|
10
|
+
crate-type = ["cdylib"]
|
|
11
|
+
|
|
12
|
+
[dependencies]
|
|
13
|
+
pyo3 = { version = "0.27.2", features = ["extension-module"]}
|
|
14
|
+
numpy = "0.27.0"
|
|
15
|
+
nalgebra = "0.34.1"
|
|
16
|
+
|
|
17
|
+
[lints.rust]
|
|
18
|
+
unused_imports = "allow"
|
hprm-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: hprm
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Classifier: Programming Language :: Rust
|
|
5
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
6
|
+
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
7
|
+
Requires-Dist: maturin>=1.8,<2.0 ; extra == 'dev'
|
|
8
|
+
Requires-Dist: pytest ; extra == 'dev'
|
|
9
|
+
Requires-Dist: numpy ; extra == 'examples'
|
|
10
|
+
Requires-Dist: matplotlib ; extra == 'examples'
|
|
11
|
+
Provides-Extra: dev
|
|
12
|
+
Provides-Extra: examples
|
|
13
|
+
Summary: High Powered Rocketry Modeling library
|
|
14
|
+
License: MIT
|
|
15
|
+
Requires-Python: >=3.8
|
|
16
|
+
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
|
|
17
|
+
|
|
18
|
+
# Tools for simulating and modeling rockets.
|
|
19
|
+
|
|
20
|
+
A Python library written in Rust for quick and efficient modeling and analysis of rocket data.
|
|
21
|
+
|
|
22
|
+
Currently it has a 1D-1Dof, and 2D-3Dof model formats, with a 3D-6Dof model format planned. The model parameters are input conditions; planned functionality is to be able to train a model to data.
|
|
23
|
+
|
|
24
|
+
The long-term vision of this project is to be a toolbox for testing out different rocket models with data-fitted and uncertainty-estimated parameters. The primary intended use case is to be a means to do on-the-ground modeling work relavent to past and future rockets; but, it will be performant enough that it could be used in-the-loop in some launch vehicle applications.
|
|
25
|
+
|
|
26
|
+
# Quick Start
|
|
27
|
+
|
|
28
|
+
## Install Rust
|
|
29
|
+
Follow [this guide](https://www.geeksforgeeks.org/installation-guide/how-to-setup-rust-in-vscode/) to get Rust setup in VS Code, or figure out how to set it up in your dev environment of choice.
|
|
30
|
+
|
|
31
|
+
## Install uv
|
|
32
|
+
We use `uv` to handle the python side of this project. It's like pip but better, install it [here](https://docs.astral.sh/uv/getting-started/installation/).
|
|
33
|
+
|
|
34
|
+
##### uv Workflow:
|
|
35
|
+
```bash
|
|
36
|
+
|
|
37
|
+
# Run the Demo
|
|
38
|
+
uv run examples/demo.py
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Publishing
|
|
42
|
+
Releases are automated via GitHub Actions. To publish a new version:
|
|
43
|
+
1. Update version in `Cargo.toml`.
|
|
44
|
+
2. Merge changes to `main`.
|
|
45
|
+
3. Push a tag (e.g., `v0.1.0`).
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
git tag v0.1.0
|
|
49
|
+
git push origin v0.1.0
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
|
hprm-0.1.0/README.md
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Tools for simulating and modeling rockets.
|
|
2
|
+
|
|
3
|
+
A Python library written in Rust for quick and efficient modeling and analysis of rocket data.
|
|
4
|
+
|
|
5
|
+
Currently it has a 1D-1Dof, and 2D-3Dof model formats, with a 3D-6Dof model format planned. The model parameters are input conditions; planned functionality is to be able to train a model to data.
|
|
6
|
+
|
|
7
|
+
The long-term vision of this project is to be a toolbox for testing out different rocket models with data-fitted and uncertainty-estimated parameters. The primary intended use case is to be a means to do on-the-ground modeling work relavent to past and future rockets; but, it will be performant enough that it could be used in-the-loop in some launch vehicle applications.
|
|
8
|
+
|
|
9
|
+
# Quick Start
|
|
10
|
+
|
|
11
|
+
## Install Rust
|
|
12
|
+
Follow [this guide](https://www.geeksforgeeks.org/installation-guide/how-to-setup-rust-in-vscode/) to get Rust setup in VS Code, or figure out how to set it up in your dev environment of choice.
|
|
13
|
+
|
|
14
|
+
## Install uv
|
|
15
|
+
We use `uv` to handle the python side of this project. It's like pip but better, install it [here](https://docs.astral.sh/uv/getting-started/installation/).
|
|
16
|
+
|
|
17
|
+
##### uv Workflow:
|
|
18
|
+
```bash
|
|
19
|
+
|
|
20
|
+
# Run the Demo
|
|
21
|
+
uv run examples/demo.py
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Publishing
|
|
25
|
+
Releases are automated via GitHub Actions. To publish a new version:
|
|
26
|
+
1. Update version in `Cargo.toml`.
|
|
27
|
+
2. Merge changes to `main`.
|
|
28
|
+
3. Push a tag (e.g., `v0.1.0`).
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
git tag v0.1.0
|
|
32
|
+
git push origin v0.1.0
|
|
33
|
+
```
|
|
34
|
+
|