Package as 'autohover' with uv run / uvx entry points

Add main.py and a flat-layout hatchling build with a console script (autohover = mission_client:main), replacing tool.uv package=false, so the app runs via 'uv run main.py' and installs via uvx / uv tool install -- matching the sibling Crazyflie projects.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-24 14:35:00 -07:00
parent eed9778e59
commit f8bb23e409
3 changed files with 34 additions and 20 deletions

7
main.py Normal file
View File

@@ -0,0 +1,7 @@
#!/usr/bin/env python3
"""Entry point for the autohover Crazyflie mission client."""
from mission_client import main
if __name__ == "__main__":
main()

View File

@@ -1,7 +1,7 @@
[project]
name = "crazyflie-mission-client"
name = "autohover"
version = "0.1.0"
description = "Tkinter mission client that flies a Crazyflie + Flow v2 deck to a 1 m hover"
description = "DearPyGui mission client that flies a Crazyflie + Flow v2 deck to a hover"
readme = "README.md"
requires-python = ">=3.10"
dependencies = [
@@ -12,6 +12,13 @@ dependencies = [
"dearpygui>=2.0",
]
[tool.uv]
# Flat-module application, not an installable package — don't try to build it.
package = false
[project.scripts]
autohover = "mission_client:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
# Flat-layout app: ship the two top-level modules as the package contents.
only-include = ["mission_client.py", "controller.py"]

30
uv.lock generated
View File

@@ -7,6 +7,21 @@ resolution-markers = [
"python_full_version < '3.11'",
]
[[package]]
name = "autohover"
version = "0.1.0"
source = { editable = "." }
dependencies = [
{ name = "cflib" },
{ name = "dearpygui" },
]
[package.metadata]
requires-dist = [
{ name = "cflib", specifier = ">=0.1.25" },
{ name = "dearpygui", specifier = ">=2.0" },
]
[[package]]
name = "cflib"
version = "0.1.32"
@@ -27,21 +42,6 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/79/cd/4c43e422834cc53174c1996db164d066735cb4e320a8b8e77b82b963244d/cflib-0.1.32-py3-none-any.whl", hash = "sha256:392c2cdc0387c24eb44c5abfc1bfe644809b1f95e1e04cb6ca6ec656acf8d50c", size = 519552, upload-time = "2026-04-13T11:43:55.201Z" },
]
[[package]]
name = "crazyflie-mission-client"
version = "0.1.0"
source = { virtual = "." }
dependencies = [
{ name = "cflib" },
{ name = "dearpygui" },
]
[package.metadata]
requires-dist = [
{ name = "cflib", specifier = ">=0.1.25" },
{ name = "dearpygui", specifier = ">=2.0" },
]
[[package]]
name = "dearpygui"
version = "2.3.1"