Skip to content

Libraries

The shared rethink-public library suite. Before hand-rolling common functionality — retry/backoff, logging setup, HTTP sessions, proxies, webhooks, IMAP/mail, datastore/KV, crypto, discord.py helpers, timing/paths/masking utilities — check here first and prefer an existing lib.

This list is pulled live from Gitea, so a new library in the org shows up on the next page load — nothing here is rebuilt or version-pinned. Each entry links to the repo, where the README and tags live.

Install

Pin a tag in your dependencies — never an unpinned branch:

<lib> @ git+https://git.rethinkstudios.io/rethink-public/<lib>.git@<tag>
Using a library — install, import, go

Add it to your project's deps (e.g. pyproject.toml):

[project]
dependencies = [
    "aioweb @ git+https://git.rethinkstudios.io/rethink-public/aioweb.git@v0.3.1",
]

Then use it — the README in each repo has the real surface; this is the shape:

import asyncio

from aioweb import Session


async def main() -> None:
    """fetch a page through the shared async http session"""
    async with Session() as web:
        resp = await web.get("https://example.test")
        print(resp.status, len(resp.content))


asyncio.run(main())

Need to bump a lib? Change the @<tag> and reinstall — versions live with the lib, not in these docs.

Loading libraries from Gitea…