https://github.com/nexveridian/ark-invest-api-rust-data
Fetches and caches ETF data daily, from csv download or api, and saves the data to a parquet file
https://github.com/nexveridian/ark-invest-api-rust-data
ark ark-funds ark-invest arkfunds arkinvest etf finance polars rust stock tokio
Last synced: about 2 months ago
JSON representation
Fetches and caches ETF data daily, from csv download or api, and saves the data to a parquet file
- Host: GitHub
- URL: https://github.com/nexveridian/ark-invest-api-rust-data
- Owner: NexVeridian
- License: apache-2.0
- Created: 2023-04-03T22:22:34.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-06-10T23:06:37.000Z (4 months ago)
- Last Synced: 2025-06-11T00:19:56.655Z (4 months ago)
- Topics: ark, ark-funds, ark-invest, arkfunds, arkinvest, etf, finance, polars, rust, stock, tokio
- Language: Rust
- Homepage: https://api.NexVeridian.com
- Size: 265 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE-Apache
Awesome Lists containing this project
README
Fetches and caches ETF data daily, from csv download or api, and saves the data to a parquet file
The code for the REST API is [github.com/NexVeridian/ark-invest-api-rust](https://github.com/NexVeridian/ark-invest-api-rust) and is hosted at [api.NexVeridian.com](https://api.NexVeridian.com)
Not affiliated with Ark Invest
# Install
Copy docker-compose.ymlCreate data folder next to docker-compose.yml
```
├───data
│ └───parquet
├───docker-compose.yml
````docker compose up --pull always`
If building the parquet file from the first time use: `ARK_SOURCE=ApiFull` or `ARK_SOURCE=ArkFundsIoFull`
Afterwards use `ARK_SOURCE=ApiIncremental`
# Changing the data source
In docker-compose.yml, change the data source by changing the environment variable
```
environment:
- ARK_SOURCE=ApiIncremental
```
Env string ARK_SOURCE must be in the enum Source
```rust
pub enum Source {
// Reads Parquet file if exists
Read,
// From ARK Invest
Ark,
// From api.NexVeridian.com
#[default]
ApiIncremental,
// From api.NexVeridian.com, not usually nessisary, use ApiIncremental
ApiFull,
// From arkfunds.io/api, avoid using, use ApiIncremental instead
ArkFundsIoIncremental,
// From arkfunds.io/api, avoid using, use ApiFull instead
ArkFundsIoFull,
}
```# License
All code in this repository is dual-licensed under either [License-MIT](./LICENSE-MIT) or [LICENSE-APACHE](./LICENSE-Apache) at your option. This means you can select the license you prefer. [Why dual license](https://github.com/bevyengine/bevy/issues/2373)