Metadata-Version: 2.4
Name: easylink-mavlink
Version: 0.1.0
Summary: Lightweight, zero-friction Python library for MAVLink drone control (ArduPilot & PX4)
Author: EASYLink Contributors
Project-URL: Homepage, https://github.com/easylink/easylink
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: pymavlink>=2.4.41
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"

# PY-EASYLink (`easylink-mavlink`)

Lightweight, zero-friction Python library for MAVLink drone control (supporting both ArduPilot and PX4).

## Installation

```bash
pip install easylink-mavlink
```

## Quickstart

```python
from easylink import Drone

# Auto-discovers SITL simulator or hardware serial port
drone = Drone()
drone.connect()

drone.arm()
drone.takeoff(10.0)

pos = drone.position
print(f"Current Position: Lat={pos.lat}, Lon={pos.lon}, Alt={pos.alt}m")

drone.hover(5.0)
drone.home()
drone.disconnect()
```

## Features

- **Auto-Discovery**: Probes local SITL ports (`udp:127.0.0.1:14550`, etc.) and serial ports (`/dev/ttyAMA0`, `COM3`, etc.).
- **Dual Firmware Support**: Auto-detects ArduPilot vs PX4 from heartbeats.
- **Packet Dispatcher**: Solves packet-stealing and threading collisions cleanly.
- **Fluent Mission Builder**: `drone.mission.clear().add_takeoff(15).add_waypoint(lat, lon, alt).add_land().upload()`

## License

MIT
