wrf-rust 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.
Files changed (46) hide show
  1. wrf_rust-0.1.0/.github/workflows/release.yml +122 -0
  2. wrf_rust-0.1.0/.gitignore +11 -0
  3. wrf_rust-0.1.0/Cargo.lock +698 -0
  4. wrf_rust-0.1.0/Cargo.toml +24 -0
  5. wrf_rust-0.1.0/PKG-INFO +336 -0
  6. wrf_rust-0.1.0/README.md +318 -0
  7. wrf_rust-0.1.0/crates/wrf-core/Cargo.toml +16 -0
  8. wrf_rust-0.1.0/crates/wrf-core/src/compute.rs +110 -0
  9. wrf_rust-0.1.0/crates/wrf-core/src/diag/cape.rs +613 -0
  10. wrf_rust-0.1.0/crates/wrf-core/src/diag/cloud.rs +83 -0
  11. wrf_rust-0.1.0/crates/wrf-core/src/diag/extra.rs +353 -0
  12. wrf_rust-0.1.0/crates/wrf-core/src/diag/helicity.rs +72 -0
  13. wrf_rust-0.1.0/crates/wrf-core/src/diag/mod.rs +12 -0
  14. wrf_rust-0.1.0/crates/wrf-core/src/diag/moisture.rs +70 -0
  15. wrf_rust-0.1.0/crates/wrf-core/src/diag/pressure.rs +123 -0
  16. wrf_rust-0.1.0/crates/wrf-core/src/diag/radar.rs +98 -0
  17. wrf_rust-0.1.0/crates/wrf-core/src/diag/severe.rs +403 -0
  18. wrf_rust-0.1.0/crates/wrf-core/src/diag/srh.rs +356 -0
  19. wrf_rust-0.1.0/crates/wrf-core/src/diag/thermo.rs +120 -0
  20. wrf_rust-0.1.0/crates/wrf-core/src/diag/vorticity.rs +97 -0
  21. wrf_rust-0.1.0/crates/wrf-core/src/diag/wind.rs +140 -0
  22. wrf_rust-0.1.0/crates/wrf-core/src/error.rs +51 -0
  23. wrf_rust-0.1.0/crates/wrf-core/src/extract.rs +47 -0
  24. wrf_rust-0.1.0/crates/wrf-core/src/file.rs +606 -0
  25. wrf_rust-0.1.0/crates/wrf-core/src/grid.rs +99 -0
  26. wrf_rust-0.1.0/crates/wrf-core/src/hdf5_reader.rs +1827 -0
  27. wrf_rust-0.1.0/crates/wrf-core/src/lib.rs +20 -0
  28. wrf_rust-0.1.0/crates/wrf-core/src/met/composite.rs +1233 -0
  29. wrf_rust-0.1.0/crates/wrf-core/src/met/dynamics.rs +154 -0
  30. wrf_rust-0.1.0/crates/wrf-core/src/met/mod.rs +4 -0
  31. wrf_rust-0.1.0/crates/wrf-core/src/met/thermo.rs +766 -0
  32. wrf_rust-0.1.0/crates/wrf-core/src/met/wind.rs +338 -0
  33. wrf_rust-0.1.0/crates/wrf-core/src/multi.rs +101 -0
  34. wrf_rust-0.1.0/crates/wrf-core/src/projection.rs +125 -0
  35. wrf_rust-0.1.0/crates/wrf-core/src/units.rs +194 -0
  36. wrf_rust-0.1.0/crates/wrf-core/src/variables.rs +728 -0
  37. wrf_rust-0.1.0/pyproject.toml +29 -0
  38. wrf_rust-0.1.0/python/wrf/__init__.py +300 -0
  39. wrf_rust-0.1.0/python/wrf/__main__.py +5 -0
  40. wrf_rust-0.1.0/python/wrf/cli.py +385 -0
  41. wrf_rust-0.1.0/python/wrf/explorer.py +1090 -0
  42. wrf_rust-0.1.0/python/wrf/plot.py +1339 -0
  43. wrf_rust-0.1.0/python/wrf/solar7.py +609 -0
  44. wrf_rust-0.1.0/src/lib.rs +12 -0
  45. wrf_rust-0.1.0/src/py_file.rs +159 -0
  46. wrf_rust-0.1.0/src/py_getvar.rs +68 -0
@@ -0,0 +1,122 @@
1
+ name: Build and publish to PyPI
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'v*'
7
+ workflow_dispatch:
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ linux:
14
+ runs-on: ${{ matrix.platform.runner }}
15
+ strategy:
16
+ fail-fast: false
17
+ matrix:
18
+ platform:
19
+ - runner: ubuntu-22.04
20
+ target: x86_64
21
+ - runner: ubuntu-22.04
22
+ target: aarch64
23
+ steps:
24
+ - uses: actions/checkout@v4
25
+ - uses: actions/setup-python@v5
26
+ with:
27
+ python-version: '3.12'
28
+ - name: Build wheels
29
+ uses: PyO3/maturin-action@v1
30
+ with:
31
+ target: ${{ matrix.platform.target }}
32
+ args: --release --out dist -i python3.10 python3.11 python3.12 python3.13
33
+ manylinux: auto
34
+ - name: Upload wheels
35
+ uses: actions/upload-artifact@v4
36
+ with:
37
+ name: wheels-linux-${{ matrix.platform.target }}
38
+ path: dist
39
+
40
+ macos:
41
+ runs-on: ${{ matrix.platform.runner }}
42
+ strategy:
43
+ fail-fast: false
44
+ matrix:
45
+ platform:
46
+ - runner: macos-14
47
+ target: x86_64
48
+ - runner: macos-14
49
+ target: aarch64
50
+ steps:
51
+ - uses: actions/checkout@v4
52
+ - uses: actions/setup-python@v5
53
+ with:
54
+ python-version: '3.12'
55
+ - name: Build wheels
56
+ uses: PyO3/maturin-action@v1
57
+ with:
58
+ target: ${{ matrix.platform.target }}
59
+ args: --release --out dist -i python3.10 python3.11 python3.12 python3.13
60
+ - name: Upload wheels
61
+ uses: actions/upload-artifact@v4
62
+ with:
63
+ name: wheels-macos-${{ matrix.platform.target }}
64
+ path: dist
65
+
66
+ windows:
67
+ runs-on: windows-latest
68
+ strategy:
69
+ matrix:
70
+ target: [x64]
71
+ steps:
72
+ - uses: actions/checkout@v4
73
+ - uses: actions/setup-python@v5
74
+ with:
75
+ python-version: '3.12'
76
+ architecture: ${{ matrix.target }}
77
+ - name: Build wheels
78
+ uses: PyO3/maturin-action@v1
79
+ with:
80
+ args: --release --out dist -i python3.10 python3.11 python3.12 python3.13
81
+ - name: Upload wheels
82
+ uses: actions/upload-artifact@v4
83
+ with:
84
+ name: wheels-windows-${{ matrix.target }}
85
+ path: dist
86
+
87
+ sdist:
88
+ runs-on: ubuntu-latest
89
+ steps:
90
+ - uses: actions/checkout@v4
91
+ - name: Build sdist
92
+ uses: PyO3/maturin-action@v1
93
+ with:
94
+ command: sdist
95
+ args: --out dist
96
+ - name: Upload sdist
97
+ uses: actions/upload-artifact@v4
98
+ with:
99
+ name: wheels-sdist
100
+ path: dist
101
+
102
+ publish:
103
+ name: Publish to PyPI
104
+ runs-on: ubuntu-latest
105
+ needs: [linux, macos, windows, sdist]
106
+ environment:
107
+ name: pypi
108
+ url: https://pypi.org/p/wrf-rust
109
+ permissions:
110
+ id-token: write
111
+ steps:
112
+ - name: Download all wheels
113
+ uses: actions/download-artifact@v4
114
+ with:
115
+ pattern: wheels-*
116
+ merge-multiple: true
117
+ path: dist
118
+ - name: Publish to PyPI
119
+ uses: PyO3/maturin-action@v1
120
+ with:
121
+ command: upload
122
+ args: --non-interactive --skip-existing dist/*
@@ -0,0 +1,11 @@
1
+ /target
2
+ **/*.pyc
3
+ __pycache__/
4
+ *.egg-info/
5
+ dist/
6
+ .env
7
+ *.so
8
+ *.dll
9
+ *.pyd
10
+ showcase/
11
+ .cargo/config.toml