Skip to content

Commit 53c3c6a

Browse files
committed
readme: update content
1 parent 10da260 commit 53c3c6a

File tree

1 file changed

+59
-38
lines changed

1 file changed

+59
-38
lines changed

README.md

Lines changed: 59 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,77 @@
1-
eigenpy
2-
===========
1+
EigenPy
2+
======
33

4-
Setup
5-
-----
4+
**EigenPy** is an open source framework which allows to bind the famous [Eigen](http://eigen.tuxfamily.org) in Python as NumPy object (as matrix or array).
5+
**EigenPy** also exposes the Geometry module of Eigen for easy code prototyping.
6+
**EigenPy** also supports the basic matrix decomposion routines of Eigen such as the Cholesky decomposition, SVD decomposition, QR decomposition, and etc.
67

7-
Before compiling this package, make sure to have initialized all git
8-
submodules of this repo. To initialize the submodules when cloning the
9-
repo, use:
8+
## Setup
109

11-
```bash
12-
git clone --recursive <git_url>
13-
```
14-
15-
To compile this package, it is recommended to create a separate build
16-
directory:
17-
18-
mkdir _build
19-
cd _build
20-
cmake [OPTIONS] ..
21-
make install
10+
The installation of **EigenPy** on your computer is made easy for Linux/BSD and Mac OS X environments.
2211

23-
Please note that CMake produces a `CMakeCache.txt` file which should
24-
be deleted to reconfigure a package from scratch.
12+
### Ubuntu
2513

26-
#### Compiling for python3 on macOS
14+
You can easily install **EigenPy** from binairies.
2715

28-
Make sure you have boost for python3 installed. If you use homebrew, you can install it via `brew install boost-python3`.
16+
#### Add robotpkg apt repository
2917

30-
Assuming you have python2 and python3 installed on your system, you can compile for python3 using
18+
1. Check your distribution codename in a terminal with the following command:
19+
```
20+
$ lsb_release -c
21+
Codename: xenial
22+
```
23+
2. Add robotpkg as source repository to apt:
24+
```
25+
sudo sh -c "echo 'deb [arch=amd64] http://robotpkg.openrobots.org/packages/debian/pub xenial robotpkg' >> /etc/apt/sources.list.d/robotpkg.list"
26+
```
27+
3. Register the authentication certificate of robotpkg:
28+
```
29+
curl http://robotpkg.openrobots.org/packages/debian/robotpkg.key | sudo apt-key add -
30+
```
31+
4. You need to run at least once apt update to fetch the package descriptions:
32+
```
33+
sudo apt-get update
34+
```
35+
#### Install EigenPy
36+
5. The installation of **EigenPy** and its dependencies is made through the line:
3137

38+
For Python 2.7
39+
```
40+
sudo apt install robotpkg-py27-eigenpy
41+
```
42+
or for Python 3.{5,6,7}
3243
```
33-
cmake -DPYTHON_EXECUTABLE=`which python3` ..
44+
sudo apt install robotpkg-py35-eigenpy
3445
```
46+
where 35 should be replaced by the python 3 you want to work this (e.g. `robotpkg-py36-eigenpy` to work with Python 3.6).
3547

36-
In case you get an error as only the libraries for python2 are found, make sure macOS can find the python3 libraries. One way to ensure this is by adding a symbolic link to the python3 libraries like
48+
### Mac OS X
3749

50+
The installation of **EigenPy** on Mac OS X is made via [HomeBrew](https://brew.sh/).
51+
You just need to register the tap of the sofware repository.
52+
53+
```
54+
brew tap gepetto/homebrew-gepetto
3855
```
39-
ln -s /usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/libpython3.7.dylib /usr/loca/lib/libpython3.7.dylib
56+
and then install **EigenPy** with:
4057
```
58+
brew install eigenpy
59+
```
60+
for Python 2.7 or:
61+
```
62+
brew install eigenpy-python3
63+
```
64+
for Python 3 support.
65+
66+
## Credits
67+
68+
The following people have been involved in the development of **EigenPy**:
4169

42-
where the abolve file source path was determined by looking at the output of `brew ls --verbose python3 | grep libpython3`.
70+
- [Justin Carpentier](https://jcarpent.github.io) (INRIA): main developer and manager of the project
71+
- [Nicolas Mansard](http://projects.laas.fr/gepetto/index.php/Members/NicolasMansard) (LAAS-CNRS): initial project instructor
4372

44-
### Dependencies
73+
If you have taken part to the development of **EigenPy**, feel free to add your name and contribution here.
4574

46-
The matrix abstract layer depends on several packages which
47-
have to be available on your machine.
75+
## Acknowledgments
4876

49-
- Libraries:
50-
- eigen3
51-
- System tools:
52-
- CMake (>=2.6)
53-
- pkg-config
54-
- usual compilation tools (GCC/G++, make, etc.)
55-
- Python 2.7
56-
- Boost python
77+
The development of **EigenPy** is supported by the [Gepetto team](http://projects.laas.fr/gepetto/) [@LAAS-CNRS](http://www.laas.fr) and the [Willow team](https://www.di.ens.fr/willow/) [@INRIA](http://www.inria.fr).

0 commit comments

Comments
 (0)