repid 2.1.3
pip install repid
Released:
Repid is a simple, fast, and extensible async task queue framework, with built-in AsyncAPI 3.0 schema generation.
Navigation
Verified details
These details have been verified by PyPIProject links
GitHub Statistics
Maintainers
๐ Avatar for aleksul from gravatar.comaleksul
Unverified details
These details have not been verified by PyPIProject links
Meta
- License: MIT License (MIT)
- Author: aleksul
- Requires: Python >=3.10
-
Provides-Extra:
amqp,kafka,nats,pubsub,pydantic,redis,sqs
Classifiers
- Development Status
- License
- Programming Language
- Typing
Project description
repid
๐ Repid's logo๐ PyPI version
๐ Coverage
๐ Tests
๐ PyPI pyversions
๐ Read documentation
Repid is a simple, fast, and extensible async task queue framework, with built-in AsyncAPI 3.0 schema generation.
pipinstallrepid
Features
-
AsyncAPI 3.0 out of the box - your schema is generated automatically as you build. No separate spec files to maintain, no drift between code and docs.
-
Broker flexibility - works with RabbitMQ, Redis, AWS SQS, Kafka, NATS, and Google Cloud Pub/Sub. Switch or run multiple brokers side by side without changing your actor code.
-
Extreme performance - built for maximum throughput and minimal overhead, making it the fastest async task queue in the Python ecosystem.
-
Developer ergonomics - define actors as plain async functions with dependency injection and Pydantic argument validation.
-
Built for testability - a drop-in
TestClientlets you test actors in-memory without a running broker, making unit tests fast and dependency-free. -
LLM-friendly documentation - grab
llms.txtorllms-full.txtfrom the docs site to feed into your favorite AI coding assistant.
Quickstart
Here is how the simplest producer-consumer application looks, using AMQP server.
Producer:
importasyncio fromrepidimport AmqpServer, Repid app = Repid(title="My App", version="1.0.0") app.servers.register_server( "default", AmqpServer("amqp://user:password@localhost:5672"), is_default=True, ) async defmain() -> None: async with app.servers.default.connection(): await app.send_message( channel="default", payload=b"", headers={"topic": "awesome_job"}, ) asyncio.run(main())
Consumer:
importasyncio fromrepidimport AmqpServer, Repid, Router app = Repid(title="My App", version="1.0.0") app.servers.register_server( "default", AmqpServer("amqp://user:password@localhost:5672"), is_default=True, ) router = Router() @router.actor async defawesome_job() -> None: print("Hello async jobs!") await asyncio.sleep(1.0) app.include_router(router) async defmain() -> None: async with app.servers.default.connection(): await app.run_worker() asyncio.run(main())
Check out user guide to learn more!
License
Repid is distributed under the terms of the MIT license. Please see License.md for more information.
Repid's logo is distributed under the terms of the CC BY-NC 4.0 license. It is originally created by ari_the_crow_.
Project details
Verified details
These details have been verified by PyPIProject links
GitHub Statistics
Maintainers
๐ Avatar for aleksul from gravatar.comaleksul
Unverified details
These details have not been verified by PyPIProject links
Meta
- License: MIT License (MIT)
- Author: aleksul
- Requires: Python >=3.10
-
Provides-Extra:
amqp,kafka,nats,pubsub,pydantic,redis,sqs
Classifiers
- Development Status
- License
- Programming Language
- Typing
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file repid-2.1.3.tar.gz.
File metadata
- Download URL: repid-2.1.3.tar.gz
- Upload date:
- Size: 509.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59ccb2aceef480d20f9aff009e9f5d2fa5c123109eaa5c7c3d5b5f68bb4f93c3
|
|
| MD5 |
4f718fdff0fdf6f173a6e974bdfc85bb
|
|
| BLAKE2b-256 |
3fbfa6e9adab0388f482ad05f1f47e5068372cfe4e07fb1766d247f1e20bf95e
|
File details
Details for the file repid-2.1.3-py3-none-any.whl.
File metadata
- Download URL: repid-2.1.3-py3-none-any.whl
- Upload date:
- Size: 188.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40b4c292c83350cd650c7fcbbd1c7af77f3788dd143cfad3f76f466f1029cd6f
|
|
| MD5 |
fd7a0976f6524bc4c6cf8c3125472c4a
|
|
| BLAKE2b-256 |
0d9d999a6277f69baa6c092584ae1d500ea5697dc65874d969f5f09b39163848
|
