harmony_rust_sdk 0.3.0

Rust library to work with the Harmony chat protocol.
Documentation
[package]
name = "harmony_rust_sdk"
version = "0.3.0"
authors = [ "Yusuf Bera Ertan <y.bera003.06@protonmail.com>" ]
edition = "2018"
license = "MIT"
description = "Rust library to work with the Harmony chat protocol."
repository = "https://github.com/harmony-development/harmony_rust_sdk"
homepage = "https://github.com/harmony-development/harmony_rust_sdk"
keywords = [ "harmony", "protocol", "api", "chat", "client" ]
categories = [ "api-bindings" ]
exclude = [
	"*.nix",
	"flake.lock",
	".github/*",
]

[workspace]
members = [ "harmony_derive" ]

[package.metadata.docs.rs]
all-features = true

[dependencies]
prost = "0.6"
prost-types = "0.6"
tonic = { version = "0.3", features = [ "tls", "tls-roots", "prost" ] }
http = "0.2"
derive-new = "0.5"
derive_more = "0.99"

harmony_derive = { version = "0.1.0", path = "harmony_derive", optional = true }

async-trait = { version = "0.1.42", optional = true }
async-mutex = { version = "1.4.0", optional = true }
flume = { version = "0.10.1", optional = true }
log = { version = "0.4", optional = true }
assign = { version = "1.1", optional = true }
paste = { version = "1.0", optional = true }
futures = { version = "0.3", optional = true }
reqwest = { version = "0.10", default-features = false, features = [ "rustls-tls-native-roots", "json" ], optional = true }
serde = { version = "1.0", features = ["derive"] }

parking_lot = { version = "0.11", optional = true }

[build-dependencies]
tonic-build = "0.3"

[features]
default = [
	"gen_chat", 
	"gen_auth", 
	"gen_mediaproxy", 
	"gen_voice", 
	"gen_harmonytypes", 
]
client = [
	"gen_chat", 
	"gen_auth", 
	"gen_mediaproxy", 
	"gen_voice", 
	"gen_harmonytypes", 
	"gen_client",
	"async-mutex",
	"futures", 
	"paste", 
	"assign", 
	"log", 
	"reqwest", 
	"flume",
]
request_method = [ "async-trait" ]
gen_client = [ ]
gen_server = [ ]

gen_chat = [ "gen_harmonytypes", "harmony_derive" ]
gen_auth = [ ]
gen_mediaproxy = [ "gen_harmonytypes" ]
gen_voice = [ ]
gen_harmonytypes = [ ]

[dev-dependencies]
tokio = { version = "0.2", features = [ "rt-threaded", "macros", "fs" ] }
env_logger = "0.8"
ctrlc = "3.1.7"

[[test]]
name = "all"
required-features = [ "client" ]

[[example]]
name = "echo_bot"
required-features = [ "client" ]

[[example]]
name = "message_log"
required-features = [ "client" ]