Another asyncio cron scheduling micro-library for Python
Project description
tsayt
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
- Apache License, Version 2.0, (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)
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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ce8cd429a6a52b2f157cf4168512614406d162c51b2fe5fa908bc02bba94c0a
|
|
| MD5 |
b2fb20608184cd21cad871744b7fd7b5
|
|
| BLAKE2b-256 |
af1792c7f7ace8f1bd4b8f4f2e570bbcd788f82497a68f424119efec763a1741
|
Provenance
The following attestation bundles were made for tsayt-0.1.1.tar.gz:
Publisher:
publish.yml on astral-sh/tsayt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tsayt-0.1.1.tar.gz -
Subject digest:
9ce8cd429a6a52b2f157cf4168512614406d162c51b2fe5fa908bc02bba94c0a - Sigstore transparency entry: 998959149
- Sigstore integration time:
-
Permalink:
astral-sh/tsayt@956283b90c93112f884d27847b58be6a1cbbd82e -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/astral-sh
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@956283b90c93112f884d27847b58be6a1cbbd82e -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea70ccdf9bc4b0f23b832d8169a40ba64aa47a7df3499ba236ad45493c1ca6c3
|
|
| MD5 |
60f4db06ba9fe5e2978f17c28353270b
|
|
| BLAKE2b-256 |
188b9f7ad7c19828fc4c540a7cbb9fb35b57a525b5fe66d5a8274a56e458bf8b
|
Provenance
The following attestation bundles were made for tsayt-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on astral-sh/tsayt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tsayt-0.1.1-py3-none-any.whl -
Subject digest:
ea70ccdf9bc4b0f23b832d8169a40ba64aa47a7df3499ba236ad45493c1ca6c3 - Sigstore transparency entry: 998959321
- Sigstore integration time:
-
Permalink:
astral-sh/tsayt@956283b90c93112f884d27847b58be6a1cbbd82e -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/astral-sh
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@956283b90c93112f884d27847b58be6a1cbbd82e -
Trigger Event:
release
-
Statement type: