CatDat provides a growing collection of categories, each with detailed descriptions and properties. Built by and for those who love category theory.
- Category Detail Pages: Explore a category’s definition, its satisfied and unsatisfied properties, and related categories.
- Property Detail Pages: Explore the definition of a property and view categories that satisfy it and those that don't.
- Reasons and References: Each property and implication includes a reason or reference, forming a data-driven knowledge base for category theory.
- Deduction System: Automatically infers properties from existing ones using a database of implications.
- Automatic Dualization: Automatically dualizes implications and property assignments.
- Searchable Database: Find categories based on satisfied properties and unsatisfied properties.
- Comparison Feature: Compare multiple categories to identify their differences and similarities.
- Customizable Display: Light/dark mode and optional display of deduced properties.
- Intuitive User Interface: Usable on both mobile and desktop.
This project is a community effort. Whether you're a mathematician spotting missing data or a developer improving the interface, your contributions are welcome. See our contribution guidelines for details.
You need to have NodeJS and pnpm installed.
- Clone the repository with
git clone https://github.com/ScriptRaccoon/CatDat.git. - Change the directory with
cd CatDat. - Install the dependencies with
pnpm install. - Create the local
.envfile based on.env.example. - Create or Update the local database with
pnpm db:update. - Start the local development server with
pnpm dev.
Built with modern web technologies:
- Language: TypeScript
- Framework: SvelteKit
- Database: SQLite / Turso
- Deployment: Netlify
- Math Rendering: katex
CatDat draws inspiration from and complements other resources in category theory:
- Catabase: A similar project that appears to be abandoned. It is more ambitious in terms of available data types but less complete for basic categories. The UI is not very intuitive, and it lacks an integrated deduction system between properties. See the nForum announcement.
- SmallCategories: A similar project that also appears to be abandoned. A particular emphasis is given to enumerating all finite categories.
- nLab: A wiki for (higher) category theory. CatDat refers to nLab pages for detailed information on its entries.
- Clowder Project: A new online reference for category theory. Unlike CatDat, which is data-based, Clowder follows a textbook-based approach.
- Database of Ring Theory: This database focuses on ring theory and module theory rather than category theory, but is very similar in nature and was a major inspiration for CatDat.
- pi-Base: This is a database of examples and counterexamples in topology. Just like CatDat it uses three types of entries (objects, properties, and theorems) and automatically derives properties from the theorems.
MathBases lists many other databases for other kinds of mathematical structure.
If you find this project useful, you can support its development:
Cost transparency. The project currently only incurs domain costs of about $10 per year. There are no costs for hosting or the database. All development is done in free time.