geopyv-dev 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 (66) hide show
  1. geopyv_dev-0.1.0/.github/workflows/release.yml +125 -0
  2. geopyv_dev-0.1.0/.gitignore +20 -0
  3. geopyv_dev-0.1.0/Cargo.lock +1414 -0
  4. geopyv_dev-0.1.0/Cargo.toml +19 -0
  5. geopyv_dev-0.1.0/LICENSE +674 -0
  6. geopyv_dev-0.1.0/PKG-INFO +20 -0
  7. geopyv_dev-0.1.0/README.md +2 -0
  8. geopyv_dev-0.1.0/geopyv_dev/__init__.py +14 -0
  9. geopyv_dev-0.1.0/geopyv_dev/plots.py +339 -0
  10. geopyv_dev-0.1.0/geopyv_dev/wrappers.py +57 -0
  11. geopyv_dev-0.1.0/images/comp/compression_0.jpg +0 -0
  12. geopyv_dev-0.1.0/images/comp/compression_1.jpg +0 -0
  13. geopyv_dev-0.1.0/images/comp/compression_10.jpg +0 -0
  14. geopyv_dev-0.1.0/images/comp/compression_2.jpg +0 -0
  15. geopyv_dev-0.1.0/images/comp/compression_3.jpg +0 -0
  16. geopyv_dev-0.1.0/images/comp/compression_4.jpg +0 -0
  17. geopyv_dev-0.1.0/images/comp/compression_5.jpg +0 -0
  18. geopyv_dev-0.1.0/images/comp/compression_6.jpg +0 -0
  19. geopyv_dev-0.1.0/images/comp/compression_7.jpg +0 -0
  20. geopyv_dev-0.1.0/images/comp/compression_8.jpg +0 -0
  21. geopyv_dev-0.1.0/images/comp/compression_9.jpg +0 -0
  22. geopyv_dev-0.1.0/images/shear/shear_0.jpg +0 -0
  23. geopyv_dev-0.1.0/images/shear/shear_1.jpg +0 -0
  24. geopyv_dev-0.1.0/pyproject.toml +32 -0
  25. geopyv_dev-0.1.0/python/Cargo.toml +14 -0
  26. geopyv_dev-0.1.0/python/geopyv-dev/__init__.py +1 -0
  27. geopyv_dev-0.1.0/python/src/lib.rs +49 -0
  28. geopyv_dev-0.1.0/python/src/py_field.rs +299 -0
  29. geopyv_dev-0.1.0/python/src/py_geometry.rs +460 -0
  30. geopyv_dev-0.1.0/python/src/py_image.rs +105 -0
  31. geopyv_dev-0.1.0/python/src/py_io.rs +70 -0
  32. geopyv_dev-0.1.0/python/src/py_mesh.rs +619 -0
  33. geopyv_dev-0.1.0/python/src/py_particle.rs +540 -0
  34. geopyv_dev-0.1.0/python/src/py_sequence.rs +301 -0
  35. geopyv_dev-0.1.0/python/src/py_subset.rs +257 -0
  36. geopyv_dev-0.1.0/python/src/py_templates.rs +172 -0
  37. geopyv_dev-0.1.0/python/src/py_validation.rs +56 -0
  38. geopyv_dev-0.1.0/src/error.rs +39 -0
  39. geopyv_dev-0.1.0/src/field.rs +596 -0
  40. geopyv_dev-0.1.0/src/geometry/meshing.rs +302 -0
  41. geopyv_dev-0.1.0/src/geometry/mod.rs +4 -0
  42. geopyv_dev-0.1.0/src/geometry/region.rs +492 -0
  43. geopyv_dev-0.1.0/src/geometry/triangulation.rs +882 -0
  44. geopyv_dev-0.1.0/src/geometry/utilities.rs +264 -0
  45. geopyv_dev-0.1.0/src/image.rs +411 -0
  46. geopyv_dev-0.1.0/src/io.rs +240 -0
  47. geopyv_dev-0.1.0/src/lib.rs +13 -0
  48. geopyv_dev-0.1.0/src/mesh.rs +1352 -0
  49. geopyv_dev-0.1.0/src/particle.rs +1003 -0
  50. geopyv_dev-0.1.0/src/sequence.rs +720 -0
  51. geopyv_dev-0.1.0/src/subset.rs +1078 -0
  52. geopyv_dev-0.1.0/src/templates.rs +305 -0
  53. geopyv_dev-0.1.0/src/validation.rs +234 -0
  54. geopyv_dev-0.1.0/tests/python/field/test_field.py +316 -0
  55. geopyv_dev-0.1.0/tests/python/geometry/test_geometry.py +245 -0
  56. geopyv_dev-0.1.0/tests/python/image/test_image.py +164 -0
  57. geopyv_dev-0.1.0/tests/python/io/test_io.py +171 -0
  58. geopyv_dev-0.1.0/tests/python/mesh/test_mesh.py +327 -0
  59. geopyv_dev-0.1.0/tests/python/particle/test_particle.py +471 -0
  60. geopyv_dev-0.1.0/tests/python/plots/__init__.py +0 -0
  61. geopyv_dev-0.1.0/tests/python/plots/conftest.py +2 -0
  62. geopyv_dev-0.1.0/tests/python/plots/test_plots.py +403 -0
  63. geopyv_dev-0.1.0/tests/python/sequence/test_sequence.py +486 -0
  64. geopyv_dev-0.1.0/tests/python/subset/test_subset.py +347 -0
  65. geopyv_dev-0.1.0/tests/python/templates/test_templates.py +183 -0
  66. geopyv_dev-0.1.0/tests/python/validation/test_validation.py +107 -0
@@ -0,0 +1,125 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*.*.*"
7
+
8
+ permissions:
9
+ contents: read
10
+
11
+ jobs:
12
+ build_wheels:
13
+ name: Build wheels on ${{ matrix.os }} ${{ matrix.python-version || '' }}
14
+ runs-on: ${{ matrix.os }}
15
+
16
+ strategy:
17
+ matrix:
18
+ include:
19
+ # -------------------------
20
+ # Linux (single job builds all versions)
21
+ # -------------------------
22
+ - os: ubuntu-latest
23
+ python-version: ""
24
+
25
+ # -------------------------
26
+ # Windows (matrix per Python version)
27
+ # -------------------------
28
+ - os: windows-latest
29
+ python-version: "3.8"
30
+ - os: windows-latest
31
+ python-version: "3.9"
32
+ - os: windows-latest
33
+ python-version: "3.10"
34
+ - os: windows-latest
35
+ python-version: "3.11"
36
+ - os: windows-latest
37
+ python-version: "3.12"
38
+
39
+ steps:
40
+ - uses: actions/checkout@v4
41
+
42
+ # -------------------------
43
+ # Linux (manylinux wheels)
44
+ # -------------------------
45
+ - name: Build wheels (Linux x86_64)
46
+ if: matrix.os == 'ubuntu-latest'
47
+ uses: PyO3/maturin-action@v1
48
+ with:
49
+ command: build
50
+ args: --release --out dist -i python3.8 -i python3.9 -i python3.10 -i python3.11 -i python3.12
51
+ manylinux: auto
52
+
53
+ - name: Build wheels (Linux aarch64)
54
+ if: matrix.os == 'ubuntu-latest'
55
+ uses: PyO3/maturin-action@v1
56
+ with:
57
+ command: build
58
+ args: --release --out dist -i python3.8 -i python3.9 -i python3.10 -i python3.11 -i python3.12
59
+ manylinux: auto
60
+ target: aarch64-unknown-linux-gnu
61
+
62
+ # -------------------------
63
+ # Windows (per Python version)
64
+ # -------------------------
65
+ - name: Set up Python (Windows)
66
+ if: matrix.os == 'windows-latest'
67
+ uses: actions/setup-python@v5
68
+ with:
69
+ python-version: ${{ matrix.python-version }}
70
+
71
+ - name: Build wheels (Windows)
72
+ if: matrix.os == 'windows-latest'
73
+ uses: PyO3/maturin-action@v1
74
+ with:
75
+ command: build
76
+ args: --release --out dist
77
+
78
+ # -------------------------
79
+ # Upload artifacts
80
+ # -------------------------
81
+ - uses: actions/upload-artifact@v4
82
+ with:
83
+ name: wheels-${{ matrix.os }}-${{ matrix.python-version || 'linux' }}
84
+ path: dist/*.whl
85
+
86
+ build_sdist:
87
+ name: Build source distribution
88
+ runs-on: ubuntu-latest
89
+
90
+ steps:
91
+ - uses: actions/checkout@v4
92
+
93
+ - name: Build sdist
94
+ uses: PyO3/maturin-action@v1
95
+ with:
96
+ command: sdist
97
+ args: --out dist
98
+
99
+ - uses: actions/upload-artifact@v4
100
+ with:
101
+ name: sdist
102
+ path: dist/*.tar.gz
103
+
104
+ publish:
105
+ name: Publish to PyPI
106
+ needs: [build_wheels, build_sdist]
107
+ runs-on: ubuntu-latest
108
+ environment: pypi
109
+
110
+ permissions:
111
+ id-token: write
112
+
113
+ steps:
114
+ - uses: actions/download-artifact@v4
115
+ with:
116
+ pattern: wheels-*
117
+ path: dist
118
+ merge-multiple: true
119
+
120
+ - uses: actions/download-artifact@v4
121
+ with:
122
+ name: sdist
123
+ path: dist
124
+
125
+ - uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,20 @@
1
+ # Rust
2
+ /target
3
+ debug/
4
+ **/*.rs.bk
5
+ *.pdb
6
+ **/mutants.out*/
7
+
8
+ # Python
9
+ __pycache__/
10
+ *.py[cod]
11
+ *.so
12
+ *.pyd
13
+ .venv/
14
+ dist/
15
+ *.egg-info/
16
+ wheelhouse/
17
+
18
+ # maturin build output
19
+ geopyv_dev/_geopyv_dev*.so
20
+ geopyv_dev/_geopyv_dev*.pyd