About agate

Why agate?

  • A readable and user-friendly API.

  • A complete set of SQL-like operations.

  • Unicode support everywhere.

  • Decimal precision everywhere.

  • Exhaustive user documentation.

  • Pluggable extensions that add SQL integration, Excel support, and more.

  • Designed with iPython, Jupyter and atom/hydrogen in mind.

  • Pure Python. No C dependencies to compile.

  • Exhaustive test coverage.

  • MIT licensed and free for all purposes.

  • Zealously zen.

  • Made with love.


agate is a intended to fill a very particular programming niche. It should not be allowed to become as complex as numpy or pandas. Please bear in mind the following principles when considering a new feature:

  • Humans have less time than computers. Optimize for humans.

  • Most datasets are small. Don’t optimize for “big data”.

  • Text is data. It must always be a first-class citizen.

  • Python gets it right. Make it work like Python does.

  • Humans lives are nasty, brutish and short. Make it easy.

  • Mutability leads to confusion. Processes that alter data must create new copies.

  • Extensions are the way. Don’t add it to core unless everybody needs it.