Metadata-Version: 2.4
Name: ilo
Version: 0.1.1
Summary: Control ilo robot using python command.
Author-email: "intuition RT (SLB)" <contact@ilorobot.com>
Maintainer-email: "intuition RT (SLB)" <contact@ilorobot.com>
License-Expression: MIT
Project-URL: Homepage, https://ilorobot.com
Project-URL: Documentation, https://ilorobot.com
Keywords: python,education,robot,ilo
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
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
Classifier: Programming Language :: Python :: 3.13
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: OS Independent
Classifier: Topic :: Education
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pyserial<4.0,>=3.4
Requires-Dist: psutil>=7.0.0
Requires-Dist: websocket-client<1.9.0,>=1.0.0
Requires-Dist: bleak<2.0.0,>=1.1.1
Requires-Dist: prettytable<4.0.0,>=3.17.0
Requires-Dist: keyboard-crossplatform==0.2.0
Requires-Dist: requests<2.33.0,>=2.25.0
Requires-Dist: keyboard>=0.13.4
Requires-Dist: packaging>=24.2
Requires-Dist: numpy<2.0.0,>=1.20.0; python_version < "3.13"
Requires-Dist: matplotlib<3.8.0,>=3.3.0; python_version < "3.13"
Requires-Dist: numpy>=2.1; python_version >= "3.13"
Requires-Dist: matplotlib>=3.10; python_version >= "3.13"
Requires-Dist: pyperclip<2.0.0,>=1.8.0
Requires-Dist: webcolors
Dynamic: license-file


<p align="center">
  <img alt="Ilo robot" src="https://images.squarespace-cdn.com/content/v1/6312fe2115db3003bd2ec2f1/546df043-e044-4003-867b-802738eb1332/LOGO+ILO+PYTHON.png" width="400">
</p>

# ilo

![Python](https://img.shields.io/pypi/pyversions/ilo.svg?style=for-the-badge&color=%233776AB&)
[![PyPI](https://img.shields.io/pypi/v/ilo.svg?style=for-the-badge&color=%23FFD343&)](https://pypi.org/project/ilo/)
[![Downloads](https://img.shields.io/pypi/dm/ilo.svg?style=for-the-badge&color=%2328A745&)](https://pypi.org/project/ilo/)
[![License](https://img.shields.io/pypi/l/ilo.svg?style=for-the-badge&color=%234A75A0)](https://github.com/marinchl/ilo/blob/main/LICENSE)

---

**ilo** is a powerful Python package to control **ilo** the new **educational robot** directly from your computer.  
It allows you to move the robot, read sensors, interact with LEDs, and create autonomous behaviors — all in just a few lines of Python.

---

## Features

- Move the robot in multiple directions with Python commands  
- Create complex **movement loops**  
- Draw and animate using the robot's **LED matrix**  
- Play with the robot **in real time** using your keyboard  
- Use **colored cards** to trigger autonomous modes  
- Control and read sensors over **Wi-Fi** or **Bluetooth**

---

## Installation

```bash
pip install ilo
```

To update:
```bash
pip install ilo --upgrade
```

---

## Quick Example

Here’s a simple example to get started:

```python
import ilo, time

ilo.check_robot_on_bluetooth()
# ilo.check_robot_on_wifi()  # Make sure you are connected to the robot's Wi-Fi AP

my_ilo = ilo.robot(1)

# Go forward until an obstacle is close
while my_ilo.get_distance_front() > 30:
    my_ilo.move("front", 10, 50) 
    time.sleep(0.1)

my_ilo.stop()  # Stop the robot
my_ilo.step("rot_clock")  # Rotate clockwise
my_ilo.set_led_color(25, 200, 25)
my_ilo.step("front", 0.5)
```

---

## Dependencies

All dependencies are **automatically installed** with `ilo`.  
Here’s what each one does:
- [`keyboard-crossplatform`](https://pypi.org/project/keyboard-crossplatform/) – cross-platform keyboard event listener (works on macOS, Windows, and Linux)
- [`prettytable`](https://pypi.org/project/prettytable/) – generate clean and easy-to-read tables in the terminal
- [`websocket-client`](https://pypi.org/project/websocket-client/) – communicate with the robot via WebSocket
- [`bleak`](https://pypi.org/project/bleak/) – Bluetooth Low Energy (BLE) client library for Python
- [`pyserial`](https://pypi.org/project/pyserial/) – serial communication support (UART)
- [`pyperclip`](https://pypi.org/project/pyperclip/) – cross-platform clipboard support
- [`requests`](https://pypi.org/project/requests/) – simple and powerful HTTP client
- [`numpy`](https://pypi.org/project/numpy/) – fundamental package for scientific computing
- [`matplotlib`](https://pypi.org/project/matplotlib/) – powerful plotting and visualization library

---

## Documentation

Full documentation and examples are available on `GitHub`. *(Comming soon)*

---

## Contributing

Bug reports, patches, and suggestions are welcome!

Questions? Contact us via [`our website`](https://ilorobot.com).

---

<p align="center">
  <a href="https://ilorobot.com">
    <img src="https://img.shields.io/badge/Powered_by-Intuition_RT-%234A75A0?style=for-the-badge&logo=python&logoColor=white" alt="Powered by Intuition RT">
  </a>
</p>
