Official Python SDK for the Wandelbots
Project description
wandelbots-nova
This library provides an SDK for the Wandelbots NOVA API.
The SDK will help you to build your own apps and services on top of NOVA and makes programming a robot as easy as possible.
Requirements
This library requires
- Python >=3.10
Installation
To use the library, first install it using the following command
pip install wandelbots-nova
Then import the library in your code
from nova import Nova, MotionGroup
Usage
Here is an example of how to use the library to connect to a robot controller and move the robot.
from nova import Nova, pi, jnt, ptp
import asyncio
async def main():
nova = Nova()
cell = nova.cell()
controller = await cell.controller("ur")
# Define a home position
home_joints = (0, -pi / 4, -pi / 4, -pi / 4, pi / 4, 0)
# Connect to the controller and activate motion groups
async with controller:
motion_group = controller.motion_group()
# Get current TCP pose and offset it slightly along the x-axis
current_pose = await motion_group.tcp_pose("Flange")
target_pose = current_pose @ Pose((100, 50, 0, 0, 0, 0))
actions = [
jnt(home_joints),
ptp(target_pose),
ptp(target_pose @ (200, 0, 0, 0, 0, 0)),
jnt(home_joints),
]
await motion_group.run(actions, tcp="Flange")
if __name__ == "__main__":
asyncio.run(main())
Have a look at the examples directory to see how to use the library.
Development
To install the development dependencies, run the following command
poetry install
Environment Variables for NOVA Configuration
- Copy the Template: Make a copy of the provided
.env.templatefile and rename it to.envwithcp .env.template .env. - Fill in the Values: Open the
.envfile in a text editor and provide the necessary values for each variable. The table below describes each variable and its usage.
| Variable | Description | Required | Default | Example |
|---|---|---|---|---|
NOVA_HOST |
The base URL or hostname of the NOVA server instance. | Yes | None | https://nova.example.com |
NOVA_USERNAME |
The username credential used for authentication with the NOVA service. | Yes* | None | my_username |
NOVA_PASSWORD |
The password credential used in conjunction with NOVA_USERNAME. |
Yes* | None | my_password |
NOVA_ACCESS_TOKEN |
A pre-obtained access token for NOVA if using token-based authentication. | Yes* | None | eyJhbGciOi... |
Note on Authentication: You can authenticate with NOVA using either username/password credentials or a pre-obtained access token, depending on your setup and security model:
- If using username/password: Ensure both
NOVA_USERNAMEandNOVA_PASSWORDare set, and leaveNOVA_ACCESS_TOKENunset.- If using an access token: Ensure
NOVA_ACCESS_TOKENis set, and leaveNOVA_USERNAMEandNOVA_PASSWORDunset.Only one method should be used at a time. If both methods are set, the token-based authentication (
NOVA_ACCESS_TOKEN) will typically take precedence.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wandelbots_nova-0.2.1.tar.gz.
File metadata
- Download URL: wandelbots_nova-0.2.1.tar.gz
- Upload date:
- Size: 20.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
24800e06e8c1fa5ec3284fce3600af9ba39dd6cf8e33490b031b06915d1455ca
|
|
| MD5 |
cf0630c859b20a5cfa27e46efc51c83a
|
|
| BLAKE2b-256 |
c8bc83de551facdd03ceebd097dee5d92f088a050613d6e97595ec28ccb59ac2
|
File details
Details for the file wandelbots_nova-0.2.1-py3-none-any.whl.
File metadata
- Download URL: wandelbots_nova-0.2.1-py3-none-any.whl
- Upload date:
- Size: 22.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab9c9842405a73b14985ddbf84dc1bdcf0f200e6b721ad0bedde33146bd13c17
|
|
| MD5 |
b0410f356bb7a3ecb2220d8d72512364
|
|
| BLAKE2b-256 |
c27e824357c44b1e823e6be3fb57daea2ecdfab1868c5eb361b4077da4cc36f8
|