Skip to main content

FreeQ


Zero-setup end-to-end encrypted message queue for free in 1 line of python


TL;DR;

No need to set up a server, a DB, redis, dedicated queue, hosted pub/sub and worrying about free tier limits, or anything. pip install freeq and go

Install:

pip install -U freeq

Publisher:

> from freeq import Queue
> q = Queue(name='thisismyqueuename',                       # made up, super unique
            access_key='so_noone_can_write_to_my_queue',    # made up, identifies the queue along with name
            secret_key='i_shit_when_i_sneeze')              # made up, never leaves the client
> q.put({"pool_temperature": "too low"})

Consumer:

> from freeq import Queue
> q = Queue(name='thisismyqueuename',                       # made up, super unique
            access_key='so_noone_can_write_to_my_queue',    # made up, identifies the queue along with name
            secret_key='i_shit_when_i_sneeze')              # made up, never leaves the client
> event = q.get()

Limitations

The server runs on free-tier infra (for now), so each queue is limited to:

  • 2048 messages per queue
  • 2048 bytes per message (after encryption and compression)
  • messages expire after 48 hours

You can run your own server to get around this. Configure the client to use it with env vars: FREEQ_SERVER_ADDRS=https://server1.com,https://server2.com

Contributing

PRs and issues are welcome, there is barely any code so should be easy to get a grasp of it.

OpenAPI / swagger schema available @ https://weyland.yutani.enterprises/docs so feel free to generate a client for [insert language] using e.g. openapi-generator.

Please make sure your client encrypts everything and doesn't spam the API too much.

Metadata

Release files for freeq 0.0.22

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

Source distribution (sdist)

Source distribution for freeq 0.0.22
File Size Uploaded
freeq-0.0.22.tar.gz 17.7 kB Details

Built distribution (wheel)

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

Total release size: 33.4 kB

Release files / freeq-0.0.22.tar.gz

Download URL freeq-0.0.22.tar.gz
Size 17.7 kB
Tags Source
SHA-256 checksum
How to use checksums
14d2d9130afcac209ade8eb1b19d709a6709b8096a92ccdf8dd34f50f0192ea0
BLAKE2b-256 checksum
How to use checksums
fc9c704c74019ea93b423e8d56d3e214ce75565075f81fd282ce93bda73fd54b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / freeq-0.0.22-py3-none-any.whl

Download URL freeq-0.0.22-py3-none-any.whl
Size 15.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ab13e9a21c4f418ca8ddf06e8e42004abe6c1319c42b05646da94f3aec53de5c
BLAKE2b-256 checksum
How to use checksums
1c03e1dd22b9ef7cddae4184f0502831f1b80c0a76bd7ab2ff656b19c4c431bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.0.22 This release

2 release files

0.0.21

2 release files

0.0.20

2 release files

0.0.19

2 release files

0.0.17

2 release files

0.0.16

2 release files

0.0.15

2 release files

0.0.14

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