bavard 0.0.23 copy "bavard: ^0.0.23" to clipboard
bavard: ^0.0.23 copied to clipboard

An Eloquent-inspired ORM for Flutter. Supports SQLite, PostgreSQL and PowerSync with fluent queries, relationships, soft deletes, timestamps, casts and more.

Bavard ORM ๐Ÿ—ฃ๏ธ #

pub.dev

The Eloquent-style ORM for Dart.

Work in Progress: This project is currently under active development. APIs may change.

Bavard brings the elegance and simplicity of Eloquent to the Dart ecosystem. It is designed to provide a fluent, expressive interface for database interactions, prioritizing developer experience, runtime flexibility, and readability.


๐Ÿš€ Key Features #

  • ๐Ÿ’™ Flutter ready: Seamlessly integrated with Flutter for mobile, desktop, and web applications.
  • โšก๏ธ Runtime-first architecture: Code generation is 100% optional. Bavard leverages Dart's runtime capabilities and mixins to work entirely without build processes.
  • ๐Ÿ—๏ธ Fluent Query Builder: Construct complex SQL queries using an expressive and type-safe interface.
  • ๐Ÿ”— Rich Relationship Mapping: Full support for One-to-One, One-to-Many, Many-to-Many, Polymorphic, and HasManyThrough relations.
  • ๐Ÿงฉ Smart Data Casting: Automatic hydration and dehydration of complex types like JSON, DateTime, and Booleans between Dart and your database.
  • ๐Ÿญ Production-ready features: Built-in support for Soft Deletes, Automatic Timestamps, and Global Scopes out of the box.
  • ๐Ÿ“ฑ Offline-first ready: Native support for client-side UUIDs and a driver-agnostic architecture, ideal for local-first applications.
  • ๐Ÿ•ต๏ธ Dirty Checking: Optimized database updates by tracking only the attributes that have actually changed.
  • ๐Ÿš€ Eager Loading: Powerful eager loading system to eliminate N+1 query problems.
  • ๐ŸŒ Database Agnostic: Flexible adapter system with native support for SQLite and PostgreSQL.

๐Ÿ“š Documentation #

For detailed guides, API references, and usage examples, please visit our documentation:

๐Ÿ‘‰ Read the Documentation


๐Ÿงช Examples & Integration #

To see Bavard in action with a real database environment, check the integration suite:


๐Ÿค Contributing #

Bavard is open-source. Feel free to explore the code, report issues, or submit pull requests.

3
likes
140
points
207
downloads

Publisher

unverified uploader

Weekly Downloads

An Eloquent-inspired ORM for Flutter. Supports SQLite, PostgreSQL and PowerSync with fluent queries, relationships, soft deletes, timestamps, casts and more.

Homepage
Repository (GitHub)
View/report issues

Topics

#orm #flutter #dart #powersync #sqlite

Documentation

API reference

License

MIT (license)

Dependencies

analyzer, build, build_runner, source_gen, uuid

More

Packages that depend on bavard