This repository contains the Splipy packages. Splipy is a pure python library for the creation, evaluation and manipulation of B-spline and NURBS geometries. It supports n-variate splines of any dimension, but emphasis is made on the use of curves, surfaces and volumes. The library is designed primarily for analysis use, and therefore allows fine-grained control over many aspects which is not possible to achieve with conventional CAD tools.
Installation ---------The library is packaged on splipy and can be installed through pip by simply running :
pip install splipy
- Getting-started guide - tutorial page (run with jupyter to get interactive features)
- Examples page - stand-alone executables of different applications
- API documentation - technical details on all functions
- Package installation page - splipy on PyPi, packaged and ready for installation
Development and building from source |
---|
Dependencies |
Required |
This library requires numpy and scipy. For building, cython is also |
required. E.g. on Ubuntu: |
|
|
|
Optional |
To use image processing tools, you need OpenCV : |
|
To generate the documentation you will need Sphinx: |
|
And to run the tests you can use your favourite test runner, for example |
pytest: |
|
Installing |
To install, use: |
|
|
To generate a package, use: |
|
Documentation |
To generate the documentation, run in the doc folder: |
|
To push generated docs online on the |
|
where |
Tests |
To run the tests, you can use your favourite test runner. For example, with |
pytest: |
|
To get a report of test coverage, run: |
|
Code analysis |
------------- |
You can use pylint3 to perform static code analysis on the module. |
This can help identify bugs and give suggestions for improvements. |
To install, use: |
|
To perform the code analysis, use: |
|
Releasing |
To make a new release, it is recommended to install `bumpversion |
<https://pypi.python.org/pypi/bumpversion>`_. To make a new release, run: |
|
where type is one of patch, minor or major. This will up the version |
number, create a commit and a tag. To push this to github, use: |
|
After that, Travis CI should automatically build and deploy the |
packages to PyPi. It would be helpful to monitor the Travis build so |
that errors can be fixed quickly. See the `list of builds |
====== |
Citations |
If you use Splipy in your work, please consider citing K. A. Johannessen and E. Fonn 2020 J. Phys.: Conf. Ser. 1669 012032.