InOrbit Python Edge SDK
Project description
InOrbit Python Edge SDK
The InOrbit Edge SDK
allows Python programs to communicate with InOrbit
platform on behalf of robots - providing robot data and handling robot actions. It's goal is to ease the integration between InOrbit
and any other software that handles robot data.
Features
- Robot session handling through a
RobotSessionPool
. - Publish key-values.
- Publish robot poses.
- Publish robot odometry.
- Publish robot path.
- Publish robot laser.
- Execute callbacks on Custom Action execution.
Quick Start
from inorbit_edge.robot import RobotSessionFactory, RobotSessionPool
def my_custom_command_handler(robot_session, message):
"""Callback for custom actions.
Callback method executed for messages published on the ``custom_command``
topic. It recieves the RobotSession object and the message that contains
the ``cmd`` and ``ts`` fields.
Args:
robot_session (RobotSession): RobotSession object
message (dict): Message with the ``cmd`` string as defined
on InOrbit Custom Defined action and ``ts``.
"""
print(
"Robot '{}' received command '{}'".format(
robot_session.robot_id, message["cmd"]
)
)
robot_session_factory = RobotSessionFactory(
api_key="<YOUR_API_KEY>",
custom_command_callback=my_custom_command_handler
)
robot_session_pool = RobotSessionPool(robot_session_factory)
robot_session = robot_session_pool.get_session(
robot_id="my_robot_id_123", robot_name="Python SDK Quick Start Robot"
)
robot_session.publish_pose(x=0.0, y=0.0, yaw=0.0)
Installation
Stable Release: pip install inorbit-edge
Development Head: pip install git+https://github.com/inorbit-ai/edge-sdk-python.git
Documentation
For full package documentation please visit InOrbit Developer Portal.
Development
See CONTRIBUTING.md for information related to developing the code.
The Three Commands You Need To Know
-
pip install -e .[dev]
This will install your package in editable mode with all the required development dependencies (i.e.
tox
). -
make build
This will run
tox
which will run all your tests in both Python 3.7 and Python 3.8 as well as linting your code. -
make clean
This will clean up various Python and build generated files so that you can ensure that you are working in a clean environment.
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
Hashes for inorbit_edge-1.7.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a810ffb42bc525b73c3aba86819f37b12e69bdc4549ac4664db1d503a7d0c014 |
|
MD5 | e6d7e41b01bde5f02a09e99464d0d078 |
|
BLAKE2b-256 | 33ec6ebc120a08a25d9aa6bbac3b94a6e17cf696c4ece61b47f1b89de38bbca9 |