cindel 0.1.17-dev.1
cindel: ^0.1.17-dev.1 copied to clipboard
Ultra-fast, lightweight NoSQL local database for Flutter and Dart apps, powered by a compact Rust native core.
cindel #
Ultra-fast, lightweight NoSQL local database API for Flutter and Dart apps. Cindel provides typed collections, generated schemas, indexed queries, transactions, watchers, migrations, and a compact Rust native runtime behind Dart FFI.
Maintainer: Alain Ramirez nolbertrg@gmail.com
Repository: https://github.com/mainser/Cindel
Usage #
dependencies:
cindel: ^0.1.17-dev.1
cindel_flutter_libs: ^0.1.10-dev.1
dev_dependencies:
build_runner: ^2.15.0
cindel_generator: ^0.1.10-dev.1
Define a collection:
import 'package:cindel/cindel.dart';
part 'user.g.dart';
@Collection(name: 'users')
class User {
Id id = autoIncrement;
@Index(unique: true)
late String email;
late String name;
}
Generate code:
dart run build_runner build --delete-conflicting-outputs
Open a database:
final db = await Cindel.open(
directory: directory.path,
schemas: [UserSchema],
);
For tests and short-lived work:
final db = await Cindel.openInMemory(schemas: [UserSchema]);
Features #
- Typed collection CRUD and bulk writes.
- Native auto-increment IDs.
- Indexed equality, range, prefix, hash, case-insensitive, unique, and word token queries.
- Filter builders, sorting, pagination, distinct, and primitive projections.
- Explicit read and write transactions.
- Document, collection, object, query, and lazy watchers.
- Embedded objects and embedded object lists.
- Schema versions, additive migrations, and explicit migration callbacks.
Supported Platforms #
The current development preview ships prebuilt native binaries for Android and
Windows through cindel_flutter_libs.
iOS, macOS, and Linux support are planned, but they are not advertised as available until their native binaries are generated and validated.
Publishing Status #
Cindel is still pre-1.0.0. The -dev.1 release line is intended as a pub.dev
development preview so early users can test installation, generation, and
runtime behavior before a stable preview is promoted.