Skip to main content

GUI tool for exploring formulas using DearPyGui

Project description

Lambda Explorer

A small GUI application for interacting with symbolic formulas and plotting them using Dear PyGui.

The GUI presents every available formula and lets you calculate or plot results by filling in all but one variable. Formulas are defined with SymPy and are automatically discovered when the application starts. Displayed formulas are rendered from LaTeX using Matplotlib for clarity.

Installation

pip install lambda-explorer

To install from source:

pip install -r requirements.txt
pip install -e .

Usage

After installation you can launch the GUI with the command:

lambda-explorer

This will open the formula browser where you can calculate and visualize formulas.

Lightweight CLI

If memory usage is a concern you can use a simple command line interface:

lambda-explorer-cli

This avoids the GUI and only loads the selected formula when needed.

Library Usage

lambda-explorer can also be used programmatically. Formula classes are available in lambda_explorer.tools.aero_formulas and provide a convenient solve() method. Exactly one variable must be omitted so that it can be calculated:

from lambda_explorer.tools.aero_formulas import ReynoldsNumber

eq = ReynoldsNumber()
# Solve for Re while providing the other values
re = eq.solve(rho=1.225, V=50.0, c=0.5, mu=1.8e-5)
print(re)

To launch the GUI from Python simply call lambda_explorer.main():

from lambda_explorer import main

main()

Default values used inside the GUI can be customised. Use the Defaults tab in any formula window to load or save the defaults.yaml file directly, or choose "Save As" to export the defaults to a custom YAML file. The defaults map variable names to their stored string values.

The application also remembers your window layout. When you close the GUI, the current positions and sizes of all windows are written to layout.ini and the list of visible windows is stored in open_windows.json. Both the layout and open windows are restored on the next start.

The Settings window lets you adjust the logging level of the application at runtime. Choose between DEBUG, INFO, WARNING and ERROR to control the amount of information written to the log window.

Developer Documentation

Developers who want to implement additional formulas can follow the guide in docs/developer_guide.md. It describes the required class structure and how new equations are automatically integrated into the GUI.

Development Workflow

Use the provided Makefile to streamline common tasks:

make install  # install dependencies and project in editable mode
make format   # apply code formatting using Black
make lint     # run pre-commit hooks

Run make run to start the GUI or make run-cli for the command line interface.

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

lambda_explorer-1.0.0.tar.gz (536.7 kB view details)

Uploaded Source

Built Distribution

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

lambda_explorer-1.0.0-py3-none-any.whl (538.4 kB view details)

Uploaded Python 3

File details

Details for the file lambda_explorer-1.0.0.tar.gz.

File metadata

  • Download URL: lambda_explorer-1.0.0.tar.gz
  • Upload date:
  • Size: 536.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for lambda_explorer-1.0.0.tar.gz
Algorithm Hash digest
SHA256 6e44f051ba1c5e4ca97952a603d239673f20518be409877f9b7733d465c75ff5
MD5 92a8306589dc7b7f4391d6a81952f99f
BLAKE2b-256 17afe5456a65aa5903c902d412ba8a39bc2b8f66d92450f222dbdab74343f86a

See more details on using hashes here.

File details

Details for the file lambda_explorer-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for lambda_explorer-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0111b56a0ca9cea453885ddbf91ae6db88fb3fa045215d1ff11d3d03ab19f1be
MD5 2ca0ea376d2a4f5e998f985d4d34f083
BLAKE2b-256 3ddc8cf3ea88e836c1db88c8abc87eab04f1ad91502f0ba10316a494b5797eaf

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