Skip to main content

Repid framework: simple to use, fast to run and extensible to adopt job scheduler

Project description

repid

Repid's logo

PyPI version codecov Tests PyPI pyversions Read documentation


Repid framework: simple to use, fast to run and extensible to adopt job scheduler.


pip install repid

Quickstart

Here is how the easiest example of producer-consumer application can look like.

Producer:

import asyncio

from repid import Connection, Job, RabbitMessageBroker, Repid

app = Repid(Connection(RabbitMessageBroker("amqp://user:password@localhost:5672")))


async def main() -> None:
    async with app.magic():
        await Job(name="awesome_job").enqueue()


asyncio.run(main())

Consumer:

import asyncio

from repid import Connection, RabbitMessageBroker, Repid, Router, Worker

app = Repid(Connection(RabbitMessageBroker("amqp://user:password@localhost:5672")))
router = Router()


@router.actor
async def awesome_job() -> None:
    print("Hello async jobs!")
    await asyncio.sleep(1.0)


async def main() -> None:
    async with app.magic():
        await Worker(routers=[router]).run()


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


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.0.0a17.tar.gz (311.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

repid-2.0.0a17-py3-none-any.whl (159.4 kB view details)

Uploaded Python 3

File details

Details for the file repid-2.0.0a17.tar.gz.

File metadata

  • Download URL: repid-2.0.0a17.tar.gz
  • Upload date:
  • Size: 311.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","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.0.0a17.tar.gz
Algorithm Hash digest
SHA256 9cd1fa1ca2747d76552efc4aee195c3552c0c52d31bd559c2d8e9a30591233bf
MD5 783e7ffc35f5b88bd869c85f90812bae
BLAKE2b-256 0bc29de35b04e8dea7c0dcf9dffa638d9ec4cda96d7ed8549c2d3e834af8819c

See more details on using hashes here.

File details

Details for the file repid-2.0.0a17-py3-none-any.whl.

File metadata

  • Download URL: repid-2.0.0a17-py3-none-any.whl
  • Upload date:
  • Size: 159.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","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.0.0a17-py3-none-any.whl
Algorithm Hash digest
SHA256 c8ccd4e871aa094656b8d66300b97a84da98e53bb6027bed01456a19699fbd4e
MD5 abd34c2a3245b13d3306d1a7d67def51
BLAKE2b-256 405b3e4697503f56c9d3f8aa8887e511fc19e19ac96d2fc76529531d15d0a22a

See more details on using hashes here.

Supported by

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