{"id":16824028,"url":"https://github.com/lulf/slim","last_synced_at":"2025-06-12T18:34:01.673Z","repository":{"id":138440322,"uuid":"188602427","full_name":"lulf/slim","owner":"lulf","description":"Simple Commit Log with AMQP interface","archived":false,"fork":false,"pushed_at":"2023-02-25T00:45:40.000Z","size":81,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-08T10:46:10.458Z","etag":null,"topics":["amqp","golang","pubsub"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lulf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-05-25T18:58:44.000Z","updated_at":"2020-01-28T19:22:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"ce15e1f0-b627-4e32-9b3d-5197985b30d2","html_url":"https://github.com/lulf/slim","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lulf/slim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lulf%2Fslim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lulf%2Fslim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lulf%2Fslim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lulf%2Fslim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lulf","download_url":"https://codeload.github.com/lulf/slim/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lulf%2Fslim/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259519263,"owners_count":22870329,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amqp","golang","pubsub"],"created_at":"2024-10-13T11:09:55.175Z","updated_at":"2025-06-12T18:34:01.606Z","avatar_url":"https://github.com/lulf.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Slim \n\nSlim is an AMQP-based ordered commit log (think Apache Kafka) with focus on a simple interface, keeping a small footprint, and providing decent performance.\n\nSlim does not offer features such as TLS, replication or authentication.\n\nSlim can be used in combination with other AMQP components such as the [Apache Qpid Dispatch Router](https://qpid.apache.org/components/dispatch-router/index.html) to provide TLS, authentication and load balancing across multiple instances (at the expense of ordering).\n\nThe event log can be limited by time or not at all (by size will be added).\n\nProducers send AMQP messages to a topic. The messages are stored immutable in the commit log in the order produced.\n\nConsumers consume events by attaching to a topic starting from the last entry or by specifying an offset. The offset is specified as a source filter \"offset\" on the receiver source.\n\n## Usage\n\n```\nslim-server -d log.db -l 127.0.0.1 -p 5672 \u0026\n\nslim-producer -m 10 -h 127.0.0.1 -p 5672\nslim-consumer -o 5 -h 127.0.0.1 -p 5672\n```\n\n## Building\n\nSlim uses the Apache Qpid Proton Go bindings, which is a wrapper around a C library. To compile Slim, you must install the [Apache Qpid Proton](https://qpid.apache.org/proton/index.html) library. \n\nTo pull down dependencies:\n\n```\ngo get github.com/mattn/go-sqlite3\ngo get github.com/stretchr/testify\ngo get github.com/qpid-proton\n```\n\nThen, to build:\n\n```\nmake\n```\n\n## TODO\n\n* Limit log by size\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flulf%2Fslim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flulf%2Fslim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flulf%2Fslim/lists"}