BirchKwok/PipelineTS

⚡ Simplest and most professional TimeSeries forecasting + AutoML. Preprocess → Predict.

Python

11

169 commits

updated May 20, 2026

See the code

README

PipelineTS

PyPI PyPI - License PyPI - Python Version Downloads

⚡ Simplest and most professional TimeSeries forecasting + AutoML.
One line to forecast. Professional when you need it.


Installation

pip install PipelineTS          # core (ML + stats)
pip install PipelineTS[torch]   # + PyTorch NN models

Python ≥ 3.9 required.


Quick Start

One-line forecast

from PipelineTS import forecast

pred = forecast("sales.csv", n=12)   # auto-infers columns, cleans data, runs AutoML

Diagnose → Forecast → Backtest

from PipelineTS import diagnose, forecast, backtest

report = diagnose("sales.csv", horizon=12)   # data readiness check
pred   = forecast("sales.csv", n=12)         # AutoML prediction
score  = backtest("sales.csv", n=12)         # walk-forward evaluation

print(report["status"])      # READY / WARNING / NOT_READY
print(score["summary"])      # mean ± std of MAE across folds

Progressive professional control

from PipelineTS import AutoForecast

model = AutoForecast(
    time_col="date", target_col="value",
    horizon=12,
    preset="high_quality",   # fast | medium_quality | high_quality | best_quality
    quantile=0.9,            # 90% prediction intervals
)
model.fit(data)
pred = model.predict()

print(model.leader_board_)   # ranked model comparison
print(model.strategy_)       # routing decisions

model.save("forecaster.pts")
loaded = AutoForecast.load("forecaster.pts")

ModelPipeline — full control

from PipelineTS.pipeline import ModelPipeline, PipelineConfigs
from sklearn.preprocessing import StandardScaler

pipeline = ModelPipeline(
    time_col="date", target_col="value",
    lags=12, quantile=0.9,
    include_models=["d_linear", "catboost", "prophet"],   # or 'all', 'nn', 'ml', 'light'
)
leaderboard = pipeline.fit(data)
pred = pipeline.predict(n=12)

# Per-model configuration
configs = PipelineConfigs([
    ("d_linear", "d_linear_std",  {"pipeline_configs": {"lags": 24, "scaler": StandardScaler()}}),
    ("catboost", "catboost_diff", {"pipeline_configs": {"differential_n": 1}}),
])
pipeline = ModelPipeline(..., configs=configs)

SmartRouter — intelligent AutoML

from PipelineTS.pipeline import SmartRouter

router = SmartRouter(
    time_col="date", target_col="value",
    n_predict=12,
    preset="medium_quality",          # auto-configures models, CV, search, ensemble
    ensemble_strategy="auto",
    quantile=0.9,
)
router.fit(data)
pred = router.predict(n=12)

# Multi-quantile intervals
result = router.predict_quantiles(n=12, levels=[0.5, 0.8, 0.9])

# Panel data (multiple series)
router = SmartRouter(time_col="date", target_col="sales", id_col="store_id")
router.fit(panel_data)

# Save / load
router.save("router.pts")
router = SmartRouter.load("router.pts")

Features

CapabilityDetails
50+ built-in models34 NN · ML · statistical · optional foundation models
Zero-friction APIforecast() auto-infers columns, cleans data, runs AutoML
SmartRouter AutoMLProfiles data → selects models, lags, scaler, hyperparams, ensemble
Conformal intervalsDistribution-free CQR for NNs + conformal prediction for all models
Multi-quantilepredict_quantiles(levels=[0.5, 0.8, 0.9]) in one call
Panel dataid_col for native multi-series with per-series scaling
CovariatesKnown future & past covariates for GBDT, Prophet, AutoARIMA
MultivariateITransformer / SRSNet: multi-input → multi-output
Incremental learningupdate(new_data) warm-starts NNs, refits ML/stat models
HPOBuilt-in Optuna search inside SmartRouter (hpo_strategy='quick')
Preprocessing toolkitMissing values, outlier detection, stationarity tests, frequency detection
Feature engineeringFourier, calendar, holiday, lag rolling features
EvaluationWalk-forward backtesting, residual analysis, multi-model comparison
VisualizationACF/PACF, decomposition, forecast plot — with Chinese font auto-detection
Save / load (.pts)Binary format with SHA-256 checksums and atomic writes

Models

Neural Network (34)

KeyModel
d_linearDLinear — decomposition linear
n_linearNLinear — simple linear mapping
n_beatsN-BEATS
n_hitsN-HiTS — hierarchical interpolation
tftTemporal Fusion Transformer
transformerTransformer encoder
tideTime-series Dense Encoder
gauGated Attention Unit
stacking_rnnRWKV linear RNN + gated residual
time2vecTime2Vec + RWKV
patch_rnnPatch-based RNN
tcnTemporal Convolutional Network
itransformerInverted Transformer (multivariate)
srs_netSelective Representation Space Net (multivariate)
deeparDeepAR — RWKV encoder + Gaussian head
timexer / time_mixerModern modular TimeXer / TimeMixer variants
timesnet / msgnetFrequency and multi-scale convolutional variants
pyraformer / informer / reformerEfficient transformer-style variants
etsformer / autoformer / fedformerDecomposition and frequency-aware variants
lightts / tsmixer / wpmixerLightweight mixer variants
patchtst / multi_patch_formerPatch transformer variants
nonstationary_transformerNon-stationarity-aware transformer variant
timefilter / seg_rnn / tirexFiltering, segmented RNN, and trend-residual variants

Modern NN variants share modular reusable layers and a central spec registry to avoid duplicated wrapper/backbone boilerplate.

Machine Learning (8)

KeyModel
torch_boosting_forestGPU gradient boosting (MART/DART)
torch_bagging_forestGPU bagging forest
deep_forestgcForest cascade ensemble
wide_gbrtWide-table GBRT with 40+ lag features
multi_output_modelMulti-output sklearn regressor
multi_step_modelMulti-step sklearn regressor
regressor_chainChained regressors
gc_forestClassic gcForest

Statistical (2+)

KeyModel
prophetCustom Prophet-like with ridge regression
auto_arimaAuto ARIMA — native implementation, no statsmodels
theta / ets / stat_ensembleFast lightweight baselines

Foundation — zero-shot (6, optional)

pip install chronos-forecasting      # Chronos-2
pip install tirex-ts                 # TiRex foundation
pip install transformers==4.40.1     # Sundial / Time-MoE
KeyModel
chronos_2Amazon Chronos-2 (120M, covariate support)
chronos_2_smallChronos-2-Small (28M)
chronos_2_synthChronos-2-Synth
tirex_foundationNX-AI TiRex zero-shot foundation model
sundialTHUML Sundial / Timer 3.0
time_moeTime-MoE mixture-of-experts foundation model

Documentation

Full API reference, guides, and tutorials live in the docs/ directory and the tutorials/ folder.

ResourceLink
Quick Startdocs/quickstart.md
All Modelsdocs/models.md
Pipeline & PipelineConfigsdocs/pipeline.md
SmartRouterdocs/advanced.md
Preprocessingdocs/preprocessing.md
Feature Engineeringdocs/feature_engineering.md
Evaluation & Metricsdocs/evaluation.md
Visualizationdocs/visualization.md
Zero-Friction APIdocs/api_reference.md#zero-friction-api
API Referencedocs/api_reference.md
ChangelogCHANGELOG.md

Tutorials (Jupyter notebooks):


License

This project is licensed under the Apache 2.0 License. See LICENSE for details.

auto-machine-learning
data-science
deep-learning
forecasting
machine-learning
python
time-series
time-series-forecasting

BirchKwok/PipelineTS

⚡ Simplest and most professional TimeSeries forecasting + AutoML. Preprocess → Predict.

Python

11

169 commits

updated May 20, 2026

See the code

README

PipelineTS

PyPI PyPI - License PyPI - Python Version Downloads

⚡ Simplest and most professional TimeSeries forecasting + AutoML.
One line to forecast. Professional when you need it.


Installation

pip install PipelineTS          # core (ML + stats)
pip install PipelineTS[torch]   # + PyTorch NN models

Python ≥ 3.9 required.


Quick Start

One-line forecast

from PipelineTS import forecast

pred = forecast("sales.csv", n=12)   # auto-infers columns, cleans data, runs AutoML

Diagnose → Forecast → Backtest

from PipelineTS import diagnose, forecast, backtest

report = diagnose("sales.csv", horizon=12)   # data readiness check
pred   = forecast("sales.csv", n=12)         # AutoML prediction
score  = backtest("sales.csv", n=12)         # walk-forward evaluation

print(report["status"])      # READY / WARNING / NOT_READY
print(score["summary"])      # mean ± std of MAE across folds

Progressive professional control

from PipelineTS import AutoForecast

model = AutoForecast(
    time_col="date", target_col="value",
    horizon=12,
    preset="high_quality",   # fast | medium_quality | high_quality | best_quality
    quantile=0.9,            # 90% prediction intervals
)
model.fit(data)
pred = model.predict()

print(model.leader_board_)   # ranked model comparison
print(model.strategy_)       # routing decisions

model.save("forecaster.pts")
loaded = AutoForecast.load("forecaster.pts")

ModelPipeline — full control

from PipelineTS.pipeline import ModelPipeline, PipelineConfigs
from sklearn.preprocessing import StandardScaler

pipeline = ModelPipeline(
    time_col="date", target_col="value",
    lags=12, quantile=0.9,
    include_models=["d_linear", "catboost", "prophet"],   # or 'all', 'nn', 'ml', 'light'
)
leaderboard = pipeline.fit(data)
pred = pipeline.predict(n=12)

# Per-model configuration
configs = PipelineConfigs([
    ("d_linear", "d_linear_std",  {"pipeline_configs": {"lags": 24, "scaler": StandardScaler()}}),
    ("catboost", "catboost_diff", {"pipeline_configs": {"differential_n": 1}}),
])
pipeline = ModelPipeline(..., configs=configs)

SmartRouter — intelligent AutoML

from PipelineTS.pipeline import SmartRouter

router = SmartRouter(
    time_col="date", target_col="value",
    n_predict=12,
    preset="medium_quality",          # auto-configures models, CV, search, ensemble
    ensemble_strategy="auto",
    quantile=0.9,
)
router.fit(data)
pred = router.predict(n=12)

# Multi-quantile intervals
result = router.predict_quantiles(n=12, levels=[0.5, 0.8, 0.9])

# Panel data (multiple series)
router = SmartRouter(time_col="date", target_col="sales", id_col="store_id")
router.fit(panel_data)

# Save / load
router.save("router.pts")
router = SmartRouter.load("router.pts")

Features

CapabilityDetails
50+ built-in models34 NN · ML · statistical · optional foundation models
Zero-friction APIforecast() auto-infers columns, cleans data, runs AutoML
SmartRouter AutoMLProfiles data → selects models, lags, scaler, hyperparams, ensemble
Conformal intervalsDistribution-free CQR for NNs + conformal prediction for all models
Multi-quantilepredict_quantiles(levels=[0.5, 0.8, 0.9]) in one call
Panel dataid_col for native multi-series with per-series scaling
CovariatesKnown future & past covariates for GBDT, Prophet, AutoARIMA
MultivariateITransformer / SRSNet: multi-input → multi-output
Incremental learningupdate(new_data) warm-starts NNs, refits ML/stat models
HPOBuilt-in Optuna search inside SmartRouter (hpo_strategy='quick')
Preprocessing toolkitMissing values, outlier detection, stationarity tests, frequency detection
Feature engineeringFourier, calendar, holiday, lag rolling features
EvaluationWalk-forward backtesting, residual analysis, multi-model comparison
VisualizationACF/PACF, decomposition, forecast plot — with Chinese font auto-detection
Save / load (.pts)Binary format with SHA-256 checksums and atomic writes

Models

Neural Network (34)

KeyModel
d_linearDLinear — decomposition linear
n_linearNLinear — simple linear mapping
n_beatsN-BEATS
n_hitsN-HiTS — hierarchical interpolation
tftTemporal Fusion Transformer
transformerTransformer encoder
tideTime-series Dense Encoder
gauGated Attention Unit
stacking_rnnRWKV linear RNN + gated residual
time2vecTime2Vec + RWKV
patch_rnnPatch-based RNN
tcnTemporal Convolutional Network
itransformerInverted Transformer (multivariate)
srs_netSelective Representation Space Net (multivariate)
deeparDeepAR — RWKV encoder + Gaussian head
timexer / time_mixerModern modular TimeXer / TimeMixer variants
timesnet / msgnetFrequency and multi-scale convolutional variants
pyraformer / informer / reformerEfficient transformer-style variants
etsformer / autoformer / fedformerDecomposition and frequency-aware variants
lightts / tsmixer / wpmixerLightweight mixer variants
patchtst / multi_patch_formerPatch transformer variants
nonstationary_transformerNon-stationarity-aware transformer variant
timefilter / seg_rnn / tirexFiltering, segmented RNN, and trend-residual variants

Modern NN variants share modular reusable layers and a central spec registry to avoid duplicated wrapper/backbone boilerplate.

Machine Learning (8)

KeyModel
torch_boosting_forestGPU gradient boosting (MART/DART)
torch_bagging_forestGPU bagging forest
deep_forestgcForest cascade ensemble
wide_gbrtWide-table GBRT with 40+ lag features
multi_output_modelMulti-output sklearn regressor
multi_step_modelMulti-step sklearn regressor
regressor_chainChained regressors
gc_forestClassic gcForest

Statistical (2+)

KeyModel
prophetCustom Prophet-like with ridge regression
auto_arimaAuto ARIMA — native implementation, no statsmodels
theta / ets / stat_ensembleFast lightweight baselines

Foundation — zero-shot (6, optional)

pip install chronos-forecasting      # Chronos-2
pip install tirex-ts                 # TiRex foundation
pip install transformers==4.40.1     # Sundial / Time-MoE
KeyModel
chronos_2Amazon Chronos-2 (120M, covariate support)
chronos_2_smallChronos-2-Small (28M)
chronos_2_synthChronos-2-Synth
tirex_foundationNX-AI TiRex zero-shot foundation model
sundialTHUML Sundial / Timer 3.0
time_moeTime-MoE mixture-of-experts foundation model

Documentation

Full API reference, guides, and tutorials live in the docs/ directory and the tutorials/ folder.

ResourceLink
Quick Startdocs/quickstart.md
All Modelsdocs/models.md
Pipeline & PipelineConfigsdocs/pipeline.md
SmartRouterdocs/advanced.md
Preprocessingdocs/preprocessing.md
Feature Engineeringdocs/feature_engineering.md
Evaluation & Metricsdocs/evaluation.md
Visualizationdocs/visualization.md
Zero-Friction APIdocs/api_reference.md#zero-friction-api
API Referencedocs/api_reference.md
ChangelogCHANGELOG.md

Tutorials (Jupyter notebooks):


License

This project is licensed under the Apache 2.0 License. See LICENSE for details.

auto-machine-learning
data-science
deep-learning
forecasting
machine-learning
python
time-series
time-series-forecasting

Project health

Latest release

1.3.0 · Feb 15, 2026

Releases this year

4