NeuracoreAI/neuracore

The robot skill creation engine

284

stars

892

commits

Python

primary language

Sep 10, 2026

updated

www.neuracore.com/

README

Neuracore Logo

Downloads Python 3.10+ PyPI - Version License: MIT Last Commit

Getting started

Discord


πŸ€– What is Neuracore

✨ Neuracore is a powerful robot learning library that enables data collection and visualization, model training, deployment, and real-time inference with support for custom data types. Get started with Neuracore today, sign up for a Neuracore account!

Data Visualization

🌟 Features

  • πŸš€ Streaming data logging with custom data types
  • πŸ“Š Dataset visualization and synchronization
  • ☁️ Train robot learning algorithms on cloud
  • πŸ€– Policy inference and deployment

πŸ› οΈ Installation

Neuracore has been tested on Ubuntu 24.04 and MacOS 26 (Arm64, Apple Silicon, M1 series Chips). If you're on Windows, please use Windows Subsystem for Linux (WSL)

To install the basic package for data logging and visualization:

pip install neuracore

Note: installing the ffmpeg binary is recommended for faster video encoding (during recording) and decoding (during playback/import). If not available, Neuracore falls back to PyAV for encoding.

Linux (Debian/Ubuntu):

sudo apt-get update && sudo apt-get install -y ffmpeg

For training and ML development:

pip install neuracore[ml]

For bulk importing datasets:

pip install neuracore[import]

To run our examples:

pip install neuracore[examples]

For MuJoCo MJCF model support:

pip install neuracore[mjcf]

Note: [examples] and [mjcf] cannot be installed together: the examples pin mujoco==2.3.7, while MJCF support requires mujoco>3. Use separate environments if you need both.

🍰 A Short Taste

Here is a short taste on what neuracore can do.
For a detailed walk-through, please refer to the tutorial and documentation, or try it yourself on Google Colab.

import neuracore as nc # pip install neuracore
import time

# ensure you have an account at neuracore.com
nc.login()

# Connect to a robot with URDF
nc.connect_robot(
    robot_name="MyRobot", 
    urdf_path="/path/to/robot.urdf",
)

# Create a dataset for recording
nc.create_dataset(
    name="My Robot Dataset",
    description="Example dataset with multiple data types"
)

# Recording and streaming data
nc.start_recording()
t = time.time()
nc.log_joint_positions(positions={'joint1': 0.5, 'joint2': -0.3}, timestamp=t)
nc.log_rgb(name="top_camera", rgb=image_array, timestamp=t)
# Stop recording, the dataset is automatically uploaded to the cloud
nc.stop_recording()

# Kick off cloud training
job_data = nc.start_training_run(
    name="MyTrainingJob",
    dataset_name="My Robot Dataset",
    algorithm_name="diffusion_policy",
    num_gpus=5,
    frequency=50,
    ...
)

# Load a trained model locally
policy = nc.policy(
    train_run_name="MyTrainingJob",
    ...
)

# Get model inputs
nc.log_joint_positions(positions={'joint1': 0.5, 'joint2': -0.3})
nc.log_rgb(name="top_camera", rgb=image_array)
# Model Inference
predictions = policy.predict(timeout=5)

πŸ“š Documentation

πŸ’¬ Community

We are building Neuracore to help everyone accelerate their robot learning workflows, and we'd love to hear from you! Join our community to get help, share ideas, and stay updated:

  • Discord - Chat with the community and get support
  • GitHub Issues - Report bugs and request features

🧾 Citation

If you use Neuracore in your research, please consider citing:

@software{Neuracore,
  author = {Neuracore Team},
  title = {Neuracore},
  month = {January},
  year = {2026},
  url = {https://github.com/NeuracoreAI/neuracore}
}

Contributors

stepjam

167 commits

aditya-neuraco

97 commits

CougarTasker

79 commits

NeuracoreAI/neuracore

The robot skill creation engine

284

stars

892

commits

Python

primary language

Sep 10, 2026

updated

www.neuracore.com/

README

Neuracore Logo

Downloads Python 3.10+ PyPI - Version License: MIT Last Commit

Getting started

Discord


πŸ€– What is Neuracore

✨ Neuracore is a powerful robot learning library that enables data collection and visualization, model training, deployment, and real-time inference with support for custom data types. Get started with Neuracore today, sign up for a Neuracore account!

Data Visualization

🌟 Features

  • πŸš€ Streaming data logging with custom data types
  • πŸ“Š Dataset visualization and synchronization
  • ☁️ Train robot learning algorithms on cloud
  • πŸ€– Policy inference and deployment

πŸ› οΈ Installation

Neuracore has been tested on Ubuntu 24.04 and MacOS 26 (Arm64, Apple Silicon, M1 series Chips). If you're on Windows, please use Windows Subsystem for Linux (WSL)

To install the basic package for data logging and visualization:

pip install neuracore

Note: installing the ffmpeg binary is recommended for faster video encoding (during recording) and decoding (during playback/import). If not available, Neuracore falls back to PyAV for encoding.

Linux (Debian/Ubuntu):

sudo apt-get update && sudo apt-get install -y ffmpeg

For training and ML development:

pip install neuracore[ml]

For bulk importing datasets:

pip install neuracore[import]

To run our examples:

pip install neuracore[examples]

For MuJoCo MJCF model support:

pip install neuracore[mjcf]

Note: [examples] and [mjcf] cannot be installed together: the examples pin mujoco==2.3.7, while MJCF support requires mujoco>3. Use separate environments if you need both.

🍰 A Short Taste

Here is a short taste on what neuracore can do.
For a detailed walk-through, please refer to the tutorial and documentation, or try it yourself on Google Colab.

import neuracore as nc # pip install neuracore
import time

# ensure you have an account at neuracore.com
nc.login()

# Connect to a robot with URDF
nc.connect_robot(
    robot_name="MyRobot", 
    urdf_path="/path/to/robot.urdf",
)

# Create a dataset for recording
nc.create_dataset(
    name="My Robot Dataset",
    description="Example dataset with multiple data types"
)

# Recording and streaming data
nc.start_recording()
t = time.time()
nc.log_joint_positions(positions={'joint1': 0.5, 'joint2': -0.3}, timestamp=t)
nc.log_rgb(name="top_camera", rgb=image_array, timestamp=t)
# Stop recording, the dataset is automatically uploaded to the cloud
nc.stop_recording()

# Kick off cloud training
job_data = nc.start_training_run(
    name="MyTrainingJob",
    dataset_name="My Robot Dataset",
    algorithm_name="diffusion_policy",
    num_gpus=5,
    frequency=50,
    ...
)

# Load a trained model locally
policy = nc.policy(
    train_run_name="MyTrainingJob",
    ...
)

# Get model inputs
nc.log_joint_positions(positions={'joint1': 0.5, 'joint2': -0.3})
nc.log_rgb(name="top_camera", rgb=image_array)
# Model Inference
predictions = policy.predict(timeout=5)

πŸ“š Documentation

πŸ’¬ Community

We are building Neuracore to help everyone accelerate their robot learning workflows, and we'd love to hear from you! Join our community to get help, share ideas, and stay updated:

  • Discord - Chat with the community and get support
  • GitHub Issues - Report bugs and request features

🧾 Citation

If you use Neuracore in your research, please consider citing:

@software{Neuracore,
  author = {Neuracore Team},
  title = {Neuracore},
  month = {January},
  year = {2026},
  url = {https://github.com/NeuracoreAI/neuracore}
}

Contributors

stepjam

167 commits

aditya-neuraco

97 commits

CougarTasker

79 commits

Languages

Python

72.3%

Rust

27.2%