[1] https://docs.aws.amazon.com/cdk/v2/guide/work-with-cdk-pytho...
Stelvio uses Pulumi under the hood.
We're not "trying to achieve over them" but instead we have different focus. Our focus is on developers rather than on devops people.
You can setup your infra in stelvio with much less code, almost no worry about IAM, best practices out of the box and developers workflow in mind. E.g. dev mode allows you to change your lambda code live without redeploying.
If interested I can refer you to my older article https://stelvio.dev/blog/why-i-am-building-stelvio/ which tries to explain philosophy or shorter manifesto https://stelvio.dev/about/manifesto/
On top of that we also have a dev mode that lets you run your lambdas locally - while within the AWS infrastructure
What does that mean? Are they running locally or in AWS infrastructure?
This way you can develop and test your code without constantly redeploying.
I would guess by focusing on Python that you can provide a tighter experience than SST. Is that your plan?
I don't really think we're competitors, their focus is on JS/TS eco system. As you suggested Stelvio focuses on Python and aims to really nail down experience for deploying Python to AWS (and later potentially elsewhere). e.g. we resolve python dependencies for lambda functions and layers and package them for you etc.
In the long run we want Stelvio to be a go to tool for deploying Python (with some nice TUI and web console to make it all really smooth).
I see others asking about CDK/Pulumi comparison - I think you're right that it's less about the underlying engine and more about the abstraction level. CDK gives you cloud primitives. Stelvio (like SST for JS) gives you developer workflows.
The automatic IAM permission generation is underrated. I've spent more debugging hours on Lambda permission errors than I'd like to admit. The error messages are terrible ("AccessDeniedException" tells you nothing about which permission is missing) and the docs always show overly-permissive examples.
Question: How does the dependency resolution work for native Python packages (e.g., numpy, pandas)? Are you pre-building wheels for Lambda's Amazon Linux environment, or using something like Lambda layers with pre-compiled binaries? That's historically been one of the most annoying parts of Python + Lambda.
For lambdas or layers you can define your dependencies in requirements.txt file or as parameter as list[str]. Stelvio will then look at python version and target architecture of your lambda and will use uv or pip to get right version of the packages (matching your lambda) and deploy them. It also has intelligent cache so nothing is downloaded twice etc.
More details here: https://stelvio.dev/components/aws/lambda/#how-installation-...
If you want to try Stelvio we're happy to give you a hand if you need or have any questions. Just shoot at team@stelvio.dev
[1] https://modal.com/docs/examples/hackernews_alerts [2] https://docs.ray.io/en/latest/ray-overview/getting-started.h...
edit: forgot to mention StackQL [3], which is somewhat similar but takes a SQL-first vs python-first approach. The IaC space is about to get a lot more interesting.
Not saying you can't use it with non-Python projects to deploy your infra but focus is Python devs hence assuming you're shipping Python code.
I'd prefer `stelvio` as the CLI command though. Looks much nicer than `stlv` to me and can be searched for directly.