Fetches and caches ETF data daily, from csv download or api, and saves the data to a parquet file https://api.NexVeridian.com
Find a file
2023-11-20 10:58:20 -08:00
.cargo 0.3.11 2023-06-29 00:39:46 +00:00
.devcontainer 1.0.0 2023-07-24 16:20:14 -07:00
.github/workflows 1.1.5 2023-11-20 10:58:20 -08:00
.vscode 0.2.2 2023-06-08 03:25:11 +00:00
src 1.1.4 2023-11-15 08:03:53 -08:00
tests 1.1.2 2023-08-25 01:05:54 +00:00
.dockerignore 1.1.1 2023-08-05 00:35:40 +00:00
.gitignore 1.0.0 2023-07-24 16:20:14 -07:00
Cargo.toml 1.1.2 2023-08-25 01:05:54 +00:00
docker-compose.dev.yml 1.1.3 2023-08-26 19:36:15 +00:00
docker-compose.yml 1.1.1 2023-08-05 00:35:40 +00:00
Dockerfile 1.0.0 2023-07-24 16:20:14 -07:00
LICENSE 0.1.0 2023-06-03 18:52:18 +00:00
NOTES.md 1.0.0 2023-07-24 16:20:14 -07:00
README.md 1.1.2 2023-08-25 01:05:54 +00:00

Fetches and caches ETF data daily, from csv download or api, and saves the data in parquet format

api.NexVeridian.com

Not affiliated with Ark Invest

Install

Copy docker-compose.yml

Create data folder next to docker-compose.yml

├───data
│   └───parquet
├───docker-compose.yml

docker compose up --pull always

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

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,
}

Dev Install

Dev Containers

Install docker, vscode and the Dev Containers Extension

git clone

Ctrl+Shift+P Dev Containers: Open Folder in Container

Run code with F5 or cargo run

Run tests with cargo t

Docker Compose

git clone

docker compose -f docker-compose.dev.yml build && docker compose -f docker-compose.dev.yml up

Remove the cargo cache for buildkit with docker builder prune --filter type=exec.cachemount