VOOZH about

URL: https://pypi.org/project/repid/

โ‡ฑ repid ยท PyPI


Skip to main content

repid 2.1.3

pip install repid

Latest release

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 PyPI
Project links
GitHub Statistics
Maintainers
๐Ÿ‘ Avatar for aleksul from gravatar.com
aleksul

Unverified details

These details have not been verified by PyPI
Project links
Meta
  • License: MIT License (MIT)
  • Author: aleksul
  • Requires: Python >=3.10
  • Provides-Extra: amqp , kafka , nats , pubsub , pydantic , redis , sqs

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 TestClient lets you test actors in-memory without a running broker, making unit tests fast and dependency-free.

  • LLM-friendly documentation - grab llms.txt or llms-full.txt from 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 PyPI
Project links
GitHub Statistics
Maintainers
๐Ÿ‘ Avatar for aleksul from gravatar.com
aleksul

Unverified details

These details have not been verified by PyPI
Project links
Meta
  • License: MIT License (MIT)
  • Author: aleksul
  • Requires: Python >=3.10
  • Provides-Extra: amqp , kafka , nats , pubsub , pydantic , redis , sqs

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

repid-2.1.3.tar.gz (509.6 kB view details)

Uploaded Source

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

repid-2.1.3-py3-none-any.whl (188.6 kB view details)

Uploaded Python 3

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

Hashes for repid-2.1.3.tar.gz
Algorithm Hash digest
SHA256 59ccb2aceef480d20f9aff009e9f5d2fa5c123109eaa5c7c3d5b5f68bb4f93c3
MD5 4f718fdff0fdf6f173a6e974bdfc85bb
BLAKE2b-256 3fbfa6e9adab0388f482ad05f1f47e5068372cfe4e07fb1766d247f1e20bf95e

See more details on using hashes here.

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

Hashes for repid-2.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 40b4c292c83350cd650c7fcbbd1c7af77f3788dd143cfad3f76f466f1029cd6f
MD5 fd7a0976f6524bc4c6cf8c3125472c4a
BLAKE2b-256 0d9d999a6277f69baa6c092584ae1d500ea5697dc65874d969f5f09b39163848

See more details on using hashes here.

Supported by

๐Ÿ‘ Image
AWS Cloud computing and Security Sponsor ๐Ÿ‘ Image
Datadog Monitoring ๐Ÿ‘ Image
Depot Continuous Integration ๐Ÿ‘ Image
Fastly CDN ๐Ÿ‘ Image
Google Download Analytics ๐Ÿ‘ Image
Pingdom Monitoring ๐Ÿ‘ Image
Sentry Error logging ๐Ÿ‘ Image
StatusPage Status page