Skip to main content

Storage Status

The goal of cesnet-tszoo project is to provide time series datasets with useful tools for preprocessing and reproducibility. Such as:

  • API for downloading, configuring and loading various datasets (e.g. CESNET-TimeSeries24, CESNET-TimeSeries26, CESNET-AGG23...), each with various sources and aggregations.
  • Example of configuration options:
    • Data can be split into train/val/test sets. Split can be done by time series or by time periods.
    • Transforming of data with built-in transformers or with custom transformers.
    • Handling missing values built-in fillers or with custom fillers.
    • Applying custom handlers.
    • Changing order of when are preprocesses applied/fitted
  • Creation and import of benchmarks, for easy reproducibility of experiments.
  • Creation and import of annotations. Can create annotations for specific time series, specific time or specific time in specific time series.

Datasets

Name CESNET-TimeSeries24 CESNET-TimeSeries26 CESNET-AGG23 Abilene GÉANT SDN Telecom Italia Network Operator KPIs
Published in 2025 2026 2023 2005 2005 2021 2015 2023
Collection period 9.10.2023 - 14.7.2024 9.10.2023 - 30.6.2026 (one subnet since 31.12.2021) 25.2.2023 - 3.5.2023 2004 2005 — 2013–2014 —
Collection duration 40 weeks 142 weeks 10 weeks 6 months 16 weeks 4 days 2 months Multiple weeks
Aggregation window 1 day, 1 hour, 10 min 1 day, 1 hour, 10 min 1 min 5 min, 10 min, 1 hour, 1 day 15 min, 1 hour, 1 day 1 min, 10 min, 1 hour, 1 day 10 min, 1 hour, 1 day 5 min, 10 min, 1 hour, 1 day
Sources CESNET3: Institutions, Institution subnets, IP addresses CESNET3: Institutions, Institution subnets, IP addresses (full, random sample, samples by share of missing values, one subnet longitudinal) CESNET2 Abilene network GÉANT network Simulated SDN environment Milan city cells (SMS, call, internet) Network operator
Subsets — — — Matrix, Node2Node, Node Matrix, Node2Node, Node Matrix, Node2Node, Node — Downstream, Internet, Sessions, VPN
Cite https://doi.org/10.1038/s41597-025-04603-x https://doi.org/10.5281/zenodo.21945629 https://doi.org/10.23919/CNSM59352.2023.10327823 https://doi.org/10.1145/885651.781053 https://dl.acm.org/doi/10.1145/1111322.1111341 https://doi.org/10.1109/ICC42927.2021.9500331 https://doi.org/10.1038/sdata.2015.55 https://doi.org/10.5281/zenodo.8147768
Source URL https://zenodo.org/records/13382427 https://zenodo.org/records/21945629 https://zenodo.org/records/8053021 https://www.cs.utexas.edu/~yzhang/research/AbileneTM https://totem.info.ucl.ac.be/dataset.html https://github.com/duchuyle108/SDN-TMprediction https://dataverse.harvard.edu https://doi.org/10.5281/zenodo.8147768

Installation

Install the package from pip with:

pip install cesnet-tszoo

or for editable install with:

pip install -e git+https://github.com/CESNET/cesnet-tszoo#egg=cesnet-tszoo

Citation

If you use CESNET TS-Zoo, please cite our paper:

@misc{kures2025,
    title={CESNET TS-Zoo: A Library for Reproducible Analysis of Network Traffic Time Series}, 
    author={Milan Kureš and Josef Koumar and Karel Hynek},
    booktitle={2025 21th International Conference on Network and Service Management (CNSM)}, 
    year={2025}
}

Examples

For detailed examples refer to Tutorial notebooks

Initialize dataset to create train, validation, and test dataframes

Using TimeBasedCesnetDataset dataset

from cesnet_tszoo.datasets import CESNET_TimeSeries24
from cesnet_tszoo.utils.enums import SourceType, AgreggationType, DatasetType
from cesnet_tszoo.configs import TimeBasedConfig

dataset = CESNET_TimeSeries24.get_dataset(data_root="/some_directory/", source_type=SourceType.INSTITUTIONS, aggregation=AgreggationType.AGG_1_DAY, dataset_type=DatasetType.TIME_BASED)
config = TimeBasedConfig(
    ts_ids=50, # number of randomly selected time series from dataset
    train_time_period=range(0, 100), 
    val_time_period=range(100, 150), 
    test_time_period=range(150, 250), 
    features_to_take=["n_flows", "n_packets"])
dataset.set_dataset_config_and_initialize(config)

train_dataframe = dataset.get_train_df()
val_dataframe = dataset.get_val_df()
test_dataframe = dataset.get_test_df()

Time-based datasets are configured with TimeBasedConfig.

Using DisjointTimeBasedCesnetDataset dataset

from cesnet_tszoo.datasets import CESNET_TimeSeries24
from cesnet_tszoo.utils.enums import SourceType, AgreggationType, DatasetType
from cesnet_tszoo.configs import DisjointTimeBasedConfig

dataset = CESNET_TimeSeries24.get_dataset("/some_directory/", source_type=SourceType.INSTITUTIONS, aggregation=AgreggationType.AGG_1_DAY, dataset_type=DatasetType.DISJOINT_TIME_BASED)
config = DisjointTimeBasedConfig(
    train_ts=50, # number of randomly selected time series from dataset that are not in val_ts and test_ts
    val_ts=20, # number of randomly selected time series from dataset that are not in train_ts and test_ts
    test_ts=10, # number of randomly selected time series from dataset that are not in train_ts and val_ts
    train_time_period=range(0, 100), 
    val_time_period=range(100, 150), 
    test_time_period=range(150, 250), 
    features_to_take=["n_flows", "n_packets"])
dataset.set_dataset_config_and_initialize(config)

train_dataframe = dataset.get_train_df()
val_dataframe = dataset.get_val_df()
test_dataframe = dataset.get_test_df()

Disjoint-time-based datasets are configured with DisjointTimeBasedConfig.

Using SeriesBasedCesnetDataset dataset

from cesnet_tszoo.datasets import CESNET_TimeSeries24
from cesnet_tszoo.utils.enums import SourceType, AgreggationType, DatasetType
from cesnet_tszoo.configs import SeriesBasedConfig

dataset = CESNET_TimeSeries24.get_dataset(data_root="/some_directory/", source_type=SourceType.INSTITUTIONS, aggregation=AgreggationType.AGG_1_DAY, dataset_type=DatasetType.SERIES_BASED)
config = SeriesBasedConfig(
    time_period=range(0, 250), 
    train_ts=50, # number of randomly selected time series from dataset that are not in val_ts and test_ts
    val_ts=20, # number of randomly selected time series from dataset that are not in train_ts and test_ts
    test_ts=10, # number of randomly selected time series from dataset that are not in train_ts and val_ts
    features_to_take=["n_flows", "n_packets"])
dataset.set_dataset_config_and_initialize(config)

train_dataframe = dataset.get_train_df()
val_dataframe = dataset.get_val_df()
test_dataframe = dataset.get_test_df()

Series-based datasets are configured with SeriesBasedConfig.

Using load_benchmark

from cesnet_tszoo.benchmarks import load_benchmark

benchmark = load_benchmark(identifier="2e92831cb502", data_root="/some_directory/")
dataset = benchmark.get_initialized_dataset()

train_dataframe = dataset.get_train_df()
val_dataframe = dataset.get_val_df()
test_dataframe = dataset.get_test_df()

Loaded dataset can be one of the above.

Metadata

Release files for cesnet-tszoo 2.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cesnet-tszoo 2.3.0
File Size Uploaded
cesnet_tszoo-2.3.0.tar.gz 13.7 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for cesnet-tszoo 2.3.0
File Interpreter ABI Platform
cesnet_tszoo-2.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 27.6 MB

Release files / cesnet_tszoo-2.3.0.tar.gz

Download URL cesnet_tszoo-2.3.0.tar.gz
Size 13.7 MB
Tags Source
SHA-256 checksum
How to use checksums
b51c95ac042deaeb95444883b66c2bc40e9aad39b14b32cc81ab10a5f3ece0c4
BLAKE2b-256 checksum
How to use checksums
c65e2c2291e3f7ffce6fcf6517c8678ebcdd34ec25f5ff64085d7a46c076338d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / cesnet_tszoo-2.3.0-py3-none-any.whl

Download URL cesnet_tszoo-2.3.0-py3-none-any.whl
Size 13.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
785b49eeefaca9b09c99f627fecb374f84ca1c849c0b9d5a740146a491765c90
BLAKE2b-256 checksum
How to use checksums
9d5e02308a25445b00c0fd44f8da9f681b109663887a88d0e3d6402365076146
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

2.3.0 This release

2 release files

2.2.0

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.0

3 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page