FuncToWeb
Turn typed Python functions into web interfaces.
Write a normal Python function with type hints. FuncToWeb turns it into a ready-to-use web form, validates its input and runs it over HTTP. No models, no duplicated schemas, no hand-written forms.
The same function is also an HTTP endpoint, a contract published at /doc for
people and agents, an application you mount inside FastAPI, and a page your own
frontend opens in a modal.
from func_to_web import run
def divide(a: float, b: float) -> float:
return a / b # Any exception becomes a clean error in the page and the API
run(divide) # http://127.0.0.1:8000
The full documentation is at https://offerrall.github.io/func-to-web/.
Documentation
- Overview: one function as a form, an API, a contract and a modal; how it works.
- Getting started:
run(), several functions, FastAPI, the options and the examples. - Types and validation: what a parameter can be, and its constraints.
- Files: file parameters, uploads and how long files are kept.
- Outputs: text, tables, images and downloads.
- Prefill and OpenForm: forms that open filled in, and functions that open other forms.
- HTTP API:
/invoke, streaming and/doc. sdk.js: calling a space and opening its forms from your own frontend.- Security and limits: what FuncToWeb guarantees, and what is up to you.
Metadata
Release files for func-to-web 2.7.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| func_to_web-2.7.6.tar.gz | 49.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| func_to_web-2.7.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 111.8 kB
Release files / func_to_web-2.7.6.tar.gz
| Download URL | func_to_web-2.7.6.tar.gz |
|---|---|
| Size | 49.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
95e8cf9e0abc710eeb12679e323fe15df93766f74813bc9bcf19882f5e77d451
|
|
BLAKE2b-256 checksum How to use checksums |
98e190dd2ad83ecca14a81888e9994831080ad1dabe096edea6c236520414cb0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 29, 2026.
Transparency logRelease files / func_to_web-2.7.6-py3-none-any.whl
| Download URL | func_to_web-2.7.6-py3-none-any.whl |
|---|---|
| Size | 61.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8dfac975ec247bac889f1bca92b46634cb31a0f6c056b5dabe1892c149402666
|
|
BLAKE2b-256 checksum How to use checksums |
2700c5507c7826202eebfee3b700ec60ba7cd8375012da427110a8708e59eb6e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 29, 2026.
Transparency log