Skip to content

Commit 9e30e5c

Browse files
authored
Merge pull request freqtrade#11144 from freqtrade/deprecate/hdf5
Deprecate hdf5
2 parents e59bd71 + 4963a96 commit 9e30e5c

File tree

4 files changed

+20
-2
lines changed

4 files changed

+20
-2
lines changed

docs/data-download.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ Freqtrade currently supports the following data-formats:
162162
* `feather` - a dataformat based on Apache Arrow
163163
* `json` - plain "text" json files
164164
* `jsongz` - a gzip-zipped version of json files
165-
* `hdf5` - a high performance datastore
165+
* `hdf5` - a high performance datastore (deprecated)
166166
* `parquet` - columnar datastore (OHLCV only)
167167

168168
By default, both OHLCV data and trades data are stored in the `feather` format.

docs/deprecated.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,4 +81,10 @@ version 2023.3 saw the removal of `populate_any_indicators` in favor of split me
8181

8282
## Removal of `protections` from configuration
8383

84-
Setting protections from the configuration via `"protections": [],` has been removed in 2024.10, after having raised deprecation warnings for over 3 years.
84+
Setting protections from the configuration via `"protections": [],` has been removed in 2024.10, after having raised deprecation warnings for over 3 years.
85+
86+
## hdf5 data storage
87+
88+
Using hdf5 as data storage has been deprecated in 2024.12 and will be removed in 2025.1. We recommend switching to the feather data format.
89+
90+
Please use the [`convert-data` subcommand](data-download.md#sub-command-convert-data) to convert your existing data to one of the supported formats.

freqtrade/data/history/datahandlers/idatahandler.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -551,6 +551,13 @@ def get_datahandlerclass(datatype: str) -> type[IDataHandler]:
551551
elif datatype == "hdf5":
552552
from .hdf5datahandler import HDF5DataHandler
553553

554+
logger.warning(
555+
"DEPRECATED: The hdf5 dataformat is deprecated and will be removed in the "
556+
"next release. "
557+
"Please use the convert-data command to convert your data to a supported format."
558+
"We recommend using the feather format, as it is faster and is more space-efficient."
559+
)
560+
554561
return HDF5DataHandler
555562
elif datatype == "feather":
556563
from .featherdatahandler import FeatherDataHandler

tests/data/test_datahandler.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -360,6 +360,11 @@ def test_hdf5datahandler_trades_load(testdatadir):
360360
# assert len([t for t in trades2 if t[0] > timerange.stopts * 1000]) == 0
361361

362362

363+
def test_hdf5datahandler_deprecated(testdatadir, caplog):
364+
get_datahandler(testdatadir, "hdf5")
365+
log_has_re(r"DEPRECATED: The hdf5 dataformat is deprecated.*", caplog)
366+
367+
363368
@pytest.mark.parametrize(
364369
"pair,timeframe,candle_type,candle_append,startdt,enddt",
365370
[

0 commit comments

Comments
 (0)