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 Distributions

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

pyhulax-0.1.0-cp313-cp313-macosx_11_0_universal2.whl (1.9 MB view details)

Uploaded CPython 3.13macOS 11.0+ universal2 (ARM64, x86-64)

pyhulax-0.1.0-cp312-cp312-macosx_11_0_universal2.whl (1.8 MB view details)

Uploaded CPython 3.12macOS 11.0+ universal2 (ARM64, x86-64)

File details

Details for the file pyhulax-0.1.0-cp313-cp313-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for pyhulax-0.1.0-cp313-cp313-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 b127c957b963d93e48c8156d8926a58dd1e15a80ac17bf5ac7a011b49de2fc67
MD5 4bdb4ff7c97b1f32e32314d597ed7702
BLAKE2b-256 0e7df63d0ccc9133511d92c2a820eb535b1ede98438dfd91ef66fb8c6e0e2d9d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhulax-0.1.0-cp313-cp313-macosx_11_0_universal2.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.

File details

Details for the file pyhulax-0.1.0-cp312-cp312-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for pyhulax-0.1.0-cp312-cp312-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 4f840645d34b9eafe9c88f933ef50b7acf131ac960a53225d5bc01378f4498ca
MD5 5dbe9e47b043ebb2c43850ac0bfc5060
BLAKE2b-256 cd425be242365e7d0c1925dbeaeae20cd0acb7bfa6c6785715cb30ecf21fcb8b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhulax-0.1.0-cp312-cp312-macosx_11_0_universal2.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