Skip to main content

Zero-setup queue with e2e encryption for free in 1 line of code

Project description

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.

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

freeq-0.0.20.tar.gz (17.2 kB view details)

Uploaded Source

Built Distribution

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

freeq-0.0.20-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file freeq-0.0.20.tar.gz.

File metadata

  • Download URL: freeq-0.0.20.tar.gz
  • Upload date:
  • Size: 17.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for freeq-0.0.20.tar.gz
Algorithm Hash digest
SHA256 06b12f0d08b9e5dc4b6b28a9483a7f50a78061ac087f4402393dd1c75b828084
MD5 2a24e13fb630ec52730c3c6ff980696d
BLAKE2b-256 e88e828bc5c9f4ba6b2f6e4e12f221329db7b8eb5027a5428ac4b264e175692f

See more details on using hashes here.

File details

Details for the file freeq-0.0.20-py3-none-any.whl.

File metadata

  • Download URL: freeq-0.0.20-py3-none-any.whl
  • Upload date:
  • Size: 15.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for freeq-0.0.20-py3-none-any.whl
Algorithm Hash digest
SHA256 c972befb1229838d59a26220b97dcbbaf1fd77471c717213d2a99fa9fb4a1259
MD5 037a31bd150fd9171e8d9fb37927d365
BLAKE2b-256 bab3d699de09d77e778d866e1f498d8996b83fc49f5cdadc31f9e8925724a9c8

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