#api-client #async-client #trading #client-builder #connect #zerodha #http-api

manja

异步客户端库,用于 Zerodha 的 KiteConnect 交易 API

2 个版本

0.1.1-rc2024 年 5 月 22 日
0.1.0 2024 年 5 月 16 日

1150Web 编程

每月 28 次下载

MIT 许可证

29KB
557

manja

Manja (IPA: /maːŋdʒʧəː/) n.: 主要用于飞战斗机风筝的磨砂线,在南亚国家尤为常见。它通过在棉线涂层上涂覆玻璃粉或类似磨砂物质制成。

此包提供 Rust 客户端库,用于 ZerodhaKite Connect 交易 API(一组类似 REST 的 HTTP API)。


lib.rs:

异步客户端库,用于 ZerodhaKite Connect 交易 API(一组类似 REST 的 HTTP API)。

此包使用 tokio 异步运行时。

示例

mod kite;
use kite::connect::client_builder::KiteConnectClientBuilder;
use kite::connect::credentials::KiteCredentials;
use std::error::Error;

use tokio;
use tracing::info;

#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
    // Load environment variables from a `.env` file
    dotenv::dotenv().ok();

    // Load Kite user credentials from the environment
    let kite_creds = KiteCredentials::load_from_env()?;
    info!("{:?}", kite_creds);
    
    // Construct a `KiteConnect` client from a builder struct
    let manja_client = KiteConnectClientBuilder::default()
        .with_credentials(kite_creds)
        .build()?;

    // Generate a `request_token` as part of the login flow
    let request_token = manja_client.generate_request_token().await?;
    // Use the `request_token` to generate a user session (having an `access_token`)
    let user_session = manja_client.generate_session(&request_token).await?;

    println!("{:?}", user_session);

    Ok(())
}

依赖关系

~11–23MB
~344K SLoC