bsplyne 1.0.1__py3-none-any.whl → 1.0.3__py3-none-any.whl

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.
@@ -0,0 +1,164 @@
1
+ Metadata-Version: 2.4
2
+ Name: bsplyne
3
+ Version: 1.0.3
4
+ Summary: N-dimensional B-spline library for numerical mechanics and geometry
5
+ Author-email: Dorian Bichet <dbichet@insa-toulouse.fr>
6
+ Project-URL: Homepage, https://github.com/Dorian210/bsplyne
7
+ Project-URL: Repository, https://github.com/Dorian210/bsplyne
8
+ Project-URL: Issues, https://github.com/Dorian210/bsplyne/issues
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: Programming Language :: Python :: 3 :: Only
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: License :: OSI Approved :: CEA CNRS Inria Logiciel Libre License, version 2.1 (CeCILL-2.1)
13
+ Classifier: Topic :: Scientific/Engineering
14
+ Classifier: Intended Audience :: Science/Research
15
+ Requires-Python: >=3.9
16
+ Description-Content-Type: text/markdown
17
+ License-File: LICENSE.txt
18
+ Requires-Dist: numpy>=1.20
19
+ Requires-Dist: numba>=0.55
20
+ Requires-Dist: scipy>=1.8
21
+ Requires-Dist: matplotlib>=3.5
22
+ Requires-Dist: meshio>=5.0
23
+ Requires-Dist: tqdm>=4.60
24
+ Provides-Extra: viz
25
+ Requires-Dist: pyvista>=0.41; extra == "viz"
26
+ Provides-Extra: dev
27
+ Requires-Dist: build; extra == "dev"
28
+ Requires-Dist: twine; extra == "dev"
29
+ Requires-Dist: pytest; extra == "dev"
30
+ Provides-Extra: docs
31
+ Requires-Dist: wkhtmltopdf; extra == "docs"
32
+ Requires-Dist: pdoc>=12.0; extra == "docs"
33
+ Dynamic: license-file
34
+
35
+ # bsplyne
36
+
37
+ <p align="center">
38
+ <img src="https://raw.githubusercontent.com/Dorian210/bsplyne/main/docs/logo.png" width="500" />
39
+ </p>
40
+
41
+ **bsplyne** is a Python library for working with N-dimensional B-splines, with a focus on numerical mechanics and geometry.
42
+ It implements the Cox–de Boor algorithm for basis evaluation, order elevation, knot insertion, and provides tools for handling
43
+ multi-patch B-spline structures. Visualization and export utilities (e.g. Paraview) are also included.
44
+
45
+ ---
46
+
47
+ ## Installation
48
+
49
+ ### From PyPI (recommended method)
50
+
51
+ Install the core library:
52
+
53
+ ```bash
54
+ pip install bsplyne
55
+ ```
56
+
57
+ Install the library **with recommended visualization features** (additionally install `pyvista`):
58
+
59
+ ```bash
60
+ pip install bsplyne[viz]
61
+ ```
62
+
63
+ > Note: choose either the core (`bsplyne`) or the visualization (`bsplyne[viz]`) installation.
64
+
65
+ ### From source (development mode)
66
+
67
+ Clone the repository and install:
68
+
69
+ ```bash
70
+ git clone https://github.com/Dorian210/bsplyne
71
+ cd bsplyne
72
+ pip install -e . # core
73
+ pip install -e .[viz] # with visualization
74
+ ```
75
+
76
+ ---
77
+
78
+ ## Dependencies
79
+
80
+ Core dependencies are handled automatically by `pip`:
81
+
82
+ - numpy
83
+ - numba
84
+ - scipy
85
+ - matplotlib
86
+ - meshio
87
+ - tqdm
88
+
89
+ Optional visualization:
90
+
91
+ - pyvista (for 3D visualization)
92
+
93
+ ---
94
+
95
+ ## Main Modules
96
+
97
+ - **BSplineBasis**
98
+ Evaluation of B-spline basis functions using the Cox–de Boor recursion formula.
99
+
100
+ - **BSpline**
101
+ Construction and manipulation of N-dimensional B-splines, including order elevation and knot insertion.
102
+
103
+ - **MultiPatchBSplineConnectivity**
104
+ Management of connectivity between multiple B-spline patches.
105
+
106
+ - **CouplesBSplineBorder**
107
+ Utilities for coupling B-spline borders (experimental / less documented).
108
+
109
+ ---
110
+
111
+ ## Tutorials
112
+
113
+ A step-by-step introduction to **bsplyne** is provided in:
114
+
115
+ ```
116
+ examples/tutorial/
117
+ ```
118
+
119
+ These scripts are designed as a progressive entry point to the library and cover:
120
+
121
+ 1. B-spline basis functions
122
+ 2. Curve construction
123
+ 3. Surface generation
124
+ 4. Least-squares fitting
125
+ 5. Multi-patch geometries
126
+ 6. Export to Paraview
127
+
128
+ In addition, a **comprehensive PDF guide** (`tp_bsplyne.pdf`) is included in the tutorials directory, providing a hands-on introduction to the library for new users.
129
+ It explains the workflow, the main modules, and practical usage examples.
130
+
131
+ ---
132
+
133
+ ## Examples
134
+
135
+ Additional standalone examples are available in the `examples/` directory, including:
136
+
137
+ - Curves and surfaces
138
+ - Order elevation and knot insertion
139
+ - Visualization with Matplotlib
140
+ - Export to Paraview
141
+
142
+ ---
143
+
144
+ ## Documentation
145
+
146
+ The full API documentation is available online:
147
+
148
+ https://dorian210.github.io/bsplyne/
149
+
150
+ The documentation is generated from the source code docstrings and reflects the latest published version.
151
+
152
+ ---
153
+
154
+ ## Contributions
155
+
156
+ This project is primarily developed for research purposes.
157
+ While I am not actively reviewing external contributions, bug reports and suggestions are welcome via the issue tracker.
158
+
159
+ ---
160
+
161
+ ## License
162
+
163
+ This project is licensed under the **CeCILL License**.
164
+ See [LICENSE.txt](LICENSE.txt) for details.
@@ -6,8 +6,8 @@ bsplyne/multi_patch_b_spline.py,sha256=zPL4hax-otlRSVft7SteQiWbjk5qN3q-AsG-rAtqP
6
6
  bsplyne/my_wide_product.py,sha256=JqFy2s3ks0wKf4iq22NyzrZo-3Uo7ita-r6fGcGEfEE,5678
7
7
  bsplyne/parallel_utils.py,sha256=M0Tuy8wA3AYltsnr_iYOnREWRGZnPxavq9cpWaEC_lU,15326
8
8
  bsplyne/save_utils.py,sha256=DgIWoLmka75AprbSQnZwAUA0ox2winSOmW9UNBeFU_s,5032
9
- bsplyne-1.0.1.dist-info/licenses/LICENSE.txt,sha256=NuJeFieCkXCWPQlUUkzn5TrngzZmXp09-Q8fk15_r6A,3196
10
- bsplyne-1.0.1.dist-info/METADATA,sha256=1su0tLWuOCrhCSstMAttLty7g3QFWMXXRbI2LiD548M,3154
11
- bsplyne-1.0.1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
12
- bsplyne-1.0.1.dist-info/top_level.txt,sha256=Mwj9pTQb41GC_guOzmpvMcdkXeeAIWF6VtZcXghgx0c,8
13
- bsplyne-1.0.1.dist-info/RECORD,,
9
+ bsplyne-1.0.3.dist-info/licenses/LICENSE.txt,sha256=NuJeFieCkXCWPQlUUkzn5TrngzZmXp09-Q8fk15_r6A,3196
10
+ bsplyne-1.0.3.dist-info/METADATA,sha256=oIblwsVhJE46z1LsVbJtQzkSAI4Nvb9iGyiO-lMf3Rs,4356
11
+ bsplyne-1.0.3.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
12
+ bsplyne-1.0.3.dist-info/top_level.txt,sha256=Mwj9pTQb41GC_guOzmpvMcdkXeeAIWF6VtZcXghgx0c,8
13
+ bsplyne-1.0.3.dist-info/RECORD,,
@@ -1,96 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: bsplyne
3
- Version: 1.0.1
4
- Summary: N-dimensional B-spline library for numerical mechanics and geometry
5
- Author-email: Dorian Bichet <dbichet@insa-toulouse.fr>
6
- Project-URL: Homepage, https://github.com/Dorian210/bsplyne
7
- Project-URL: Repository, https://github.com/Dorian210/bsplyne
8
- Project-URL: Issues, https://github.com/Dorian210/bsplyne/issues
9
- Classifier: Programming Language :: Python :: 3
10
- Classifier: Programming Language :: Python :: 3 :: Only
11
- Classifier: Operating System :: OS Independent
12
- Classifier: License :: OSI Approved :: CEA CNRS Inria Logiciel Libre License, version 2.1 (CeCILL-2.1)
13
- Classifier: Topic :: Scientific/Engineering
14
- Classifier: Intended Audience :: Science/Research
15
- Requires-Python: >=3.9
16
- Description-Content-Type: text/markdown
17
- License-File: LICENSE.txt
18
- Requires-Dist: numpy>=1.20
19
- Requires-Dist: numba>=0.55
20
- Requires-Dist: scipy>=1.8
21
- Requires-Dist: matplotlib>=3.5
22
- Requires-Dist: meshio>=5.0
23
- Requires-Dist: tqdm>=4.60
24
- Provides-Extra: viz
25
- Requires-Dist: pyvista>=0.41; extra == "viz"
26
- Provides-Extra: dev
27
- Requires-Dist: build; extra == "dev"
28
- Requires-Dist: twine; extra == "dev"
29
- Provides-Extra: docs
30
- Requires-Dist: wkhtmltopdf; extra == "docs"
31
- Requires-Dist: pdoc>=12.0; extra == "docs"
32
- Dynamic: license-file
33
-
34
- # bsplyne
35
-
36
- <p align="center">
37
- <img src=docs/logo.png width="500" />
38
- </p>
39
-
40
- **bsplyne** is a Python library for working with N-dimensional B-splines. It implements the Cox-de Boor algorithm for basis evaluation, order elevation, knot insertion, and provides a connectivity class for multi-patch structures. Additionally, it includes visualization tools with export capabilities to Paraview.
41
-
42
- ## Installation
43
-
44
- Since **bsplyne** is not yet on PyPI, you can install it locally as follows:
45
-
46
- ```bash
47
- git clone https://github.com/Dorian210/bsplyne
48
- cd bsplyne
49
- pip install -e .
50
- ```
51
-
52
- ### Dependencies
53
- Make sure you have the following dependencies installed:
54
- - `numpy`
55
- - `numba`
56
- - `scipy`
57
- - `matplotlib`
58
- - `meshio`
59
- - `tqdm`
60
-
61
- ## Main Modules
62
-
63
- - **BSplineBasis**
64
- Implements B-spline basis function evaluation using the Cox-de Boor recursion formula.
65
-
66
- - **BSpline**
67
- Provides methods for creating and manipulating N-dimensional B-splines, including order elevation and knot insertion.
68
-
69
- - **MultiPatchBSplineConnectivity**
70
- Manages the connectivity between multiple N-dimensional B-spline patches.
71
-
72
- - **CouplesBSplineBorder** (less documented)
73
- Handles coupling between B-spline borders.
74
-
75
- ## Examples
76
-
77
- Several example scripts demonstrating the usage of **bsplyne** can be found in the `examples/` directory. These scripts cover:
78
- - Basis evaluation on a curved line
79
- - Plotting with Matplotlib
80
- - Order elevation
81
- - Knot insertion
82
- - Surface examples
83
- - Exporting to Paraview
84
-
85
- ## Documentation
86
-
87
- The full API documentation is available in the `docs/` directory of the project or via the [online documentation portal](https://dorian210.github.io/bsplyne/).
88
-
89
- ## Contributions
90
-
91
- At the moment, I am not actively reviewing contributions. However, if you encounter issues or have suggestions, feel free to open an issue.
92
-
93
- ## License
94
-
95
- This project is licensed under the [CeCILL License](LICENSE.txt).
96
-