Skip to main content
Pre-release

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

PaaS Charm

Easily deploy and operate your Flask, Django, FastAPI, Go, Express, or Spring Boot applications and associated infrastructure, such as databases and ingress, using open source tooling. This lets you focus on creating applications for your users backed with the confidence that your operations are taken care of by world class tooling developed by Canonical, the creators of Ubuntu.

Have you ever created an application and then wanted to deploy it for your users only to either be forced to use a proprietary public cloud platform or manage the deployment and operations yourself? PaaS Charm will take your application and create an OCI image using Rockcraft and operations code using Charmcraft for you. The full suite of tools is open source so you can see exactly how it works and even contribute! After creating the app charm and image, you can then deploy your application into any Kubernetes cluster using Juju. Need a database? Using Juju you can deploy a range of popular open source databases, such as PostgreSQL or MySQL, and integrate them with your application with a few commands. Need an ingress to serve traffic? Use Juju to deploy and integrate a range of ingresses, such as Traefik, and expose your application to external traffic in seconds.

Getting Started

This project provides 12-factor app support across multiple frameworks (Flask, Django, FastAPI, Go, Express, and Spring Boot). The quickest way to get started is to follow the framework-specific tutorials linked below.

Make sure that you have the latest/edge version of Charmcraft and Rockcraft installed:

sudo snap install charmcraft --channel latest/edge --classic
sudo snap install rockcraft --channel latest/edge --classic

Both tools provide framework profiles and extensions that generate the required files and handle the operational workload. You only need to fill in some metadata in the rockcraft.yaml and charmcraft.yaml files. To create the necessary files (example shown for Flask):

rockcraft init --profile flask-framework
mkdir charm
cd charm
charmcraft init --profile flask-framework

After packing the rock and charm using rockcraft pack and charmcraft pack and uploading the rock to a k8s registry, you can juju deploy your application, integrate it with ingress, and start serving traffic to your users.

Read the framework-specific tutorials for a complete walkthrough:

Documentation

The 12-Factor framework support documentation provides guidance and learning material about the tooling, getting started, customization, and usage. The documentation is hosted on Read the Docs.

Build the 12-Factor app support documentation located in this repository:

cd docs
make run

If you have any documentation-related comments, issues, or suggestions, please open an issue or pull request in this repository, or reach out to us on Matrix.

Additional resources

Contributing

Is there something missing from the 12-Factor app support framework? We welcome contributions! See CONTRIBUTING.md for more details.

Reach out to us on Matrix with your questions and use cases.

Metadata

Release files for paas-charm 2.0.dev1

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

Source distribution (sdist)

Source distribution for paas-charm 2.0.dev1
File Size Uploaded Provenance
paas_charm-2.0.dev1.tar.gz 75.7 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for paas-charm 2.0.dev1
File Interpreter ABI Platform
paas_charm-2.0.dev1-py3-none-any.whl Python 3 none any Details

Total release size: 172.1 kB

Release files / paas_charm-2.0.dev1.tar.gz

Download URL paas_charm-2.0.dev1.tar.gz
Size 75.7 kB
Tags Source
SHA-256 checksum
How to use checksums
dff8abfa77f998f3e45bb8565bf6ae0de3a10f61194a96f5ea5b8b05df4cac11
BLAKE2b-256 checksum
How to use checksums
0bcac32df6d973445fdec2951f929a29e11d0f21b1c902737d5775b35f4dc9d4
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 24, 2026.

Transparency log

Release files / paas_charm-2.0.dev1-py3-none-any.whl

Download URL paas_charm-2.0.dev1-py3-none-any.whl
Size 96.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
49f119317ab4df676ad601969d4b2c0b2d25aef39b6faf0786fe60a172728a5c
BLAKE2b-256 checksum
How to use checksums
9948acf317bd55b124d4f1ef6ffda3b47ccfbfea086d508ecee075f7c6efbbbf
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 24, 2026.

Transparency log

Security for paas-charm 2.0.dev1

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for paas_charm-2.0.dev1.tar.gz

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 24, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release
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