https://github.com/stack-of-tasks/eigenpy

Efficient bindings between Numpy and Eigen using Boost.Python

https://github.com/stack-of-tasks/eigenpy

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
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    7 of 27 committers (25.9%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.8%) to scientific vocabulary

Keywords

bindings boost boost-python eigen numpy python python3-library

Keywords from Contributors

ros urdf conda analytical-derivatives kinematics automatic-differentiation casadi cppad fcl motion-planning
Last synced: 6 months ago · JSON representation

Repository

Efficient bindings between Numpy and Eigen using Boost.Python

Basic Info
  • Host: GitHub
  • Owner: stack-of-tasks
  • License: bsd-2-clause
  • Language: C++
  • Default Branch: devel
  • Homepage:
  • Size: 2.69 MB
Statistics
  • Stars: 193
  • Watchers: 19
  • Forks: 45
  • Open Issues: 24
  • Releases: 108
Topics
bindings boost boost-python eigen numpy python python3-library
Created over 11 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog License

README.md

EigenPy — Versatile and efficient Python bindings between Numpy and Eigen

License Build Status Conda Downloads Conda Version PyPI version Code style: black Linter: ruff

EigenPy is an open-source framework that allows the binding of the famous Eigen C++ library in Python via Boost.Python.

EigenPy provides:

  • full memory sharing between Numpy and Eigen, avoiding memory allocation
  • full support Eigen::Ref avoiding memory allocation
  • full support of the Eigen::Tensor module
  • exposition of the Geometry module of Eigen for easy code prototyping
  • standard matrix decomposion routines of Eigen such as the Cholesky, SVD and QR decompositions
  • full support of SWIG objects
  • full support of runtime declaration of Numpy scalar types
  • extended API to expose several STL types and some of their Boost equivalents: optional types, std::pair, maps, variants...
  • full support of vectorization between C++ and Python (all the hold objects are properly aligned in memory)

Installation

The installation of EigenPy on your computer is made easy for Linux/BSD, Mac OS X, and Windows environments.

Conda

You simply need this simple line: bash conda install eigenpy -c conda-forge

Ubuntu

You can easily install EigenPy from binaries.

Add robotpkg apt repository

  1. Register the authentication certificate of robotpkg: curl http://robotpkg.openrobots.org/packages/debian/robotpkg.asc | sudo tee /etc/apt/keyrings/robotpkg.asc
  2. Add robotpkg as source repository to apt: sudo tee /etc/apt/sources.list.d/robotpkg.list <<EOF deb [arch=amd64 signed-by=/etc/apt/keyrings/robotpkg.asc] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -cs) robotpkg EOF
  3. You need to run at least one apt update to fetch the package descriptions: bash sudo apt update

Install EigenPy

  1. The installation of EigenPy and its dependencies is made through the line:

bash sudo apt install robotpkg-py35-eigenpy 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).

Mac OS X

The installation of EigenPy on Mac OS X is made via HomeBrew. You just need to register the tap of the software repository.

brew tap gepetto/homebrew-gepetto and then install EigenPy for Python 3.x with: brew install eigenpy

Docker

docker run --rm -it ghcr.io/stack-of-tasks/eigenpy:devel

Build

Build instruction can be found here

Credits

The following people have been involved in the development of EigenPy:

If you have taken part in the development of EigenPy, feel free to add your name and contribution here.

Acknowledgments

The development of EigenPy is supported by the Gepetto team @LAAS-CNRS and the Willow team @INRIA.

Owner

  • Name: Stack Of Tasks development team
  • Login: stack-of-tasks
  • Kind: organization

One implementation of the Stack of Tasks framework

GitHub Events

Total
  • Create event: 24
  • Commit comment event: 1
  • Issues event: 20
  • Release event: 4
  • Watch event: 21
  • Delete event: 17
  • Issue comment event: 39
  • Push event: 77
  • Pull request event: 85
  • Pull request review comment event: 11
  • Pull request review event: 60
  • Fork event: 5
Last Year
  • Create event: 24
  • Commit comment event: 1
  • Issues event: 20
  • Release event: 4
  • Watch event: 21
  • Delete event: 17
  • Issue comment event: 39
  • Push event: 77
  • Pull request event: 85
  • Pull request review comment event: 11
  • Pull request review event: 60
  • Fork event: 5

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 1,633
  • Total Committers: 27
  • Avg Commits per committer: 60.481
  • Development Distribution Score (DDS): 0.325
Past Year
  • Commits: 203
  • Committers: 10
  • Avg Commits per committer: 20.3
  • Development Distribution Score (DDS): 0.631
Top Committers
Name Email Commits
Justin Carpentier j****r@i****r 1,102
Joris Vaillant j****t@i****r 158
ManifoldFR w****t@p****g 105
pre-commit-ci[bot] 6****] 75
Guilhem Saurel g****l@l****r 72
Wolfgang Merkt w****t@g****m 44
Mansard n****d@l****r 18
seanyen s****n@m****m 10
Alexis DUBURCQ a****q@g****m 6
Rohan Budhiraja p****n 5
Joseph Mirabel j****l@l****r 5
github-actions[bot] g****] 4
Olivier Stasse o****e@l****r 4
Guilhem Saurel g****l@g****m 3
Joris Vaillant j****t@n****h 3
Shane Loretz s****z@i****i 3
Gabriele Buondonno 7****n 3
Carlos Mastalli c****i@g****m 2
Fabian Schramm 5****h 2
Julian Viereck j****k@t****e 2
Stéphane Caron s****n@i****r 1
Robert Haschke r****e@t****e 1
Ewen Dantec e****c@i****r 1
Bjar Ne g****k 1
Carlos Mastalli c****i@l****r 1
Antonio El Khoury a****y@w****u 1
Anthony Miyaguchi a****i@g****m 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 60
  • Total pull requests: 336
  • Average time to close issues: 2 months
  • Average time to close pull requests: 4 days
  • Total issue authors: 30
  • Total pull request authors: 18
  • Average comments per issue: 2.17
  • Average comments per pull request: 0.66
  • Merged pull requests: 293
  • Bot issues: 0
  • Bot pull requests: 110
Past Year
  • Issues: 19
  • Pull requests: 102
  • Average time to close issues: 5 days
  • Average time to close pull requests: 2 days
  • Issue authors: 10
  • Pull request authors: 11
  • Average comments per issue: 0.47
  • Average comments per pull request: 0.34
  • Merged pull requests: 78
  • Bot issues: 0
  • Bot pull requests: 43
Top Authors
Issue Authors
  • ManifoldFR (8)
  • ofloveandhate (7)
  • jcarpent (7)
  • jorisv (5)
  • Lucas-Haubert (4)
  • nim65s (3)
  • olivier-stasse (2)
  • rhaschke (2)
  • ducroq (1)
  • Arpafaucon (1)
  • brunopostle (1)
  • MMarcus95 (1)
  • cmastalli (1)
  • chnce (1)
  • chenrui333 (1)
Pull Request Authors
  • jcarpent (86)
  • pre-commit-ci[bot] (73)
  • nim65s (42)
  • jorisv (39)
  • ManifoldFR (26)
  • update-pixi-lockfile[bot] (22)
  • dependabot[bot] (13)
  • wxmerkt (10)
  • hrp2-14 (7)
  • duburcqa (6)
  • sloretz (2)
  • stephane-caron (2)
  • edantec (2)
  • github-actions[bot] (2)
  • acmiyaguchi (1)
Top Labels
Issue Labels
bug (1)
Pull Request Labels
no changelog (130) pixi (22) dependencies (13) github_actions (13) pr status wip (1)

Packages

  • Total packages: 3
  • Total downloads:
    • homebrew 175 last-month
    • pypi 131,040 last-month
  • Total docker downloads: 29
  • Total dependent packages: 15
    (may contain duplicates)
  • Total dependent repositories: 4
    (may contain duplicates)
  • Total versions: 125
  • Total maintainers: 1
pypi.org: eigenpy

Bindings between Numpy and Eigen using Boost.Python

  • Versions: 27
  • Dependent Packages: 8
  • Dependent Repositories: 3
  • Downloads: 131,040 Last month
  • Docker Downloads: 29
Rankings
Dependent packages count: 0.9%
Downloads: 2.7%
Docker downloads count: 2.9%
Average: 4.7%
Stargazers count: 5.9%
Forks count: 6.8%
Dependent repos count: 9.2%
Maintainers (1)
Last synced: 6 months ago
conda-forge.org: eigenpy
  • Versions: 62
  • Dependent Packages: 5
  • Dependent Repositories: 1
Rankings
Dependent packages count: 10.4%
Average: 23.9%
Dependent repos count: 24.1%
Forks count: 30.1%
Stargazers count: 31.0%
Last synced: 6 months ago
formulae.brew.sh: eigenpy

Python bindings of Eigen library with Numpy support

  • Versions: 36
  • Dependent Packages: 2
  • Dependent Repositories: 0
  • Downloads: 175 Last month
Rankings
Dependent packages count: 7.7%
Forks count: 27.6%
Stargazers count: 32.0%
Average: 33.3%
Downloads: 48.6%
Dependent repos count: 50.7%
Last synced: 6 months ago

Dependencies

.github/workflows/jrl-cmakemodules.yml actions
  • actions/checkout v2 composite
.github/workflows/macos-linux-conda.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • conda-incubator/setup-miniconda v2 composite
.github/workflows/reloc.yml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
.github/workflows/ros_ci.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • ros-industrial/industrial_ci master composite
.github/workflows/windows-conda.yml actions
  • actions/checkout v2 composite
  • goanpeca/setup-miniconda v1 composite
.github/workflows/linux.yml actions
  • actions/checkout v3 composite
docker/ubuntu/Dockerfile docker
  • ubuntu 22.04 build
.github/workflows/conda/environment.yml pypi