1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
//! # bitpanda-csv
//!
//! bitpanda-csv is a Rust library to parse the Bitpanda trades exported as CSV from your trades history.
//!
//! ## Get started
//!
//! ### Add bitpanda-csv to your Cargo.toml 🦀
//!
//! ```toml
//! bitpanda-csv = "^0.2"
//! ```
//!
//! Supported features are:
//!
//! - `no-log`: disable logging
//! - `moveable-feasts` (*default*): enable getters for moveable feasts
//!
//! ### Parse CSV
//!
//! ```rust
//! use bitpanda_csv::{BitpandaTradeParser, Trade};
//! use std::fs::File;
//!
//! fn main() {
//! let reader = File::open("./test/bitpanda.csv").expect("could not open CSV file");
//! let trades: Vec<Trade> = BitpandaTradeParser::parse(reader).expect("failed to parse CSV");
//! }
//! ```
//!
//! ### Parse CSV (async)
//!
//! Add to your Cargo.toml the `async` feature.
//! If you don't need the sync stuff, you can disable the default features then.
//!
//! ```rust
//! use bitpanda_csv::{AsyncBitpandaTradeParser, Trade};
//! use tokio::fs::File;
//! use tokio::io::BufReader;
//!
//! #[tokio::main]
//! async fn main() {
//! let file = File::open("./test/bitpanda.csv").await.expect("could not open CSV file");
//! let trades = AsyncBitpandaTradeParser::parse(BufReader::new(file))
//! .await
//! .unwrap();
//! }
//! ```
//!
extern crate log;
extern crate serde;
pub
pub use TradeGenerator;
pub use AsyncBitpandaTradeParser;
pub use BitpandaTradeParser;
pub use ;