Skip to main content

Another asyncio cron scheduling micro-library for Python

Project description

tsayt

Actions status Discord

tsayt is another asyncio cron scheduling micro-library for Python.

Installation

uv add tsayt

Usage

import asyncio
import tsayt
from tsayt import OverlapPolicy

async def frob():
    # do something

async def main():
    scheduler = tsayt.Scheduler()

    # Default: skip the next firing if the previous one is still running.
    scheduler.register("0 0 * * *", frob)

    # Or allow concurrent invocations for fully independent, stateless work.
    scheduler.register("0 0 * * *", frob, overlap=OverlapPolicy.ALLOW)

    # Runs indefinitely, executing all registered tasks on their schedules.
    await scheduler.run()

if __name__ == "__main__":
    asyncio.run(main())

Development

Run tests:

uv run pytest

# with coverage
uv run coverage run -m pytest
uv run coverage report -m

Run lints and type checking:

uv run ruff format --check
uv run ruff check
uv run ty check

Build docs:

uv run sphinx-build -b html docs docs/_build/html

Licence

tsayt is licensed under either of

at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in tsayt by you, as defined in the Apache-2.0 license, shall be dually licensed as above, without any additional terms or conditions.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tsayt-0.1.1.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

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

tsayt-0.1.1-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file tsayt-0.1.1.tar.gz.

File metadata

  • Download URL: tsayt-0.1.1.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","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 tsayt-0.1.1.tar.gz
Algorithm Hash digest
SHA256 9ce8cd429a6a52b2f157cf4168512614406d162c51b2fe5fa908bc02bba94c0a
MD5 b2fb20608184cd21cad871744b7fd7b5
BLAKE2b-256 af1792c7f7ace8f1bd4b8f4f2e570bbcd788f82497a68f424119efec763a1741

See more details on using hashes here.

Provenance

The following attestation bundles were made for tsayt-0.1.1.tar.gz:

Publisher: publish.yml on astral-sh/tsayt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tsayt-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: tsayt-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","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 tsayt-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ea70ccdf9bc4b0f23b832d8169a40ba64aa47a7df3499ba236ad45493c1ca6c3
MD5 60f4db06ba9fe5e2978f17c28353270b
BLAKE2b-256 188b9f7ad7c19828fc4c540a7cbb9fb35b57a525b5fe66d5a8274a56e458bf8b

See more details on using hashes here.

Provenance

The following attestation bundles were made for tsayt-0.1.1-py3-none-any.whl:

Publisher: publish.yml on astral-sh/tsayt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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