Skip to main content

Database-backed publish/subscribe (a pure-Python port of Rails' Solid Cable). No Redis required — runs on SQLite, PostgreSQL, or MySQL.

Project description

firm-channel

Database-backed publish/subscribe for Python — a pure-Python port of Rails' Solid Cable. No Redis required: messages flow through your existing SQLite, PostgreSQL, or MySQL/MariaDB database.

Part of firm, a port of the Rails 8 Solid stack.

pip install firm-channel

Quickstart

from firm.channel import Channel

ps = Channel(database_url="postgresql://localhost/myapp")

ps.subscribe("room:42", lambda payload: print(payload))
ps.broadcast("room:42", b'{"msg": "hi"}')

Highlights

  • Broadcast/subscribe over the database — no extra broker to run
  • Polling listener with configurable interval, in the style of Solid Cable
  • Automatic message trimming with configurable retention

Docs

MIT licensed. Schema and design derived from Solid Cable (© 37signals, MIT); see NOTICE.

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

firm_channel-0.1.0.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

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

firm_channel-0.1.0-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

Details for the file firm_channel-0.1.0.tar.gz.

File metadata

  • Download URL: firm_channel-0.1.0.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","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}

File hashes

Hashes for firm_channel-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8a2b0493919faa248d1876afccfd41031873c4e379abaa60df2d81349a07b56a
MD5 6593a30aaf1f367d9839be6f041e7a87
BLAKE2b-256 558cc955c92ab078e831af65e9075756953fe2f118e37364659a3186a1653d1e

See more details on using hashes here.

File details

Details for the file firm_channel-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: firm_channel-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","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}

File hashes

Hashes for firm_channel-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d36309b21a30cf127df7d8327dfc0d14adae1a091b8d731c714a257337c3ba87
MD5 54d96875a51fb9e0d93af806eb1d1382
BLAKE2b-256 821b3ff0bd1df677939089e1020f11296f53cdb136f5d403c858008092637e05

See more details on using hashes here.

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