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)
| File | Size | Uploaded | |
|---|---|---|---|
| freeq-0.0.22.tar.gz | 17.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|