A student-first wrapper around the DJI RoboMaster EP Python SDK.
Project description
robowrap
Student-first wrapper for the RoboMaster EP Python SDK.
The design goal is the same one shown in test.py: students should be able to write robot behavior as a sequence of clear intentions such as move, detect, grab, and close without learning the SDK transport layer first. Grouped subsystems like robot.cam, robot.arm, and robot.gun mirror the physical robot and keep the first classroom exercise short.
Project links
- PyPI package: robowrap on PyPI
- Modern SDK package: robomaster-sdk-modern on PyPI
- Modern SDK repository: RoboMaster-SDK (maintained fork)
- Original SDK: DJI RoboMaster SDK
Python support
robowrap now supports modern Python and is packaged for Python 3.9+, including Python 3.14+.
This change was made because the original DJI RoboMaster SDK appears to be unmaintained and still targets older Python releases. To keep the RoboMaster EP usable on current Python versions, robowrap now depends on the maintained robomaster-sdk-modern package instead.
Installation
python -m pip install --upgrade pip
python -m pip install robomaster-sdk-modern robowrap
robowrap depends on robomaster-sdk-modern, so installing robowrap is usually enough. Installing both explicitly makes the SDK choice clear.
To build and publish a new release:
python -m pip install --upgrade build twine
python -m build
python -m twine upload dist/*
Snake_case policy
- The public wrapper API is now
snake_caseonly. - Legacy camelCase and mixed-case names still work for one transition release and emit
DeprecationWarning. - Those aliases are scheduled for removal in
0.9.0, not before2026-09-01.
Start here
- Student guide
- Quickstart
- API reference
- Coverage matrix
- Snake case migration
- Troubleshooting
- Contributor checklist
- Changelog
Example
from robowrap import RoboMaster
robot = RoboMaster()
robot.set_leds(0, 128, 255)
robot.forward(0.5)
robot.cam.detect_person()
robot.arm.move_to(x=0, z=50)
robot.close()
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file robowrap-0.8.2.tar.gz.
File metadata
- Download URL: robowrap-0.8.2.tar.gz
- Upload date:
- Size: 15.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
391648a303b48c03e7127ad67d5df6cfc6c9dfd912b9b76db11f388974780f55
|
|
| MD5 |
ba47d9695779ef973d82a3a8ebd90623
|
|
| BLAKE2b-256 |
2248b0cb6a0f4d7e2be26a31fa5dde46e284174d73963f6e87afd23d801f8d6d
|
Provenance
The following attestation bundles were made for robowrap-0.8.2.tar.gz:
Publisher:
pypi-publish.yml on MrDaviesKellett/robomasterWrapper
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
robowrap-0.8.2.tar.gz -
Subject digest:
391648a303b48c03e7127ad67d5df6cfc6c9dfd912b9b76db11f388974780f55 - Sigstore transparency entry: 1285005493
- Sigstore integration time:
-
Permalink:
MrDaviesKellett/robomasterWrapper@8ec5be2cc7e1823a9833a8cce1596928bdcc1ca5 -
Branch / Tag:
refs/tags/v0.8.2 - Owner: https://github.com/MrDaviesKellett
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@8ec5be2cc7e1823a9833a8cce1596928bdcc1ca5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file robowrap-0.8.2-py3-none-any.whl.
File metadata
- Download URL: robowrap-0.8.2-py3-none-any.whl
- Upload date:
- Size: 15.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eaeeca9a7c247a88669045083396671bf720633bdf4cdb2bb09034c99c0c25fa
|
|
| MD5 |
f3c645de48180a822d0201a09833ab70
|
|
| BLAKE2b-256 |
feb3f88dcffee5b02ba1a1fce14e29cf433723f631f8bfaa8976890b37389fed
|
Provenance
The following attestation bundles were made for robowrap-0.8.2-py3-none-any.whl:
Publisher:
pypi-publish.yml on MrDaviesKellett/robomasterWrapper
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
robowrap-0.8.2-py3-none-any.whl -
Subject digest:
eaeeca9a7c247a88669045083396671bf720633bdf4cdb2bb09034c99c0c25fa - Sigstore transparency entry: 1285005544
- Sigstore integration time:
-
Permalink:
MrDaviesKellett/robomasterWrapper@8ec5be2cc7e1823a9833a8cce1596928bdcc1ca5 -
Branch / Tag:
refs/tags/v0.8.2 - Owner: https://github.com/MrDaviesKellett
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@8ec5be2cc7e1823a9833a8cce1596928bdcc1ca5 -
Trigger Event:
push
-
Statement type: