Skip to main content

Pithos logo Pithos

Why this jar exists

Pithos is a modern TypeScript utilities library you open when you're done rewriting the same helpers for the fifth time.
Built as a unified alternative to Lodash, Zod, and Neverthrow with zero dependencies, it keeps everything in one place, fully typed and thoroughly tested, so you spend time shipping instead of searching.

From Utils to Ecosystem

Pithos started as a utility library, then grew into a complete ecosystem by merging two standalone projects: Kanon (schema validation) and Zygos (functional error handling).

One unified philosophy: trust TypeScript at compile-time, validate at boundaries.


The problems that sparked it

  • "Where did I put that utility again?"
  • Rewriting logic because digging through old repos is slower.
  • Great snippets scattered across projects, never improving.
  • Fear of supply-chain surprises from external dependencies.

The answer inside the jar

  • checkmark Centralize the proven pieces so they keep getting better.
  • checkmark Stay dependency-free to keep builds lean and predictable.
  • checkmark Let TypeScript do the heavy lifting: full inference, no any leaks.
  • checkmark Familiar API patterns so migration from existing tools is seamless.

The myth behind the name

Pandora's "box" was actually a large jar: pithos in Greek.
This project embraces that story: a single jar holding both the pains we faced and the solutions we crafted to solve them.


What you'll find

  • Arkhe - Core data utilities and TypeScript types (the foundation).
  • Kanon - Schema validation with a lightweight, Zod-like feel.
  • Zygos - Result/Either/Option/Task patterns for safe, composable flows.
  • Sphalma - Error factories for consistent, typed failures.
  • Taphos - Deprecated utilities with clear migration paths to modern/native APIs.

How it's meant to be used

  • Import only what you need: everything is tree-shakable.
  • Mix and match: validation (Kanon) + safe flows (Zygos) + core helpers (Arkhe).
  • Rely on the docs and TSDoc comments; every function is described.

Next steps