nurbs-python

Object-oriented pure Python B-Spline and NURBS library

https://github.com/orbingol/nurbs-python

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    1 of 10 committers (10.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.1%) to scientific vocabulary

Keywords

bezier bspline cad computational-geometry curve geomdl geometric-modeling geometry nurbs python surface volume
Last synced: 6 months ago · JSON representation

Repository

Object-oriented pure Python B-Spline and NURBS library

Basic Info
Statistics
  • Stars: 716
  • Watchers: 42
  • Forks: 158
  • Open Issues: 46
  • Releases: 128
Topics
bezier bspline cad computational-geometry curve geomdl geometric-modeling geometry nurbs python surface volume
Created almost 10 years ago · Last pushed 9 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct

README.rst

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

|GHACTIONS|_ |RTD|_ |PYPI|_ |PYPIDL|_

Introduction
============

NURBS-Python (geomdl) is a pure Python, self-contained, object-oriented B-Spline and NURBS library.

Features
========

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.

Further reading
===============

* Documentation: https://nurbs-python.readthedocs.io/
* Examples: https://github.com/orbingol/NURBS-Python_Examples
* Development: https://github.com/orbingol/NURBS-Python

Additional file format support
==============================

* `rw3dm `_
* `rwsat `_

Citing
======

The `following article `_ outlines the design and features of NURBS-Python
(geomdl)::

    @article{bingol2019geomdl,
      title={{NURBS-Python}: An open-source object-oriented {NURBS} modeling framework in {Python}},
      author={Bingol, Onur Rauf and Krishnamurthy, Adarsh},
      journal={{SoftwareX}},
      volume={9},
      pages={85--94},
      year={2019},
      publisher={Elsevier},
      doi={https://doi.org/10.1016/j.softx.2018.12.005}
    }

License
=======

NURBS-Python (geomdl) is licensed under the terms of the MIT License. It also contains the following modules:

* ``six`` is licensed under the terms of the MIT License.
* ``backports.functools_lru_cache`` is licensed under the terms of the MIT License.

.. |RTD| image:: https://readthedocs.org/projects/nurbs-python/badge/?version=5.x
.. _RTD: https://nurbs-python.readthedocs.io/en/5.x/?badge=5.x

.. |PYPI| image:: https://img.shields.io/pypi/v/geomdl.svg
.. _PYPI: https://pypi.org/project/geomdl/

.. |PYPIDL| image:: https://img.shields.io/pypi/dm/geomdl.svg
.. _PYPIDL: https://pypi.org/project/geomdl/

.. |GHACTIONS| image:: https://img.shields.io/github/actions/workflow/status/orbingol/NURBS-Python/build.yml
.. _GHACTIONS: https://github.com/orbingol/NURBS-Python/actions/workflows/build.yml

Owner

  • Name: Onur R. Bingol
  • Login: orbingol
  • Kind: user
  • Location: San Francisco Bay Area, CA

GitHub Events

Total
  • Create event: 8
  • Release event: 4
  • Issues event: 14
  • Watch event: 79
  • Delete event: 11
  • Issue comment event: 15
  • Push event: 29
  • Pull request event: 20
  • Fork event: 7
Last Year
  • Create event: 8
  • Release event: 4
  • Issues event: 14
  • Watch event: 79
  • Delete event: 11
  • Issue comment event: 15
  • Push event: 29
  • Pull request event: 20
  • Fork event: 7

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 2,524
  • Total Committers: 10
  • Avg Commits per committer: 252.4
  • Development Distribution Score (DDS): 0.01
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Onur Rauf Bingol o****l@g****m 2,498
Nodli r****o@h****r 9
Onur R. Bingol o****l@i****u 4
John-Eric Dufour j****r@u****t 4
Jan Heczko j****o@g****m 3
Onur Bingol o****l@o****m 2
Chris HORLER c****r@g****m 1
Luke Frisken L****n@a****m 1
Onur Rauf Bingol o****l 1
Hugo Rambure 3****i 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 110
  • Total pull requests: 19
  • Average time to close issues: 8 months
  • Average time to close pull requests: over 1 year
  • Total issue authors: 75
  • Total pull request authors: 9
  • Average comments per issue: 2.71
  • Average comments per pull request: 1.16
  • Merged pull requests: 9
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 8
  • Pull requests: 10
  • Average time to close issues: 10 months
  • Average time to close pull requests: about 11 hours
  • Issue authors: 6
  • Pull request authors: 3
  • Average comments per issue: 0.63
  • Average comments per pull request: 0.3
  • Merged pull requests: 7
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • orbingol (9)
  • friends110110 (8)
  • sphh (5)
  • ebo (5)
  • portnov (4)
  • GarthSnyder (2)
  • tomas16 (2)
  • andreabonacini (2)
  • sonomirco (2)
  • Shegrad (2)
  • Julien-Livet (2)
  • Burtski (2)
  • cshorler (2)
  • chenboshuo (2)
  • thachdo (1)
Pull Request Authors
  • orbingol (11)
  • GarthSnyder (4)
  • cshorler (3)
  • Maik93 (2)
  • frenzymadness (2)
  • sphh (2)
  • musicinmybrain (2)
  • dependabot[bot] (2)
  • Julien-Livet (2)
Top Labels
Issue Labels
bug (42) question (23) enhancement (11) resolved (7) off topic (6) wontfix (4) invalid (4) feature-request (2) documentation (1)
Pull Request Labels
dependencies (2) enhancement (2)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 514,126 last-month
  • Total docker downloads: 70
  • Total dependent packages: 10
    (may contain duplicates)
  • Total dependent repositories: 46
    (may contain duplicates)
  • Total versions: 139
  • Total maintainers: 1
pypi.org: geomdl

Object-oriented B-Spline and NURBS evaluation library

  • Versions: 70
  • Dependent Packages: 10
  • Dependent Repositories: 45
  • Downloads: 513,543 Last month
  • Docker Downloads: 70
Rankings
Dependent packages count: 1.1%
Dependent repos count: 2.2%
Average: 2.6%
Downloads: 2.7%
Stargazers count: 2.8%
Docker downloads count: 3.1%
Forks count: 3.7%
Maintainers (1)
Last synced: 6 months ago
pypi.org: nurbs-python

NURBS curve and surface evaluation library in pure python

  • Versions: 69
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 583 Last month
Rankings
Stargazers count: 2.7%
Forks count: 3.7%
Dependent packages count: 10.1%
Average: 11.9%
Downloads: 21.3%
Dependent repos count: 21.6%
Maintainers (1)
Last synced: 6 months ago

Dependencies

requirements.txt pypi
  • cython *
  • matplotlib ==2.2.3
  • numpy ==1.15.4
  • plotly *
  • setuptools >=40.6.3
docker/py27/Dockerfile docker
  • python 2.7-slim build
docker/py27-alpine/Dockerfile docker
  • python 2.7-alpine build
docker/py35/Dockerfile docker
  • python 3.5-slim build
docker/py35-alpine/Dockerfile docker
  • python 3.5-alpine build
docker/py36/Dockerfile docker
  • python 3.6-slim build
docker/py36-alpine/Dockerfile docker
  • python 3.6-alpine build
docker/py37/Dockerfile docker
  • python 3.7-slim build
docker/py37-alpine/Dockerfile docker
  • python 3.7-alpine build
docker/pypy3/Dockerfile docker
  • pypy 3-slim build