Show HN: Drop-In SQS Replacement Based on SQLite

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • SmoothMQ

    A drop-in replacement for SQS designed for great developer experience and efficiency.

    The only HTTP API that is exposed is actually the SQS one. (I'm not opposed to a "regular" HTTP API but the goal was to make it easy for people to use existing libraries.)

    If you do use your language's AWS SDK, the code handles [1] all of the V4 auth stuff. https://github.com/poundifdef/SmoothMQ/blob/main/protocols/s...

    I'd love your feedback! Particularly the difficulties you find in running it, of which I'm sure there are many, so I can fix them or update docs.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • elasticmq

    In-memory message queue with an Amazon SQS-compatible interface. Runs stand-alone or embedded.

    We use ElasticMQ to have an SQS compatible service for local development. We use it with docker-compose locally. In our remote envs we use SQS.

    So far I had not problems with ElasticMQ.

    I'm much intrigued by the small LOC count of SmoothMQ. When I compare it to ElasticMQ it's much smaller (probably by using sqlite's features).

    https://github.com/softwaremill/elasticmq

  • python-task-queue

    Asynchronous serverless task queue with timed leasing of tasks. Threaded implementations for SQS and local filesystem.

    This is very interesting! The self-hosted aspect is something I'll have to consider for certain purposes.

    My lab also developed an SQS-esque system based on the filesystem, so no dependencies whatsoever and no need for any operational system other than the OS. It doesn't support all SQS commands (because we haven't needed them), but it also supports commands that SQS doesn't have (like release all messages to visible status).

    https://github.com/seung-lab/python-task-queue

  • sasquatch

    Love it!

    I wrote something similar, that implements behaviour same as SQS but did not attempt to be a dropin replacement. https://github.com/crowdwave/sasquatch

    A like the dropin replacement idea.

  • dyna53

    Route53 as a database, with DynamoDB-compatible API

    Congratulations!

    I also love writing AWS API-compatible services. That's why I did Dyna53 [1] ;P

    (I know, unrelated, but hopefully funny)

    [1] https://dyna53.io

  • rqlite

    The lightweight, distributed relational database built on SQLite.

  • kombu

    Messaging library for Python.

    https://docs.celeryq.dev/en/stable/getting-started/backends-...

    Celery's flower utility doesn't work with SQS or GCP's {Cloud Tasks, Cloud Pub/Sub, Firebase Cloud Messaging FWIU} but does work with AMQP, which is a reliable messaging protocol.

    RabbitMQ is backed by mnesia, an Erlang/OTP library for distributed Durable data storage. Mnesia: https://en.wikipedia.org/wiki/Mnesia

    SQLite is written in C and has lots of tests because aerospace IIUC.

    There are many extensions of SQLite; rqlite, cr-sqlite, postlite, electricsql, sqledge, and also WASM: sqlite-wasm, sqlite-wasm-http

    celery/kombu > Transport brokers support / comparison table: https://github.com/celery/kombu?tab=readme-ov-file#transport...

    Kombu has supported Apache Kafka since 2022, but celery doesn't yet support Kafka: https://github.com/celery/celery/issues/7674#issuecomment-12...

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • celery

    Distributed Task Queue (development branch)

    https://docs.celeryq.dev/en/stable/getting-started/backends-...

    Celery's flower utility doesn't work with SQS or GCP's {Cloud Tasks, Cloud Pub/Sub, Firebase Cloud Messaging FWIU} but does work with AMQP, which is a reliable messaging protocol.

    RabbitMQ is backed by mnesia, an Erlang/OTP library for distributed Durable data storage. Mnesia: https://en.wikipedia.org/wiki/Mnesia

    SQLite is written in C and has lots of tests because aerospace IIUC.

    There are many extensions of SQLite; rqlite, cr-sqlite, postlite, electricsql, sqledge, and also WASM: sqlite-wasm, sqlite-wasm-http

    celery/kombu > Transport brokers support / comparison table: https://github.com/celery/kombu?tab=readme-ov-file#transport...

    Kombu has supported Apache Kafka since 2022, but celery doesn't yet support Kafka: https://github.com/celery/celery/issues/7674#issuecomment-12...

  • libsql

    libSQL is a fork of SQLite that is both Open Source, and Open Contributions.

    Have you considered libsql? It is a distributed SQLite database, written mostly in Rust. There is a go database/sql and GORM driver available - https://github.com/tursodatabase/libsql

    disclaimer: I am one of the maintainers

  • rq

    Simple job queues for Python

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • RQ: Simple Job Queues for Python

    1 project | news.ycombinator.com | 1 Jul 2024
  • Background jobs with Django

    4 projects | /r/django | 30 May 2023
  • The Many Problems with Celery

    5 projects | /r/Python | 22 May 2023
  • Keep the Monolith, but Split the Workloads

    8 projects | news.ycombinator.com | 24 Apr 2023
  • Ask HN: Redis Queue Hacks and Questions

    1 project | news.ycombinator.com | 22 Feb 2023

Did you konow that Python is
the 1st most popular programming language
based on number of metions?