Changelog

All notable changes to the forex_data project will be documented here.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Version 0.2.0 (Current)

Release Date: 02/06/2026

Tested with Python 3.12.13. Largely tested with default data parameters: engine ‘polars-lazy’ and file format ‘parquet’.

Added

Core Features

  • Historical Data Management:

    • Access to 20+ years of Forex historical data

    • Support for histdata.com as historical data source

    • Multiple timeframe support (1m, 5m, 15m, 30m, 1h, 4h, 1D, 1W, 1M)

    • Automatic timeframe aggregation

    • Smart data caching for improved performance

    • Get data function with conditional options

    • Determine if current year data needs updated from remote source, based on a threshold

    • Improved robustness of the local database management

    • Added cli utility to generate any database from scratch

  • Real-time Data Management:

    • Current and recent market data access

    • Twelve Data integration

    • Rate limit management

  • Multi-Engine Support:

    • Choose your preferred data processing engine

    • Polars (recommended for performance)

    • PyArrow (columnar data format)

    • Pandas (compatibility)

  • Configuration System:

    • Flexible YAML-based configuration

    • Centralized settings management

    • Override capabilities

    • Support for multiple configuration files

    • Template configuration included

  • Concurrency runs support:

    • Support runs with multiprocessing or multithreading interacting sharing the same cache location

Data Management

  • File Format Support:

    • Parquet (recommended for performance)

    • CSV (for compatibility)

  • Caching System:

    • Intelligent data caching

    • Automatic cache management

  • Plotting Capabilities:

    • Built-in candlestick chart generation

    • Interactive visualizations

    • Customizable date ranges

Developer Experience

  • Type Hints: Full type annotation support

  • Logging: Comprehensive logging with loguru

  • Testing: pytest-based test suite

  • CI/CD: CircleCI integration

  • Documentation: Sphinx-based documentation

  • Code Quality: Flake8 and MyPy integration

Documentation

  • Installation guide

  • Quick start tutorial

  • Configuration reference

  • Comprehensive examples

  • API reference

  • Contributing guide

Known Issues

  • Data engines, all configurations among engine and file format are not tested yet

  • Limited to daily and intraday timeframes for real-time sources

  • API rate limits affects data retrieval frequency based on the plan associated with the API key

Future Releases

Planned for v0.3.0

  • Cache data in AWS S3 storage and other major cloud providers persistent storage service

  • Robust connection between Historical and Real-time data managers if applicable

  • Data types outside raw price data available for query (e.g. volume, fundamentals information and others))

Planned for v0.4.0

  • Add data support for other markets (Stock Market, Future, Commodities and so on…)

How to Upgrade

Update with Poetry:

poetry update forex_data

Or with pip:

pip install --upgrade forex_data

Contributing to Changelog

When contributing changes, please:

  1. Add your changes to the “Unreleased” section

  2. Categorize under: Added, Changed, Deprecated, Removed, Fixed, or Security

  3. Include issue/PR references when applicable

  4. Follow the existing format

Example:

Changed
-------
* Updated historical data manager to support custom timeframes (#123)

See Also