Skip to main content

AWS for Python devs made simple.

Project description

Stelvio

PyPI Python Version License

🎁 Merry Christmas 🎄

Merry Christmas

Stelvio 0.6.1 (Codename X-Mas) was just released!

AWS for Python devs - made simple

Documentation - Stelvio Manifesto - Intro article with quickstart

What is Stelvio?

Stelvio is a Python framework that simplifies AWS cloud infrastructure management and deployment. It lets you define your cloud infrastructure using pure Python, with smart defaults that handle complex configuration automatically.

With the stlv CLI, you can deploy AWS infrastructure in seconds without complex setup or configuration.

Key Features

  • Developer-First: Built specifically for Python developers, not infrastructure experts
  • Zero-Setup CLI: Just run stlv init and start deploying - no complex configuration
  • Python-Native Infrastructure: Define your cloud resources using familiar Python code
  • Environments: Personal and shared environments with automatic resource isolation
  • Smart Defaults: Automatic configuration of IAM roles, networking, and security

Currently Supported

Support for additional AWS services is coming. See Roadmap.

Example

Define AWS infrastructure in pure Python:

@app.run
def run() -> None:
    # Create a DynamoDB table
    table = DynamoTable(
        name="todos",
        partition_key="username",
        sort_key="created"
    )
    
    # Create an API with Lambda functions
    api = Api("todos-api", domain_name="api.example.com")
    api.route("POST", "/todos", handler="functions/todos.post", links=[table])
    api.route("GET", "/todos/{username}", handler="functions/todos.get")

See the intro article for a complete working example.

Quick Start

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

# Install Stelvio
uv add stelvio

# Initialize Stelvio project
uv run stlv init

# Edit stlv_app.py file to define your infra

# Deploy
uv run stlv deploy

Go to our Quick Start Guide for the full tutorial.

Why Stelvio?

Unlike generic infrastructure tools like Terraform, AWS CDK or Pulumi Stelvio is:

  • Built specifically for Python developers
  • Focused on developer productivity, not infrastructure complexity
  • Designed to minimize boilerplate through intelligent defaults
  • Maintained in pure Python without mixing application and infrastructure code

For detailed explanation see Stelvio Manifesto blog post.

Project Status

Stelvio is currently in early but active development.

Contributing

Best way to contribute now is to play with it and report any issues.

I'm also happy to gather any feedback or feature requests.

Use GitHub Issues or email us directly at team@stelvio.dev

If you want to contribute code you can open a PR. If you need any help I'm happy to talk.

License

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stelvio-0.6.1a9.tar.gz (94.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stelvio-0.6.1a9-py3-none-any.whl (123.3 kB view details)

Uploaded Python 3

File details

Details for the file stelvio-0.6.1a9.tar.gz.

File metadata

  • Download URL: stelvio-0.6.1a9.tar.gz
  • Upload date:
  • Size: 94.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for stelvio-0.6.1a9.tar.gz
Algorithm Hash digest
SHA256 2cbb812f7b0285c35c8b883f1601cbb3d7ff17ba392ad6649bba9338499db96e
MD5 81acdac7bc58f219f6d449db2e30fa71
BLAKE2b-256 3f600519e0b1386d02e016c296e8a4e9c5165ac8a39053fd68eabcb876b86db3

See more details on using hashes here.

File details

Details for the file stelvio-0.6.1a9-py3-none-any.whl.

File metadata

  • Download URL: stelvio-0.6.1a9-py3-none-any.whl
  • Upload date:
  • Size: 123.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for stelvio-0.6.1a9-py3-none-any.whl
Algorithm Hash digest
SHA256 e903421a38ffbcf586267793f9f46ed196a88b144d50183cbcd0e2986ecb6dd9
MD5 920792d34aa02fb98e73aebea9d57e94
BLAKE2b-256 3937e392892832e50ebf7537299efd8a4d6d28e29862243d2257afe7931aabbc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page