bsplyne 1.0.1__tar.gz → 1.0.3__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.3/PKG-INFO ADDED
@@ -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.
@@ -0,0 +1,130 @@
1
+ # bsplyne
2
+
3
+ <p align="center">
4
+ <img src="https://raw.githubusercontent.com/Dorian210/bsplyne/main/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
+ ### From PyPI (recommended method)
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.
30
+
31
+ ### From source (development mode)
32
+
33
+ Clone the repository and install:
34
+
35
+ ```bash
36
+ git clone https://github.com/Dorian210/bsplyne
37
+ cd bsplyne
38
+ pip install -e . # core
39
+ pip install -e .[viz] # with visualization
40
+ ```
41
+
42
+ ---
43
+
44
+ ## Dependencies
45
+
46
+ Core dependencies are handled automatically by `pip`:
47
+
48
+ - numpy
49
+ - numba
50
+ - scipy
51
+ - matplotlib
52
+ - meshio
53
+ - tqdm
54
+
55
+ Optional visualization:
56
+
57
+ - pyvista (for 3D visualization)
58
+
59
+ ---
60
+
61
+ ## Main Modules
62
+
63
+ - **BSplineBasis**
64
+ Evaluation of B-spline basis functions using the Cox–de Boor recursion formula.
65
+
66
+ - **BSpline**
67
+ Construction and manipulation of N-dimensional B-splines, including order elevation and knot insertion.
68
+
69
+ - **MultiPatchBSplineConnectivity**
70
+ Management of connectivity between multiple B-spline patches.
71
+
72
+ - **CouplesBSplineBorder**
73
+ Utilities for coupling B-spline borders (experimental / less documented).
74
+
75
+ ---
76
+
77
+ ## Tutorials
78
+
79
+ A step-by-step introduction to **bsplyne** is provided in:
80
+
81
+ ```
82
+ examples/tutorial/
83
+ ```
84
+
85
+ These scripts are designed as a progressive entry point to the library and cover:
86
+
87
+ 1. B-spline basis functions
88
+ 2. Curve construction
89
+ 3. Surface generation
90
+ 4. Least-squares fitting
91
+ 5. Multi-patch geometries
92
+ 6. Export to Paraview
93
+
94
+ 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.
95
+ It explains the workflow, the main modules, and practical usage examples.
96
+
97
+ ---
98
+
99
+ ## Examples
100
+
101
+ Additional standalone examples are available in the `examples/` directory, including:
102
+
103
+ - Curves and surfaces
104
+ - Order elevation and knot insertion
105
+ - Visualization with Matplotlib
106
+ - Export to Paraview
107
+
108
+ ---
109
+
110
+ ## Documentation
111
+
112
+ The full API documentation is available online:
113
+
114
+ https://dorian210.github.io/bsplyne/
115
+
116
+ The documentation is generated from the source code docstrings and reflects the latest published version.
117
+
118
+ ---
119
+
120
+ ## Contributions
121
+
122
+ This project is primarily developed for research purposes.
123
+ While I am not actively reviewing external contributions, bug reports and suggestions are welcome via the issue tracker.
124
+
125
+ ---
126
+
127
+ ## License
128
+
129
+ This project is licensed under the **CeCILL License**.
130
+ 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.3"
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,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.
@@ -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