docs: comprehensive README update#600
Merged
Merged
Conversation
- Add crates.io, docs.rs, and license badges - Add feature matrix and language bindings overview tables - Add project structure tree diagram - Add KV table (upsert + lookup) code example - Update log table example to use current Config API - Add configuration reference table - Add all 5 examples with descriptions - Add development setup instructions - Fix outdated API usage (Args → Config, ConnectionConfig → Config) - Add proper error handling (Result<?>) instead of unwrap()
- Add crates.io, docs.rs, and license badges - Add feature matrix and language bindings overview tables - Add project structure tree diagram - Add KV table (upsert + lookup) code example - Update log table example to use current Config API - Add configuration reference table - Add all 5 examples with descriptions - Add development setup instructions - Fix outdated API usage (Args → Config, ConnectionConfig → Config) - Add proper error handling (Result<?>) instead of unwrap() - Clarify this is a client SDK, not the server
There was a problem hiding this comment.
Pull request overview
This PR overhauls the root README.md to present a more complete, up-to-date overview of the Apache Fluss Rust client SDK, including new feature summaries, language-binding comparisons, Quick Start examples, and development/build instructions.
Changes:
- Added badges, clarified positioning as a client SDK, and expanded project overview (concepts, features, bindings, structure).
- Replaced legacy API references with newer
Config/ builder-style examples and added additional runnable example references. - Added configuration and development/build/test sections for Rust and bindings.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+165
to
+166
| let scanner = table.new_scan()?.create_log_scanner()?; | ||
| scanner.subscribe(0, EARLIEST_OFFSET).await?; |
Comment on lines
+171
to
+172
| println!("offset={}, c1={}, c2={}", | ||
| record.offset(), row.get_long(0)?, row.get_string(1)?); |
Comment on lines
+192
to
+195
| let admin = conn.get_admin()?; | ||
|
|
||
| // Create a KV table | ||
| let table_path = TablePath::new("my_db", "users"); |
Comment on lines
+234
to
+238
| | `example-table` | Log table: append + scan with Arrow batch | | ||
| | `example-kv-table` | KV table: upsert + point lookup | | ||
| | `example-partitioned-kv-table` | KV table with partitions | | ||
| | `example-prefix-lookup` | Prefix lookup on bucket keys | | ||
| | `example-partitioned-prefix-lookup` | Prefix lookup on partitioned tables | |
Comment on lines
+253
to
+265
| | Option | Default | Description | | ||
| | ------------------------------------- | ----------------- | --------------------------------------------- | | ||
| | `bootstrap_servers` | `127.0.0.1:9123` | Fluss coordinator address | | ||
| | `writer.batch.size` | 2 MB | Max batch size before flushing | | ||
| | `writer.batch.timeout_ms` | 100 ms | Max time before auto-flush | | ||
| | `writer.buffer.memory` | 64 MB | Total buffer memory for pending writes | | ||
| | `writer.retries` | `i32::MAX` | Max write retries | | ||
| | `scanner.log.fetch.max.bytes` | 16 MB | Max bytes per fetch request | | ||
| | `scanner.log.fetch.wait.max.time_ms` | 500 ms | Max wait time for fetch | | ||
| | `scanner.remote_log.read.concurrency` | 4 | Concurrency for remote log reads | | ||
| | `connect.timeout_ms` | 120 s | Connection timeout | | ||
| | `security.sasl.username` / `password` | — | SASL PLAIN authentication | | ||
|
|
- Fix tokio dep to include full features (#[tokio::main] requirement) - Use default 'fluss' database instead of non-existent 'my_db' - Remove incorrect '?' on new_scan() (returns TableScan, not Result) - Fix column labels in scan output (c1/c2 → ts/message) - Fix example names to match Cargo.toml targets - Fix config option names to match actual Rust snake_case fields
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Comprehensive update of the root README.md to provide a complete and accurate overview of the project.
Changes
New Content
Fixes
Args/ConnectionConfigAPI with currentConfigResult<()>error handling instead ofunwrap()Schema::builder(),TableDescriptor::builder())Structure