A tiny DSL for drone missions.
Project description
FlightLang POC
FlightLang is an experimental proof of concept for a small domain-specific language focused on UAV mission logic.
The goal of this repository is to demonstrate the shape of the language, a simple parse and typecheck pipeline, Python code generation, and a deterministic simulator. It is intentionally incomplete and not intended for real flight or production use.
What FlightLang is exploring
FlightLang models missions as readable state-based programs with unit-aware values, mission metadata, transitions, and simulation-first execution.
This POC exists to explore whether mission logic can be expressed in a way that is easier to read, validate, and simulate than ad hoc scripts.
POC status
This repository is a proof of concept. Some syntax is intentionally minimal and parts of the overall language design are still being explored.
The examples/survey.fl example is the runnable reference example for this POC.
Quick start
Run a mission:
python -m flightlang.cli run examples/survey.fl
Validate a mission without running it:
python -m flightlang.cli check examples/survey.fl
Build Python output only:
python -m flightlang.cli build examples/survey.fl -o out.py
python out.py
Example missions
Minimal example
mission HoverTest {
state Idle {
on arm -> Takeoff
}
state Takeoff {
action climb_to(10 m)
on reached_altitude -> Hover
}
state Hover {
deadline 3000 ms
on timeout -> Done
}
state Done { }
}
Runnable survey example
See examples/survey.fl.
Roadmap
- richer expressions and conditions.
- stronger validation and typechecking.
- additional safety-oriented checks.
- improved simulator behavior.
- future transpilation targets beyond Python.
Safety note
This is a teaching and experimentation scaffold only. It is not suitable for real aircraft or flight operations.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flightlang-0.1.0.tar.gz.
File metadata
- Download URL: flightlang-0.1.0.tar.gz
- Upload date:
- Size: 9.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d546364a543a1657e890cfbc23a2badd8df99935ead85c3f11a945b187ad8255
|
|
| MD5 |
4eba9c742ffe8662103909cb4b8a44fb
|
|
| BLAKE2b-256 |
0a9c6a8934f362353e7c9dc199709342d08baf3b7b83c79207fcfae9660418a1
|
File details
Details for the file flightlang-0.1.0-py3-none-any.whl.
File metadata
- Download URL: flightlang-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04f713767d4b84253ce60f74db2af504932bc3b93a9a1f825fda0178e77c42a2
|
|
| MD5 |
238ebf7a14b51ebe4845bdc750841100
|
|
| BLAKE2b-256 |
0c098310da565773adad3b8eda4260c4fca0ee98c2ebe469754ad75722dd7b9c
|