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.21.tar.gz (17.7 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.21-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: freeq-0.0.21.tar.gz
  • Upload date:
  • Size: 17.7 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.21.tar.gz
Algorithm Hash digest
SHA256 a3c05b0301c57348820878cd022627d5c9a68f4cd720923e521c9cfadb3838e5
MD5 d57ed66f1f3728f32774ea1f29ed0b5a
BLAKE2b-256 954a460f84fc9157f707af061a381fa2ae9cac6ec3c38d7b0bbea947ae8fcc86

See more details on using hashes here.

File details

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

File metadata

  • Download URL: freeq-0.0.21-py3-none-any.whl
  • Upload date:
  • Size: 15.7 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.21-py3-none-any.whl
Algorithm Hash digest
SHA256 e3a4128819fa02e3465dc7da5682eb9e4678833d740753fc94aa87f1805b01bb
MD5 63378897f2ddec60df46807332273704
BLAKE2b-256 76419dbbc5ba2b889a299b06c476a6b95d2f8ff6068c7b78e96963610e6d0e2e

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