Rust SpaceAPI Implementation

This is an implementation of the

SpaceAPI v0.13 and v14 in Rust. It contains both the type definitions as well as tools for serialization and deserialization to/from JSON using Serde.

  • Crate Documentation: https://docs.rs/spaceapi/
  • SpaceAPI Documentation: #404

This library requires Rust 1.31.0 or newer.

Usage

Add spaceapi to your Cargo.toml:

[dependencies]
spaceapi = "^0.8.1"

Docs

You can build docs with make docs. Find them in the target/doc/ directory.

License

Licensed under either of

  • Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
  • MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Issues

Collection of the latest Issues

rnestler

rnestler

help wanted
0

This is the tracking issue for the v14 support. So the goal is to have an implementation which can serialize and deserialize v0.13, v14 and mixed implementations which provides compatibility for both. This means we need to make fields optional which were removed in v14 or were not present in v0.13. Also we may want to validate certain stuff depending on which versions the users wants to support.

  • Support the api_compatibility field (#85)
  • The api key was removed (replaced with api_compatibility) (#85)
  • The contact.keymasters array items can also contain a xmpp field (#87)
  • The jabber key under contact was renamed to xmpp (#87)
  • The mumble contact option was added (#90)
  • The matrix contact option was added (#90)
  • The mastodon key was added under contact and to contact.keymasters array items (#90)
  • The gopher contact option was added (#90)
  • The links section was added
  • The membership_plans key was added to represent membership plans a space might have
  • The network_traffic sensor was added
  • The timezone key was added under location
  • The description of location.lon was changed to state the correct direction.
  • The value in sensors.account_balance can now be any ISO 4217 string
  • The unit hPA in sensors.barometer.unit was deprecated, use hPa instead to match the SI unit
  • The keys state and state.open are not required anymore and state.open is no longer nullable. (#91, #93)
  • The cache key was removed (it was already optional and we don't support it in the builder since nobody uses it)
  • The google key was removed from contact (#89)
  • The issue_report_channels key was removed (#89)
  • The radio_show key was removed (#89)
  • The spacefed.spacephone key was removed (#89)
  • The stream key was removed (it was already optional and we don't support it in the builder since nobody uses it)

Information - Updated Oct 13, 2021

Stars: 4
Forks: 2
Issues: 3

Rusty Object Notation

RON is a simple readable data serialization format that looks similar to Rust syntax

Rusty Object Notation

protobuf-convert

Macros for convenient serialization of Rust data structures into/from Protocol Buffers

protobuf-convert

This crate implements the Concise Binary Object Representation from RFC 7049

This crate implements the Concise Binary Object Representation from Serde, the generic serialization framework for Rust

This crate implements the Concise Binary Object Representation from RFC 7049

This crate is a Rust library for using the Serde serialization framework with

This crate is a Rust library for using the Gura file format

This crate is a Rust library for using the Serde serialization framework with

embedded-msgpack

MessagePack serialization implementation for Rust optimized for embedded environments

embedded-msgpack
JSON

272

Custom de/serialization functions for Rust's serde

Apply a prefix to each field name of a struct, without changing the de/serialize implementations of the struct using serde_with::rust::StringWithSeparator::<CommaSeparator>

Custom de/serialization functions for Rust's serde

A Rust wrapper for libevdev

to enable serialization support, enable the feature "serde"

A Rust wrapper for libevdev

Rust Monero Library

Library with support for de/serialization on block data structures and key/address generation and scanning related to Monero cryptocurrency

Rust Monero Library
JSON

108

Easy-to-use REST client for Rust programming language that provides automatic serialization and deserialization from Rust...

Easy-to-use REST client for Rust programming language that provides automatic serialization and deserialization from Rust structs

Easy-to-use REST client for Rust programming language that provides automatic serialization and deserialization from Rust...

Experimental library for generating rust code for CBOR serialization from CDDL specs

Instead of hand-writing CBOR code and writing tests to make sure it matches your CDDL spec, it's much faster to just generate the code from...

Experimental library for generating rust code for CBOR serialization from CDDL specs
Facebook Instagram Twitter GitHub Dribbble
Privacy