Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sintef/splipy
Spline modelling made easy.
https://github.com/sintef/splipy
analysis geometry isogeometry mathematics splines
Last synced: about 4 hours ago
JSON representation
Spline modelling made easy.
- Host: GitHub
- URL: https://github.com/sintef/splipy
- Owner: SINTEF
- License: gpl-3.0
- Created: 2016-09-23T14:30:31.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-02-21T09:57:58.000Z (10 months ago)
- Last Synced: 2024-12-17T14:07:36.932Z (8 days ago)
- Topics: analysis, geometry, isogeometry, mathematics, splines
- Language: Python
- Size: 8.73 MB
- Stars: 107
- Watchers: 17
- Forks: 19
- Open Issues: 23
-
Metadata Files:
- Readme: README.rst
- License: COPYING
Awesome Lists containing this project
README
.. image:: images/logo_small.svg
======
Splipy
======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 PyPI and can be installed through pip by simply
running ::pip install splipy
Resources
---------* `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
====================================Poetry
------Splipy uses Poetry as a project management tool. To install poetry, use::
pip install poetry
Poetry is the only tool that must be installed outside of the virtual
environment for Splipy. Once installed, run the command::make install
in the root Splipy directory. This will install Splipy and its dependencies in a
virtual environment located in the ``.venv`` directory.You should activate this virtual environment whenever you work on Splipy. The
makefile commands do not require it, but it's a good habit::source .venv/bin/activate
To run the tests::
make test
Installing
----------To install, use::
pip install .
To generate a package (source distribution or wheel), use::
make sdist
make wheel
make build # both sdist and wheelDon't upload wheels to PyPI manually. They are built by CI runners whenever a
new version is tagged (see below).Documentation
-------------To generate the documentation, run::
make doc
To push generated docs online on the ``gh-pages`` branch, run the helper script::
python push_documentation.py [remote]
where ``remote`` is the name of the remote to push to. If not given, it will be asked.
Tests
-----To run the tests, use::
make test
For benchmarks::
make bench
Releasing
---------To make a new release, run the `bump-my-version` command::
bump-my-version --dry-run
Where `` is the part you want to bump: either `major`, `minor`, `patch`,
`pre_label` or `pre_number`.You can also specify the new version directly by using::
bump-my-version --dry-run --new-version
Once you are satisfied with the results, run the command without `--dry-run`.
We highly recommend to always use a dry run!After that, CI should automatically build and deploy the packages to PyPi. It
would be helpful to monitor the actions so that errors can be fixed quickly.=========
Citations
=========If you use Splipy in your work, please consider citing
`K. A. Johannessen and E. Fonn 2020 J. Phys.: Conf. Ser. 1669 012032 `_.