Skip to main content

Comprehensive Time Series Exploratory Data Analysis toolkit

Project description

PyPI Python Versions License Tests

“Understand your time series before you forecast it.”

tseda is a comprehensive, dependency-light Python toolkit for time series Exploratory Data Analysis (EDA). It is to time series what YData-Profiling is to tabular data: a single command that produces a complete understanding of any time series dataset before you start modelling.


Why tseda?

Existing libraries solve individual problems. No single package provides all of:

  • Comprehensive EDA & data auditing

  • Forecastability assessment

  • Automated diagnostics (stationarity, seasonality, anomalies)

  • Structural break / changepoint detection

  • Feature engineering

  • Model recommendations

  • Interactive reports

tseda fills that gap, using only numpy, pandas, scipy, and matplotlib as core dependencies.


Installation

pip install tseda

For stationarity tests that use statsmodels (ADF, KPSS, Phillips-Perron):

pip install tseda[stats]

For building the documentation:

pip install tseda[docs]

Quick Start

import numpy as np
import pandas as pd
from tseda import TimeSeries

# Build a TimeSeries object
idx = pd.date_range("2020-01-01", periods=365, freq="D")
ts  = TimeSeries(
    np.cumsum(np.random.randn(365)),
    index=idx,
    name="stock_price",
    unit="USD",
)
print(ts)

# Data quality
from tseda.quality import MissingValueAnalyzer, OutlierDetector
missing = MissingValueAnalyzer().analyze(ts)
outliers = OutlierDetector().mad(ts)

# Statistics
from tseda.statistics import DescriptiveAnalyzer, StationarityTester
stats = DescriptiveAnalyzer().analyze(ts)
adf   = StationarityTester().adf(ts)
print(adf.summary() if hasattr(adf, "summary") else adf)

# Decomposition
from tseda.decomposition import STLDecomposer
dec = STLDecomposer().decompose(ts, period=7)
print(dec.summary())

# Seasonality
from tseda.seasonality import SeasonalityDetector
season = SeasonalityDetector().detect(ts)
print(f"Dominant period: {season.dominant_period}")

Modules

Module

Capability

core

TimeSeries data structure & validators

quality

Missing values, outlier detection, flat-line checks

statistics

Descriptive stats, stationarity, ACF/PACF

decomposition

Classical & STL decomposition

seasonality

FFT periodogram + ACF-based period detection

anomaly

Rolling IQR/Z-score, STL-residual anomaly detection

changepoint

Structural break / CUSUM detection

features

Temporal, statistical, spectral feature extraction

forecastability

Forecast-readiness scoring & leakage detection

visualization

Matplotlib plot suite

report

HTML & console report generation


Dependencies

Core (always installed):

  • numpy >= 1.23

  • pandas >= 1.5

  • scipy >= 1.9

  • matplotlib >= 3.6

Optional:

  • statsmodels >= 0.14 — ADF, KPSS, Phillips-Perron, STL (pip install tseda[stats])


Documentation

https://amir-jafari.github.io/Time-Series-EDA


Contributing

Contributions are welcome! Please open an issue or pull request at https://github.com/amir-jafari/Time-Series-EDA.


License

MIT © 2026 Amirhossein Jafari

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

timeseries_eda-0.1.1.tar.gz (237.9 kB view details)

Uploaded Source

Built Distribution

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

timeseries_eda-0.1.1-py3-none-any.whl (119.5 kB view details)

Uploaded Python 3

File details

Details for the file timeseries_eda-0.1.1.tar.gz.

File metadata

  • Download URL: timeseries_eda-0.1.1.tar.gz
  • Upload date:
  • Size: 237.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for timeseries_eda-0.1.1.tar.gz
Algorithm Hash digest
SHA256 91defcefc4a1fe7ff6c6f14f780f679e3e644ac421fb197d4fe6f111e78af1a6
MD5 64806bc756de9d3f292e33d1a6e705d5
BLAKE2b-256 073a44e58f7191c7819090b3d2cdeb4e1f9d00ccf73efed01be301125624a8e4

See more details on using hashes here.

File details

Details for the file timeseries_eda-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: timeseries_eda-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 119.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for timeseries_eda-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2abf497111e19b8c896b6ea7bdcebd3b5eb193801928cb1d5b7a4c940211e24d
MD5 7d337d4bc79ff149a6df4cd980a662a5
BLAKE2b-256 6ddf59f8098e8fe222f8b6fce65531b4ad57277454cc9f38b8da9c51aaca2ea1

See more details on using hashes here.

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