Buffalo Panel
Buffalo Panel is an early-stage Python library for structured 2D panel-method workflows in aerodynamics. It currently focuses on case definition, solving, and post-processing for panelized airfoil problems, with small CLI, GUI, and TUI applications built around the same structured case schema.
What It Can Do Today
- Define simulation cases with typed Python dataclasses and YAML or JSON files.
- Load structured airfoil cases and solve the current 2D Hess-Smith workflow.
- Save solved artifacts for later inspection and post-processing.
- Export integrated coefficients and optional surface-quantity CSV data.
- Explore element influence fields and diagnostic views through example scripts.
- Reuse shared Buffalo ecosystem foundations such as numeric typing, diagnostics, and Buffalo Wings airfoil definitions.
How The Apps Fit Together
Buffalo Panel currently treats the structured case file as the source of truth.
panel2d_tuihelps browse and edit the case structure in a terminal UI.panel2d_guiprovides a tree-based editor plus interactive geometry, surface, and flow-field views.panel2d_cli runsolves one case file and writes one solved artifact.panel2d_cli inspectreviews artifact metadata and can reconstruct integrated results from the command line.
The normal workflow is:
- Create or edit a case file.
- Run the case to produce a solved artifact.
- Inspect the artifact in the CLI or load it in the GUI for exploration.
Installation
Install from PyPI:
pip install BuffaloPanel
For local development with the repository-managed toolchain:
uv sync --extra docs
Quick Start
Run one of the packaged examples from the repository root:
panel2d_cli run examples/naca0012_designation.yaml
panel2d_cli inspect examples/naca0012_designation.solution.yaml --include-results
You can also use the Python API directly:
from buffalo_panel.config import load_panel_case, solve_panel_case
case = load_panel_case("examples/naca0012_designation.yaml")
results = solve_panel_case(case)
print(results.integrated.cl_pressure)
Documentation
The main documentation lives at buffaloherd.codeberg.page/BuffaloPanelDocs. Useful starting points are:
- Getting started
- First case workflow
- App workflow overview
- Project status
- CLI reference
- Examples
- API reference
Project Status
The library and apps are still in early development. The core structured-case workflow and the current 2D Hess-Smith and lumped-vortex paths are usable, but the public API and app behavior should still be expected to change as the project grows.
Contributing
Contributions, issue reports, and documentation improvements are welcome. See the contributing guide for development setup and workflow notes.
License
Buffalo Panel is released under the GNU General Public License v3.0 only.
Metadata
Release files for BuffaloPanel 0.2.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 | Actions |
|---|---|---|---|---|
| buffalopanel-0.2.0.tar.gz | 122.6 kB | Without provenance | Details for buffalopanel-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| buffalopanel-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for buffalopanel-0.2.0-py3-none-any.whl |
Total release size: 283.2 kB
Release files / buffalopanel-0.2.0.tar.gz
| Download URL | buffalopanel-0.2.0.tar.gz |
|---|---|
| Size | 122.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b1295dcded58afb126b022fb63d35eecadb04bbd1aafbca4a92df7fdfa96974f
|
|
BLAKE2b-256 checksum How to use checksums |
bf4853ffeef69faac48e19a6aa75b360193f1c79e74199622ba1c5c2900cf1f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Release files / buffalopanel-0.2.0-py3-none-any.whl
| Download URL | buffalopanel-0.2.0-py3-none-any.whl |
|---|---|
| Size | 160.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9e77f3c59a5fd274201dc254593c5c061ab73f06f559b940b1128b6b683f753c
|
|
BLAKE2b-256 checksum How to use checksums |
bc14c28845843ddb170eb4641d4f69d767f742d9c032113062e2e1dbb14c83ca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Security for BuffaloPanel 0.2.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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.