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.
Metadata
Release files for flightlang 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| flightlang-0.1.0.tar.gz | 9.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flightlang-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.6 kB
Release files / flightlang-0.1.0.tar.gz
| Download URL | flightlang-0.1.0.tar.gz |
|---|---|
| Size | 9.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d546364a543a1657e890cfbc23a2badd8df99935ead85c3f11a945b187ad8255
|
|
BLAKE2b-256 checksum How to use checksums |
0a9c6a8934f362353e7c9dc199709342d08baf3b7b83c79207fcfae9660418a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / flightlang-0.1.0-py3-none-any.whl
| Download URL | flightlang-0.1.0-py3-none-any.whl |
|---|---|
| Size | 10.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
04f713767d4b84253ce60f74db2af504932bc3b93a9a1f825fda0178e77c42a2
|
|
BLAKE2b-256 checksum How to use checksums |
0c098310da565773adad3b8eda4260c4fca0ee98c2ebe469754ad75722dd7b9c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Security for flightlang 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.