Join our community!
✨ 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!
- 🚀 Streaming data logging with custom data types
- 📊 Dataset visualization and synchronization
- ☁️ Train robot learning algorithms on cloud
- 🤖 Policy inference and deployment
To install the basic package for data logging and visualization:
pip install neuracoreNote: for faster video decoding, installing ffmpeg via sudo apt-get install ffmpeg (for Linux) is recommended.
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]Note: The main branch is considered a development branch. For production use, we recommend installing from PyPI (as shown above) or using the latest tagged commit.
Here is a short taste on what neuracore can do, for a detailed walk-through, please refer to the tutorial and documentation.
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 training
dataset = nc.get_dataset("My Robot Dataset")
job_data = nc.start_training_run(
name="MyTrainingJob",
num_gpus=5,
frequency=50,
algorithm_name=diffusion_policy,
...
)
# 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)- Examples
- Tutorials
- Training
- Command Line Tools
- Dataset Importer
- Environment Variables
- Contribution Guide
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
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}
}
