Metadata-Version: 2.4
Name: pyrobopath
Version: 0.2.6
Summary: This project contains python and ROS packages for working with robotic toolpaths
Author-email: Alex Arbogast <arbogastaw@gmail.com>
Project-URL: homepage, https://github.com/alexarbogast/pyrobopath
Project-URL: documentation, https://pyrobopath.readthedocs.io/en/latest/
Project-URL: issues, https://github.com/alexarbogast/pyrobopath/issues
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: matplotlib
Requires-Dist: networkx
Requires-Dist: gcodeparser
Requires-Dist: python-fcl
Requires-Dist: numpy>=1.21
Requires-Dist: numpy-quaternion
Requires-Dist: scipy
Requires-Dist: colorama
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx>=3.1; extra == "docs"
Requires-Dist: pydata-sphinx-theme; extra == "docs"
Dynamic: license-file

# Pyrobopath
[![Python package](https://github.com/alexarbogast/pyrobopath/actions/workflows/build.yml/badge.svg)](https://github.com/alexarbogast/pyrobopath/actions/workflows/build.yml)
[![Documentation Status](https://readthedocs.org/projects/pyrobopath/badge/?version=latest)](https://pyrobopath.readthedocs.io/en/latest/?badge=latest)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pyrobopath?logo=python&logoColor=white)


PyRoboPath is a Python package for working with robotic toolpaths. The
target functionalities include:
* G-code interpretation and Python interfaces for working with G-code toolpaths
  in Python - including tools for path modification and visualization
* Path smoothing and trajectory parameterization
* Collision checking with
  [python-fcl](https://github.com/BerkeleyAutomation/python-fcl) and custom
  interfaces
* A scheduling library providing interfaces for robotic toolpath scheduling
* Planning algorithms for scheduling multi-agent toolpaths 

> [!NOTE]
> _This project is under heavy development and subject to changes in API and
> functionality._

## Installation

Install pyrobopath from the PyPI package index.

```sh
pip install pyrobopath 
```
To install the python package locally from source, clone the repository and
install with pip.

```sh
git clone git@github.com:alexarbogast/pyrobopath.git
cd pyrobopath
pip install -e .
```

If you would like to run the tests or build the docs locally.

```sh
pip install -e .[dev,docs]
```

To verify the installation, run tests with pytest or unittest

```sh
pytest # pytest
python3 -m unittest # unittest
```

## ROS interfaces
See the [pyrobopath_ros](https://github.com/alexarbogast/pyrobopath_ros) package
for ROS interfaces to pyrobopath.



## Documentation
Checkout the [Pyrobopath
Documentation](https://pyrobopath.readthedocs.io/en/latest/) for installation
help, examples, and API reference. 


## Usage
See [examples.py](./examples/examples.py) for python usage demos.
