├── .github └── x-data-infra.webp ├── .gitignore ├── README.md ├── part1 ├── QUICK_START.md ├── compose │ └── docker-compose.yaml ├── main.py ├── requirements.txt └── schema.sql ├── part2 ├── QUICK_START.md ├── compose │ ├── .env.template │ └── docker-compose.yaml ├── pipecraft │ ├── __init__.py │ ├── config │ │ └── __init__.py │ ├── dags │ │ ├── .airflowignore │ │ ├── __init__.py │ │ ├── infopy │ │ │ ├── __init__.py │ │ │ └── dag_infopy.py │ │ └── libs │ │ │ ├── __init__.py │ │ │ └── airtasks │ │ │ ├── __init__.py │ │ │ └── initial.py │ ├── plugins │ │ └── __init__.py │ └── scripts │ │ ├── entry_init.sh │ │ └── gen_fernet_key.py └── requirements.txt ├── part3 ├── QUICK_START.md ├── compose │ ├── .env.template │ └── docker-compose.yaml ├── pipecraft │ ├── __init__.py │ ├── config │ │ └── __init__.py │ ├── dags │ │ ├── .airflowignore │ │ ├── __init__.py │ │ ├── binance_market_data │ │ │ ├── __init__.py │ │ │ ├── config │ │ │ │ ├── __init__.py │ │ │ │ ├── funding.py │ │ │ │ ├── kline.py │ │ │ │ └── symbols.py │ │ │ ├── dag_binance_funding_rate.py │ │ │ ├── dag_binance_kline.py │ │ │ └── process │ │ │ │ ├── __init__.py │ │ │ │ ├── common.py │ │ │ │ ├── etl_funding_future.py │ │ │ │ └── etl_kline.py │ │ ├── infopy │ │ │ ├── __init__.py │ │ │ └── dag_infopy.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ ├── airtasks │ │ │ │ ├── __init__.py │ │ │ │ ├── initial.py │ │ │ │ └── timescale │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── conn.py │ │ │ │ │ └── ingester.py │ │ │ └── venues │ │ │ │ ├── __init__.py │ │ │ │ ├── base │ │ │ │ ├── __init__.py │ │ │ │ └── base.py │ │ │ │ └── binance │ │ │ │ ├── __init__.py │ │ │ │ ├── client.py │ │ │ │ ├── common.py │ │ │ │ ├── config.py │ │ │ │ └── types.py │ │ └── timescale_init │ │ │ ├── __init__.py │ │ │ ├── dag_timescale_roles.py │ │ │ ├── dag_timescale_tables.py │ │ │ └── process │ │ │ ├── __init__.py │ │ │ ├── create_hypertables.sql │ │ │ ├── create_roles.sql │ │ │ └── tsinit.py │ ├── plugins │ │ └── __init__.py │ └── scripts │ │ ├── entry_init.sh │ │ └── gen_fernet_key.py └── requirements.txt ├── part4 ├── QUICK_START.md ├── compose │ ├── .env.template │ └── docker-compose.yaml ├── grafana │ ├── dashboards │ │ └── MarketMonitor.json │ └── provisioning │ │ ├── dashboards │ │ └── dashboards.yaml │ │ └── datasources │ │ └── datasources.yaml ├── pipecraft │ ├── __init__.py │ ├── config │ │ └── __init__.py │ ├── dags │ │ ├── .airflowignore │ │ ├── __init__.py │ │ ├── binance_market_data │ │ │ ├── __init__.py │ │ │ ├── config │ │ │ │ ├── __init__.py │ │ │ │ ├── funding.py │ │ │ │ ├── kline.py │ │ │ │ └── symbols.py │ │ │ ├── dag_binance_funding_rate.py │ │ │ ├── dag_binance_kline.py │ │ │ └── process │ │ │ │ ├── __init__.py │ │ │ │ ├── common.py │ │ │ │ ├── etl_funding_future.py │ │ │ │ └── etl_kline.py │ │ ├── infopy │ │ │ ├── __init__.py │ │ │ └── dag_infopy.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ ├── airtasks │ │ │ │ ├── __init__.py │ │ │ │ ├── initial.py │ │ │ │ └── timescale │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── conn.py │ │ │ │ │ └── ingester.py │ │ │ └── venues │ │ │ │ ├── __init__.py │ │ │ │ ├── base │ │ │ │ ├── __init__.py │ │ │ │ └── base.py │ │ │ │ └── binance │ │ │ │ ├── __init__.py │ │ │ │ ├── client.py │ │ │ │ ├── common.py │ │ │ │ ├── config.py │ │ │ │ └── types.py │ │ └── timescale_init │ │ │ ├── __init__.py │ │ │ ├── dag_timescale_roles.py │ │ │ ├── dag_timescale_tables.py │ │ │ └── process │ │ │ ├── __init__.py │ │ │ ├── create_hypertables.sql │ │ │ ├── create_roles.sql │ │ │ └── tsinit.py │ ├── plugins │ │ └── __init__.py │ └── scripts │ │ ├── entry_init.sh │ │ └── gen_fernet_key.py └── requirements.txt └── part5 ├── QUICK_START.md ├── QUICK_START_PROD.md ├── compose ├── .env.prod.template ├── .env.template ├── compose.infra.core.yaml ├── compose.infra.dev.yaml ├── compose.infra.prod.yaml ├── compose.traefik.core.yaml ├── compose.traefik.dev.yaml └── compose.traefik.prod.yaml ├── grafana ├── dev │ ├── dashboards │ │ └── MarketMonitor.json │ └── provisioning │ │ ├── dashboards │ │ └── dashboards.yaml │ │ └── datasources │ │ └── datasources.yaml ├── grafana.Dockerfile ├── grafana_build_and_push.sh └── prod │ ├── dashboards │ └── MarketMonitor.json │ └── provisioning │ ├── dashboards │ └── dashboards.yaml │ └── datasources │ └── datasources.yaml ├── pipecraft ├── __init__.py ├── config │ └── __init__.py ├── dags │ ├── .airflowignore │ ├── __init__.py │ ├── binance_market_data │ │ ├── __init__.py │ │ ├── config │ │ │ ├── __init__.py │ │ │ ├── funding.py │ │ │ ├── kline.py │ │ │ └── symbols.py │ │ ├── dag_binance_funding_rate.py │ │ ├── dag_binance_kline.py │ │ └── process │ │ │ ├── __init__.py │ │ │ ├── common.py │ │ │ ├── etl_funding_future.py │ │ │ └── etl_kline.py │ ├── infopy │ │ ├── __init__.py │ │ └── dag_infopy.py │ ├── libs │ │ ├── __init__.py │ │ ├── airtasks │ │ │ ├── __init__.py │ │ │ ├── initial.py │ │ │ └── timescale │ │ │ │ ├── __init__.py │ │ │ │ ├── conn.py │ │ │ │ └── ingester.py │ │ └── venues │ │ │ ├── __init__.py │ │ │ ├── base │ │ │ ├── __init__.py │ │ │ └── base.py │ │ │ └── binance │ │ │ ├── __init__.py │ │ │ ├── client.py │ │ │ ├── common.py │ │ │ ├── config.py │ │ │ └── types.py │ └── timescale_init │ │ ├── __init__.py │ │ ├── dag_timescale_roles.py │ │ ├── dag_timescale_tables.py │ │ └── process │ │ ├── __init__.py │ │ ├── create_hypertables.sql │ │ ├── create_roles.sql │ │ └── tsinit.py ├── pipecraft.Dockerfile ├── pipecraft_build_and_push.sh ├── plugins │ └── __init__.py └── scripts │ ├── entry_init.sh │ └── gen_fernet_key.py └── requirements.txt /.github/x-data-infra.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/.github/x-data-infra.webp -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/README.md -------------------------------------------------------------------------------- /part1/QUICK_START.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part1/QUICK_START.md -------------------------------------------------------------------------------- /part1/compose/docker-compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part1/compose/docker-compose.yaml -------------------------------------------------------------------------------- /part1/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part1/main.py -------------------------------------------------------------------------------- /part1/requirements.txt: -------------------------------------------------------------------------------- 1 | psycopg2-binary~=2.9.7 -------------------------------------------------------------------------------- /part1/schema.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part1/schema.sql -------------------------------------------------------------------------------- /part2/QUICK_START.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part2/QUICK_START.md -------------------------------------------------------------------------------- /part2/compose/.env.template: -------------------------------------------------------------------------------- 1 | AIRFLOW_FERNET_KEY= -------------------------------------------------------------------------------- /part2/compose/docker-compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part2/compose/docker-compose.yaml -------------------------------------------------------------------------------- /part2/pipecraft/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part2/pipecraft/config/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part2/pipecraft/dags/.airflowignore: -------------------------------------------------------------------------------- 1 | libs/ -------------------------------------------------------------------------------- /part2/pipecraft/dags/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part2/pipecraft/dags/infopy/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part2/pipecraft/dags/infopy/dag_infopy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part2/pipecraft/dags/infopy/dag_infopy.py -------------------------------------------------------------------------------- /part2/pipecraft/dags/libs/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part2/pipecraft/dags/libs/airtasks/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part2/pipecraft/dags/libs/airtasks/__init__.py -------------------------------------------------------------------------------- /part2/pipecraft/dags/libs/airtasks/initial.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part2/pipecraft/dags/libs/airtasks/initial.py -------------------------------------------------------------------------------- /part2/pipecraft/plugins/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part2/pipecraft/scripts/entry_init.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part2/pipecraft/scripts/entry_init.sh -------------------------------------------------------------------------------- /part2/pipecraft/scripts/gen_fernet_key.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part2/pipecraft/scripts/gen_fernet_key.py -------------------------------------------------------------------------------- /part2/requirements.txt: -------------------------------------------------------------------------------- 1 | cryptography~=42.0.5 2 | apache-airflow~=2.8.1 -------------------------------------------------------------------------------- /part3/QUICK_START.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/QUICK_START.md -------------------------------------------------------------------------------- /part3/compose/.env.template: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/compose/.env.template -------------------------------------------------------------------------------- /part3/compose/docker-compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/compose/docker-compose.yaml -------------------------------------------------------------------------------- /part3/pipecraft/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part3/pipecraft/config/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part3/pipecraft/dags/.airflowignore: -------------------------------------------------------------------------------- 1 | libs/ -------------------------------------------------------------------------------- /part3/pipecraft/dags/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part3/pipecraft/dags/binance_market_data/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part3/pipecraft/dags/binance_market_data/config/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/binance_market_data/config/__init__.py -------------------------------------------------------------------------------- /part3/pipecraft/dags/binance_market_data/config/funding.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/binance_market_data/config/funding.py -------------------------------------------------------------------------------- /part3/pipecraft/dags/binance_market_data/config/kline.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/binance_market_data/config/kline.py -------------------------------------------------------------------------------- /part3/pipecraft/dags/binance_market_data/config/symbols.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/binance_market_data/config/symbols.py -------------------------------------------------------------------------------- /part3/pipecraft/dags/binance_market_data/dag_binance_funding_rate.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/binance_market_data/dag_binance_funding_rate.py -------------------------------------------------------------------------------- /part3/pipecraft/dags/binance_market_data/dag_binance_kline.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/binance_market_data/dag_binance_kline.py -------------------------------------------------------------------------------- /part3/pipecraft/dags/binance_market_data/process/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part3/pipecraft/dags/binance_market_data/process/common.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/binance_market_data/process/common.py -------------------------------------------------------------------------------- /part3/pipecraft/dags/binance_market_data/process/etl_funding_future.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/binance_market_data/process/etl_funding_future.py -------------------------------------------------------------------------------- /part3/pipecraft/dags/binance_market_data/process/etl_kline.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/binance_market_data/process/etl_kline.py -------------------------------------------------------------------------------- /part3/pipecraft/dags/infopy/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part3/pipecraft/dags/infopy/dag_infopy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/infopy/dag_infopy.py -------------------------------------------------------------------------------- /part3/pipecraft/dags/libs/__init__.py: -------------------------------------------------------------------------------- 1 | from . import venues 2 | -------------------------------------------------------------------------------- /part3/pipecraft/dags/libs/airtasks/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/libs/airtasks/__init__.py -------------------------------------------------------------------------------- /part3/pipecraft/dags/libs/airtasks/initial.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/libs/airtasks/initial.py -------------------------------------------------------------------------------- /part3/pipecraft/dags/libs/airtasks/timescale/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/libs/airtasks/timescale/__init__.py -------------------------------------------------------------------------------- /part3/pipecraft/dags/libs/airtasks/timescale/conn.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/libs/airtasks/timescale/conn.py -------------------------------------------------------------------------------- /part3/pipecraft/dags/libs/airtasks/timescale/ingester.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/libs/airtasks/timescale/ingester.py -------------------------------------------------------------------------------- /part3/pipecraft/dags/libs/venues/__init__.py: -------------------------------------------------------------------------------- 1 | from . import binance 2 | -------------------------------------------------------------------------------- /part3/pipecraft/dags/libs/venues/base/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/libs/venues/base/__init__.py -------------------------------------------------------------------------------- /part3/pipecraft/dags/libs/venues/base/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/libs/venues/base/base.py -------------------------------------------------------------------------------- /part3/pipecraft/dags/libs/venues/binance/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/libs/venues/binance/__init__.py -------------------------------------------------------------------------------- /part3/pipecraft/dags/libs/venues/binance/client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/libs/venues/binance/client.py -------------------------------------------------------------------------------- /part3/pipecraft/dags/libs/venues/binance/common.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/libs/venues/binance/common.py -------------------------------------------------------------------------------- /part3/pipecraft/dags/libs/venues/binance/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/libs/venues/binance/config.py -------------------------------------------------------------------------------- /part3/pipecraft/dags/libs/venues/binance/types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/libs/venues/binance/types.py -------------------------------------------------------------------------------- /part3/pipecraft/dags/timescale_init/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part3/pipecraft/dags/timescale_init/dag_timescale_roles.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/timescale_init/dag_timescale_roles.py -------------------------------------------------------------------------------- /part3/pipecraft/dags/timescale_init/dag_timescale_tables.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/timescale_init/dag_timescale_tables.py -------------------------------------------------------------------------------- /part3/pipecraft/dags/timescale_init/process/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/timescale_init/process/__init__.py -------------------------------------------------------------------------------- /part3/pipecraft/dags/timescale_init/process/create_hypertables.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/timescale_init/process/create_hypertables.sql -------------------------------------------------------------------------------- /part3/pipecraft/dags/timescale_init/process/create_roles.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/timescale_init/process/create_roles.sql -------------------------------------------------------------------------------- /part3/pipecraft/dags/timescale_init/process/tsinit.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/dags/timescale_init/process/tsinit.py -------------------------------------------------------------------------------- /part3/pipecraft/plugins/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part3/pipecraft/scripts/entry_init.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/scripts/entry_init.sh -------------------------------------------------------------------------------- /part3/pipecraft/scripts/gen_fernet_key.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/pipecraft/scripts/gen_fernet_key.py -------------------------------------------------------------------------------- /part3/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part3/requirements.txt -------------------------------------------------------------------------------- /part4/QUICK_START.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/QUICK_START.md -------------------------------------------------------------------------------- /part4/compose/.env.template: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/compose/.env.template -------------------------------------------------------------------------------- /part4/compose/docker-compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/compose/docker-compose.yaml -------------------------------------------------------------------------------- /part4/grafana/dashboards/MarketMonitor.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/grafana/dashboards/MarketMonitor.json -------------------------------------------------------------------------------- /part4/grafana/provisioning/dashboards/dashboards.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/grafana/provisioning/dashboards/dashboards.yaml -------------------------------------------------------------------------------- /part4/grafana/provisioning/datasources/datasources.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/grafana/provisioning/datasources/datasources.yaml -------------------------------------------------------------------------------- /part4/pipecraft/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part4/pipecraft/config/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part4/pipecraft/dags/.airflowignore: -------------------------------------------------------------------------------- 1 | libs/ -------------------------------------------------------------------------------- /part4/pipecraft/dags/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part4/pipecraft/dags/binance_market_data/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part4/pipecraft/dags/binance_market_data/config/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/binance_market_data/config/__init__.py -------------------------------------------------------------------------------- /part4/pipecraft/dags/binance_market_data/config/funding.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/binance_market_data/config/funding.py -------------------------------------------------------------------------------- /part4/pipecraft/dags/binance_market_data/config/kline.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/binance_market_data/config/kline.py -------------------------------------------------------------------------------- /part4/pipecraft/dags/binance_market_data/config/symbols.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/binance_market_data/config/symbols.py -------------------------------------------------------------------------------- /part4/pipecraft/dags/binance_market_data/dag_binance_funding_rate.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/binance_market_data/dag_binance_funding_rate.py -------------------------------------------------------------------------------- /part4/pipecraft/dags/binance_market_data/dag_binance_kline.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/binance_market_data/dag_binance_kline.py -------------------------------------------------------------------------------- /part4/pipecraft/dags/binance_market_data/process/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part4/pipecraft/dags/binance_market_data/process/common.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/binance_market_data/process/common.py -------------------------------------------------------------------------------- /part4/pipecraft/dags/binance_market_data/process/etl_funding_future.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/binance_market_data/process/etl_funding_future.py -------------------------------------------------------------------------------- /part4/pipecraft/dags/binance_market_data/process/etl_kline.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/binance_market_data/process/etl_kline.py -------------------------------------------------------------------------------- /part4/pipecraft/dags/infopy/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part4/pipecraft/dags/infopy/dag_infopy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/infopy/dag_infopy.py -------------------------------------------------------------------------------- /part4/pipecraft/dags/libs/__init__.py: -------------------------------------------------------------------------------- 1 | from . import venues 2 | -------------------------------------------------------------------------------- /part4/pipecraft/dags/libs/airtasks/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/libs/airtasks/__init__.py -------------------------------------------------------------------------------- /part4/pipecraft/dags/libs/airtasks/initial.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/libs/airtasks/initial.py -------------------------------------------------------------------------------- /part4/pipecraft/dags/libs/airtasks/timescale/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/libs/airtasks/timescale/__init__.py -------------------------------------------------------------------------------- /part4/pipecraft/dags/libs/airtasks/timescale/conn.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/libs/airtasks/timescale/conn.py -------------------------------------------------------------------------------- /part4/pipecraft/dags/libs/airtasks/timescale/ingester.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/libs/airtasks/timescale/ingester.py -------------------------------------------------------------------------------- /part4/pipecraft/dags/libs/venues/__init__.py: -------------------------------------------------------------------------------- 1 | from . import binance 2 | -------------------------------------------------------------------------------- /part4/pipecraft/dags/libs/venues/base/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/libs/venues/base/__init__.py -------------------------------------------------------------------------------- /part4/pipecraft/dags/libs/venues/base/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/libs/venues/base/base.py -------------------------------------------------------------------------------- /part4/pipecraft/dags/libs/venues/binance/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/libs/venues/binance/__init__.py -------------------------------------------------------------------------------- /part4/pipecraft/dags/libs/venues/binance/client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/libs/venues/binance/client.py -------------------------------------------------------------------------------- /part4/pipecraft/dags/libs/venues/binance/common.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/libs/venues/binance/common.py -------------------------------------------------------------------------------- /part4/pipecraft/dags/libs/venues/binance/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/libs/venues/binance/config.py -------------------------------------------------------------------------------- /part4/pipecraft/dags/libs/venues/binance/types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/libs/venues/binance/types.py -------------------------------------------------------------------------------- /part4/pipecraft/dags/timescale_init/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part4/pipecraft/dags/timescale_init/dag_timescale_roles.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/timescale_init/dag_timescale_roles.py -------------------------------------------------------------------------------- /part4/pipecraft/dags/timescale_init/dag_timescale_tables.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/timescale_init/dag_timescale_tables.py -------------------------------------------------------------------------------- /part4/pipecraft/dags/timescale_init/process/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/timescale_init/process/__init__.py -------------------------------------------------------------------------------- /part4/pipecraft/dags/timescale_init/process/create_hypertables.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/timescale_init/process/create_hypertables.sql -------------------------------------------------------------------------------- /part4/pipecraft/dags/timescale_init/process/create_roles.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/timescale_init/process/create_roles.sql -------------------------------------------------------------------------------- /part4/pipecraft/dags/timescale_init/process/tsinit.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/dags/timescale_init/process/tsinit.py -------------------------------------------------------------------------------- /part4/pipecraft/plugins/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part4/pipecraft/scripts/entry_init.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/scripts/entry_init.sh -------------------------------------------------------------------------------- /part4/pipecraft/scripts/gen_fernet_key.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/pipecraft/scripts/gen_fernet_key.py -------------------------------------------------------------------------------- /part4/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part4/requirements.txt -------------------------------------------------------------------------------- /part5/QUICK_START.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/QUICK_START.md -------------------------------------------------------------------------------- /part5/QUICK_START_PROD.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/QUICK_START_PROD.md -------------------------------------------------------------------------------- /part5/compose/.env.prod.template: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/compose/.env.prod.template -------------------------------------------------------------------------------- /part5/compose/.env.template: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/compose/.env.template -------------------------------------------------------------------------------- /part5/compose/compose.infra.core.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/compose/compose.infra.core.yaml -------------------------------------------------------------------------------- /part5/compose/compose.infra.dev.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/compose/compose.infra.dev.yaml -------------------------------------------------------------------------------- /part5/compose/compose.infra.prod.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/compose/compose.infra.prod.yaml -------------------------------------------------------------------------------- /part5/compose/compose.traefik.core.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/compose/compose.traefik.core.yaml -------------------------------------------------------------------------------- /part5/compose/compose.traefik.dev.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/compose/compose.traefik.dev.yaml -------------------------------------------------------------------------------- /part5/compose/compose.traefik.prod.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/compose/compose.traefik.prod.yaml -------------------------------------------------------------------------------- /part5/grafana/dev/dashboards/MarketMonitor.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/grafana/dev/dashboards/MarketMonitor.json -------------------------------------------------------------------------------- /part5/grafana/dev/provisioning/dashboards/dashboards.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/grafana/dev/provisioning/dashboards/dashboards.yaml -------------------------------------------------------------------------------- /part5/grafana/dev/provisioning/datasources/datasources.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/grafana/dev/provisioning/datasources/datasources.yaml -------------------------------------------------------------------------------- /part5/grafana/grafana.Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/grafana/grafana.Dockerfile -------------------------------------------------------------------------------- /part5/grafana/grafana_build_and_push.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/grafana/grafana_build_and_push.sh -------------------------------------------------------------------------------- /part5/grafana/prod/dashboards/MarketMonitor.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/grafana/prod/dashboards/MarketMonitor.json -------------------------------------------------------------------------------- /part5/grafana/prod/provisioning/dashboards/dashboards.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/grafana/prod/provisioning/dashboards/dashboards.yaml -------------------------------------------------------------------------------- /part5/grafana/prod/provisioning/datasources/datasources.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/grafana/prod/provisioning/datasources/datasources.yaml -------------------------------------------------------------------------------- /part5/pipecraft/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part5/pipecraft/config/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part5/pipecraft/dags/.airflowignore: -------------------------------------------------------------------------------- 1 | libs/ -------------------------------------------------------------------------------- /part5/pipecraft/dags/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part5/pipecraft/dags/binance_market_data/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part5/pipecraft/dags/binance_market_data/config/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/binance_market_data/config/__init__.py -------------------------------------------------------------------------------- /part5/pipecraft/dags/binance_market_data/config/funding.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/binance_market_data/config/funding.py -------------------------------------------------------------------------------- /part5/pipecraft/dags/binance_market_data/config/kline.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/binance_market_data/config/kline.py -------------------------------------------------------------------------------- /part5/pipecraft/dags/binance_market_data/config/symbols.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/binance_market_data/config/symbols.py -------------------------------------------------------------------------------- /part5/pipecraft/dags/binance_market_data/dag_binance_funding_rate.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/binance_market_data/dag_binance_funding_rate.py -------------------------------------------------------------------------------- /part5/pipecraft/dags/binance_market_data/dag_binance_kline.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/binance_market_data/dag_binance_kline.py -------------------------------------------------------------------------------- /part5/pipecraft/dags/binance_market_data/process/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part5/pipecraft/dags/binance_market_data/process/common.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/binance_market_data/process/common.py -------------------------------------------------------------------------------- /part5/pipecraft/dags/binance_market_data/process/etl_funding_future.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/binance_market_data/process/etl_funding_future.py -------------------------------------------------------------------------------- /part5/pipecraft/dags/binance_market_data/process/etl_kline.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/binance_market_data/process/etl_kline.py -------------------------------------------------------------------------------- /part5/pipecraft/dags/infopy/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part5/pipecraft/dags/infopy/dag_infopy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/infopy/dag_infopy.py -------------------------------------------------------------------------------- /part5/pipecraft/dags/libs/__init__.py: -------------------------------------------------------------------------------- 1 | from . import venues 2 | -------------------------------------------------------------------------------- /part5/pipecraft/dags/libs/airtasks/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/libs/airtasks/__init__.py -------------------------------------------------------------------------------- /part5/pipecraft/dags/libs/airtasks/initial.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/libs/airtasks/initial.py -------------------------------------------------------------------------------- /part5/pipecraft/dags/libs/airtasks/timescale/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/libs/airtasks/timescale/__init__.py -------------------------------------------------------------------------------- /part5/pipecraft/dags/libs/airtasks/timescale/conn.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/libs/airtasks/timescale/conn.py -------------------------------------------------------------------------------- /part5/pipecraft/dags/libs/airtasks/timescale/ingester.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/libs/airtasks/timescale/ingester.py -------------------------------------------------------------------------------- /part5/pipecraft/dags/libs/venues/__init__.py: -------------------------------------------------------------------------------- 1 | from . import binance 2 | -------------------------------------------------------------------------------- /part5/pipecraft/dags/libs/venues/base/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/libs/venues/base/__init__.py -------------------------------------------------------------------------------- /part5/pipecraft/dags/libs/venues/base/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/libs/venues/base/base.py -------------------------------------------------------------------------------- /part5/pipecraft/dags/libs/venues/binance/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/libs/venues/binance/__init__.py -------------------------------------------------------------------------------- /part5/pipecraft/dags/libs/venues/binance/client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/libs/venues/binance/client.py -------------------------------------------------------------------------------- /part5/pipecraft/dags/libs/venues/binance/common.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/libs/venues/binance/common.py -------------------------------------------------------------------------------- /part5/pipecraft/dags/libs/venues/binance/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/libs/venues/binance/config.py -------------------------------------------------------------------------------- /part5/pipecraft/dags/libs/venues/binance/types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/libs/venues/binance/types.py -------------------------------------------------------------------------------- /part5/pipecraft/dags/timescale_init/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part5/pipecraft/dags/timescale_init/dag_timescale_roles.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/timescale_init/dag_timescale_roles.py -------------------------------------------------------------------------------- /part5/pipecraft/dags/timescale_init/dag_timescale_tables.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/timescale_init/dag_timescale_tables.py -------------------------------------------------------------------------------- /part5/pipecraft/dags/timescale_init/process/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/timescale_init/process/__init__.py -------------------------------------------------------------------------------- /part5/pipecraft/dags/timescale_init/process/create_hypertables.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/timescale_init/process/create_hypertables.sql -------------------------------------------------------------------------------- /part5/pipecraft/dags/timescale_init/process/create_roles.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/timescale_init/process/create_roles.sql -------------------------------------------------------------------------------- /part5/pipecraft/dags/timescale_init/process/tsinit.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/dags/timescale_init/process/tsinit.py -------------------------------------------------------------------------------- /part5/pipecraft/pipecraft.Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/pipecraft.Dockerfile -------------------------------------------------------------------------------- /part5/pipecraft/pipecraft_build_and_push.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/pipecraft_build_and_push.sh -------------------------------------------------------------------------------- /part5/pipecraft/plugins/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part5/pipecraft/scripts/entry_init.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/scripts/entry_init.sh -------------------------------------------------------------------------------- /part5/pipecraft/scripts/gen_fernet_key.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/pipecraft/scripts/gen_fernet_key.py -------------------------------------------------------------------------------- /part5/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bylethquant/simple-data-stack/HEAD/part5/requirements.txt --------------------------------------------------------------------------------