- Rename site 'a rethink development' -> 'rethink development' (site_name, landing H1); copyright -> 'rethink development (handbook)'. - libraries.md: remove the 'if the live list is empty' admonition now that Gitea CORS is fixed. - extra.css: improve Library-column readability — brighter #cfe6ff code chips on a cyan-tinted bg, more weight, roomier cell padding (0.7/1em), nowrap lib names, accent-colored links. Signed-off-by: disqualifier <dev@disqualifier.me>
4.0 KiB
4.0 KiB
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>
??? example "Using a library — install, import, go"
Add it to your project's deps (e.g. `pyproject.toml`):
```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:
```python
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…