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.5.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3aa0d99e78ca87f7fe3634bc6c453d2bfd9a1eef76ef2e1e556b2e266a68e1dd |
|
MD5 | 7a2c94af94190170ed28d64663789a6b |
|
BLAKE2b-256 | dac687945344c6e4b9c1b4d60a04fa247fbc99bd725b2c497c448ee6a04a3e89 |