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 (after encryption and compression)
  • 2048 bytes per message
  • 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.19.tar.gz (17.1 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: freeq-0.0.19.tar.gz
  • Upload date:
  • Size: 17.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for freeq-0.0.19.tar.gz
Algorithm Hash digest
SHA256 a9cf158e7aa939676558ddf5a6e050e7fc071c127a2d9c789fdb18bc7e5b4699
MD5 a1c0170ed81dab20209bc0611fbe84c1
BLAKE2b-256 fef713195fee6a33d6dca170653fd09f034091dd698120bb292ed8713f0ac706

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for freeq-0.0.19-py3-none-any.whl
Algorithm Hash digest
SHA256 5e0f117879a90b5194fd56f1f78bd7c8590a9c4090a7a48f1365e7bd8fd4d165
MD5 676c8e3b3d10544b4dfecd3176e6548f
BLAKE2b-256 59b56e4975912f450dd66300b69005100ff6ce247345bb7dface73cfb8a30342

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page