Skip to main content

Python API for controlling HG-Fly F09-lite drones via MAVLink

Project description

pyhulaX

Python API for controlling the HG-Fly F09-lite / Hula drone over MAVLink.

This branch packages the drone SDK only:

  • droneapi public API package
  • pypack.core, pypack.fylo, pypack.system, pypack.control, pypack.logging
  • optional video, vision, web, and database extras

It does not publish the maze solver, dashboard, CLI, or competition assets.

Install

Base API only:

pip install pyhulaX

With optional extras:

pip install "pyhulaX[video]"
pip install "pyhulaX[vision]"
pip install "pyhulaX[web]"
pip install "pyhulaX[db]"
pip install "pyhulaX[all]"

Quick Start

from droneapi import DroneAPI
from pypack.core import Direction

with DroneAPI() as drone:
    drone.connect("192.168.100.1")
    drone.takeoff()
    drone.move(Direction.FORWARD, 100)
    battery = drone.get_battery()
    print(f"Battery: {battery}%")
    drone.land()

Configured defaults:

from droneapi import DroneAPI, DroneConfig, MediaConfig, NetworkConfig

config = DroneConfig(
    network=NetworkConfig(
        drone_ip="192.168.100.1",
        tcp_port=8888,
        web_port=5000,
    ),
    media=MediaConfig(
        base_dir="media",
        photo_dir="photos",
    ),
)

drone = DroneAPI(config=config)
drone.connect()  # uses config.network.drone_ip by default

The SDK’s default settings are loaded from packaged files in pypack/config/*.json. Passing DroneConfig(...) only overrides the keys you explicitly set.

Full SDK docs live in docs/sdk/README.md. Auto-generated API reference is configured with MkDocs + mkdocstrings in mkdocs.yml.

Optional Features

  • video: RTP decoding, OpenCV display, recording helpers
  • vision: ONNX-based detection helpers
  • web: browser streaming helpers
  • db: async PostgreSQL flight logging

The core API imports cleanly without these extras installed.

Public API Areas

  • connection lifecycle
  • takeoff, landing, movement, rotation
  • telemetry and obstacle sensing
  • manual control
  • media listing, download, and delete
  • optional video streaming
  • optional structured logging

Local Verification

Run tests from the project venv:

.venv/bin/python -m pytest -q

Build the wheel:

uv build --wheel

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyhulax-0.1.2-cp313-cp313-win_amd64.whl (519.5 kB view details)

Uploaded CPython 3.13Windows x86-64

File details

Details for the file pyhulax-0.1.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pyhulax-0.1.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 519.5 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyhulax-0.1.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 9b843a5fcb3621edcae2ca06ddc5b7d0dbd803b12baba4beda73218d033b42da
MD5 fba5cdb88ff2787196fcfa893e50867b
BLAKE2b-256 2dd4ff6d7cd60749689d132ba6e4335a588098009b08b06ca262f42121fe89a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhulax-0.1.2-cp313-cp313-win_amd64.whl:

Publisher: publish-pypi.yml on XENOPSAE/hula-api

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page