{"id":27953686,"url":"https://github.com/neurobionics/opensourceleg","last_synced_at":"2025-05-07T17:14:27.209Z","repository":{"id":39172323,"uuid":"482055059","full_name":"neurobionics/opensourceleg","owner":"neurobionics","description":"An open-source SDK for developing and testing algorithms on commonly used robotic hardware.","archived":false,"fork":false,"pushed_at":"2025-05-03T20:54:04.000Z","size":38160,"stargazers_count":44,"open_issues_count":23,"forks_count":45,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-05-07T17:14:21.138Z","etag":null,"topics":["control-systems","prostheses","prosthetic-limbs","prosthetics","python","python3","robotics"],"latest_commit_sha":null,"homepage":"https://neurobionics.github.io/opensourceleg/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/neurobionics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-04-15T18:50:21.000Z","updated_at":"2025-04-28T22:12:53.000Z","dependencies_parsed_at":"2023-02-17T08:10:38.407Z","dependency_job_id":"ab8800af-a38c-4020-a294-5cc3ce371966","html_url":"https://github.com/neurobionics/opensourceleg","commit_stats":{"total_commits":397,"total_committers":6,"mean_commits":66.16666666666667,"dds":0.4256926952141058,"last_synced_commit":"b4b76665bab79e39df95148aac5765821428898b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neurobionics%2Fopensourceleg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neurobionics%2Fopensourceleg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neurobionics%2Fopensourceleg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neurobionics%2Fopensourceleg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/neurobionics","download_url":"https://codeload.github.com/neurobionics/opensourceleg/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252922323,"owners_count":21825639,"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":["control-systems","prostheses","prosthetic-limbs","prosthetics","python","python3","robotics"],"created_at":"2025-05-07T17:14:26.545Z","updated_at":"2025-05-07T17:14:27.201Z","avatar_url":"https://github.com/neurobionics.png","language":"Python","funding_links":[],"categories":["Projects"],"sub_categories":["Legged Robots"],"readme":"# opensourceleg\n\n[![Build status](https://github.com/neurobionics/opensourceleg/actions/workflows/main.yml/badge.svg)](https://github.com/neurobionics/opensourceleg/actions/workflows/main.yml)\n[![Documentation Status](https://github.com/neurobionics/opensourceleg/actions/workflows/pages/pages-build-deployment/badge.svg)](https://neurobionics.github.io/opensourceleg/)\n[![Python Version](https://img.shields.io/pypi/pyversions/opensourceleg.svg)](https://pypi.org/project/opensourceleg/)\n[![Dependencies Status](https://img.shields.io/badge/dependencies-up%20to%20date-brightgreen.svg)](https://github.com/neurobionics/opensourceleg/pulls?utf8=%E2%9C%93\u0026q=is%3Apr%20author%3Aapp%2Fdependabot)\n\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Security: bandit](https://img.shields.io/badge/security-bandit-green.svg)](https://github.com/PyCQA/bandit)\n[![Pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white)](https://github.com/neurobionics/opensourceleg/blob/main/.pre-commit-config.yaml)\n[![License](https://img.shields.io/github/license/neurobionics/opensourceleg)](https://github.com/neurobionics/opensourceleg/blob/main/LICENSE)\n[![Coverage](https://raw.githubusercontent.com/neurobionics/opensourceleg/refs/heads/main/assets/images/coverage.svg)](https://github.com/neurobionics/opensourceleg/actions/workflows/main.yml)\n\nAn open-source SDK for developing and testing algorithms on commonly used robotic hardware. Originally developed for the [Open-Source Leg](https://www.opensourceleg.org/) project, this library provides a comprehensive framework for interfacing with various actuators and sensors in robotic systems. While initially designed for prosthetic leg applications, the `opensourceleg` library's modular architecture makes it versatile for use with any robotic platform utilizing similar components.\n\n\u003cimg src=\"https://raw.githubusercontent.com/neurobionics/opensourceleg/refs/heads/main/assets/images/banner.gif\" width=\"800\" title=\"Open-Source Leg\"\u003e\n\n## 🎯 Key Features\n\nThis library solves common challenges in developing, testing, and deploying robotic algorithms:\n\n| Feature                         | Description                                                         |\n| ------------------------------- | ------------------------------------------------------------------- |\n| 📦 Standardized Interfaces      | Provides consistent interfaces for common actuators and sensors     |\n| 🔄 Ready-to-Use Implementations | Offers ready-to-use implementations for popular hardware components |\n| 🔍 Extensible Architecture      | Allows for easy integration of custom components                    |\n| 🧪 Comprehensive Benchmarks     | Includes comprehensive benchmarks for popular hardware components   |\n\n## 👥 Ideal for Roboticists Who\n\n- Want to develop robotic algorithms for the Open-Source Leg platform or any other robotic platform\n- Need a reliable and extensible framework for interfacing with various actuators and sensors\n- Are working on a robotic project and need a flexible and powerful software development kit\n- Are looking for benchmarks to pick the best hardware for their robotic project\n\n## 🔄 Available Hardware Interfaces\n\nThe library currently supports the following hardware components:\n\n| Sensors              | Unit Tests | Hardware Tests | Benchmarks | Documentation |\n| -------------------- | ---------- | -------------- | ---------- | ------------- |\n| AS5048B Encoder      | ✅         | ✅             | ❌         | ✅            |\n| Lord Microstrain IMU | ✅         | ✅             | ❌         | ✅            |\n| SRI Loadcell         | ✅         | ✅             | ❌         | ✅            |\n\n| Actuators     | Unit Tests | Hardware Tests | Benchmarks | Documentation |\n| ------------- | ---------- | -------------- | ---------- | ------------- |\n| Dephy Actpack | ⚠️         | ✅             | ⚠️         | ✅            |\n| Moteus        | ⚠️         | ⚠️             | ⚠️         | ✅            |\n| TMotor        | ❌         | ⚠️             | ❌         | ❌            |\n\n\u003e Legend: ✅ Complete/Available; ⚠️ Partial/In Progress; ❌ Not Yet Available;\n\nHardware tests indicate successful testing on physical devices.\nBenchmarks include performance metrics such as response time and accuracy measurements.\nDocumentation includes API reference and usage examples.\n\n## 📦 Installation\n\nThe library is available on PyPI and can be installed using pip:\n\n```bash\npip install opensourceleg\n```\n\n### Hardware-Specific Dependencies\n\nTo keep your installation lightweight, you can install only the dependencies needed for your specific hardware:\n\n```bash\n# For Dephy actuators\npip install opensourceleg[dephy]\n\n# For Moteus actuators\npip install opensourceleg[moteus]\n\n# For I2C communication\npip install opensourceleg[communication]\n```\n\n| Extra           | Dependencies                         |\n| --------------- | ------------------------------------ |\n| `dephy`         | flexsea                              |\n| `moteus`        | moteus, moteus-pi3hat                |\n| `communication` | smbus2                               |\n| `messaging`     | grpcio, grpcio-tools, types-protobuf |\n\nFor more details on the installation process, please refer to the [installation guide](https://neurobionics.github.io/opensourceleg/installation).\n\n## 📚 Usage\n\nOnce the library is installed, you can import it in your projects and start using the modules:\n\n```python\nfrom opensourceleg.actuators.dephy import DephyActuator\nfrom opensourceleg.sensors.encoder import AS5048B\n...\n```\n\nFor more details on available modules, tutorials, and examples, please refer to the [documentation](https://neurobionics.github.io/opensourceleg/tutorials/sensors/getting_started).\n\n## 📝 License\n\nThe `opensourceleg` library is licensed under the terms of the [LGPL-v2.1 license](https://github.com/neurobionics/opensourceleg/raw/main/LICENSE). This license grants users a number of freedoms:\n\n- You are free to use the `opensourceleg` library for any purpose.\n- You are free to modify the `opensourceleg` library to suit your needs.\n- You can study how the `opensourceleg` library works and change it.\n- You can distribute modified versions of the `opensourceleg` library.\n\nThe LGPL license ensures that all these freedoms are protected, now and in the future, requiring everyone to share their modifications when they also share the library in public.\n\n## 🤝 Contributing\n\nContributions are welcome, and they are greatly appreciated! For more details, read our [contribution guidelines](https://github.com/neurobionics/opensourceleg/blob/main/CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneurobionics%2Fopensourceleg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneurobionics%2Fopensourceleg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneurobionics%2Fopensourceleg/lists"}