Skip to main content

Kegstand logo

The Developer's Toolbelt For Accelerating Mean Time To Party on AWS

Created by Jens Roland and fueled by a non-zero amount of alcohol

Watch a 3-minute demo


🥂💃🕺 Welcome to the Party! 🥂💃🕺

Kegstand is a free and open-source framework for creating Python APIs and services. It allows you to rapidly build and deploy services on AWS. We all have better things to do than print(json.dumps(event)) all day long, and Kegstand is here to help you get to the party — and into Prod — a lot faster.

It provides:

  • A CLI tool for creating and deploying your services.
  • A decorator based framework abstracting away the boilerplate of AWS Lambda, API Gateway, Cognito, and more.
  • The full power of CDK to define and deploy arbitrary AWS resources with your services.

"Experience a streamlined cloud development process, enhanced productivity, and hit that "party" button sooner with Kegstand!" > — GPT-4, official spokesbot for the Kegstand team

Learn more on the Kegstand website.

Prerequisites

Quick start

To create a service with Kegstand, you'll need a Python project with a few dependencies and a folder structure following the Kegstand convention.

You can create this in a few seconds, either with the Kegstand CLI or using Copier.

# Using the Kegstand CLI
> pipx install kegstandcli
> keg new my-service

# Using Copier
> copier copy -d project_name=my-service gh:JensRoland/kegstand-project-template .

Either method will create a new project folder called my-service containing:

📁 my-service
├── 📄 .gitignore                    # Standard .gitignore file
├── 📄 pyproject.toml                # Project configuration
└── 📁 src
    └── 📁 api
        └── 📁 public
            └── 📄 hello.py          # Logic for /hello/

Kegstand projects are minimal by design, so a fresh project folder contains just those 3 files. Well, apart from a few empty __init__.py gatecrashers, but we can safely ignore those.

Install the dependencies for the new project (uv will do this for you during uv run so it's not strictly necessary):

> cd my-service
> uv sync

Finally, to build and deploy the service to AWS:

> uv run keg deploy

Note: Even if you installed the Kegstand CLI globally with pipx, it is still recommended to use uv run to ensure that you are using the correct CLI version for the specific project.

You should now be able to access the API endpoint at https://<api-id>.execute-api.<region>.amazonaws.com/prod/hello.

Documentation

For further examples and more advanced usage, see the official documentation.

Metadata

Release files for kegstandcli 0.4.3

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

Source distribution (sdist)

Source distribution for kegstandcli 0.4.3
File Size Uploaded
kegstandcli-0.4.3.tar.gz 109.0 kB Details

Built distribution (wheel)

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

Total release size: 132.1 kB

Release files / kegstandcli-0.4.3.tar.gz

Download URL kegstandcli-0.4.3.tar.gz
Size 109.0 kB
Tags Source
SHA-256 checksum
How to use checksums
d70d6c4756596ccf34da9b058b50aca95084641508729535be42b46440015964
BLAKE2b-256 checksum
How to use checksums
f514652aea109539582be3c0d9654afaa8378f2c0446f2c3c1927928c6f62f14
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.0.1 CPython/3.12.8

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 Jan 11, 2025.

Transparency log

Release files / kegstandcli-0.4.3-py3-none-any.whl

Download URL kegstandcli-0.4.3-py3-none-any.whl
Size 23.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4f8e06a0c9838d38be748442d459b65c69d917c9e241badf4a915c3d77ce59aa
BLAKE2b-256 checksum
How to use checksums
4bcf9e97710ba0949798bc62c2f4afafc1d9d35e84e63614d9a39c2e939c3eff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.0.1 CPython/3.12.8

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 Jan 11, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.3 This release

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.11

2 release files

0.3.10

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

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