bsplyne 1.0.1__tar.gz → 1.0.2__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.
bsplyne-1.0.2/PKG-INFO ADDED
@@ -0,0 +1,178 @@
1
+ Metadata-Version: 2.4
2
+ Name: bsplyne
3
+ Version: 1.0.2
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="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
+ ### Using pip
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, not both.
64
+
65
+ ### Using conda (conda-forge)
66
+
67
+ Install the core library:
68
+
69
+ ```bash
70
+ conda install -c conda-forge bsplyne
71
+ ```
72
+
73
+ Optional: install PyVista to enable visualization features:
74
+
75
+ ```bash
76
+ conda install -c conda-forge pyvista
77
+ ```
78
+
79
+ ### From source (development mode)
80
+
81
+ Clone the repository and install:
82
+
83
+ ```bash
84
+ git clone https://github.com/Dorian210/bsplyne
85
+ cd bsplyne
86
+ pip install -e . # core
87
+ pip install -e .[viz] # with visualization
88
+ ```
89
+
90
+ ---
91
+
92
+ ## Dependencies
93
+
94
+ Core dependencies are handled automatically by `pip` or `conda`:
95
+
96
+ - numpy
97
+ - numba
98
+ - scipy
99
+ - matplotlib
100
+ - meshio
101
+ - tqdm
102
+
103
+ Optional visualization:
104
+
105
+ - pyvista (for 3D visualization)
106
+
107
+ ---
108
+
109
+ ## Main Modules
110
+
111
+ - **BSplineBasis**
112
+ Evaluation of B-spline basis functions using the Cox–de Boor recursion formula.
113
+
114
+ - **BSpline**
115
+ Construction and manipulation of N-dimensional B-splines, including order elevation and knot insertion.
116
+
117
+ - **MultiPatchBSplineConnectivity**
118
+ Management of connectivity between multiple B-spline patches.
119
+
120
+ - **CouplesBSplineBorder**
121
+ Utilities for coupling B-spline borders (experimental / less documented).
122
+
123
+ ---
124
+
125
+ ## Tutorials
126
+
127
+ A step-by-step introduction to **bsplyne** is provided in:
128
+
129
+ ```
130
+ examples/tutorial/
131
+ ```
132
+
133
+ These scripts are designed as a progressive entry point to the library and cover:
134
+
135
+ 1. B-spline basis functions
136
+ 2. Curve construction
137
+ 3. Surface generation
138
+ 4. Least-squares fitting
139
+ 5. Multi-patch geometries
140
+ 6. Export to Paraview
141
+
142
+ 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.
143
+ It explains the workflow, the main modules, and practical usage examples.
144
+
145
+ ---
146
+
147
+ ## Examples
148
+
149
+ Additional standalone examples are available in the `examples/` directory, including:
150
+
151
+ - Curves and surfaces
152
+ - Order elevation and knot insertion
153
+ - Visualization with Matplotlib
154
+ - Export to Paraview
155
+
156
+ ---
157
+
158
+ ## Documentation
159
+
160
+ The full API documentation is available online:
161
+
162
+ https://dorian210.github.io/bsplyne/
163
+
164
+ The documentation is generated from the source code docstrings and reflects the latest published version.
165
+
166
+ ---
167
+
168
+ ## Contributions
169
+
170
+ This project is primarily developed for research purposes.
171
+ While I am not actively reviewing external contributions, bug reports and suggestions are welcome via the issue tracker.
172
+
173
+ ---
174
+
175
+ ## License
176
+
177
+ This project is licensed under the **CeCILL License**.
178
+ See [LICENSE.txt](LICENSE.txt) for details.
@@ -0,0 +1,144 @@
1
+ # bsplyne
2
+
3
+ <p align="center">
4
+ <img src="docs/logo.png" width="500" />
5
+ </p>
6
+
7
+ **bsplyne** is a Python library for working with N-dimensional B-splines, with a focus on numerical mechanics and geometry.
8
+ It implements the Cox–de Boor algorithm for basis evaluation, order elevation, knot insertion, and provides tools for handling
9
+ multi-patch B-spline structures. Visualization and export utilities (e.g. Paraview) are also included.
10
+
11
+ ---
12
+
13
+ ## Installation
14
+
15
+ ### Using pip
16
+
17
+ Install the core library:
18
+
19
+ ```bash
20
+ pip install bsplyne
21
+ ```
22
+
23
+ Install the library **with recommended visualization features** (additionally install `pyvista`):
24
+
25
+ ```bash
26
+ pip install bsplyne[viz]
27
+ ```
28
+
29
+ > Note: choose either the core (`bsplyne`) or the visualization (`bsplyne[viz]`) installation, not both.
30
+
31
+ ### Using conda (conda-forge)
32
+
33
+ Install the core library:
34
+
35
+ ```bash
36
+ conda install -c conda-forge bsplyne
37
+ ```
38
+
39
+ Optional: install PyVista to enable visualization features:
40
+
41
+ ```bash
42
+ conda install -c conda-forge pyvista
43
+ ```
44
+
45
+ ### From source (development mode)
46
+
47
+ Clone the repository and install:
48
+
49
+ ```bash
50
+ git clone https://github.com/Dorian210/bsplyne
51
+ cd bsplyne
52
+ pip install -e . # core
53
+ pip install -e .[viz] # with visualization
54
+ ```
55
+
56
+ ---
57
+
58
+ ## Dependencies
59
+
60
+ Core dependencies are handled automatically by `pip` or `conda`:
61
+
62
+ - numpy
63
+ - numba
64
+ - scipy
65
+ - matplotlib
66
+ - meshio
67
+ - tqdm
68
+
69
+ Optional visualization:
70
+
71
+ - pyvista (for 3D visualization)
72
+
73
+ ---
74
+
75
+ ## Main Modules
76
+
77
+ - **BSplineBasis**
78
+ Evaluation of B-spline basis functions using the Cox–de Boor recursion formula.
79
+
80
+ - **BSpline**
81
+ Construction and manipulation of N-dimensional B-splines, including order elevation and knot insertion.
82
+
83
+ - **MultiPatchBSplineConnectivity**
84
+ Management of connectivity between multiple B-spline patches.
85
+
86
+ - **CouplesBSplineBorder**
87
+ Utilities for coupling B-spline borders (experimental / less documented).
88
+
89
+ ---
90
+
91
+ ## Tutorials
92
+
93
+ A step-by-step introduction to **bsplyne** is provided in:
94
+
95
+ ```
96
+ examples/tutorial/
97
+ ```
98
+
99
+ These scripts are designed as a progressive entry point to the library and cover:
100
+
101
+ 1. B-spline basis functions
102
+ 2. Curve construction
103
+ 3. Surface generation
104
+ 4. Least-squares fitting
105
+ 5. Multi-patch geometries
106
+ 6. Export to Paraview
107
+
108
+ 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.
109
+ It explains the workflow, the main modules, and practical usage examples.
110
+
111
+ ---
112
+
113
+ ## Examples
114
+
115
+ Additional standalone examples are available in the `examples/` directory, including:
116
+
117
+ - Curves and surfaces
118
+ - Order elevation and knot insertion
119
+ - Visualization with Matplotlib
120
+ - Export to Paraview
121
+
122
+ ---
123
+
124
+ ## Documentation
125
+
126
+ The full API documentation is available online:
127
+
128
+ https://dorian210.github.io/bsplyne/
129
+
130
+ The documentation is generated from the source code docstrings and reflects the latest published version.
131
+
132
+ ---
133
+
134
+ ## Contributions
135
+
136
+ This project is primarily developed for research purposes.
137
+ While I am not actively reviewing external contributions, bug reports and suggestions are welcome via the issue tracker.
138
+
139
+ ---
140
+
141
+ ## License
142
+
143
+ This project is licensed under the **CeCILL License**.
144
+ See [LICENSE.txt](LICENSE.txt) for details.
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "bsplyne"
7
- version = "1.0.1"
7
+ version = "1.0.2"
8
8
  description = "N-dimensional B-spline library for numerical mechanics and geometry"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -44,7 +44,8 @@ viz = [
44
44
  ]
45
45
  dev = [
46
46
  "build",
47
- "twine"
47
+ "twine",
48
+ "pytest"
48
49
  ]
49
50
  docs = [
50
51
  "wkhtmltopdf",
@@ -0,0 +1,178 @@
1
+ Metadata-Version: 2.4
2
+ Name: bsplyne
3
+ Version: 1.0.2
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="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
+ ### Using pip
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, not both.
64
+
65
+ ### Using conda (conda-forge)
66
+
67
+ Install the core library:
68
+
69
+ ```bash
70
+ conda install -c conda-forge bsplyne
71
+ ```
72
+
73
+ Optional: install PyVista to enable visualization features:
74
+
75
+ ```bash
76
+ conda install -c conda-forge pyvista
77
+ ```
78
+
79
+ ### From source (development mode)
80
+
81
+ Clone the repository and install:
82
+
83
+ ```bash
84
+ git clone https://github.com/Dorian210/bsplyne
85
+ cd bsplyne
86
+ pip install -e . # core
87
+ pip install -e .[viz] # with visualization
88
+ ```
89
+
90
+ ---
91
+
92
+ ## Dependencies
93
+
94
+ Core dependencies are handled automatically by `pip` or `conda`:
95
+
96
+ - numpy
97
+ - numba
98
+ - scipy
99
+ - matplotlib
100
+ - meshio
101
+ - tqdm
102
+
103
+ Optional visualization:
104
+
105
+ - pyvista (for 3D visualization)
106
+
107
+ ---
108
+
109
+ ## Main Modules
110
+
111
+ - **BSplineBasis**
112
+ Evaluation of B-spline basis functions using the Cox–de Boor recursion formula.
113
+
114
+ - **BSpline**
115
+ Construction and manipulation of N-dimensional B-splines, including order elevation and knot insertion.
116
+
117
+ - **MultiPatchBSplineConnectivity**
118
+ Management of connectivity between multiple B-spline patches.
119
+
120
+ - **CouplesBSplineBorder**
121
+ Utilities for coupling B-spline borders (experimental / less documented).
122
+
123
+ ---
124
+
125
+ ## Tutorials
126
+
127
+ A step-by-step introduction to **bsplyne** is provided in:
128
+
129
+ ```
130
+ examples/tutorial/
131
+ ```
132
+
133
+ These scripts are designed as a progressive entry point to the library and cover:
134
+
135
+ 1. B-spline basis functions
136
+ 2. Curve construction
137
+ 3. Surface generation
138
+ 4. Least-squares fitting
139
+ 5. Multi-patch geometries
140
+ 6. Export to Paraview
141
+
142
+ 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.
143
+ It explains the workflow, the main modules, and practical usage examples.
144
+
145
+ ---
146
+
147
+ ## Examples
148
+
149
+ Additional standalone examples are available in the `examples/` directory, including:
150
+
151
+ - Curves and surfaces
152
+ - Order elevation and knot insertion
153
+ - Visualization with Matplotlib
154
+ - Export to Paraview
155
+
156
+ ---
157
+
158
+ ## Documentation
159
+
160
+ The full API documentation is available online:
161
+
162
+ https://dorian210.github.io/bsplyne/
163
+
164
+ The documentation is generated from the source code docstrings and reflects the latest published version.
165
+
166
+ ---
167
+
168
+ ## Contributions
169
+
170
+ This project is primarily developed for research purposes.
171
+ While I am not actively reviewing external contributions, bug reports and suggestions are welcome via the issue tracker.
172
+
173
+ ---
174
+
175
+ ## License
176
+
177
+ This project is licensed under the **CeCILL License**.
178
+ See [LICENSE.txt](LICENSE.txt) for details.
@@ -8,6 +8,7 @@ tqdm>=4.60
8
8
  [dev]
9
9
  build
10
10
  twine
11
+ pytest
11
12
 
12
13
  [docs]
13
14
  wkhtmltopdf
bsplyne-1.0.1/PKG-INFO 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
-
bsplyne-1.0.1/README.md DELETED
@@ -1,63 +0,0 @@
1
- # bsplyne
2
-
3
- <p align="center">
4
- <img src=docs/logo.png width="500" />
5
- </p>
6
-
7
- **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.
8
-
9
- ## Installation
10
-
11
- Since **bsplyne** is not yet on PyPI, you can install it locally as follows:
12
-
13
- ```bash
14
- git clone https://github.com/Dorian210/bsplyne
15
- cd bsplyne
16
- pip install -e .
17
- ```
18
-
19
- ### Dependencies
20
- Make sure you have the following dependencies installed:
21
- - `numpy`
22
- - `numba`
23
- - `scipy`
24
- - `matplotlib`
25
- - `meshio`
26
- - `tqdm`
27
-
28
- ## Main Modules
29
-
30
- - **BSplineBasis**
31
- Implements B-spline basis function evaluation using the Cox-de Boor recursion formula.
32
-
33
- - **BSpline**
34
- Provides methods for creating and manipulating N-dimensional B-splines, including order elevation and knot insertion.
35
-
36
- - **MultiPatchBSplineConnectivity**
37
- Manages the connectivity between multiple N-dimensional B-spline patches.
38
-
39
- - **CouplesBSplineBorder** (less documented)
40
- Handles coupling between B-spline borders.
41
-
42
- ## Examples
43
-
44
- Several example scripts demonstrating the usage of **bsplyne** can be found in the `examples/` directory. These scripts cover:
45
- - Basis evaluation on a curved line
46
- - Plotting with Matplotlib
47
- - Order elevation
48
- - Knot insertion
49
- - Surface examples
50
- - Exporting to Paraview
51
-
52
- ## Documentation
53
-
54
- The full API documentation is available in the `docs/` directory of the project or via the [online documentation portal](https://dorian210.github.io/bsplyne/).
55
-
56
- ## Contributions
57
-
58
- At the moment, I am not actively reviewing contributions. However, if you encounter issues or have suggestions, feel free to open an issue.
59
-
60
- ## License
61
-
62
- This project is licensed under the [CeCILL License](LICENSE.txt).
63
-
@@ -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
File without changes