Skip to main content

bsplyne

bsplyne is a Python library for working with N-dimensional B-splines, with a focus on numerical mechanics and geometry. It implements the Cox–de Boor algorithm for basis evaluation, order elevation, knot insertion, and provides tools for handling multi-patch B-spline structures. Visualization and export utilities (e.g. Paraview) are also included.


Installation

Install the core library:

pip install bsplyne

Install the library with recommended visualization features (additionally install pyvista):

pip install bsplyne[viz]

Note: choose either the core (bsplyne) or the visualization (bsplyne[viz]) installation.

From source (development mode)

Clone the repository and install:

git clone https://github.com/Dorian210/bsplyne
cd bsplyne
pip install -e .       # core
pip install -e .[viz]  # with visualization

Dependencies

Core dependencies are handled automatically by pip:

  • numpy
  • numba
  • scipy
  • matplotlib
  • meshio
  • tqdm

Optional visualization:

  • pyvista (for 3D visualization)

Main Modules

  • BSplineBasis
    Evaluation of B-spline basis functions using the Cox–de Boor recursion formula.

  • BSpline
    Construction and manipulation of N-dimensional B-splines, including order elevation and knot insertion.

  • MultiPatchBSplineConnectivity
    Management of connectivity between multiple B-spline patches.

  • CouplesBSplineBorder
    Utilities for coupling B-spline borders (experimental / less documented).


Tutorials

A step-by-step introduction to bsplyne is provided in:

examples/tutorial/

These scripts are designed as a progressive entry point to the library and cover:

  1. B-spline basis functions
  2. Curve construction
  3. Surface generation
  4. Least-squares fitting
  5. Multi-patch geometries
  6. Export to Paraview

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.
It explains the workflow, the main modules, and practical usage examples.


Examples

Additional standalone examples are available in the examples/ directory, including:

  • Curves and surfaces
  • Order elevation and knot insertion
  • Visualization with Matplotlib
  • Export to Paraview

Documentation

The full API documentation is available online:

https://dorian210.github.io/bsplyne/

The documentation is generated from the source code docstrings and reflects the latest published version.


Contributions

This project is primarily developed for research purposes. While I am not actively reviewing external contributions, bug reports and suggestions are welcome via the issue tracker.


License

This project is licensed under the CeCILL License.
See LICENSE.txt for details.

Metadata

Release files for bsplyne 1.0.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bsplyne 1.0.9
File Size Uploaded
bsplyne-1.0.9.tar.gz 60.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bsplyne 1.0.9
File Interpreter ABI Platform
bsplyne-1.0.9-py3-none-any.whl Python 3 none any Details

Total release size: 117.0 kB

Release files / bsplyne-1.0.9.tar.gz

Download URL bsplyne-1.0.9.tar.gz
Size 60.1 kB
Tags Source
SHA-256 checksum
How to use checksums
4b3f2b9625ef3ddf9645761b12ec02cdbb2c298cb753c9dae78e73b5fde4ca12
BLAKE2b-256 checksum
How to use checksums
da0744476bf9383927be6e4da11a3e123822fb6ea3da56c98ed4d3120c31af87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.23

Release files / bsplyne-1.0.9-py3-none-any.whl

Download URL bsplyne-1.0.9-py3-none-any.whl
Size 56.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5b3773a85092e29fd455fec5f766c84fe4ad74128622f99ed40629c40db56c85
BLAKE2b-256 checksum
How to use checksums
4cca9285d674f2cc7e4efcb2d5b36755643b3ec1cf6ae7ecdbd00d941a8ba98d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.23

Release history Release notifications | RSS feed

This release

1.0.9 This release

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page