[1.0.1] - 2026-05-01
Added
-
Custom frontend hosting via
front_dirandassets_dir—run()now accepts two new parameters to serve a custom frontend from the same processfront_dir: directory mounted at/frontwithhtml=Truefor SPA-style routing — drop a static site, landing page, or built React/Vue/Svelte bundle next to your Python functionsassets_dir: directory mounted at/assetsfor images, fonts, downloads or any static files referenced by your frontend or forms- Both are excluded from the auth middleware so static content is reachable without login
- Lets a single FuncToWeb process host the form UI, the API and a full custom frontend — no separate web server needed
-
/docendpoint — auto-generated, machine-readable API documentation- Every app now exposes
GET /docreturning a single plain-text document - Lists all registered functions (visible and hidden) with their parameters,
constraints, choices, defaults, and a workingcurlexample for each - Parameters are emitted as JSON, making the doc directly parseable
- File parameters include an
upload_infoblock describing the multipart
transport, field name, and whether multiple files are accepted - Dynamic dropdowns (
Dropdown(func)) are flagged with"dynamic": true
so consumers know the listed options are a snapshot, not an exhaustive set - URLs in examples use a
<base_url>placeholder, making the doc portable
across local, proxied and production deployments - Designed to be consumed by humans, scripts, or AI agents calling the API
without prior knowledge of the app
- Every app now exposes
-
Embed mode for iframe integration — append
?__embed=1to any function URL- Strips the sidebar, theme toggle, and outer chrome at runtime
- Forces a transparent background so the form blends into the parent page
- Removes the container's max-width, padding, shadow and border
- Lets you drop a FuncToWeb form into an existing web app via
<iframe>with
no visual seams — combine with URL prefill (?param=value) for a fully
pre-configured embedded form