Metadata-Version: 2.3
Name: kevinbotlib
Version: 0.0.1a2
Project-URL: Documentation, https://github.com/meowmeowahr/kevinbotlib#readme
Project-URL: Issues, https://github.com/meowmeowahr/kevinbotlib/issues
Project-URL: Source, https://github.com/meowmeowahr/kevinbotlib
Author-email: Kevin Ahr <meowmeowahr@gmail.com>
License-Expression: GPL-3.0-or-later
License-File: LICENSE.txt
Classifier: Development Status :: 1 - Planning
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.10
Requires-Dist: click~=8.1.7
Requires-Dist: loguru~=0.7.2
Requires-Dist: paho-mqtt~=2.1.0
Requires-Dist: platformdirs~=4.3.6
Requires-Dist: pyserial~=3.5
Requires-Dist: pyyaml~=6.0.2
Requires-Dist: shortuuid~=1.0.13
Requires-Dist: xbee~=2.3.2
Description-Content-Type: text/markdown

<p align="center">
  <img src="https://raw.githubusercontent.com/meowmeowahr/kevinbotlib/refs/heads/main/docs/media/icon.svg" alt="Kevinbot v3 logo" width=120/>
</p>

# KevinbotLib

[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
[![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch)
[![PyPI - Version](https://img.shields.io/pypi/v/kevinbotlib.svg)](https://pypi.org/project/kevinbotlib)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/kevinbotlib.svg)](https://pypi.org/project/kevinbotlib)

-----

**Communicate with Kevinbot v3 Hardware**

KevinbotLib incldes all the necessary classes for communicating with and controlling Kevinbot v3 hardware. It also contains an interface over MQTT to allow multiple clients on-robot as well as off-robot. Your code stays mostly the same whether you are communicating directly over serial, or using MQTT.

## Table of Contents

- [Installation](#installation)
- [Developing](#developing)
- [License](#license)

## Installation

```console
pip install kevinbotlib
```

## Developing

### Set up module in development mode

* Install hatch
  
  [Hatch Installation](https://hatch.pypa.io/1.12/install/) (I recommend using pipx)
* Clone this repo

  ```console
  git clone https://github.com/meowmeowahr/kevinbotlib && cd kevinbotlib
  ```
* Create env
  ```console
  hatch env create
  ```
* Activate env

  ```console
  hatch shell
  ```

### Formatting

Formatting is done through ruff. You can run the formatter using:

```console
hatch fmt
```

## License

`kevinbotlib` is distributed under the terms of the [GPL-3.0-or-later](https://spdx.org/licenses/GPL-3.0-or-later.html) license.
