This is a CLI app for tracking the price of stocks. It uses the Yahoo Finance API crate to get the stock prices. The app is written entirely in Rust and uses the following tools:
- Clap for parsing command line arguments
- Yahoo Finance API for getting the stock prices
- Rustls for HTTPS requests
- Tokio for async runtime
- Actix for actor system
- Warp for web server and buffer REST service
The app is compiled using the 2018 edition of Rust.
The app architecture can be summarized in the following diagram:
$ ./stock_cli --help
stock_cli 1.0
Param Singh, Claus Matzinger
A Manning LiveProject: Async Streams in Rust
USAGE:
stock_cli [OPTIONS] --from <FROM>
OPTIONS:
-f, --from <FROM>
Required start date for the period to fetch
-h, --help
Print help information
-m, --max-iterations <MAX_ITERATIONS>
Optional number of max iterations to run [default: 1]
-s, --source <SOURCE>
Optional .txt source file to read symbols from [default: sp500.may.2020.txt]
-V, --version
Print version information