{"id":14977833,"url":"https://github.com/stack-of-tasks/eigenpy","last_synced_at":"2025-05-15T08:07:23.580Z","repository":{"id":18660359,"uuid":"21867994","full_name":"stack-of-tasks/eigenpy","owner":"stack-of-tasks","description":"Efficient bindings between Numpy and Eigen using Boost.Python","archived":false,"fork":false,"pushed_at":"2025-05-04T09:46:43.000Z","size":2449,"stargazers_count":189,"open_issues_count":17,"forks_count":42,"subscribers_count":19,"default_branch":"devel","last_synced_at":"2025-05-04T10:34:01.319Z","etag":null,"topics":["bindings","boost","boost-python","eigen","numpy","python","python3-library"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stack-of-tasks.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-07-15T16:55:01.000Z","updated_at":"2025-05-04T09:46:47.000Z","dependencies_parsed_at":"2023-10-25T09:50:17.379Z","dependency_job_id":"870214cf-d3e8-48f5-88c7-f9eebfc4cff3","html_url":"https://github.com/stack-of-tasks/eigenpy","commit_stats":{"total_commits":1550,"total_committers":26,"mean_commits":59.61538461538461,"dds":"0.30387096774193545","last_synced_commit":"6121606f531b17cba8bcc9819cc035d904368099"},"previous_names":[],"tags_count":114,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stack-of-tasks%2Feigenpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stack-of-tasks%2Feigenpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stack-of-tasks%2Feigenpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stack-of-tasks%2Feigenpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stack-of-tasks","download_url":"https://codeload.github.com/stack-of-tasks/eigenpy/tar.gz/refs/heads/devel","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254301433,"owners_count":22047904,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bindings","boost","boost-python","eigen","numpy","python","python3-library"],"created_at":"2024-09-24T13:56:24.502Z","updated_at":"2025-05-15T08:07:23.227Z","avatar_url":"https://github.com/stack-of-tasks.png","language":"C++","readme":"EigenPy — Versatile and efficient Python bindings between Numpy and Eigen\n======\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://opensource.org/licenses/BSD-2-Clause\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-BSD%202--Clause-green.svg\" alt=\"License\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/stack-of-tasks/eigenpy/workflows/linux.yml\"\u003e\u003cimg alt=\"Build Status\" src=\"https://github.com/stack-of-tasks/eigenpy/actions/workflows/linux.yml/badge.svg?branch=devel\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://anaconda.org/conda-forge/eigenpy\"\u003e\u003cimg src=\"https://img.shields.io/conda/dn/conda-forge/eigenpy.svg\" alt=\"Conda Downloads\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://anaconda.org/conda-forge/eigenpy\"\u003e\u003cimg src=\"https://img.shields.io/conda/vn/conda-forge/eigenpy.svg\" alt=\"Conda Version\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://badge.fury.io/py/eigenpy\"\u003e\u003cimg src=\"https://badge.fury.io/py/eigenpy.svg\" alt=\"PyPI version\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/psf/black\"\u003e\u003cimg src=\"https://img.shields.io/badge/code%20style-black-000000.svg\" alt=\"Code style: black\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/astral-sh/ruff\"\u003e\u003cimg src=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json\" alt=\"Linter: ruff\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n**EigenPy** is an open-source framework that allows the binding of the famous [Eigen](http://eigen.tuxfamily.org) C++ library in Python via Boost.Python.\n\n**EigenPy** provides:\n\n- full memory sharing between Numpy and Eigen, avoiding memory allocation\n- full support Eigen::Ref avoiding memory allocation\n- full support of the Eigen::Tensor module\n- exposition of the Geometry module of Eigen for easy code prototyping\n- standard matrix decomposion routines of Eigen such as the Cholesky decomposition (SVD and QR decompositions [can be added](#contributing))\n- full support of SWIG objects\n- full support of runtime declaration of Numpy scalar types\n- extended API to expose several STL types and some of their Boost equivalents: `optional` types, `std::pair`, maps, variants...\n- full support of vectorization between C++ and Python (all the hold objects are properly aligned in memory)\n\n## Installation\n\nThe installation of **EigenPy** on your computer is made easy for Linux/BSD, Mac OS X, and Windows environments.\n\n### Conda\n\nYou simply need this simple line:\n```bash\nconda install eigenpy -c conda-forge\n```\n\n### Ubuntu\n\nYou can easily install **EigenPy** from binaries.\n\n#### Add robotpkg apt repository\n\n1. Add robotpkg as source repository to apt:\n```\nsudo sh -c \"echo 'deb [arch=amd64] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -cs) robotpkg' \u003e\u003e /etc/apt/sources.list.d/robotpkg.list\"\n```\n2. Register the authentication certificate of robotpkg:\n```\ncurl http://robotpkg.openrobots.org/packages/debian/robotpkg.key | sudo apt-key add -\n```\n3. You need to run at least one apt update to fetch the package descriptions:\n```bash\nsudo apt-get update\n```\n\n#### Install EigenPy\n\n4. The installation of **EigenPy** and its dependencies is made through the line:\n\n```bash\nsudo apt install robotpkg-py35-eigenpy\n```\nwhere 35 should be replaced by the Python 3, you want to work this (e.g., `robotpkg-py36-eigenpy` to work with Python 3.6).\n\n### Mac OS X\n\nThe installation of **EigenPy** on Mac OS X is made via [HomeBrew](https://brew.sh/).\nYou just need to register the tap of the software repository.\n\n```\nbrew tap gepetto/homebrew-gepetto\n```\nand then install **EigenPy** for Python 3.x with:\n```\nbrew install eigenpy\n```\n\n## Build\n\nBuild instruction can be found [here](./development/build.md)\n\n## Credits\n\nThe following people have been involved in the development of **EigenPy**:\n\n- [Justin Carpentier](https://jcarpent.github.io) (Inria): main developer and manager of the project\n- [Nicolas Mansard](http://projects.laas.fr/gepetto/index.php/Members/NicolasMansard) (LAAS-CNRS): initial project instructor\n- [Wolfgang Merkt](http://www.wolfgangmerkt.com/) (University of Edinburgh): ROS integration and support\n- [Sean Yen](https://www.linkedin.com/in/seanyentw) (Microsoft): Windows integration\n- [Loïc Estève](https://github.com/lesteve) (Inria): Conda integration\n- [Wilson Jallet](https://manifoldfr.github.io/) (Inria/LAAS-CNRS): core developer\n- [Joris Vaillant](https://github.com/jorisv) (Inria): core developer and manager of the project\n\nIf you have taken part in the development of **EigenPy**, feel free to add your name and contribution here.\n\n## Acknowledgments\n\nThe 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).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstack-of-tasks%2Feigenpy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstack-of-tasks%2Feigenpy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstack-of-tasks%2Feigenpy/lists"}