Skip to main content

A Python library for generating synthetic time series data

Project description

ts-data-generator logo

Synthetic Time Series Data Generator

CI Python License

Generate realistic synthetic time series datasets with configurable dimensions, metrics, composable trend functions, and injectable anomalies — via a Python API or the tsdata CLI.

sample plot

📚 Documentation

For complete details on features, API reference, CLI usage, and advanced configuration, visit our documentation site:

👉 https://manojmanivannan.github.io/ts-data-generator/


Features

  • Realistic Data: Mimic real-world time series with trends, seasonality, and noise.
  • Composable Trends: Layer multiple functions (Sinusoidal, Linear, AR Noise, Markov) to create complex signals.
  • Injectable Anomalies: Simulate failures with point anomalies, missing data gaps, and concept drifts.
  • Deterministic: Guaranteed reproducibility via a seedable RNG.
  • CLI & API: Use the tsdata CLI for rapid prototyping or the Python API for production pipelines.
  • Schema Imputing: Reverse-engineer generation configs from existing CSV datasets.

Quickstart

Installation

pip install ts-data-generator

CLI Usage

tsdata generate --start 2024-01-01 --end 2024-01-07 --granularity h \
    --dims "region:US,EU,AP" \
    --mets "sales:LinearTrend(slope=45)+SinusoidalTrend(amplitude=10,freq=24)" \
    --output sales.csv

Python API

from ts_data_generator import DataGen
from ts_data_generator.utils.trends import SinusoidalTrend

dg = DataGen(seed=42)
dg.start_datetime = "2024-01-01"
dg.end_datetime = "2024-01-07"
dg.to_granularity("h")

dg.add_metric("temp", {SinusoidalTrend(amplitude=10, freq=24)})

df = dg.data
dg.plot()

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ts_data_generator-0.5.4.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ts_data_generator-0.5.4-py3-none-any.whl (39.8 kB view details)

Uploaded Python 3

File details

Details for the file ts_data_generator-0.5.4.tar.gz.

File metadata

  • Download URL: ts_data_generator-0.5.4.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ts_data_generator-0.5.4.tar.gz
Algorithm Hash digest
SHA256 9506f8d9facab92b0f6eee56aefc3b9a8bf09679117e321b6a97becaa0800c97
MD5 724c7a8e5c251f829bc80212f48d0c22
BLAKE2b-256 3b52fb50861e72615ed7da0ad6c0ff4bf52b0d0a68dc8bc3250bf9af29b8ec79

See more details on using hashes here.

Provenance

The following attestation bundles were made for ts_data_generator-0.5.4.tar.gz:

Publisher: ci.yaml on manojmanivannan/ts-data-generator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ts_data_generator-0.5.4-py3-none-any.whl.

File metadata

File hashes

Hashes for ts_data_generator-0.5.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8962ec8c849145e5ac099d7eb4561865a85b64fee202e5f8648c640d7e21284c
MD5 cb35e674463e8d9b27160e8d8bc9a082
BLAKE2b-256 a8d2fb68b323d47cc7f8365ad12402b1f69dd2d8595483004416fae6b67f41d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for ts_data_generator-0.5.4-py3-none-any.whl:

Publisher: ci.yaml on manojmanivannan/ts-data-generator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page