GitHub

Tsessebe logo โ€” stylized head of a tsessebe antelope

A TypeScript port of pandas, built from first principles using Autoloop โ€” an automated research and experimentation platform that runs iterative optimization loops on GitHub Agentic Workflows.

๐ŸŽฎ Try the interactive playground โ†’

TSB is named after the tsessebe (tseh-SEH-bee ยท IPA /tsษ›หˆsษ›bi/) โ€” a southern African antelope.

Project conventions

  • Package name: tsb, e.g. import { DataFrame } from 'tsb'
  • Runtime & tooling: Bun for everything โ€” runtime, bundler, test runner, package manager
  • Language: TypeScript in strictest mode โ€” no any, no as casts, no @ts-ignore, no escape hatches
  • Dependencies: Zero for core library. External deps only where absolutely required for non-core tooling (e.g. Playwright, WASM toolchains).
  • Linting: Biome with all rules enabled, zero warnings tolerated
  • Testing: 100% coverage โ€” unit, property-based (fast-check), fuzz, and Playwright e2e for the web playground
  • Build from scratch: Every pandas feature is implemented from first principles. No wrapping or porting existing JS/TS data libraries.

Goals

  • Full feature parity with pandas โ€” identical APIs adapted to TypeScript conventions and idiomatic structures. Every pandas feature is built from scratch, ground up, first principles. No ports of existing JS/TS data libraries.
  • Interactive web playground โ€” every feature ships with a rich, interactive tutorial, deployed to GitHub Pages. WASM where needed and useful.
  • Performance โ€” aggressive optimization throughout. Speed is a first-class concern.
  • Exhaustive testing โ€” pandas' own test suite as a baseline, extended with property-based testing, fuzzing, and e2e coverage. Target: 100%.

Read the original on github.com โ†—