Skip to main content

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

Project description

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
> uvx install kegstandcli  # Or `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 uvx or 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.

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

kegstandcli-0.4.0.tar.gz (88.9 kB view details)

Uploaded Source

Built Distribution

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

kegstandcli-0.4.0-py3-none-any.whl (22.3 kB view details)

Uploaded Python 3

File details

Details for the file kegstandcli-0.4.0.tar.gz.

File metadata

  • Download URL: kegstandcli-0.4.0.tar.gz
  • Upload date:
  • Size: 88.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for kegstandcli-0.4.0.tar.gz
Algorithm Hash digest
SHA256 1e7e15c588d12bfd1319f06b1ce097b6dfb7e65889561d76bffc1dd900ffaf0f
MD5 6d44b4f7ab0c5d6a02fa5f6954033327
BLAKE2b-256 977059cef8acc961127e473e12ce53d6dfb1e6a68db7d644950aa2f853024b8f

See more details on using hashes here.

Provenance

The following attestation bundles were made for kegstandcli-0.4.0.tar.gz:

Publisher: python-publish.yml on JensRoland/kegstand

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kegstandcli-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: kegstandcli-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 22.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for kegstandcli-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 44df3751d9c1f476e081db34b2703e238c7ba7b8f5fbeab4fbc481cec2a6447f
MD5 db8c27a8c4d5c0de3c9db90e12cf6146
BLAKE2b-256 8dfdc9be9fe7609ce16ec85d079c4897e36a6e175daae5667e768e2ad5f38ec6

See more details on using hashes here.

Provenance

The following attestation bundles were made for kegstandcli-0.4.0-py3-none-any.whl:

Publisher: python-publish.yml on JensRoland/kegstand

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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