Skip to content

aropele/CentauroDB

Repository files navigation

CentauroDB

CI PyPI version Python versions License: MIT

Pydantic-native storage for time-series and evolving data models. SQLite + PostgreSQL, schema evolution without migrations, built-in Polars DataFrames.

📖 Documentation

Everything is at cdb-nuxt.vercel.app — quickstart, guides, API reference, design notes.

Install

pip install centaurodb

Taste

from centaurodb import Engine, Collection, CentauroModel

class Book(CentauroModel):
    __centauro_name__ = "book"
    title: str = ""
    rating: float = 0.0

books = Collection(Engine("library.db"), "library")
books.write_object(Book(title="Dune", rating=4.8))

for book in books.read_objects(Book.fields.rating > 4.5):
    print(book.title, book.rating)

Adding a field to a model never requires a migration — give it a default value and old rows keep loading. Time-series are first-class: TimeSeriesCollection reads back as a Polars DataFrame via .df.

→ Full quickstart and guides

License

MIT — see LICENSE. Release history in CHANGELOG.md.

About

No migrations. Ever.

Topics

Resources

License

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages