ngapp#
Welcome to the ngapp documentation.
ngapp is a Python framework for building interactive scientific and engineering applications as web or desktop apps — without writing JavaScript or HTML. You declare user interfaces in Python, ngapp wires them to a Quasar/Vue frontend, and keeps browser state and Python logic in sync.
What you can do with ngapp#
ngapp is a good fit when you want to:
Turn scripts or Jupyter notebooks into user-friendly apps
Build rich forms, dashboards, and 3D visualizations in pure Python
Ship your app as a desktop-like tool or deploy it as a web app
Especially for scientific and engineering use cases
Built for use with the Finite Element Framework NGSolve, but usable independently
Typical workflow#
Install ngapp and development extras:
pip install ngapp[dev]
Create a new app skeleton with a guided wizard:
python -m ngapp.create_app
Run your app in development mode with hot reload:
python -m <module_name> --dev
Iterate on the generated
app.pyusing ngapp components, helper widgets, and visualization tools.Deploy your app, for example using the included GitHub Pages workflow or your own infrastructure.
Where to start#
If you are new to ngapp, begin with:
Getting Started – installation, project layout, first run
Tutorials – step-by-step examples (parametric sine, NACA generator, beam solver, GitHub deployment)
Then explore:
Concepts & Architecture – core ideas: apps, components, state, compute
Components – building interfaces from ngapp and Quasar components
Visualization – interactive Plotly, WebGPU, and VTK-based views
Deployment – deployment options and compute environments
Advanced Topics – advanced topics and JavaScript/Quasar integration
API Documentation – full Python API reference and component listings
Testing ngapp applications – snapshot and end-to-end testing utilities for apps
Contents#
- User Guide
- Getting Started
- Concepts & Architecture
- Components
- Quick Example
- Component Overview
- Basic Quasar Components
- Helper Components
- Component Arguments and Customization
- Building Custom Components
- Styling Components: ui_style and ui_class
- Next Steps
- Visualization
- Deployment
- Testing ngapp applications
- Advanced Topics
- Tutorials
- API Documentation