firm-stack
Pure-Python ports of the Rails Solid stack — database-backed, no Redis required.
firm-stack is the meta-package for firm: it installs the
modules you pick via extras, in one shot. Each component is also published independently, so
you can just as well install only what you need:
| Component | Package | Ports |
|---|---|---|
| Background jobs | firm-queue |
Solid Queue |
| Cache store | firm-cache |
Solid Cache |
| Pub/sub | firm-channel |
Solid Cable |
| Audit log | firm-audit |
— |
| Web dashboard | firm-ui |
Mission Control |
Everything runs on SQLite, PostgreSQL, or MySQL via SQLAlchemy.
Install
firm-stack is extras-only — a bare pip install firm-stack installs no modules, so always
pick at least one:
pip install "firm-stack[queue]" # background jobs
pip install "firm-stack[queue,cache]" # jobs + caching
pip install "firm-stack[ui]" # web dashboard (pulls all four modules)
pip install "firm-stack[all]" # everything, all drivers and integrations
# or skip the meta-package and install components directly:
pip install firm-queue
pip install "firm-cache[encryption]"
Imports are always under the firm namespace regardless of which packages you installed:
import firm.queue
from firm.cache import Cache
from firm.channel import Channel
Why "firm-stack" and not "firm"? The PyPI name
firmis held by a dormant, release-less registration; a PEP 541 name-transfer request is pending. If it is granted, the meta-package will also be published asfirmandfirm-stackwill remain as a compatible alias.
See the project README and documentation for full usage.
Metadata
Release files for firm-stack 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| firm_stack-1.0.0.tar.gz | 4.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| firm_stack-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.4 kB
Release files / firm_stack-1.0.0.tar.gz
| Download URL | firm_stack-1.0.0.tar.gz |
|---|---|
| Size | 4.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
60e4c92da8303c081b396a4a8f8e8328cacb88e3f03a805279cef69b9ec52772
|
|
BLAKE2b-256 checksum How to use checksums |
26e48fda40c507f56ea19337ecd1e8d46af4cf94dd42004a2e647af1591a38d0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / firm_stack-1.0.0-py3-none-any.whl
| Download URL | firm_stack-1.0.0-py3-none-any.whl |
|---|---|
| Size | 4.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7c12b08512112f3d2317ae4baddd937e0fea73ce36a909c76a2de2379944dce8
|
|
BLAKE2b-256 checksum How to use checksums |
197d02a87db4a61c0c5ffd6d925e2bd4c9d085b3f57eccc699fda0b358f66414
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|