# raystack [![crates.io](https://img.shields.io/crates/v/raystack.svg)](https://crates.io/crates/raystack) [![Documentation](https://docs.rs/raystack/badge.svg)](https://docs.rs/raystack) ![Build Status](https://github.com/a-mackay/raystack/workflows/build/badge.svg) ![Audit Status](https://github.com/a-mackay/raystack/workflows/audit/badge.svg) An asynchronous SkySpark 3 client library for Rust, compatible with SkySpark versions 3.1.1 or higher. For SkySpark versions before 3.0.28, use version `0.8.*` of this library. Newer versions of SkySpark use [Hayson encoding](https://github.com/j2inn/hayson), which this library supports. The older versions of SkySpark used a different JSON encoding which is no longer supported by this library. For SkySpark version 3.0.29, use version `0.11.*` of this library, because it uses older Haystack ops for `formats` and `ops`. ## Documentation See [docs.rs](https://docs.rs/raystack). ## Features * SkySpark REST API `eval` operation. * Partial implementation of the Project Haystack REST API. * Most Haystack ops have been implemented. * Some Haystack ops (like watches) are currently unimplemented (pull requests are welcome). ## Synchronous raystack If you don't want to use asynchronous Rust, or are just writing a quick script, a synchronous version of this library is available, called [raystack_blocking](https://crates.io/crates/raystack_blocking) ([source code](https://github.com/a-mackay/raystack_blocking)) ## Code Statistics ``` =============================================================================== Language Files Lines Code Comments Blanks =============================================================================== Markdown 1 43 0 34 9 TOML 2 35 29 0 6 ------------------------------------------------------------------------------- Rust 11 3559 2996 29 534 |- Markdown 9 344 69 251 24 (Total) 3903 3065 280 558 =============================================================================== Total 14 3637 3025 63 549 =============================================================================== ```

Many thanks to Steve Eynon for his [post about SkySpark's SCRAM authentication](http://www.alienfactory.co.uk/articles/skyspark-scram-over-sasl).