Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Stelvio

PyPI Python Version License

Ship Python to AWS in minutes, not days.

Documentation - Stelvio Manifesto - Roadmap

Stelvio is an open-source framework that lets you build and deploy modern AWS applications using pure Python. Forget YAML, complex configuration, or learning new DSLs.

With the stlv CLI, you focus on your code, and Stelvio handles the infrastructure.

stlv intro video

Why Stelvio?

  • 🐍 Pure Python: Define your infrastructure with standard Python code. Use your favorite IDE, linter, and type checker.
  • 🧠 Smart Defaults: We handle the complex IAM roles, networking, and configuration so you don't have to.
  • 🔗 Automatic Permissions: Simply pass resources to your functions. Stelvio automatically configures permissions and environment variables.
  • ⚡ Live Dev Mode: Run stlv dev to sync your code changes instantly. No waiting for deployments.
  • 🔧 Full Control: Logic and infrastructure in one place, with escape hatches to the underlying Pulumi resources.
  • 📖 Open Source: Built by developers for developers. Apache 2.0 licensed.

Example

Define your infrastructure and application logic in one file. Stelvio handles the wiring.

from stelvio.aws.api_gateway import RestApi
from stelvio.aws.cron import Cron
from stelvio.aws.dynamo_db import DynamoTable


@app.run
def run() -> None:

    todos = DynamoTable(
        "todos-table",
        fields={
            "user": "string",
            "date": "string"
        },
        sort_key="date",
        partition_key="user"
    )

    cleanup = Cron(
        "cleanup-cron",
        "rate(1 minute)",
        handler="api/handlers.cleanup",
        links=[todos]
    )

    api = RestApi("stlv-demo-api")
    api.route("GET", "/hello", handler="api/handlers.hello_world")
    api.route("POST", "/todos", handler="api/handlers.post_todo", links=[todos])
    api.route("GET", "/todos/{user}", handler="api/handlers.list_todos", links=[todos])

Supported Components

Stelvio provides high-level components for the most common AWS services:

Give it a try

Open in GitHub Codespaces

Quick Start

You can get up and running in less than 2 minutes.

# 1. Create a new project
uv init my-todo-api && cd my-todo-api

# 2. Add Stelvio
uv add stelvio

# 3. Initialize project structure
uv run stlv init

# 4. Deploy to AWS
uv run stlv deploy

See the Quick Start Guide for a full walkthrough.

Community & Contributing

Stelvio is open source and we welcome contributions!

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Metadata

Release files for stelvio 0.10.0b6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for stelvio 0.10.0b6
File Size Uploaded
stelvio-0.10.0b6.tar.gz 186.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for stelvio 0.10.0b6
File Interpreter ABI Platform
stelvio-0.10.0b6-py3-none-any.whl Python 3 none any Details

Total release size: 429.8 kB

Release files / stelvio-0.10.0b6.tar.gz

Download URL stelvio-0.10.0b6.tar.gz
Size 186.4 kB
Tags Source
SHA-256 checksum
How to use checksums
b5d77562d9f7eb958940ca978c8a59ae8d68368958f25c65196577a7c750ce5c
BLAKE2b-256 checksum
How to use checksums
d43ed6c910f7cdda15fa0eb9696a3896a77bf102ae255558d21997bf629ef9cf
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 10, 2026.

Transparency log

Release files / stelvio-0.10.0b6-py3-none-any.whl

Download URL stelvio-0.10.0b6-py3-none-any.whl
Size 243.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
817e872b402668b687f99bc819ce7bbc32f4bea55b847881d419fbb3bffbfd70
BLAKE2b-256 checksum
How to use checksums
a11161d3a2d8b9206a8e12f07a1a14bfd9348ffc5b2f907bece4f03f29b2ebdf
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 10, 2026.

Transparency log
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page