Metadata-Version: 2.1
Name: wandelbots
Version: 0.2.1
Summary: Official Python client for the Wandelbots API
Author: Martin George
Author-email: martin.george@wandelbots.com
Requires-Python: >=3.9,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: httpx (==0.27.2)
Requires-Dist: numpy (>=1.26,<2.0)
Requires-Dist: requests (==2.32.3)
Requires-Dist: scipy (>=1.11,<2.0)
Requires-Dist: wandelbots_api_client (==24.5.0)
Requires-Dist: websockets (==13.0.1)
Description-Content-Type: text/markdown

# @wandelbots/wandelbots-python

This library provides a wrapper around the Wandelbots API. Under the hood it queries the API endpoints directly, not using [`wandelbots_api_client`](https://pypi.org/project/wandelbots-api-client/) (_which is still required as dependencies since the auto-generated types are used from the package for type-checking convenience_).

The wrapper is meant to ease the interaction with the Wandelbots API by providing a simpler interface for initializing a `MotionGroup` and interacting with it.
For the full feature set of our API please refer to the [official documentation](https://docs.wandelbots.com/) and use the [`wandelbots_api_client`](https://pypi.org/project/wandelbots-api-client/) package directly.

Current Features:

- Sync and Async Planning and Execution
- Pose Transformations

## Table of contents

- [Requirements](#requirements)
- [Build](#build)
- [Installation](#installation)
- [Basic Usage](#basic-usage)
- [Testing](#testing)

### Requirements

This library requires

- Python >=3.9

### Development

To install the development dependencies, run the following command

```bash
$ poetry install
```

To remove an old virtual environment and create a new one, first get the name of the old environment by running

```bash
$ poetry env info
```

Then remove the old environment and create a new one with the following commands

```bash
$ poetry env remove <name-of-env>
$ poetry install
```

Run the poetry shell to activate the virtual environment

```bash
$ poetry shell
```

### Build

To build the package locally, run the following command

```bash
$ poetry build
```

This will create a `dist/` directory with the built package (`.tar.gz` and `.whl` files).

### Installation

```bash
$ pip install dist/wandelbots-python-0.5.0-py3-none-any.whl
```

### Basic Usage

The wrapper provides a simple interface for initializing a `Instance`, `MotionGroup` and a `Planner` object, which can be used to interact with the Wandelbots API:

```python
from wandelbots import Instance, MotionGroup, Planner

my_instance = Instance(
    url=https://<my-instance-url>,
    user=<username>,
    password=<password>
)

my_robot = MotionGroup(
    instance=my_instance,
    cell="cell",
    motion_group="0@motion_group",
    default_tcp="Flange"
)
```

For further examples take a look at the [examples/](examples/).

### Testing

```bash
$ poetry run pytest -rs -v
```

