8 releases
0.2.9 | Oct 13, 2020 |
---|---|
0.2.8 | Oct 12, 2020 |
0.2.7 | Sep 28, 2020 |
0.2.6 | Jun 22, 2020 |
0.1.0 | Jan 12, 2018 |
#9 in #ticker
30 downloads per month
620KB
2K
SLoC
Contains (WOFF font, 120KB) doc/Heuristica-Italic.woff, (WOFF font, 90KB) doc/FiraSans-Medium.woff, (WOFF font, 92KB) doc/FiraSans-Regular.woff, (WOFF font, 56KB) doc/SourceCodePro-Regular.woff, (WOFF font, 56KB) doc/SourceCodePro-Semibold.woff, (WOFF font, 49KB) doc/SourceSerifPro-Bold.woff and 1 more.
kiteconnect-rs
API wrapper for kiteconnect in rust
Docs
Usage
Head on to https://crates.io/crates/kiteconnect
Copy kiteconnect = "<VERSION>"
dependency to Cargo.toml file
KiteConnect REST APIs
extern crate kiteconnect;
extern crate serde_json as json;
use kiteconnect::connect::KiteConnect;
fn main() {
let mut kiteconnect = KiteConnect::new("<API-KEY>", "");
// Open browser with this URL and get the request token from the callback
let loginurl = kiteconnect.login_url();
println!("{:?}", loginurl);
// Generate access token with the above request token
let resp = kiteconnect.generate_session("<REQUEST-TOKEN>", "<API-SECRET>");
// `generate_session` internally sets the access token from the response
println!("{:?}", resp);
let holdings: json::Value = kiteconnect.holdings().unwrap();
println!("{:?}", holdings);
}
Kite Ticker Websocket
extern crate kiteconnect;
extern crate serde_json as json;
use kiteconnect::ticker::{KiteTicker, KiteTickerHandler, WebSocketHandler}
#[derive(Debug)]
struct CustomHandler {
count: u32
}
impl KiteTickerHandler for CustomHandler {
fn on_open<T>(&mut self, ws: &mut WebSocketHandler<T>)
where T: KiteTickerHandler {
// Subscribe to a list of tokens on opening the websocket connection
ws.subscribe(vec![123456]);
println!("Fellow on_open callback");
}
fn on_ticks<T>(&mut self, ws: &mut WebSocketHandler<T>, tick: Vec<json::Value>)
where T: KiteTickerHandler {
println!("{:?}", tick);
println!("Fellow on_ticks callback");
}
fn on_close<T>(&mut self, ws: &mut WebSocketHandler<T>)
where T: KiteTickerHandler {
println!("Fellow on_close callback");
}
fn on_error<T>(&mut self, ws: &mut WebSocketHandler<T>)
where T: KiteTickerHandler {
println!("Fellow on_error callback");
}
}
fn main() {
let mut ticker = KiteTicker::new("<API-KEY>", "<ACCESS-TOKEN>");
let custom_handler = CustomHandler {
count: 0
};
ticker.connect(custom_handler, None);
loop {}
}
Running Examples
KiteConnect REST API sample
cargo run --example connect_sample
KiteConnect Websocket sample
cargo run --example ticker_sample
TODO
- Add serializer structs for all kiteconnect returning datastructures
- Reconnection mechanism
Dependencies
~25MB
~516K SLoC