NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Probabilistic time series modeling in Python.
Last release 1 months ago
31 Jul 2026
Release timing varies
gaps range from 8 days to 12 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
114 releases · first in 2019
Docs: Make notebook templates. (#2122 by @jaheba)
Backporting fixes:
We have added support for Parquet-files, as well as Arrow's binary format. This is an opt-in feature, requiring `pyarrow` to be installed. Use pip ins
We have added support for Parquet-files, as well as Arrow's binary format. This is an opt-in feature, requiring pyarrow to be installed. Use pip install 'gluonts[pro]' or pip install 'gluonts[arrow]' to ensure the correct version is installed.
FileDataset has been reworked to support .parquet and .arrow files. Previously, it had assumed all files to use jsonlines. To continue using jsonlines ensure that the the files use one of the .json, .jsonl, .json.gz, jsonl.gz suffixes.
Depending on the dataset size and shape, Arrow can be much faster than the json variant. In more extreme cases we saw speedups of more than 100x when using arrow vs jsonlines (see #2003 for some examples).
To convert a given dataset into arrow, you can use the gluonts.dataset.arrow utility:
python -m gluonts.dataset.arrow write </path/to/dataset> my-dataset.arrow
PandasDatasetWe have added support for pandas.DataFrame and pandas.Series as well. You can now directly model data given in a DataFrame using gluonts.dataset.pandas.PandasDataset. In this tutorial we describe in depth how you can use PandasDataset to speed up modelling using GluonTS.
TimeLimitCallback to mx/trainer callbacks. (by @yx1215)arrow-based dataset. (by @vafl, @lostella, @jaheba)DatasetWriter. (by @jaheba)pd.Period instead of pd.Timestamp. (by @jaheba)freq argument from Forecast. (by @kashif)dct_reduce. (by @jaheba)FileDataset. (by @jaheba)dataset_writer to get_dataset. (by @Hongqing-work)jsonl.encode_json, remove serialize_data_entry. (by @jaheba)gluonts.nursery.SCott (by @lostella)itertools, add col-to-row and row-to-col functions. (by @jaheba)Estimator, Predictor, Forecast in gluonts.model. (by @jaheba)AffineTransformedDistribution (by @stailx)docs folder, update gitignore (by @lostella)DataFramesDataset. (by @jaheba)Quantile derive from pydantic.BaseModel. (by @jaheba)DataFramesDataset (by @RSNirwan)time_axis to forecast_start. (by @melopeo)predict_to_numpy (by @lostella)One column per quarter.
We have added support for Parquet-files, as well as Arrow's binary format. This is an opt-in feature, requiring `pyarrow` to be installed. Use pip ins
We have added support for Parquet-files, as well as Arrow's binary format. This is an opt-in feature, requiring pyarrow to be installed. Use pip install 'gluonts[pro]' or pip install 'gluonts[arrow]' to ensure the correct version is installed.
FileDataset has been reworked to support .parquet and .arrow files. Previously, it had assumed all files to use jsonlines. To continue using jsonlines ensure that the the files use one of the .json, .jsonl, .json.gz, jsonl.gz suffixes.
Depending on the dataset size and shape, Arrow can be much faster than the json variant. In more extreme cases we saw speedups of more than 100x when using arrow vs jsonlines (see #2003 for some examples).
To convert a given dataset into arrow, you can use the gluonts.dataset.arrow utility:
python -m gluonts.dataset.arrow write </path/to/dataset> my-dataset.arrow
PandasDatasetWe have added support for pandas.DataFrame and pandas.Series as well. You can now directly model data given in a DataFrame using gluonts.dataset.pandas.PandasDataset. In this tutorial we describe in depth how you can use PandasDataset to speed up modelling using GluonTS.
TimeLimitCallback to mx/trainer callbacks. (by @yx1215)arrow-based dataset. (by @vafl, @lostella, @jaheba)DatasetWriter. (by @jaheba)pd.Period instead of pd.Timestamp. (by @jaheba)freq argument from Forecast. (by @kashif)dct_reduce. (by @jaheba)FileDataset. (by @jaheba)dataset_writer to get_dataset. (by @Hongqing-work)jsonl.encode_json, remove serialize_data_entry. (by @jaheba)gluonts.nursery.SCott (by @lostella)itertools, add col-to-row and row-to-col functions. (by @jaheba)Estimator, Predictor, Forecast in gluonts.model. (by @jaheba)AffineTransformedDistribution (by @stailx)docs folder, update gitignore (by @lostella)DataFramesDataset. (by @jaheba)Quantile derive from pydantic.BaseModel. (by @jaheba)DataFramesDataset (by @RSNirwan)time_axis to forecast_start. (by @melopeo)predict_to_numpy (by @lostella)Cap numpy compatibility in mxnet extra requirements #2506
Backporting fixes:
Fix r_forecast wrapper to shift start date when truncating time series (#2216 by @abdulfatir)
Backporting fixes:
Full Changelog: https://github.com/awslabs/gluon-ts/compare/v0.9.8...v0.9.9
Fix SymbolBlock serde issue (#2187 by @lostella)
Backporting fixes:
SymbolBlock serde issue (#2187 by @lostella)Fix dtype for "item_id" column in metrics dataframe
Backporting fixes:
Fix: DistributionLoss not encodable (#2092 by @jaheba)
Backporting fixes:
Re-add support for Python 3.6 in v0.9.x. (#2032 by @jaheba)
Backporting fixes:
num_parallel_samples in deepAR (#1968 by @kashif)OffsetSplitter for negative offsets (#1986 by @lostella)AffineTransformedDistribution (#2015 by @stailx)Fix: Hard threshold positive distribution parameters (#1950 by @lostella)
Backporting fixes:
Fix: use broadcast_lesser in place of comparisons in ISQF (#1920 by @vincentqb)
Backporting fixes:
Fix AddTimeFeatures transformation for multiples of base frequencies
Backporting fixes:
Added QuarterlyBegin time feature
Backporting fixes:
fix for #1725, reverse breaking changes to data loader and handle all zero batches
ckpt_path argument to PyTorchLightningEstimator. (#1872)torch.isqf (#1815)@validated in from_hyperparameters. (#1826)loosen RTOL in test/distribution/test_flows.py to make test_flow_invertibility pass
Backporting fixes:
test/distribution/test_flows.py to make test_flow_invertibility pass (#1604)add dummy estimator for seasonal_naive
Transform.apply (#1494)unknown to 0.0.0. (#1457)time_feature/_base.py (#1437)Transform.apply (#1494)gluonts.mx module (#1592)loader.py (#1495)Fix frequency metadata bug for lstnet datasets
Backporting fixes:
Fix serde issue with some distribution output types, add test
Backporting fixes:
fix ProphetPredictor serialization issue
Backporting fixes:
Fix Settings._inject to check if it can provide the value.
Backporting fixes:
Fix get_lags_for_frequency for minute data in DeepVAR
Backporting fixes:
Fix train-test split data leakage for m4_yearly and wiki-rolling_nips.
Backporting fixes:
fix compatibility for pandas < 1.1 in time_feature/_base.py
Backporting fixes:
time_feature/_base.py (#1437)This release comes with a few breaking changes (but for good reasons). In particular, models trained and serialized prior to 0.7.0 may not be de-seria…
GluonTS adds improved support for PyTorch-based models, new options for existing models, and general improvements to components and tooling.
This release comes with a few breaking changes (but for good reasons). In particular, models trained and serialized prior to 0.7.0 may not be de-serializable using 0.7.0.
GluonEstimator abstract class, as well as InstanceSplitter and InstanceSampler implementations. You are affected by this change only if you implemented custom models based on GluonEstimator. The change makes it easier to define (and understand, in case you're reading the code) how fixed-length instances are to be sampled from the original dataset for training or validation purposes. Furthermore, this PR breaks data transformation into more explicit "pre-processing" steps (deterministic ones, e.g. feature engineering) vs "iteration" steps (possibly random, e.g. random training instance sampling), so that a cache_data option is now available in the train method to have the pre-processed data cached to memory, and be iterated quicker, whenever it fits.gluonts.time_features into distinct types.ISSM types, making it easier to define custom ones e.g. by having a custom set of seasonality patterns. Related changes to DeepStateEstimator enable these customizations when defining a DeepState model.Trainer:
input_names argument from the __call__ method. Now the provided data loaders are expected to produce batches containing only the fields that the network being trained consumes. This can be easily obtained by transforming the dataset with SelectFields.gluonts.mx, with some exceptions (gluonts.model and gluonts.nursery). With the new structure, one is not forced to install MXNet unless they specifically require modules that depend on it.Evaluator class lighter, by moving the evaluation metrics to gluonts.evaluation.metrics instead of having them as static methods of the class.PyTorch support:
Distributions:
Models:
Datasets & tooling:
Fix train-test split data leakage for m4_yearly and wiki-rolling_nips.
Backporting fixes:
fix s3fs ImportError for fsspec by updating the requirement depending on the python version
Backporting fixes:
time_feature/_base.py (#1437)Added lead_time argument to PyTorchPredictor
Backporting fixes:
Use broadcast_logical_or in inflated_beta
Backporting fixes:
Backporting fixes: * Fix serde for np.dtype.
Backporting fixes:
Add equality operator for PytorchPredictor
Backporting fixes:
Added item_id to NPTS and Naive2 forecasts
Backporting fixes:
fix chain method of Transformation
Backporting fixes:
Backporting fixes: - Masking edge case fix
Backporting fixes:
Model averaging (#823) add SampleForecast and Predictor objects for TPPs (#819) Add temperature scaling to categorical distrubution (#792) Representat
Model averaging (#823)
add SampleForecast and Predictor objects for TPPs (#819)
Add temperature scaling to categorical distrubution (#792)
Representation module (#755)
New methods for missing value imputation (#843)
Add shuffling function (#873)
make distributions pickleable (#889)
Aggregate lag transformation (#886)
SimpleFeedForward to produce DistributionForecast (#870)
Added support for gzipped files. (#914)
MQCNN: Support for past dynamic features and scaling (#916)
Implemented model iteration averaging to reduce model variance (#901)
add nan support to simple feedforward model (#933)
Added timeout option for batch requests. (#931)
Implemented moving average (#926)
NanMixture: Distribution to model missing values (#913)
Added Rotbaum (#653)
DeepTPP: RNN-based temporal point processes model (#976)
Added logging of scored instances for batch-transform. (#1010)
Enable distribution output in seq2seq (#1008)
Implemented activation regularization (#955)
Adding mean absolute quantile loss to avoid the case of dividing by 0 as a possible HPO metric (#1012)
Inflated Beta Distributions (#1018)
Implement different dropout strategies (#963)
Adding support for num_forking as MQ-CNN hp (#1022)
Generalised Pareto distribution (#1031)
Added use of supported quantiles in shell when QuantileForecastGenerator is used. (#1048)
PyTorch Predictor (#1051)
Add TFT model (#962)
ConvTrans Implementation (#961)
Add evaluation metrics for anomaly detection (#1065)
Add piecewise linear quantile function output with fixed knots (#1074)
include callback in trainer and example for warm starting (#1087)
initial pytorch distribution output class (#1082)
Glide (#995)
specialize plot method for QuantileForecast (#1114)
Fixed disabling of tqdm. (#839) Fix comparison of ParameterDict when non prefixed variables are in dict. (#859) Fixing edge case of prediction length 1. (#867) Frequency String for Pandas Timestamp (#884) fix imports (#885) Fixed invalid num_worker possibility. (#892) Corrected the formula for the stddev of the MixtureDistribution. (#900) Fix pathes in R for Windows. (#903) Scale the negative binomial's gamma (#909) Shape squeeze edge case bug fix (#911) Use of \n to split lines in batch transform. (#920) Fixing cardinality array when use_feat_static_cat = False but feat_static_cat present in dataset (#918) Fix batch-transform case, where request is empty. (#927) fix DeterministicOutput, add tests (#982) Fixing the FileDataset case with caching off for num_workers calculation (#986) Overriding early stopping for iteration-based averaging strategies (#993) Bug Fixes, Warnings, and One-Hot Encodings for Rotbaum (#980) Fixing case with only time features and yearly freq (#1002) Fixed import of Trainer. (#1005) Fixed DeepAR typing error (#1017) Fix sampling for MixtureDistribution class (#1042) MQ-CNN: Bound context_length by the max_ts_len - prediction_length (#1037) Fix gamma nans (#1061) Fix scaling for MQ-(C|R)NN when distribution outputs are used (#1070) added value in support to mixture output (#1077) fix Gamma distribution's NaN gradients for zero inputs (#1078) Fix dataset.splitter max_history argument (#1085) Fix max window (#1097) Ignore NaN values during training and throw a warning (training got stuck before) (#1104) Fix a few bugs about tensor shapes in default values for TFT implementation (#1093) Fixes awslabs/gluon-ts#1106 (#1125)
Mqcnn rts (#668) Changed dataset.splitter to use DataEntry instead of TimeSeriesItem (#890) Refactoring data loading utilities (#898) Removed TimeSeriesItem. (#904) refactor imputation transformation (#907) making backtest_metrics simpler (#924) Moved get_seasonality from evaluation to time_feature. (#971) Removed mxContext from core. (#977)
Update bug_report.md (#835)
Dockerfile for R container added (#841)
Added mx module. (#876)
Adapted use of mx module. Applied isort. (#878)
Simplified AsNumpyArray. (#879)
Removed unused Transformation.estimate. (#880)
Added README to shell. (#882)
Docs requirements (#883)
add documentation related to shuffle_buffer_length/ (#910)
Default QuantileForecast.mean to p50. (#930)
Addded trimming to encoded sagemaker parameters in shell package. (#917)
Shell: Fix writing of output/failure file in case of error in provided hyper-parameters. (#942)
Pass listify_dataset as a hyperparameter through the shell (#934)
Evaluation metrics now stored in output folder (#938)
Make TrainEnv path argument explicit. (#943)
Removing mp worker del method. (#944)
Fixed logical error in data_loder tests. (#951)
Pass multiprocessing parameters through the shell (#952)
Fix pandas requirement. (#967)
Fix shell.train.
Moved Dockerfiles to examples/dockerfiles (#946)
Cleaned up unused imports. (#1007)
Fix docstrings for SimpleFeedForward (#1009)
Fix docstrings, enable distr_output in MQRNN (#1021)
Update README.md (#1024)
Update holidays version (#1033)
improved and simplified aggregate lag transformation (#1028)
Refactoring forecast generators and predictors for framework independence (#1052)
Improved logging for batch-transform. (#1059)
Reverting #1042 and adding shape assertions to the MixtureDistribution (#1058)
Using pad_to_size function to remove duplicate code in pad_arrays (#1047)
re-organized modules and imports (#1068)
speed labels_to_ranges using numba (#1071)
Fix numba warning; mask np.nan labels (#1072)
added PyTorch predictor example notebook (#1053)
refactor multiprocessing batcher to work with spawn method (#1080)
Using zero floating point tolerance in denominator rather than checkign for exact zero equality (#1079)
Fix FieldNames of Train/test splitter (#1083)
Added Stateful to serde. (#1088)
Added ty.checked decorator. (#1091)
update links in readme (#1090)
Adding test_quantiles hyperparameter to the shell to specify the quantiles for evaluation (#1096)
Refactored serde into a package. (#1100)
Refactored shell. (#1101)
Updated pytest to v5. (#1102)
cap pydantic version (#1115)
add item_id to forecast from seasonal naive (#1113)
reduce number of batches used in test (#1131)
fix pandas usage and remove version cap (#1132)
remove kwargs from hybrid_forward input name inference
Backporting fixes:
* Fix pandas version to 1.0.x.
1.0.x.Dirichlet Multinomial distribution
loc argument to distribution output classes (#540)create_model usage. (#768)Fix that allows GluonTS to work with the latest pydantic v1.5
Fix WaveNet prediction length during training
Added median as alias for p50 to Forecast.
v0.4.1 includes:
Fixed bug when changing default activation function in WaveNet
Adapted mean predictor to use random samples.
Adapted mean predictor to use random samples. (#239)
Added predict_item to RepresentablePredictor and adapted subclasses. (#240)
Added fallback predictor and decorator.
Forecasts always start at the end of the whole target.
Fix shell to have a canonical freq key in hyperparameters.
Made fallback process-safe. Added ConstantValuePredictor.
GluonTSException bypass fallback.
Black everything. (#244)
Adding failure information to failure file. (#247)
Added error message to top of failure file. (#248)
fix the empty item list (#249)
fix the shape error of the canonical network (#251)
Fix documentation and enforce stricter doc builds (#226)
Reformatted math equations for the log_prob method of the GaussianProcess class (#252)
Fix yearly freq in process start field. (#253)
fix issue with MultivariateGaussianOutput (#257)
Fix shapes in CanonicalNetworkBase (#254)
Improvements for wavenet and some utils (#262)
Removed `get_granularity`. (#265)
Bump pandas version and remove timestamp workarounds
Bump pandas version and remove timestamp workarounds (#230)
Fix num_eval_samples (#232)
Fixed backtest test. (#235)
Moved simple predictors to a distinct model folder. (#237)
fix #234: Added method to fixup non json-spec compliant floats to make the resp… (#236)
Serialize training metrics through the logger
Changes include:
core packageshell.sagemaker packageMeanPredictor to model.testutilExclude MXNet 1.5.* from allowed requirements
Updated shell.
Exclude MXNet 1.5.* from allowed requirements
Added transformer model, tests and evaluations
Minor improvements, changes and fixes.
Changed shell metrics to be similar to SageMaker DeepAR.
Add proper documentation strings.
More shell fixes
force-static train parameter that forces the
creation of a static predictor from the expected
model location.Re-added locate for Forecaster detection.
Fixup of shell. (#180)
Re-added locate for Forecaster detection. (#181)
Minor fixes.
Adding option to rescale time series instead of clipping them, in artificial dataset generation
Fixed problem with the num_eval_samples argument of GluonPredictor.predict
num_eval_samples argument of GluonPredictor.predict (#103)* fixed bugs in distributions (#92) * updated mxnet requirement (#96) * removed pandas warnings
Indexing issue in the RForecastPredictor
Issues fixed:
First public release of GluonTS
First public release of GluonTS
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →