Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flightlang-0.1.0.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

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

flightlang-0.1.0-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

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

Hashes for flightlang-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d546364a543a1657e890cfbc23a2badd8df99935ead85c3f11a945b187ad8255
MD5 4eba9c742ffe8662103909cb4b8a44fb
BLAKE2b-256 0a9c6a8934f362353e7c9dc199709342d08baf3b7b83c79207fcfae9660418a1

See more details on using hashes here.

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

Hashes for flightlang-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 04f713767d4b84253ce60f74db2af504932bc3b93a9a1f825fda0178e77c42a2
MD5 238ebf7a14b51ebe4845bdc750841100
BLAKE2b-256 0c098310da565773adad3b8eda4260c4fca0ee98c2ebe469754ad75722dd7b9c

See more details on using hashes here.

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