|
10 | 10 |
|
11 | 11 | ## Getting started |
12 | 12 |
|
13 | | -Rustypot is a communication library for Dynamixel/Feetech motors. It is used in the [Reachy project](https://www.pollen-robotics.com/reachy/). More types of servo can be added in the future. |
| 13 | +Rustypot is a communication library for Dynamixel/Feetech motors. It is notably used in the [Reachy project](https://www.pollen-robotics.com/reachy/). More types of servo can be added in the future. |
14 | 14 |
|
15 | 15 | ## Feature Overview |
16 | 16 |
|
17 | 17 | * Relies on [serialport](https://docs.rs/serialport/latest/serialport/) for serial communication |
18 | 18 | * Support for dynamixel protocol v1 and v2 (can also use both on the same bus) |
19 | 19 | * Support for sync read and sync write operations |
20 | 20 | * Easy support for new type of motors (register definition through macros). Currently support for dynamixel XL320, XL330, XL430, XM430, MX*, Orbita 2D & 3D. |
21 | | -* Pure Rust |
| 21 | +* Pure Rust plus python bindings (using [pyo3](https://pyo3.rs/)). |
22 | 22 |
|
23 | 23 | To add new servo, please refer to the [Servo documentation](./servo/README.md). |
24 | 24 |
|
@@ -76,11 +76,36 @@ fn main() { |
76 | 76 |
|
77 | 77 | See https://docs.rs/rustypot for more information on APIs and examples. |
78 | 78 |
|
| 79 | +See [python/README.md](./python/README.md) for information on how to use the python bindings. |
| 80 | + |
| 81 | +## Python bindings |
| 82 | + |
| 83 | +The python bindings are generated using [pyo3](https://pyo3.rs/). They are available on `pypi`(https://pypi.org/project/rustypot/). You can install them using pip, pix, uv, etc. |
| 84 | + |
| 85 | +To build them locally, you can use [maturin](https://www.maturin.rs). |
| 86 | + |
| 87 | +```bash |
| 88 | +maturin build --release --features python |
| 89 | +``` |
| 90 | + |
| 91 | +or, if you want to install them in your local python environment: |
| 92 | + |
| 93 | +```bash |
| 94 | +maturin develop --release --features python |
| 95 | +``` |
| 96 | + |
| 97 | +See [maturin official documentation](https://maturin.rs) for more information on how to use it. |
| 98 | + |
| 99 | +## Contributing |
| 100 | + |
| 101 | +If you want to contribute to Rustypot, please fork the repository and create a pull request. We welcome any contributions, including bug fixes, new features, and documentation improvements. |
| 102 | +We especially appreciate support for new servos. If you want to add support for a new servo, please follow the instructions in the [Servo documentation](./servo/README.md). |
| 103 | + |
79 | 104 | ## License |
80 | 105 |
|
81 | 106 | This library is licensed under the [Apache License 2.0](./LICENSE). |
82 | 107 |
|
83 | 108 | ## Support |
84 | 109 |
|
85 | | -Rustypot is developed and maintained by [Pollen-Robotics](https://pollen-robotics.com). They developped open-source tools for robotics manipulation. |
| 110 | +Rustypot is developed and maintained by [Pollen-Robotics](https://pollen-robotics.com). They developped open-source hardware and tools for robotics. |
86 | 111 | Visit https://pollen-robotics.com to learn more or join the [Discord community](https://discord.com/invite/Kg3mZHTKgs) if you have any questions or want to share your projects. |
0 commit comments