Skip to main content

Buffalo Panel

CI Docs License PyPI

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_tui helps browse and edit the case structure in a terminal UI.
  • panel2d_gui provides a tree-based editor plus interactive geometry, surface, and flow-field views.
  • panel2d_cli run solves one case file and writes one solved artifact.
  • panel2d_cli inspect reviews artifact metadata and can reconstruct integrated results from the command line.

The normal workflow is:

  1. Create or edit a case file.
  2. Run the case to produce a solved artifact.
  3. 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:

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.

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)

Source distribution for BuffaloPanel 0.2.0
File Size Uploaded
buffalopanel-0.2.0.tar.gz 122.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for BuffaloPanel 0.2.0
File Interpreter ABI Platform
buffalopanel-0.2.0-py3-none-any.whl Python 3 none any Details

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

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page