No bloat
Each atom does one job under a thin API. Prefer the standard library. If you need the full surface of a heavy library, use that library.
Frequently needed functions without the bloat
Tiny TypeScript atoms, optional Python twins, kits as re-export maps. Copy the source or import from a git checkout — consumers do not need the npm registry.
// packages/retry/src/index.ts → lib/retry.ts
import { retry } from "./lib/retry.js";
await retry(() => fetch("/api"), { times: 3, delay: 100 });
Stdlib-thin helpers for jobs you keep rewriting — not a framework, not a kitchen sink, not another registry package.
Each atom does one job under a thin API. Prefer the standard library. If you need the full surface of a heavy library, use that library.
TypeScript atoms have zero runtime dependencies. Optional Python twins live under python/src/nubib/ and stay stdlib-only.
Copy the source, or import from a git checkout, submodule, or sparse checkout. End users are not expected to install from npm.
There is no “install from registry” step. Maintainer tooling in the repo is optional and only for people changing Nubib itself.
| Approach | When |
|---|---|
Copy packages/<name>/src/index.ts |
You need one function in any TypeScript or JavaScript project |
Copy python/src/nubib/<module>.py |
Same idea for Python |
| Git path / submodule / sparse checkout | You want updates from the repo |
| Kits as a catalog of related atoms | Browsing HTTP, CLI, data, or async groups |
Re-export maps only. Kits never invent APIs — they point at the atoms.
http, retry, timeout, query, url, cookie
View on GitHub →args, env, log, path, bytes
View on GitHub →object, array, equal, diff, csv, json, case, slugify, result
View on GitHub →pool, queue, timeout, retry, once, debounce
View on GitHub →Compact by wave. Open a package on GitHub for the API — this page does not reprint the README.
Nubib is public MIT on GitHub. Copy an atom, check out the repo, or open a package for the exact API.