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 Distribution

pyhulax-0.1.3.tar.gz (147.4 kB view details)

Uploaded Source

Built Distributions

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

pyhulax-0.1.3-py3-none-any.whl (153.9 kB view details)

Uploaded Python 3

pyhulax-0.1.3-cp314-cp314-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.14Windows x86-64

pyhulax-0.1.3-cp314-cp314-manylinux_2_38_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.38+ x86-64

pyhulax-0.1.3-cp314-cp314-macosx_11_0_universal2.whl (1.9 MB view details)

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

pyhulax-0.1.3-cp313-cp313-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.13Windows x86-64

pyhulax-0.1.3-cp313-cp313-manylinux_2_38_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.38+ x86-64

pyhulax-0.1.3-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.3-cp312-cp312-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.12Windows x86-64

pyhulax-0.1.3-cp312-cp312-manylinux_2_38_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.38+ x86-64

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

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

pyhulax-0.1.3-cp311-cp311-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.11Windows x86-64

pyhulax-0.1.3-cp311-cp311-manylinux_2_38_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.38+ x86-64

pyhulax-0.1.3-cp311-cp311-macosx_11_0_universal2.whl (1.6 MB view details)

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

File details

Details for the file pyhulax-0.1.3.tar.gz.

File metadata

  • Download URL: pyhulax-0.1.3.tar.gz
  • Upload date:
  • Size: 147.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyhulax-0.1.3.tar.gz
Algorithm Hash digest
SHA256 aff2c40d5537abb8e0efbbbf4fbc1fecbb45bada205b0f7aea630b4de305019c
MD5 82a7a39f6ff0e0856ae6eaba3c5395cd
BLAKE2b-256 3d2e4560a46a82c61902c0826cd4eee004fda4e8052bb797659fce06cd541f96

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhulax-0.1.3.tar.gz:

Publisher: publish-pypi.yml on XENOPSAE/pyhulax

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.3-py3-none-any.whl.

File metadata

  • Download URL: pyhulax-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 153.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyhulax-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6f30e3c14cb850bd132b19477dae3fba96462d4a1ae37afa3b8558bdad7e35fa
MD5 5c5d1dc4968b08b1817c67737107392a
BLAKE2b-256 04827eaf7878d84a25c6a7edf462b048c9d161e9173ee71174792ba7a8842154

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhulax-0.1.3-py3-none-any.whl:

Publisher: publish-pypi.yml on XENOPSAE/pyhulax

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.3-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: pyhulax-0.1.3-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.14, 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.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 8d2042ba49619d4396862a6bb891639809e70de44050639b2acb010c5315f56d
MD5 7444d576af5c9e642f5875c1155e01fa
BLAKE2b-256 5e23eb1294a3030cc249e44977ab94600de31d789ade584cc40aa6c57ba6199b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhulax-0.1.3-cp314-cp314-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.

File details

Details for the file pyhulax-0.1.3-cp314-cp314-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for pyhulax-0.1.3-cp314-cp314-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 43f515acd2a6f22ad0417910fbda434c3e45ddf2f04c62161a2d2a8df8ee499b
MD5 410106ae34a8524cfc07cd2a922dc0de
BLAKE2b-256 0b27cbaaa5e2f623f32488fd3c970784ee4e1d20c082b73e20eb58a22e9a3fa8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhulax-0.1.3-cp314-cp314-manylinux_2_38_x86_64.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.3-cp314-cp314-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for pyhulax-0.1.3-cp314-cp314-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 cc2a24b913de55d34f46399f946423b1812a866f2bc75e280bf11bf9c42e1f70
MD5 38b6955364766cb12ba7be4db4de1bc3
BLAKE2b-256 0ab58aa362517cd7371b2a9c72c2ef5c0081c3c234c5a086b2602b207eb99bad

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhulax-0.1.3-cp314-cp314-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.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pyhulax-0.1.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • 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.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d1a1d1f8b2900973d7064a84220137173863bb7df4dbaf6f6210d4fe55e9c3d3
MD5 ff90f6c543df9592c30a01c77b4c711a
BLAKE2b-256 a9dc5a606ed9155e37e01710c8b36ceb1de1312c3283cddfd30a0c521db5b17f

See more details on using hashes here.

Provenance

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

File details

Details for the file pyhulax-0.1.3-cp313-cp313-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for pyhulax-0.1.3-cp313-cp313-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 4ab228b3556c8470813136461684c281dfa0a88c2dd080f8d8830809de5d50d4
MD5 32eaf6c403cbc916d343272af484cc36
BLAKE2b-256 f09de6890ec16bc9d85af5dd05bee2ae3cf160f40724f901fa22f170940e6b7e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhulax-0.1.3-cp313-cp313-manylinux_2_38_x86_64.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.3-cp313-cp313-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for pyhulax-0.1.3-cp313-cp313-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 fd813a98ddcbe3aeced35cc857681af42e42b3f0560c91ed37afebeb1ca8962d
MD5 8d7440e334cf17a3651049228d3cedf8
BLAKE2b-256 0246cff8cbea1a4d8baa655eb17a4b7925d6a5f5da6bf851b2fdc443f29d3659

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhulax-0.1.3-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.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pyhulax-0.1.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.12, 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.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 de2c4148866afeae8a097df1541f0399b595119e12546d59f0ddcbf4ad200d66
MD5 9d5549bc48356d0a5dd0aef9a1ab2652
BLAKE2b-256 034d38404ac2ad388464441088bcdde1d584f625d2786ed3be2f3396d316e2c5

See more details on using hashes here.

Provenance

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

File details

Details for the file pyhulax-0.1.3-cp312-cp312-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for pyhulax-0.1.3-cp312-cp312-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 62b052ea3ddf538adc81fc321fe7e61c1d4bbcbdec2c1f0f497177e5d7244dcf
MD5 c24e94e761476e1d414b28f0cf23b884
BLAKE2b-256 388b0c13ac61682352f4c6b714efbb6cd69f4ab34a21cc7d20e13c904dea69a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhulax-0.1.3-cp312-cp312-manylinux_2_38_x86_64.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.3-cp312-cp312-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for pyhulax-0.1.3-cp312-cp312-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 03657b50aa3ec75262f72461c1379c6aba233bbd6fcaf0d559f4637f3cc155fe
MD5 4a4bc636e75a01a48ccec8d6da077f02
BLAKE2b-256 8d02b29e41d12e25aff75e5bfc1190f5882f841f0e9fc2cda761267081d7b87f

See more details on using hashes here.

Provenance

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

File details

Details for the file pyhulax-0.1.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyhulax-0.1.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.11, 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.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5f4b328404d4092897cc3ca7f5725394649da0e16a4aebf752d07e1b30f61f36
MD5 862875dd20c35d93164b3fe13df2438f
BLAKE2b-256 2a5e4cc0fa05cd0f937e0599d4fb8770b9b0a28fa72c264109f917f077d7357a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhulax-0.1.3-cp311-cp311-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.

File details

Details for the file pyhulax-0.1.3-cp311-cp311-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for pyhulax-0.1.3-cp311-cp311-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 c35757447415b8bc192ee36042d1360ed7d0e20c5684eb0133ac5f47f88621ca
MD5 9ba906523b92de8ebde4de7532bafc8d
BLAKE2b-256 b46c7c905cb40415c9b27e61d9a64be79b3a71be03d6c44f4c1600507867e1fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhulax-0.1.3-cp311-cp311-manylinux_2_38_x86_64.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.3-cp311-cp311-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for pyhulax-0.1.3-cp311-cp311-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 f2096db8e4d82aca6a87d5753f8e81b68cec5209a36c00b99dd8a2e2eb7f767d
MD5 1a3926fd96a5233f865b1c23898995b1
BLAKE2b-256 3fa67d7730ef01bfc73008c5739f459826159e162aa2a6e91d73bd8f312f4798

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhulax-0.1.3-cp311-cp311-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