riak_client 0.6.1

Riak Dart client #

Riak database client, written in Dart.

Features #

Available Riak functionality:

  • fetch, store and delete objects (with vclock, vtag and last modified preconditions)
  • store and query secondary index
  • get and set bucket properties
  • resolve conflicts if parallel writes produce siblings
  • counters (fetch, increment/decrement)

Dart client design goals:

  • Meaningful wrapper objects
  • Immutable structures (exception: JSON content, but changes won't be pushed)

Roadmap #

0.7

  • map-reduce support
  • link-walking support
  • list-resources support

0.8

  • protobuf client implementation
  • mixed client (protobuf / http, based on the request)
  • search support

0.9

  • mock backend for testing (in-memory and filesystem)
  • configurable retry-on-failure
  • robust stream handling (e.g. what to do on backend failure, re-start?)
  • non-buffered HTTP response processing
  • pooling client (simple round-robin)

1.0

  • stable API
  • pool monitoring and stats

The order might vary, depending on the contributor's requirements. If you would like to add something, contact us (see AUTHORS or pubspec file).

Migration guide #

0.4 -> 0.5

  • full API changed

0.5 -> 0.6

  • Renamed BucketProps's fields to follow the Dart conventions (n_val -> replicas, allow_mult -> allowSiblings, last_write_wins -> lastWriteWins).
  • Renamed Quorum's fields to follow the Dart conventions (basic_quorum -> basicQuorum, not_found_ok -> notFoundIsSuccess).

References #

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  riak_client: ^0.6.1

2. Install it

You can install packages from the command line:

with pub:


$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:riak_client/riak_client.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
0
Health:
Code health derived from static analysis. [more]
--
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
--
Overall:
Weighted score of the above. [more]
0
Learn more about scoring.

The package version is not analyzed, because it does not support Dart 2. Until this is resolved, the package will receive a health and maintenance score of 0.

Analysis issues and suggestions

Support Dart 2 in pubspec.yaml.

The SDK constraint in pubspec.yaml doesn't allow the Dart 2.0.0 release. For information about upgrading it to be Dart 2 compatible, please see https://dart.dev/dart-2#migration.