Evlet
Evlet is a Python application framework. Define your models in Python and get forms, lists, permissions and APIs in the browser. SQLite is the default; PostgreSQL is optional.
Install, create a site, open it
Use Python 3.12 or newer in a virtual environment:
python -m pip install --upgrade evlet
evlet setup myproject
cd myproject
evlet app notes
evlet instance acme
evlet install notes --instance acme
evlet serve acme
Read the trust prompt, then open http://127.0.0.1:8000 and create your first administrator. There is no default password. Your site keeps its data when you stop and restart it.
An app contains reusable Python code. An instance is a site with its own database, accounts and files. You can install the same app on several instances. The package includes the browser UI, Playground and offline guides. Node is not needed to create or serve Python-only apps. App-owned native TS/JS extensions need Node 24 when building their assets.
The declarative app guide covers flat app packages,
owned child tables, reactive fields, dialogs, reports, services and native additions.
Finite calculations describe the finite-v1 formula
language, nested owned tables and the shared Python/browser calculation engine.
States, moves and model actions describe document states,
locks and actions with validated inputs. Document numbers describe
Sequence fields and naming series. Measures describe exact aggregates, declared model
measures and their HTTP routes.
Model meaning describes key fields, related records and
attachment limits.
Effects describe the rows a
document posts to other models when it enters a state.
The Journal describes each record's append-only
history, notes and follow ups, and its tamper-evident hash chain.
For virtual environment setup and each step explained, read Your first site.
Build your app
- What you can customize: models, lists, pages, actions, permissions and migrations, with examples from the Notes starter.
- CLI guide: projects, app sources, instances, trust and deployment boundaries.
- Upgrade or retire an app: the supported workflow today, backups and moving a project.
- Model engine and business capabilities: database queries, accounts, child rows, actions and private attachments.
- UI guide: the browser interface, its routes and the Python page API.
- Routing: frontends, reserved paths,
routes.pyandevlet routes. - UI framework: Evlet's own browser framework and components.
evlet dev --instance acme reloads Python changes while you work. Stop the server
and run evlet migrate acme when a model change needs a migration.
Explore without a project
evlet playground
evlet docs
The Playground uses temporary demo data. Use an instance for records you want to keep. Offline documentation opens at http://127.0.0.1:8001.
Optional capabilities
PostgreSQL and S3 are available as evlet[postgres] and evlet[s3]. The existing
tenant deployment, jobs and live updates,
connector, PostgreSQL and
operations guides describe their limits.
No database server, Redis, Docker or worker is required for a local SQLite app.
Work on Evlet itself
See the contributor guide for a source checkout, frontend
builds and package checks. Milestone notes record the
completed backend work. Development builds use a .dev0 version so they can be
distinguished from published packages. This branch contains unreleased fixes.
License
Evlet uses the MIT License.
Metadata
Release files for evlet 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| evlet-0.2.0.tar.gz | 2.8 MB | Without provenance | Details for evlet-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| evlet-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for evlet-0.2.0-py3-none-any.whl |
Total release size: 4.2 MB
Release files / evlet-0.2.0.tar.gz
| Download URL | evlet-0.2.0.tar.gz |
|---|---|
| Size | 2.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9cdfcb780ea1d7415e6e539dd818adc9a7575c04907c164dcd2641b60809d5c2
|
|
BLAKE2b-256 checksum How to use checksums |
99c5cb033d78617df3bdac1d7390cfbc52e9ccab194ffbf720e003a9651f7fcb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.5
|
Release files / evlet-0.2.0-py3-none-any.whl
| Download URL | evlet-0.2.0-py3-none-any.whl |
|---|---|
| Size | 1.4 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9cceb29cafa412e82d5a742b85753b6a770718d7004a9e87a95c0358190b4c74
|
|
BLAKE2b-256 checksum How to use checksums |
b5bb50151cf7425c8f504c51147a60623ebb8a1ac7db6d3d7b3fdf3564aa08ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.5
|
Security for evlet 0.2.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.