Metadata-Version: 2.1
Name: neuracore
Version: 1.0.0
Summary: Neuracore Client Library
Home-page: https://github.com/neuraco/neuracore
Author: Stephen James
Author-email: stephen@neuraco.com
Keywords: robotics machine-learning ai client-library
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: websockets>=12.0
Requires-Dist: numpy>=1.24.0
Requires-Dist: requests>=2.31.0
Requires-Dist: pillow>=10.0.0
Requires-Dist: pyyaml>=6.0.1
Requires-Dist: tqdm>=4.66.0
Requires-Dist: requests-oauthlib
Provides-Extra: dev
Requires-Dist: pytest>=6.2.5; extra == "dev"
Requires-Dist: pytest-cov>=2.12.1; extra == "dev"
Requires-Dist: twine>=3.4.2; extra == "dev"
Requires-Dist: requests-mock>=1.9.3; extra == "dev"
Provides-Extra: examples
Requires-Dist: matplotlib>=3.3.0; extra == "examples"
Requires-Dist: mujoco==2.3.7; extra == "examples"
Requires-Dist: dm-control==1.0.14; extra == "examples"
Requires-Dist: pyquaternion>=0.9.5; extra == "examples"
Provides-Extra: local_endpoint
Requires-Dist: torchserve; extra == "local-endpoint"
Requires-Dist: nvgpu; extra == "local-endpoint"
Requires-Dist: torch; extra == "local-endpoint"
Requires-Dist: torchvision; extra == "local-endpoint"
Requires-Dist: torch-model-archiver; extra == "local-endpoint"

# Neuracore Python Client

Neuracore is a powerful robotics and machine learning client library for seamless robot data collection, model deployment, and interaction.

## Features

- Easy robot initialization and connection
- Streaming data logging
- Model endpoint management
- Local and remote model support
- Flexible dataset creation

## Installation

```bash
pip install neuracore
```

## Quick Start

Ensure you have an account at (https://www.neuracore.app/)[https://www.neuracore.app/]

### Authentication

```python
import neuracore as nc

# This will save your API key locally
nc.login()
```

### Robot Connection

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

### Data Logging

```python
# Log joint positions
nc.log_joints({
    'joint1': 0.5, 
    'joint2': -0.3
})

# Log RGB camera image
nc.log_rgb("top_camera", image_array)
```

## Development

To set up for development:

```bash
git clone https://github.com/neuraco/neuracore
cd neuracore
pip install -e .[dev]
```

## Testing

```bash
export NEURACORE_API_URL=http://localhost:8000/api
pytest tests/
```

## Contributing

Contributions are welcome!
