Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,13 @@ remote_branch: 'gh-pages'
theme:
name: material
favicon: 'favicon.ico'
logo:
icon: ' '
icon: ''
palette:
primary: 'light blue'
accent: 'blue'
extra:
social:
- type: 'github'
- icon: fontawesome/brands/github-alt
link: 'https://github.com/libigl/libigl-python-bindings'
markdown_extensions:
- codehilite
Expand Down
4 changes: 2 additions & 2 deletions tutorial/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ If you want to contribute and expose additional features, thank you!

For any new binding please create a new pull request on git, if everything looks good we will merge it.

**Note 1**, see your new feature in the conda version it might require some time, since we are planning to accumulate several fixes and
features before publishing a new version on conda.
**Note 1**, see your new feature in the conda/pip version it might require some time, since we are planning to accumulate several fixes and
features before publishing a new version on conda/PPI.

**Note 2** we are not planning to bind any function not under MIT/LGLP licence since it would make the whole package not LGPL. If you plan to bind something dependent on CGAL/Triangle/TetGen, don't do it.

Expand Down
9 changes: 4 additions & 5 deletions tutorial/index.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
igl python bindings
===================

[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/installer/conda.svg)](https://conda.anaconda.org/conda-forge)
[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/downloads.svg)](https://anaconda.org/conda-forge/igl)
[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/platforms.svg)](https://anaconda.org/conda-forge/igl)
[![PyPI version](https://badge.fury.io/py/libigl.svg)](https://pypi.org/project/libigl/)
[![buildwheels](https://github.com/libigl/libigl-python-bindings/actions/workflows/wheels.yml/badge.svg)](https://github.com/libigl/libigl-python-bindings/actions/workflows/wheels.yml?query=branch%3Amain)


!!! warning
The igl python binding are in development, consider this a **beta** version.

[libigl](https://libigl.github.io) is a simple C++ geometry processing library. We have a wide functionality including construction of sparse discrete differential geometry operators and finite-elements matrices such as the cotangent Laplacian and diagonalized mass matrix, simple facet, and edge-based topology data structures.

All these functionalities are now available through python and can be easily installed with conda:
All these functionalities are now available through python and can be easily installed with pip:
```bash
conda install -c conda-forge igl
python -m pip install libigl
```

We provide a complete jupyter version of the tutorials and the full [documentation](igl_docs.md).
Expand Down
14 changes: 6 additions & 8 deletions tutorial/tut-chapter0.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,8 @@
"metadata": {},
"source": [
"# Chapter 0\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/installer/conda.svg)](https://conda.anaconda.org/conda-forge)\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/downloads.svg)](https://anaconda.org/conda-forge/igl)\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/platforms.svg)](https://anaconda.org/conda-forge/igl)\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/latest_release_date.svg)](https://anaconda.org/conda-forge/igl)\n",
"[![PyPI version](https://badge.fury.io/py/libigl.svg)](https://pypi.org/project/libigl/)\n",
"[![buildwheels](https://github.com/libigl/libigl-python-bindings/actions/workflows/wheels.yml/badge.svg)](https://github.com/libigl/libigl-python-bindings/actions/workflows/wheels.yml?query=branch%3Amain)\n",
"\n",
"![](images/libigl-logo.jpg)"
]
Expand All @@ -35,15 +33,15 @@
"\n",
"\n",
"## Downloading Libigl\n",
"Libigl can be downloaded from [Conda forge](https://anaconda.org/conda-forge/igl):\n",
"Libigl can be downloaded from [PyPI](https://pypi.org/project/libigl/):\n",
"```\n",
"conda install -c conda-forge igl \n",
"python -m pip install libigl \n",
"```\n",
"\n",
"\n",
"All of libigl functionality depends only on `numpy` and `scipy`. For the visualization in this tutorial we use [meshplot](https://anaconda.org/conda-forge/meshplot) which can be easily installed from Conda:\n",
"All of libigl functionality depends only on `numpy` and `scipy`. For the visualization in this tutorial we use [meshplot](https://github.com/skoch9/meshplot) which can be easily installed from Conda:\n",
"```\n",
"conda install -c conda-forge meshplot \n",
"pip install https://github.com/skoch9/meshplot/archive/0.4.0.tar.gz \n",
"```\n",
"\n",
"\n",
Expand Down
6 changes: 2 additions & 4 deletions tutorial/tut-chapter1.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,8 @@
"metadata": {},
"source": [
"# Chapter 1: Discrete Geometric Quantities and Operators\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/installer/conda.svg)](https://conda.anaconda.org/conda-forge)\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/downloads.svg)](https://anaconda.org/conda-forge/igl)\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/platforms.svg)](https://anaconda.org/conda-forge/igl)\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/latest_release_date.svg)](https://anaconda.org/conda-forge/igl)"
"[![PyPI version](https://badge.fury.io/py/libigl.svg)](https://pypi.org/project/libigl/)\n",
"[![buildwheels](https://github.com/libigl/libigl-python-bindings/actions/workflows/wheels.yml/badge.svg)](https://github.com/libigl/libigl-python-bindings/actions/workflows/wheels.yml?query=branch%3Amain)"
]
},
{
Expand Down
6 changes: 2 additions & 4 deletions tutorial/tut-chapter2.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,8 @@
"metadata": {},
"source": [
"# Chapter 2: Matrices and Linear Algebra\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/installer/conda.svg)](https://conda.anaconda.org/conda-forge)\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/downloads.svg)](https://anaconda.org/conda-forge/igl)\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/platforms.svg)](https://anaconda.org/conda-forge/igl)\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/latest_release_date.svg)](https://anaconda.org/conda-forge/igl)"
"[![PyPI version](https://badge.fury.io/py/libigl.svg)](https://pypi.org/project/libigl/)\n",
"[![buildwheels](https://github.com/libigl/libigl-python-bindings/actions/workflows/wheels.yml/badge.svg)](https://github.com/libigl/libigl-python-bindings/actions/workflows/wheels.yml?query=branch%3Amain)"
]
},
{
Expand Down
6 changes: 2 additions & 4 deletions tutorial/tut-chapter3.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,8 @@
"metadata": {},
"source": [
"# Chapter 3: Shape deformation\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/installer/conda.svg)](https://conda.anaconda.org/conda-forge)\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/downloads.svg)](https://anaconda.org/conda-forge/igl)\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/platforms.svg)](https://anaconda.org/conda-forge/igl)\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/latest_release_date.svg)](https://anaconda.org/conda-forge/igl)"
"[![PyPI version](https://badge.fury.io/py/libigl.svg)](https://pypi.org/project/libigl/)\n",
"[![buildwheels](https://github.com/libigl/libigl-python-bindings/actions/workflows/wheels.yml/badge.svg)](https://github.com/libigl/libigl-python-bindings/actions/workflows/wheels.yml?query=branch%3Amain)"
]
},
{
Expand Down
6 changes: 2 additions & 4 deletions tutorial/tut-chapter4.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,8 @@
"metadata": {},
"source": [
"# Chapter 4: Parametrization\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/installer/conda.svg)](https://conda.anaconda.org/conda-forge)\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/downloads.svg)](https://anaconda.org/conda-forge/igl)\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/platforms.svg)](https://anaconda.org/conda-forge/igl)\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/latest_release_date.svg)](https://anaconda.org/conda-forge/igl)"
"[![PyPI version](https://badge.fury.io/py/libigl.svg)](https://pypi.org/project/libigl/)\n",
"[![buildwheels](https://github.com/libigl/libigl-python-bindings/actions/workflows/wheels.yml/badge.svg)](https://github.com/libigl/libigl-python-bindings/actions/workflows/wheels.yml?query=branch%3Amain)"
]
},
{
Expand Down
6 changes: 2 additions & 4 deletions tutorial/tut-chapter5.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,8 @@
"metadata": {},
"source": [
"# Chapter 5: External libraries\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/installer/conda.svg)](https://conda.anaconda.org/conda-forge)\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/downloads.svg)](https://anaconda.org/conda-forge/igl)\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/platforms.svg)](https://anaconda.org/conda-forge/igl)\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/latest_release_date.svg)](https://anaconda.org/conda-forge/igl)"
"[![PyPI version](https://badge.fury.io/py/libigl.svg)](https://pypi.org/project/libigl/)\n",
"[![buildwheels](https://github.com/libigl/libigl-python-bindings/actions/workflows/wheels.yml/badge.svg)](https://github.com/libigl/libigl-python-bindings/actions/workflows/wheels.yml?query=branch%3Amain)"
]
},
{
Expand Down
6 changes: 2 additions & 4 deletions tutorial/tut-chapter6.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,8 @@
"metadata": {},
"source": [
"# Chapter 6: Miscellaneous\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/installer/conda.svg)](https://conda.anaconda.org/conda-forge)\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/downloads.svg)](https://anaconda.org/conda-forge/igl)\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/platforms.svg)](https://anaconda.org/conda-forge/igl)\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/latest_release_date.svg)](https://anaconda.org/conda-forge/igl)"
"[![PyPI version](https://badge.fury.io/py/libigl.svg)](https://pypi.org/project/libigl/)\n",
"[![buildwheels](https://github.com/libigl/libigl-python-bindings/actions/workflows/wheels.yml/badge.svg)](https://github.com/libigl/libigl-python-bindings/actions/workflows/wheels.yml?query=branch%3Amain)"
]
},
{
Expand Down
8 changes: 3 additions & 5 deletions tutorial/tut-chapter7.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,8 @@
"metadata": {},
"source": [
"# Chapter 7: Skinned Shape Deformation\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/installer/conda.svg)](https://conda.anaconda.org/conda-forge)\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/downloads.svg)](https://anaconda.org/conda-forge/igl)\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/platforms.svg)](https://anaconda.org/conda-forge/igl)\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/latest_release_date.svg)](https://anaconda.org/conda-forge/igl)"
"[![PyPI version](https://badge.fury.io/py/libigl.svg)](https://pypi.org/project/libigl/)\n",
"[![buildwheels](https://github.com/libigl/libigl-python-bindings/actions/workflows/wheels.yml/badge.svg)](https://github.com/libigl/libigl-python-bindings/actions/workflows/wheels.yml?query=branch%3Amain)"
]
},
{
Expand All @@ -34,7 +32,7 @@
"import igl\n",
"import scipy as sp\n",
"import numpy as np\n",
"import scripts.meshplot as mp\n",
"import meshplot as mp\n",
"\n",
"import os\n",
"\n",
Expand Down
20 changes: 8 additions & 12 deletions tutorial/tutorials.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,9 @@
"metadata": {},
"source": [
"## Libigl Tutorials\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/installer/conda.svg)](https://conda.anaconda.org/conda-forge)\n",
"[![PyPI version](https://badge.fury.io/py/libigl.svg)](https://pypi.org/project/libigl/)\n",
"\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/downloads.svg)](https://anaconda.org/conda-forge/igl)\n",
"\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/platforms.svg)](https://anaconda.org/conda-forge/igl)\n",
"\n",
"[![Anaconda-Server Badge](https://anaconda.org/conda-forge/igl/badges/latest_release_date.svg)](https://anaconda.org/conda-forge/igl)\n",
"[![buildwheels](https://github.com/libigl/libigl-python-bindings/actions/workflows/wheels.yml/badge.svg)](https://github.com/libigl/libigl-python-bindings/actions/workflows/wheels.yml?query=branch%3Amain)\n",
"\n",
"![](images/libigl-logo.jpg)\n",
"\n",
Expand Down Expand Up @@ -42,15 +38,15 @@
"\n",
"\n",
"### Downloading Libigl\n",
"Libigl can be downloaded from [Conda forge](https://anaconda.org/conda-forge/igl):\n",
"Libigl can be downloaded from [PyPI](https://pypi.org/project/libigl/):\n",
"```\n",
"conda install -c conda-forge igl \n",
"python -m pip install libigl \n",
"```\n",
"\n",
"\n",
"All of libigl functionality depends only on `numpy` and `scipy`. For the visualization in this tutorial we use [meshplot](https://anaconda.org/conda-forge/meshplot) which can be easily installed from Conda:\n",
"All of libigl functionality depends only on `numpy` and `scipy`. For the visualization in this tutorial we use [meshplot](https://github.com/skoch9/meshplot) which can be easily installed from Conda:\n",
"```\n",
"conda install -c conda-forge meshplot \n",
"python -m pip install https://github.com/skoch9/meshplot/archive/0.4.0.tar.gz \n",
"```\n",
"\n",
"\n",
Expand All @@ -70,11 +66,11 @@
"\n",
"import os\n",
"root_folder = os.getcwd()\n",
"#root_folder = os.path.join(os.getcwd(), \"tutorial\")",
"#root_folder = os.path.join(os.getcwd(), \"tutorial\")\n",
"data_folder = os.path.join(root_folder,\"/data\")\n",
"# pip install gitpython\n",
"from git import Repo\n",
"if not os.path.isdir(data_folder):\n"
"if not os.path.isdir(data_folder):\n",
" Repo.clone_from(\"https://github.com/libigl/libigl-tutorial-data.git\", data_folder)\n",
"\n"
]
Expand Down