-
Notifications
You must be signed in to change notification settings - Fork 0
Output Writing
Syed Ibrahim Omer edited this page Apr 13, 2026
·
1 revision
This page documents how output paths are constructed and how files are written.
The writer chooses the output path based on these inputs:
-
--dir(optional output directory) -
--output(optional output file name or list) -
--format(file type/extension) -
ticker,period,timeframe(for auto-naming)
If --output is not provided, the output file name is:
<ticker>_<period>_<timeframe>.<ext>
Examples:
AAPL_1y_1d.csvMSFT_2y_1wk.parquet
If --dir is provided, the file is written inside that directory. The directory is created if it does not exist.
The tool writes based on the final extension:
-
.csv→polars.DataFrame.write_csv -
.parquet→write_parquet -
.json→write_json -
.xlsx→write_excel -
.avro→write_avro
Writes are scheduled as asyncio tasks, but the actual write calls run in threads via asyncio.to_thread(...).
This helps avoid blocking the event loop while writing large files.
Related pages:
- Getting Started
- CLI Reference
- Configuration & Templates
- Indicators (Overview)
- Output Formats
- Advanced Usage
- Troubleshooting
- Pipeline
- CLI Parsing
- Data Source (Yahoo Finance)
- Source Data Deep Dive
- Schema Normalization
- Data Shape Invariants
- Output Writing
- Write Output Deep Dive
- Config Resolution
- Polars Engine
- Source Modules
- Testing
- Performance
- Indicators Engine
- Reproducibility