Skip to content
Back to top
View this page

# 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.

## Principles

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.