pyflightstream
Version-aware Python driver for the FlightStream panel-method solver: write a run matrix, and pyflightstream plans, runs and post-processes every point, from your workstation or a cluster. MIT licensed.
Status: v0.40.0 is the current release; CHANGELOG.md carries the history.
Documentation: nevesgeovana.github.io/pyflightstream
What it does
matrix -> plan -> run -> collect -> post -> products
(.fs) (free, (local (cluster (polars, rotor tables,
no solver) or HPC) jobs) sections, averages, provenance)
- One row, one simulation. A pipe-separated matrix names each case, its flight condition, its sweep and the input artifacts it uses (reference, setup, post-processing).
- Checked before it costs a licence.
planbuilds every script without the solver and refuses what the target FlightStream build cannot run, with the reason. - Every command has evidence. Each solver command is validated against a per-version database; every entry cites a manual page or a committed probe report.
- Products you open directly. CSV polars, rotor coefficient tables, sections, probes and time averages, each stating the flight condition it belongs to, plus a provenance record per run.
Install
pip install "pyflightstream[geom,fsi,plot,excel]"
Python 3.12 or newer. FlightStream itself is licensed separately and is located through your workspace, never guessed.
Quick start
pyfs-workspace init my-study # the workspace tree and input folders
cd my-study # add a geometry, a matrix, a reference, a setup
pyfs-matrix plan matriz.fs # zero solver time: what will run, what is refused
pyfs-matrix run matriz.fs # runs every READY point
pyfs-matrix post --workspace . # rebuilds the products from the records
Getting started walks a first workspace file by file, and From the GUI to pyfs maps each GUI step to the key that takes it here.
Command-line tools
| Tool | What it is for |
|---|---|
pyfs-workspace |
Create a workspace; archive a simulation; reorganise the geometry library |
pyfs-matrix |
Plan, run, collect and post a run matrix; storage (space-in-use, free-space, delete-sims) and sync between workspaces |
pyfs-qa |
Command-validity probes and physics regression on a licensed machine |
pyfs-fsi |
The structural executable of the aeroelastic coupling loop |
pyfs-manual |
Maintainer tool: compare FlightStream manuals with the command database |
Capability status
| Capability | Status |
|---|---|
| Command database, script builder, version refusals | supported |
| Parsers, tables, run manifest, reconstruction | supported |
| Campaigns, run matrices, workspace, pre-flight | supported |
| Far-field ledgers and probe surveys | experimental |
| FSI structural beam and modal analysis | experimental (examples/wing_static_deflection.py, examples/fsi_campbell_diagram.py) |
| FSI coupled driver (the four-phase loop) | experimental: offline replay only, never run against a live solver in CI |
| Rotary two-way coupling | not validated |
Experimental means the interface may change without a deprecation window, and the evidence behind it is narrower than for the supported rows.
Supported FlightStream versions
| Version | Vendor name | Support level |
|---|---|---|
| 25.000 | 25.0 | documented |
| 25.100 | 25.1 | documented |
| 26.000 | 26.0 | documented |
| 26.100 | 26.1 | operational |
| 26.101 | 26.1 | operational |
| 26.120 | 26.12 | operational |
| 26.121 | 26.12 | operational |
| 26.122 | 26.12 | operational |
| 26.123 | 26.12 | operational |
| 26.124 | 26.12 | operational |
| 26.125 | 26.12 | operational |
operational means the minimal geometry-to-loads workflow builds for that
version, checked by a test; documented means the manual has been read but
nothing has been measured on the build yet. The details, and how to tell
which build you have, are on
Which build do I have:
import pyflightstream
for row in pyflightstream.support_table():
print(row.summary)
Contributing
pip install -e .[dev,fsi,geom]
pre-commit install
pytest
The hard invariants are in CONTRIBUTING.md. Tier 1 runs anywhere; tiers 2
and 3 need a licensed FlightStream and are described in
the test tiers.
Citing and license
Cite the release you used through its Zenodo DOI (CITATION.cff). MIT
licensed; contributions must be original or MIT-compatible, and code derived
from the AGPL pyFlightscript package is not accepted.
Metadata
Release files for pyflightstream 0.40.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 | |
|---|---|---|---|---|
| pyflightstream-0.40.0.tar.gz | 2.9 MB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyflightstream-0.40.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.1 MB
Release files / pyflightstream-0.40.0.tar.gz
| Download URL | pyflightstream-0.40.0.tar.gz |
|---|---|
| Size | 2.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fdb9bef3c79a7e272a462d2560c1bea58ae2274586b8081986ae1febcbdb1705
|
|
BLAKE2b-256 checksum How to use checksums |
856fa244b0d49052f55e3c660d0e859585ee5bdea40a36d392a3b322e6a48f77
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.
Transparency logRelease files / pyflightstream-0.40.0-py3-none-any.whl
| Download URL | pyflightstream-0.40.0-py3-none-any.whl |
|---|---|
| Size | 3.2 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3f515dd8eb74cb1bd4f8772ff08d33ab62ca68db875c9604b1808f641d8a3eab
|
|
BLAKE2b-256 checksum How to use checksums |
9046a9394b71931ee22a92772769dee80f90151a74eecd72ce0b7649b37e8910
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.
Transparency logSecurity for pyflightstream 0.40.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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for pyflightstream-0.40.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.
Transparency logA 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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.