Metadata-Version: 2.1
Name: hello_robot_stretch_body
Version: 0.6.5
Summary: Stretch Body low level Python API
Home-page: https://github.com/hello-robot/stretch_body
Author: Hello Robot Inc.
Author-email: support@hello-robot.com
Classifier: Programming Language :: Python :: 2
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: numpy<=1.23.2
Requires-Dist: scipy
Requires-Dist: matplotlib<=3.5.0
Requires-Dist: ipython
Requires-Dist: pandas
Requires-Dist: sympy
Requires-Dist: nose
Requires-Dist: inputs
Requires-Dist: drawnow
Requires-Dist: rplidar-roboticia
Requires-Dist: snakeviz
Requires-Dist: pyusb
Requires-Dist: SpeechRecognition
Requires-Dist: pixel-ring
Requires-Dist: click
Requires-Dist: cma
Requires-Dist: colorama
Requires-Dist: scikit-image
Requires-Dist: open3d
Requires-Dist: pyrealsense2
Requires-Dist: pathlib
Requires-Dist: psutil
Requires-Dist: gitpython
Requires-Dist: urchin
Requires-Dist: urdf_parser_py
Requires-Dist: opencv-contrib-python
Requires-Dist: renamed-opencv-python-inference-engine; python_version >= "3.0.0"
Requires-Dist: jsonschema==2.6.0; python_version < "3.0"
Requires-Dist: qtconsole==4.7.7; python_version < "3.0"
Requires-Dist: jupyter
Requires-Dist: llvmlite==0.31.0; python_version < "3.0"
Requires-Dist: numba
Requires-Dist: terminado==0.8.3; python_version < "3.0"
Requires-Dist: dynamixel-sdk>=3.1; python_version >= "3.0.0"
Requires-Dist: pyyaml>=5.1
Requires-Dist: hello-robot-stretch-tool-share>=0.2.6
Requires-Dist: hello-robot-stretch-factory>=0.3.5
Requires-Dist: hello-robot-stretch-body-tools>=0.4.2
Requires-Dist: aioserial

Stretch Body
============

The stretch_body package provides a low level Python API to the Hello Robot Stretch hardware. This package comes pre-installed on Stretch robots. Tutorials for using this package can be found [on the docs](https://docs.hello-robot.com/0.2/stretch-tutorials/stretch_body/).

Installing
----------

This package comes pre-installed on Stretch robots. To install or upgrade to a stable Stretch Body for Python3, run:

```bash
$ python3 -m pip install --upgrade hello-robot-stretch-body
```

To install or upgrade to a pre-release of Stretch Body for Python3, run:

```bash
$ python3 -m pip install --upgrade --pre hello-robot-stretch-body
```

Please report feedback on the [Issue Tracker](https://github.com/hello-robot/stretch_body/issues) or the [Forum](https://forum.hello-robot.com/).

Running tests
-------------

There are a number of unit, functional, and performance tests within the `test/` folder, separated into test suites by different files. Suites are separated by a device or functionality within Stretch Body that is being tested.

In Python3, run `python3 -m unittest test.test_<suite-name>`.

For example, to run the `stretch_body.robot.Robot` functional tests, run:

```bash
$ git clone https://github.com/hello-robot/stretch_body.git
$ cd stretch_body/body
$ python3 -m unittest test.test_robot
```

Developing
----------

The source code for Stretch Body resides within the `stretch_body/` folder. You can install Stretch Body as "editable", and directly edit the source code to test changes.

In Python3, run `python3 -m pip install -e .`

For example, to test changes to `stretch_body.robot.Robot`, run:

```bash
$ python3 -m pip uninstall hello-robot-stretch-body # ensure previous Stretch Body installations are removed
$ git clone https://github.com/hello-robot/stretch_body.git
$ cd stretch_body/body
$ python3 -m pip install -e .
```

Now, make desired edits to the [stretch_body/body/stretch_body/robot.py](./stretch_body/robot.py) file. Software using Stretch Body is now using the modified `stretch_body.robot.Robot` class.

Deploying
---------

Increment the version number and run the `deploy.sh` script. Verify the new release is reflected [on PyPI](https://pypi.org/project/hello-robot-stretch-body/).
