dash-fn-form
Introspection-based UI engine for Plotly Dash — transform type-hinted Python functions into reactive Dash forms.
Installation
pip install dash-fn-form
Most users should install dash-interact instead, which includes this package and adds a convenience page API.
Usage
from dash import Dash, html
from dash_fn_form import build_fn_panel
def sine_wave(amplitude: float = 1.0, frequency: float = 2.0):
import numpy as np, plotly.graph_objects as go
x = np.linspace(0, 6 * np.pi, 600)
return go.Figure(go.Scatter(x=x, y=amplitude * np.sin(frequency * x)))
app = Dash(__name__)
app.layout = html.Div([build_fn_panel(sine_wave)])
app.run(debug=True)
build_fn_panel inspects the function signature and builds a form with matching controls. The return value is rendered automatically.
Type mapping
| Python type | Control |
|---|---|
float |
Number input (or slider with (min, max, step)) |
int |
Number input (integer step) |
bool |
Checkbox |
Literal[A, B, C] |
Dropdown |
str |
Text input |
date / datetime |
Date picker |
list[T] / tuple[T, ...] |
Comma-separated input |
T | None |
Same as T, submits None when empty |
Field customization
from dash_fn_form import Field
form = FnForm("my_form", my_fn, title=Field(label="Title", col_span=2))
License
MIT
Metadata
Release files for dash-fn-form 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dash_fn_form-0.0.2.tar.gz | 198.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dash_fn_form-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 233.3 kB
Release files / dash_fn_form-0.0.2.tar.gz
| Download URL | dash_fn_form-0.0.2.tar.gz |
|---|---|
| Size | 198.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7e7f20d169c3d37146940f1ec02b57f08fae726916f4c7efe5128b1ba17bf471
|
|
BLAKE2b-256 checksum How to use checksums |
b15c77ad489705f3891839cf5362e8860de01021da8abb2df07ee617ebf0dd57
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Mar 27, 2026.
Transparency logRelease files / dash_fn_form-0.0.2-py3-none-any.whl
| Download URL | dash_fn_form-0.0.2-py3-none-any.whl |
|---|---|
| Size | 35.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1bc9318c86ab57cde7b50d175e53b35427800628858e2cea384e12806dabd693
|
|
BLAKE2b-256 checksum How to use checksums |
fcd06032c64fec157476b12ec6aa0951dc52ad30b5a1cb96efe934cf89271b71
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Mar 27, 2026.
Transparency log