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.
- bsplyne-1.0.3.dist-info/METADATA +164 -0
- {bsplyne-1.0.1.dist-info → bsplyne-1.0.3.dist-info}/RECORD +5 -5
- bsplyne-1.0.1.dist-info/METADATA +0 -96
- {bsplyne-1.0.1.dist-info → bsplyne-1.0.3.dist-info}/WHEEL +0 -0
- {bsplyne-1.0.1.dist-info → bsplyne-1.0.3.dist-info}/licenses/LICENSE.txt +0 -0
- {bsplyne-1.0.1.dist-info → bsplyne-1.0.3.dist-info}/top_level.txt +0 -0
|
@@ -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.
|
|
10
|
-
bsplyne-1.0.
|
|
11
|
-
bsplyne-1.0.
|
|
12
|
-
bsplyne-1.0.
|
|
13
|
-
bsplyne-1.0.
|
|
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,,
|
bsplyne-1.0.1.dist-info/METADATA
DELETED
|
@@ -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
|
-
|
|
File without changes
|
|
File without changes
|
|
File without changes
|