Skip to main content

pyniryo-nate

Installation

pyniryo-nate is distributed as a universal wheel and supports Python 3.10+.

$ pip install pyniryo-nate

Usage

pyniryo-nate is the Python client of the Niryo Nate robot API. The full documentation is available at https://pyniryo-nate.docs.niryo.com.

from pyniryo_nate import Nate
from pyniryo_nate.models import Joints

# Initialize with hostname and credentials
nate = Nate(hostname="10.10.10.10", login=("user", "secret"))

# Or use environment variables
nate = Nate()

# Move the robot. The key selector must be on manual, see the Direct control page of
# the documentation.
nate.robot.move(Joints(0, 0, 0, 0, 0, 0)).wait()

Constructor Arguments

The Nate class constructor accepts the following parameters:

  • hostname (str): The hostname or IP address of the Nate API. If empty, it will use the NATE_HOSTNAME environment variable, defaulting to 'localhost' if not set.

  • login (tuple[str, str]): A tuple containing (username, password) for authentication. If empty, it will use the NATE_USERNAME and NATE_PASSWORD environment variables. A program run by the robot needs none.

  • device_id (str): The identifier of the robot expected at hostname. If empty, it will use the NATE_DEVICE_ID environment variable; if that is not set either, the first robot reached binds the client.

The Connecting page of the documentation covers the two ways to connect, from a remote host and as a program run by the robot.

Environment Variables

The following environment variables can be used to configure the Nate client:

Authentication:

  • NATE_HOSTNAME - The hostname or IP address of the Nate API (default: 'localhost')

  • NATE_USERNAME - Username for login authentication

  • NATE_PASSWORD - Password for login authentication

Advanced Options:

  • NATE_HTTP_PORT - HTTPS port of the API (default: 8443)

  • NATE_MQTT_PORT - MQTTS port of the broker (default: 8883)

  • NATE_CA_FILE - A PEM file holding extra root certificates to trust, on top of the root shipped with the package

  • NATE_DEVICE_ID - The identifier of the expected robot; another robot at that address is refused before any credential is sent

Connection security

Every connection to the robot is encrypted, over HTTPS and MQTTS, and the Niryo root ships with the package, so no setup is needed to trust a Niryo robot. A robot presenting a certificate from any other authority is refused with a pyniryo_nate.exceptions.TlsError. Pass the expected robot as Nate(hostname, login, device_id=...) or NATE_DEVICE_ID to refuse any other device at that address, and point NATE_CA_FILE at a PEM file to trust extra roots.

License

pyniryo-nate is distributed under the terms of GNU General Public License v3.0

Metadata

Release files for pyniryo-nate 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyniryo-nate 1.0.1
File Size Uploaded Provenance Actions
pyniryo_nate-1.0.1.tar.gz 92.3 kB Without provenance Details for pyniryo_nate-1.0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pyniryo-nate 1.0.1
File Interpreter ABI Platform Actions
pyniryo_nate-1.0.1-py3-none-any.whl Python 3 none any Details for pyniryo_nate-1.0.1-py3-none-any.whl

Total release size: 202.5 kB

Release files / pyniryo_nate-1.0.1.tar.gz

Download URL pyniryo_nate-1.0.1.tar.gz
Size 92.3 kB
Tags Source
SHA-256 checksum
How to use checksums
9e62a3c86217cda18c82e44836289624362ccafd2b1f3da12058c8fc833e1429
BLAKE2b-256 checksum
How to use checksums
64196ab47cfe3f4430b26aa7303ce75c64883a420b55adb143609d2eefd8c16c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.16

Release files / pyniryo_nate-1.0.1-py3-none-any.whl

Download URL pyniryo_nate-1.0.1-py3-none-any.whl
Size 110.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bfcc63ca483b0c8b19f4dd8a4c9566b179d54b18dba62d8123c9c78faf686819
BLAKE2b-256 checksum
How to use checksums
110182aa577581cf20a46dbd2a977da5221a0460e7075e05f9f5e561b8feebf0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.16

Security for pyniryo-nate 1.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page