Positronic robotics project
Project description
Positronic
Main repository for the Positronic project.
Installation
There are two supported ways to install and run Positronic:
- Docker (recommended for reproducibility)
- Native install using
uv(fast and lockfile-driven)
Option 1: Docker
git clone git@github.com:Positronic-Robotics/positronic.git
cd positronic
# Build the image (includes libfranka build and Python deps from uv.lock)
./docker/build.sh
# Run commands inside the container (mounts repo, sets PYTHONPATH)
./docker/run.sh pytest # run tests
./docker/run.sh python -m pimm # example: run a module
For real-time flags (rtprio/memlock), use ./docker/run-rt.sh instead of run.sh.
For container details, see docker/Dockerfile.
Option 2: Local via uv
Prerequisites: install uv (https://docs.astral.sh/uv/). Python 3.11 is required.
git clone git@github.com:Positronic-Robotics/positronic.git
cd positronic
# Install dev environment from the lockfile (recommended)
uv sync --frozen --extra dev
# Run tests (coverage is enabled via pyproject addopts)
uv run pytest
# If you need hardware extras as well
uv sync --frozen --extra dev --extra hardware
Dependencies
- All dependencies are declared in
pyproject.toml. - Versions are locked via
uv.lockand installed withuv sync --frozenfor reproducibility.
Adding or changing dependencies
Use uv to manage deps and the lockfile:
# Add/remove packages
uv add <package>
uv remove <package>
# Regenerate lock after changes
uv lock
# Install from the updated lock
uv sync --frozen
For optional features, use extras: --extra dev or --extra hardware.
Development Installation
Set up a development environment with tests, linters, and coverage:
uv sync --frozen --extra dev
# Lint
uv run flake8
# Run tests with coverage (terminal)
uv run pytest
# Generate HTML coverage report
uv run pytest --cov-report=html
# Open htmlcov/index.html in your browser
How to convert teleoperated dataset into LeRobot format (ready for training)
python -m positronic.training.to_lerobot output_dir=_lerobot_ds/
By default, this reads data from _dataset directory. Use input_dir=your_dir to control inputs. Please refer to configs/to_lerobot.yaml for more details.
Train the model
DATA_DIR=/tmp/ python lerobot/scripts/train.py dataset_repo_id=lerobot_ds policy=positronic env=positronic hydra.run.dir=outputs/train/positronic hydra.job.name=positronic device=cuda wandb.enable=true resume=false wandb.disable_artifact=true env.state_dim=8
Project details
Release history Release notifications | RSS feed
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 positronic-0.1.0rc1.tar.gz.
File metadata
- Download URL: positronic-0.1.0rc1.tar.gz
- Upload date:
- Size: 14.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb7fe8d375800639f40441cacf82869c2939edb4cc35fe0494d1e9d1ff5f7acd
|
|
| MD5 |
5e28412df31fc0a7503d25115d29905b
|
|
| BLAKE2b-256 |
43ecf6a72aab191112c3d8c772d8396fd5fdaf9b2cd415d0a1380cf1167ee02c
|
File details
Details for the file positronic-0.1.0rc1-py3-none-any.whl.
File metadata
- Download URL: positronic-0.1.0rc1-py3-none-any.whl
- Upload date:
- Size: 15.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7fe433138a98a4613a92e623581deae69df3b232a70c8025d7f919a92501d57a
|
|
| MD5 |
3830b1a7d23b3c866422c0234a7367ce
|
|
| BLAKE2b-256 |
4a86ba563eb29d3860bd3ddbd48e1754c20df4a0e1a44a5ad6bcf383c9ff8b46
|