# eXtremeDB Rust API

> > The eXtremeDB Rust API consists of the `extremedb` and `extremedb_sys` Rust crates.

> > The `extremedb` crate builds higher-level, safe abstractions on top of the `extremedb_sys` crate. The applications are expected to use the high-level abstractions to initialize the eXtremeDB runtime, create a database, establish connections, etc. Since the core eXtremeDB APIs for Rust are a work in progress, only local and remote SQL functionality is available for database management at present. Core (non-SQL) APIs will be available in a subsequent release.

> > The `extremedb_sys` crate is a low-level foreign function interface (FFI) wrapper for the eXtremeDB public API. It contains Rust-compatible function declarations, type and structure definitions, and enumerations. It also includes the Cargo build script which links the appropriate eXtremeDB libraries. Most applications will never need to invoke the functions declared in this crate.

> > The crates extremedb and extremedb_sys are available in the crates.io public repository, and the source code of the Rust API is available on GitHub. As is customary with public Rust packages, the documentation and code snippets can be found in the docs.rs repository: extremedb and extremedb_sys.