Awesome Open Source
Awesome Open Source

NURBS-Python (geomdl) ^^^^^^^^^^^^^^^^^^^^^




NURBS-Python (geomdl) is a pure Python, self-contained, object-oriented B-Spline and NURBS spline library for Python versions 2.7.x, 3.4.x and later.

The following article <>_ outlines the design and features of NURBS-Python (geomdl). I would be glad if you would cite it if you have used NURBS-Python (geomdl) in your research::

  title={{NURBS-Python}: An open-source object-oriented {NURBS} modeling framework in {Python}},
  author={Bingol, Onur Rauf and Krishnamurthy, Adarsh},


NURBS-Python (geomdl) provides convenient data structures and highly customizable API for rational and non-rational splines along with the efficient and extensible implementations of the following algorithms:

  • Spline evaluation
  • Derivative evaluation
  • Knot insertion
  • Knot removal
  • Knot vector refinement
  • Degree elevation
  • Degree reduction
  • Curve and surface fitting via interpolation and least squares approximation

NURBS-Python (geomdl) also provides customizable visualization and animation options via Matplotlib, Plotly and VTK libraries. Please refer to the documentation <>_ for more details.


The easiest way to install NURBS-Python (geomdl) is using pip:

.. code-block:: console

$ pip install --user geomdl

It is also possible to install NURBS-Python (geomdl) using conda:

.. code-block:: console

$ conda install -c orbingol geomdl

Please refer to the Installation and Testing <>_ section of the documentation for alternative installation methods.

Examples and Documentation

Extra Modules


  • Onur R. Bingol (@orbingol <>_)


Please see CONTRIBUTORS.rst <CONTRIBUTORS.rst>_ file for the acknowledgements.


NURBS-Python (geomdl) is licensed under the terms of MIT License <LICENSE>_ and it contains the following modules:

  • six is licensed under the terms of MIT License <>_
  • backports.functools_lru_cache is licensed under the terms of MIT License <>_

.. |DOI| image:: .. _DOI:

.. |RTD| image:: .. _RTD:

.. |TRAVISCI| image:: .. _TRAVISCI:

.. |APPVEYOR| image:: .. _APPVEYOR:

.. |CIRCLECI| image:: .. _CIRCLECI:

.. |PYPI| image:: .. _PYPI:

.. |PYPIDL| image:: .. _PYPIDL:

.. |ANACONDA| image:: .. _ANACONDA:

.. |CODECOV| image:: .. _CODECOV:

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
python (54,388
geometry (114
cad (63
computational-geometry (49
bezier (34
volume (33
curve (22