Skip to main content

The AI-ready robotics dev kit, with built-in remote control and VLA support.

Project description

phosphobot – CLI Toolkit for Robot Teleoperation and Action Models PyPI version GitHub Discord

A simple, community-driven middleware for controlling robots, recording datasets, training action models.

All from your terminal or browser dashboard.


Features

  • Easy Installation via pip or the uv package manager
  • Web Dashboard: Instant access to an interactive control panel for teleoperation
  • Dataset Recording: Record expert demonstrations with a keyboard, in VR, or with a leader arm
  • Model Training & Inference: Kick off training jobs or serve models through HTTP/WebSocket APIs

Installation

1. Using pip

pip install phosphobot

2. Using uv

If you already use uv to manage Python versions and deps:

# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Add phosphobot to your project
uv add phosphobot

Quick Start

Once installed, you can start the phosphobot server instantly.

# Verify installation and view info
phosphobot info

# Start the teleoperation server (default: localhost:80)
phosphobot run

# For custom port, e.g. 8080
phosphobot run --port 8080

If you’re managing via uv:

uv run phosphobot info
uv run phosphobot run

Dashboard & Control

After launching the server, open your browser and navigate to:

http://<YOUR_SERVER_ADDRESS>:<PORT>/

By default, the address is localhost:80

Here you can:

  • Teleoperate your robot via keyboard, leader arm, or Meta Quest
  • Record demonstration datasets (40 episodes recommended)
  • Train and deploy action models directly from the UI

Start building


Adding a New Robot

You can extend phosphobot by plugging in support for any custom robot. Just follow these steps:

  1. Clone the phosphobot repo and fetch submodules. Make sure you have git lfs installed beforehand

    git clone https://github.com/phospho-app/phosphobot.git
    cd phosphobot
    git submodule update --init --recursive
    
  2. Install uv to manage python dependencies. The recommended python version for dev is 3.10

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  3. Install nvm and Node.js. We recommend to manage Node versions via nvm.

    # Install nvm
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
    

    Then restart your terminal and verify:

    command -v nvm   # should output: nvm
    

    Finally, install the latest Node.js:

    nvm install node   # “node” is an alias for the latest version
    
  4. Build the app. From the repo root, run:

    make
    
  5. Create your robot driver

    1. In the directory phosphobot/phosphobot/hardware add a new file, e.g. my_robot.py. Inside, define a class inheriting from BaseRobot:

      from phosphobot.hardware.base import BaseRobot
      
      class MyRobot(BaseRobot):
          def __init__(self, config):
              super().__init__(config)
              # Your initialization here
      
          ... # Implement the BaseRobot's abstract methods here
      

      We use pybullet as a robotics simulation backend. Make sure to add your robot's urdf in phosphobot/resources/urdf.

  6. Make your robot detectable Open phosphobot/phosphobot/robot.py and locate the RobotConnectionManager class. Make sure your robot can be detected.

Build and run the app again and ensure your robot gets detected and can be moved. Happy with your changes? Open a pull request! We also recommend you look for testers on our Discord.


License

MIT License

Made with 💚 by the Phospho community.

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

phosphobot-0.3.7.tar.gz (14.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

phosphobot-0.3.7-py3-none-any.whl (14.2 MB view details)

Uploaded Python 3

File details

Details for the file phosphobot-0.3.7.tar.gz.

File metadata

  • Download URL: phosphobot-0.3.7.tar.gz
  • Upload date:
  • Size: 14.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.7.6

File hashes

Hashes for phosphobot-0.3.7.tar.gz
Algorithm Hash digest
SHA256 68cf566bf1f0acf5dc4d368471ce7da80368d20c68da3140d5d603dc660b74cb
MD5 572b4459419757142b7fcecbf3fb7552
BLAKE2b-256 ade855098ddb0923a1130033cfeccdfff85427480257d3ee327073e4b7a676bc

See more details on using hashes here.

File details

Details for the file phosphobot-0.3.7-py3-none-any.whl.

File metadata

  • Download URL: phosphobot-0.3.7-py3-none-any.whl
  • Upload date:
  • Size: 14.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.7.6

File hashes

Hashes for phosphobot-0.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 314c6c2b54b59f3aa8eb0537f8e797ccf20b2d743d6d49b350086fbe51a0e3ed
MD5 63007768252a3256176caf5fbd87b05d
BLAKE2b-256 573e9e805ce09b2ce18ef696b8ea7a06ab2a3c7d26c25001ce3d2cdb243dc5ca

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page