engeom 0.1.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.
Files changed (104) hide show
  1. engeom-0.1.1/.github/workflows/CI.yml +191 -0
  2. engeom-0.1.1/.gitignore +72 -0
  3. engeom-0.1.1/.gitmodules +3 -0
  4. engeom-0.1.1/Cargo.lock +1240 -0
  5. engeom-0.1.1/Cargo.toml +17 -0
  6. engeom-0.1.1/PKG-INFO +10 -0
  7. engeom-0.1.1/engeom/.gitignore +5 -0
  8. engeom-0.1.1/engeom/Cargo.lock +1481 -0
  9. engeom-0.1.1/engeom/Cargo.toml +27 -0
  10. engeom-0.1.1/engeom/README.md +60 -0
  11. engeom-0.1.1/engeom/docs/airfoils/camber.md +47 -0
  12. engeom-0.1.1/engeom/docs/airfoils/overview.md +11 -0
  13. engeom-0.1.1/engeom/docs/common/angles.md +0 -0
  14. engeom-0.1.1/engeom/docs/common/core_space.md +293 -0
  15. engeom-0.1.1/engeom/docs/common/discrete_domain.md +9 -0
  16. engeom-0.1.1/engeom/docs/common/images/surface_point_meas.svg +553 -0
  17. engeom-0.1.1/engeom/docs/common/svd_basis.md +0 -0
  18. engeom-0.1.1/engeom/docs/geom2/alignment.md +2 -0
  19. engeom-0.1.1/engeom/docs/geom2/curve.md +40 -0
  20. engeom-0.1.1/engeom/docs/geom2/point_collections.md +30 -0
  21. engeom-0.1.1/engeom/docs/geom2/shapes.md +5 -0
  22. engeom-0.1.1/engeom/docs/index.md +56 -0
  23. engeom-0.1.1/engeom/docs/javascripts/mathjax.js +19 -0
  24. engeom-0.1.1/engeom/docs/python_rust.md +13 -0
  25. engeom-0.1.1/engeom/mkdocs.yml +39 -0
  26. engeom-0.1.1/engeom/src/airfoil/camber.rs +203 -0
  27. engeom-0.1.1/engeom/src/airfoil/edges.rs +622 -0
  28. engeom-0.1.1/engeom/src/airfoil/helpers.rs +489 -0
  29. engeom-0.1.1/engeom/src/airfoil/inscribed_circle.rs +139 -0
  30. engeom-0.1.1/engeom/src/airfoil/orientation.rs +132 -0
  31. engeom-0.1.1/engeom/src/airfoil.rs +335 -0
  32. engeom-0.1.1/engeom/src/common/align.rs +33 -0
  33. engeom-0.1.1/engeom/src/common/angles.rs +385 -0
  34. engeom-0.1.1/engeom/src/common/convert_2d_3d.rs +156 -0
  35. engeom-0.1.1/engeom/src/common/discrete_domain.rs +275 -0
  36. engeom-0.1.1/engeom/src/common/indices.rs +9 -0
  37. engeom-0.1.1/engeom/src/common/interval.rs +359 -0
  38. engeom-0.1.1/engeom/src/common/points.rs +519 -0
  39. engeom-0.1.1/engeom/src/common/surface_point.rs +131 -0
  40. engeom-0.1.1/engeom/src/common/svd_basis.rs +372 -0
  41. engeom-0.1.1/engeom/src/common/vec_f64.rs +202 -0
  42. engeom-0.1.1/engeom/src/common.rs +77 -0
  43. engeom-0.1.1/engeom/src/errors.rs +30 -0
  44. engeom-0.1.1/engeom/src/func1/common_functions.rs +131 -0
  45. engeom-0.1.1/engeom/src/func1/polynomial.rs +181 -0
  46. engeom-0.1.1/engeom/src/func1/series1.rs +719 -0
  47. engeom-0.1.1/engeom/src/func1.rs +37 -0
  48. engeom-0.1.1/engeom/src/geom2/align2/jacobian.rs +332 -0
  49. engeom-0.1.1/engeom/src/geom2/align2/points_to_curve.rs +162 -0
  50. engeom-0.1.1/engeom/src/geom2/align2/rc_params2.rs +235 -0
  51. engeom-0.1.1/engeom/src/geom2/align2.rs +26 -0
  52. engeom-0.1.1/engeom/src/geom2/angles2.rs +129 -0
  53. engeom-0.1.1/engeom/src/geom2/circle2.rs +739 -0
  54. engeom-0.1.1/engeom/src/geom2/curve2.rs +1210 -0
  55. engeom-0.1.1/engeom/src/geom2/hull.rs +434 -0
  56. engeom-0.1.1/engeom/src/geom2/kd_tree2.rs +35 -0
  57. engeom-0.1.1/engeom/src/geom2/line2.rs +174 -0
  58. engeom-0.1.1/engeom/src/geom2/polyline2.rs +312 -0
  59. engeom-0.1.1/engeom/src/geom2.rs +81 -0
  60. engeom-0.1.1/engeom/src/geom3/align3/jacobian.rs +369 -0
  61. engeom-0.1.1/engeom/src/geom3/align3/multi_param.rs +154 -0
  62. engeom-0.1.1/engeom/src/geom3/align3/points_to_mesh.rs +184 -0
  63. engeom-0.1.1/engeom/src/geom3/align3/rotations.rs +247 -0
  64. engeom-0.1.1/engeom/src/geom3/align3.rs +203 -0
  65. engeom-0.1.1/engeom/src/geom3/curve3.rs +310 -0
  66. engeom-0.1.1/engeom/src/geom3/kd_tree3.rs +46 -0
  67. engeom-0.1.1/engeom/src/geom3/mesh/patches.rs +166 -0
  68. engeom-0.1.1/engeom/src/geom3/mesh/serialization.rs +106 -0
  69. engeom-0.1.1/engeom/src/geom3/mesh/uv_mapping.rs +91 -0
  70. engeom-0.1.1/engeom/src/geom3/mesh.rs +394 -0
  71. engeom-0.1.1/engeom/src/geom3/plane3.rs +132 -0
  72. engeom-0.1.1/engeom/src/geom3/points.rs +19 -0
  73. engeom-0.1.1/engeom/src/geom3.rs +139 -0
  74. engeom-0.1.1/engeom/src/io.rs +121 -0
  75. engeom-0.1.1/engeom/src/lib.rs +36 -0
  76. engeom-0.1.1/engeom/src/metrology/line_profiles.rs +49 -0
  77. engeom-0.1.1/engeom/src/metrology/surface_deviation.rs +205 -0
  78. engeom-0.1.1/engeom/src/metrology/tolerance.rs +78 -0
  79. engeom-0.1.1/engeom/src/metrology/tolerance_map.rs +86 -0
  80. engeom-0.1.1/engeom/src/metrology.rs +12 -0
  81. engeom-0.1.1/engeom/src/stats.rs +120 -0
  82. engeom-0.1.1/engeom/src/utility.rs +193 -0
  83. engeom-0.1.1/pyproject.toml +23 -0
  84. engeom-0.1.1/python/engeom/__init__.py +6 -0
  85. engeom-0.1.1/python/engeom/align/__init__.py +5 -0
  86. engeom-0.1.1/python/engeom/align.pyi +24 -0
  87. engeom-0.1.1/python/engeom/engeom.pyi +14 -0
  88. engeom-0.1.1/python/engeom/geom2/__init__.py +5 -0
  89. engeom-0.1.1/python/engeom/geom2.pyi +139 -0
  90. engeom-0.1.1/python/engeom/geom3/__init__.py +5 -0
  91. engeom-0.1.1/python/engeom/geom3.pyi +425 -0
  92. engeom-0.1.1/python/engeom/matplotlib.py +44 -0
  93. engeom-0.1.1/python/engeom/pyvista.py +26 -0
  94. engeom-0.1.1/python/tests/test_all.py +3 -0
  95. engeom-0.1.1/src/alignments.rs +29 -0
  96. engeom-0.1.1/src/common.rs +18 -0
  97. engeom-0.1.1/src/conversions.rs +71 -0
  98. engeom-0.1.1/src/geom2.rs +286 -0
  99. engeom-0.1.1/src/geom3.rs +424 -0
  100. engeom-0.1.1/src/isometries.rs +8 -0
  101. engeom-0.1.1/src/lib.rs +68 -0
  102. engeom-0.1.1/src/mesh.rs +150 -0
  103. engeom-0.1.1/src/primitives.rs +3 -0
  104. engeom-0.1.1/src/svd_basis.rs +105 -0
@@ -0,0 +1,191 @@
1
+ # This file is autogenerated by maturin v1.8.1
2
+ # To update, run
3
+ #
4
+ # maturin generate-ci github
5
+ #
6
+ name: CI
7
+
8
+ on:
9
+ push:
10
+ branches:
11
+ - main
12
+ - master
13
+ tags:
14
+ - '*'
15
+ pull_request:
16
+ workflow_dispatch:
17
+
18
+ permissions:
19
+ contents: read
20
+
21
+ jobs:
22
+ linux:
23
+ runs-on: ${{ matrix.platform.runner }}
24
+ strategy:
25
+ matrix:
26
+ platform:
27
+ - runner: ubuntu-22.04
28
+ target: x86_64
29
+ - runner: ubuntu-22.04
30
+ target: x86
31
+ - runner: ubuntu-22.04
32
+ target: aarch64
33
+ - runner: ubuntu-22.04
34
+ target: armv7
35
+ - runner: ubuntu-22.04
36
+ target: s390x
37
+ - runner: ubuntu-22.04
38
+ target: ppc64le
39
+ steps:
40
+ - uses: actions/checkout@v4
41
+ with:
42
+ submodules: "recursive"
43
+ - uses: actions/setup-python@v5
44
+ with:
45
+ python-version: 3.x
46
+ - name: Build wheels
47
+ uses: PyO3/maturin-action@v1
48
+ with:
49
+ target: ${{ matrix.platform.target }}
50
+ args: --release --out dist --find-interpreter
51
+ sccache: 'true'
52
+ manylinux: auto
53
+ - name: Upload wheels
54
+ uses: actions/upload-artifact@v4
55
+ with:
56
+ name: wheels-linux-${{ matrix.platform.target }}
57
+ path: dist
58
+
59
+ musllinux:
60
+ runs-on: ${{ matrix.platform.runner }}
61
+ strategy:
62
+ matrix:
63
+ platform:
64
+ - runner: ubuntu-22.04
65
+ target: x86_64
66
+ - runner: ubuntu-22.04
67
+ target: x86
68
+ - runner: ubuntu-22.04
69
+ target: aarch64
70
+ - runner: ubuntu-22.04
71
+ target: armv7
72
+ steps:
73
+ - uses: actions/checkout@v4
74
+ with:
75
+ submodules: "recursive"
76
+ - uses: actions/setup-python@v5
77
+ with:
78
+ python-version: 3.x
79
+ - name: Build wheels
80
+ uses: PyO3/maturin-action@v1
81
+ with:
82
+ target: ${{ matrix.platform.target }}
83
+ args: --release --out dist --find-interpreter
84
+ sccache: 'true'
85
+ manylinux: musllinux_1_2
86
+ - name: Upload wheels
87
+ uses: actions/upload-artifact@v4
88
+ with:
89
+ name: wheels-musllinux-${{ matrix.platform.target }}
90
+ path: dist
91
+
92
+ windows:
93
+ runs-on: ${{ matrix.platform.runner }}
94
+ strategy:
95
+ matrix:
96
+ platform:
97
+ - runner: windows-latest
98
+ target: x64
99
+ - runner: windows-latest
100
+ target: x86
101
+ steps:
102
+ - uses: actions/checkout@v4
103
+ with:
104
+ submodules: "recursive"
105
+ - uses: actions/setup-python@v5
106
+ with:
107
+ python-version: 3.x
108
+ architecture: ${{ matrix.platform.target }}
109
+ - name: Build wheels
110
+ uses: PyO3/maturin-action@v1
111
+ with:
112
+ target: ${{ matrix.platform.target }}
113
+ args: --release --out dist --find-interpreter
114
+ sccache: 'true'
115
+ - name: Upload wheels
116
+ uses: actions/upload-artifact@v4
117
+ with:
118
+ name: wheels-windows-${{ matrix.platform.target }}
119
+ path: dist
120
+
121
+ macos:
122
+ runs-on: ${{ matrix.platform.runner }}
123
+ strategy:
124
+ matrix:
125
+ platform:
126
+ - runner: macos-13
127
+ target: x86_64
128
+ - runner: macos-14
129
+ target: aarch64
130
+ steps:
131
+ - uses: actions/checkout@v4
132
+ with:
133
+ submodules: "recursive"
134
+ - uses: actions/setup-python@v5
135
+ with:
136
+ python-version: 3.x
137
+ - name: Build wheels
138
+ uses: PyO3/maturin-action@v1
139
+ with:
140
+ target: ${{ matrix.platform.target }}
141
+ args: --release --out dist --find-interpreter
142
+ sccache: 'true'
143
+ - name: Upload wheels
144
+ uses: actions/upload-artifact@v4
145
+ with:
146
+ name: wheels-macos-${{ matrix.platform.target }}
147
+ path: dist
148
+
149
+ sdist:
150
+ runs-on: ubuntu-latest
151
+ steps:
152
+ - uses: actions/checkout@v4
153
+ with:
154
+ submodules: "recursive"
155
+ - name: Build sdist
156
+ uses: PyO3/maturin-action@v1
157
+ with:
158
+ command: sdist
159
+ args: --out dist
160
+ - name: Upload sdist
161
+ uses: actions/upload-artifact@v4
162
+ with:
163
+ name: wheels-sdist
164
+ path: dist
165
+
166
+ release:
167
+ name: Release
168
+ runs-on: ubuntu-latest
169
+ if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
170
+ needs: [linux, musllinux, windows, macos, sdist]
171
+ permissions:
172
+ # Use to sign the release artifacts
173
+ id-token: write
174
+ # Used to upload release artifacts
175
+ contents: write
176
+ # Used to generate artifact attestation
177
+ attestations: write
178
+ steps:
179
+ - uses: actions/download-artifact@v4
180
+ - name: Generate artifact attestation
181
+ uses: actions/attest-build-provenance@v1
182
+ with:
183
+ subject-path: 'wheels-*/*'
184
+ - name: Publish to PyPI
185
+ if: ${{ startsWith(github.ref, 'refs/tags/') }}
186
+ uses: PyO3/maturin-action@v1
187
+ env:
188
+ MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
189
+ with:
190
+ command: upload
191
+ args: --non-interactive --skip-existing wheels-*/*
@@ -0,0 +1,72 @@
1
+ /target
2
+
3
+ # Byte-compiled / optimized / DLL files
4
+ __pycache__/
5
+ .pytest_cache/
6
+ *.py[cod]
7
+
8
+ # C extensions
9
+ *.so
10
+
11
+ # Distribution / packaging
12
+ .Python
13
+ .venv/
14
+ env/
15
+ bin/
16
+ build/
17
+ develop-eggs/
18
+ dist/
19
+ eggs/
20
+ lib/
21
+ lib64/
22
+ parts/
23
+ sdist/
24
+ var/
25
+ include/
26
+ man/
27
+ venv/
28
+ *.egg-info/
29
+ .installed.cfg
30
+ *.egg
31
+
32
+ # Installer logs
33
+ pip-log.txt
34
+ pip-delete-this-directory.txt
35
+ pip-selfcheck.json
36
+
37
+ # Unit test / coverage reports
38
+ htmlcov/
39
+ .tox/
40
+ .coverage
41
+ .cache
42
+ nosetests.xml
43
+ coverage.xml
44
+
45
+ # Translations
46
+ *.mo
47
+
48
+ # Mr Developer
49
+ .mr.developer.cfg
50
+ .project
51
+ .pydevproject
52
+
53
+ # Rope
54
+ .ropeproject
55
+
56
+ # Django stuff:
57
+ *.log
58
+ *.pot
59
+
60
+ .DS_Store
61
+
62
+ # Sphinx documentation
63
+ docs/_build/
64
+
65
+ # PyCharm
66
+ .idea/
67
+
68
+ # VSCode
69
+ .vscode/
70
+
71
+ # Pyenv
72
+ .python-version
@@ -0,0 +1,3 @@
1
+ [submodule "engeom"]
2
+ path = engeom
3
+ url = ../engeom.git