-
Notifications
You must be signed in to change notification settings - Fork 16
Rust bindings v1 #284
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Choochmeque
wants to merge
106
commits into
develop
Choose a base branch
from
rust-bindings-v1
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Rust bindings v1 #284
Changes from all commits
Commits
Show all changes
106 commits
Select commit
Hold shift + click to select a range
feadf80
Initial commit
Choochmeque d797611
C++ code formatting
Choochmeque ec44a32
Add GitHub Actions workflow for Rust project with checks and tests (e…
Choochmeque daa1adf
Improve error handling in FFI callbacks to suppress panics
Choochmeque 79eec1d
Update README with new FDB API usage examples and correct method calls
Choochmeque 5c27e96
Refactor axes() to use dynamic mapping instead of hardcoded axis names
Choochmeque 014c3de
Add safety comments for thread-safety of various iterators in FDB
Choochmeque 6888dec
Add integration tests for FDB methods: archive_raw, read_uri, read_ur…
Choochmeque 5d43c67
Fix CMake patching error handling and improve seek position calculations
Choochmeque 0886506
Refactor FDB configuration accessors to return Option types for missi…
Choochmeque 5f5b02b
Add concurrent archive and mixed read/write tests for FDB operations
Choochmeque 4320482
Improve exception handling messages in fdb_bridge
Choochmeque 0a4d9b0
Update rust CI workflow
Choochmeque b9e0404
Refactor FdbHandle to use direct FDB instance instead of unique_ptr
Choochmeque df834bc
Remove unnecessary drop statements from FDB test cases
Choochmeque af8d471
Add support for user configuration in FdbHandle initialization and API
Choochmeque ae1d491
Update iterator methods to return Result<bool> for hasNext checks
Choochmeque baa976d
Add Cargo configuration and improve control identifier handling in FDB
Choochmeque cbcc8b7
Update GRIB support and improve URI handling in FDB integration tests
Choochmeque 990cb6e
Remove AxesIteratorHandle and related axes iterator functionality
Choochmeque 0fe11aa
Update log message for empty axes case to clarify request context
Choochmeque 7d2bcc3
Remove debug print statement for FDB name in example code
Choochmeque 3a7672b
Update fdb_list example to format output as key-value pairs in braces
Choochmeque 47ddce5
Remove FDB configuration methods and related data structures to simpl…
Choochmeque f03a576
Update documentation for HandleInner to clarify FDB instance usage
Choochmeque 826f9e1
Update README to correct FDB name and improve description clarity
Choochmeque 57ef2ed
Update README files to clarify feature flags and build strategies for…
Choochmeque 117cf99
Update README and examples to clarify key requirements for FDB usage
Choochmeque a53a1c2
Add `memfs` feature to bake eccodes tables into libeccodes for easier…
Choochmeque 1b1c6b5
Refactor version retrieval to use module-level functions instead of m…
Choochmeque cbddb3b
Replace std::runtime_error with eckit exceptions in DataReader and it…
Choochmeque 76a9c50
Refactor Key struct to use fdb_sys::KeyData
Choochmeque 3582a80
Add function to determine CMake build type based on Cargo profile set…
Choochmeque 9d2cf2d
Update MARS request parsing to use metkit's parser and expansion logic
Choochmeque a096b5d
Add path-based constructors to FdbHandle for loading configurations d…
Choochmeque d1311fc
Add clap dependency and implement CLI for fdb_list example tool
Choochmeque 08f099d
Refactor FDB handle creation to use `Fdb::open` instead of `Fdb::new`
Choochmeque 6a9dffc
Add ListOptions struct for improved parameter handling in Fdb methods
Choochmeque 9170f39
Add streaming support for archiving GRIB data from Rust `Read` sources
Choochmeque 2d12394
Add examples for `fdb_read` and `fdb_write` tools with CLI usage inst…
Choochmeque 55b958e
Add detailed index and database statistics reporting in FDB bridge
Choochmeque 027ca66
Refactor DataReaderHandle to eckit::DataHandle shim functions
Choochmeque ae445d4
Add integration test for FDB axes to validate expected values returned
Choochmeque fd9b094
Add bindman-utils dependency and refactor build scripts
Choochmeque 39232f3
Add fdb-hammer tool for benchmarking and stress testing FDB performance
Choochmeque 5f86390
Add integration testing workflow for rust-bindings branch in CI
Choochmeque bfa19e7
Add compact listing functionality to ListIterator for MARS-request ag…
Choochmeque 0834d5c
Remove MoveIterator and related move_data functionality from FDB API
Choochmeque bd495fd
Enhance rpath handling in fdb build scripts
Choochmeque 1ca42b3
Update README.md to clarify binary execution without environment vari…
Choochmeque 40de393
Update fdb_axes example to use structured argument parsing with clap
Choochmeque 5984a13
Remove unnecessary FDB handle creation logs from examples
Choochmeque 3705937
Add IndexMap dependency and update Request struct for key-value manag…
Choochmeque c20c3ec
Remove unnecessary FDB_DIR parameter from cmake_find_package call
Choochmeque 4001f5d
Remove branch specification for bindman-utils in Cargo.toml
Choochmeque 17e0fc1
Remove unnecessary integration test steps and update test commands
Choochmeque 902007f
Add mutex lock to serialize GRIB ingest across Fdb instances to preve…
Choochmeque b519f16
Use eckit/metkit in -sys crate
Choochmeque dd0a86b
Add metkit as a workspace dependency and update retrieve method to us…
Choochmeque 12144bf
Refactor FDB request handling to use MarsRequestWrapper
Choochmeque 995578e
Refactor FDB to use DataHandleWrapper for data retrieval and reading
Choochmeque 47c8cc0
Refactor FdbHandle constructors to use eckit_bridge::ConfigWrapper fo…
Choochmeque 13fe913
Refactor read handle retrieval to include estimated size in examples …
Choochmeque d68b4fc
Update FDB benchmarks and tests to use new request building method
Choochmeque 7e8179a
Update build scripts and dependencies for fdb and fdb-sys crates
Choochmeque e125c92
Fix path for eccodes-sys in Cargo.toml to correct directory structure
Choochmeque d15b078
Add bindman-utils dependency and update GRIB handling in fdb-hammer
Choochmeque 96cfe4b
Update README files to clarify RPATH setup for binaries on macOS and …
Choochmeque 22554ca
Update eccodes-sys dependency to include additional features for thre…
Choochmeque 941922d
Remove unused LazyLock for mutex serialization in FDB handle operations
Choochmeque d94833d
Add UserConfig struct for per-instance FDB configuration options
Choochmeque cc3a6d3
Add MessageArchiverWrapper to interface with fdb5::MessageArchiver fo…
Choochmeque 9a56a13
Add exception generation for fdb-sys to improve error handling integr…
Choochmeque df24d47
Merge remote-tracking branch 'origin/develop' into rust-bindings-v1
Choochmeque 8ee4ec8
Remove unused DataReader and Request structs from the FDB crate
Choochmeque 5e695fe
Update dependencies to use Git repositories for eckit and bindman crates
Choochmeque f790bea
Update metkit-sys dependency to point to the correct repository branch
Choochmeque e9e4b41
Merge branch 'develop' into rust-bindings-v1
Choochmeque aceb4e5
Refactor MessageArchiverWrapper constructor and new_message_archiver …
Choochmeque 0d20cb1
Split big file to dedicated modules
Choochmeque 237f1a0
Add reusable Rust CI workflow to main CI configuration
Choochmeque dffcd91
Add Library class for FDB metadata and initialization handling
Choochmeque fe7b678
Update documentation for `MarsRequest` to clarify `DataHandle` usage
Choochmeque dca3a98
Update MarsRequestBuilder example to use 'retrieve' instead of 'list'
Choochmeque 1d2f5df
Add initialization for eckit in the main function of FDB Hammer tool
Choochmeque dbf4296
Update disable_subtocs argument to require a main config layer
Choochmeque b897abc
Simplify archive and flush process in integration test for clarity
Choochmeque 9a5da0b
Fix test to assert close() success in fdb_datareader_seek()
Choochmeque 7079283
Refactor tests to use tempdir-backed FDB config for isolation and rel…
Choochmeque eee476c
Remove unused exception throwing methods and related tests from Excep…
Choochmeque 7076035
Cleanup
Choochmeque cdb5d26
Merge branch 'develop' into rust-bindings-v1
Choochmeque 267bbba
Update dependencies and refactor MarsRequest usage
Choochmeque 0c933d8
Move cargo config.toml
Choochmeque 5d7a5ab
Update metkit dependencies to use the develop branch
Choochmeque 08b456c
Merge branch 'develop' into rust-bindings-v1
Choochmeque 85be293
Merge branch 'develop' into rust-bindings-v1
Choochmeque 9d74e64
Update build script to use `.std("c++17")` instead of `.flag_if_suppo…
Choochmeque 2007dc1
Merge branch 'develop' into rust-bindings-v1
Choochmeque 815ff02
Merge remote-tracking branch 'origin/develop' into rust-bindings-v1
Choochmeque 80afdcc
Merge remote-tracking branch 'origin/rust-bindings-v1' into rust-bind…
Choochmeque 3cfabd5
Fix eccodes-sys dependency to resolve conflict with eckit-sys branch
Choochmeque 9dc9bef
Merge branch 'develop' into rust-bindings-v1
Choochmeque 7870818
Merge branch 'develop' into rust-bindings-v1
Choochmeque bba8cf5
Update CI workflow to include documentation generation for Rust project
Choochmeque 361483c
Add rules to deny direct dependencies on *-sys crates in Rust project
Choochmeque File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
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
File renamed without changes.
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
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should probably introduce a reproducable build, which pins certain fixed versions. Depending on develop isn't the best idea.