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.2.tar.gz (241.5 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.2-py3-none-any.whl (120.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for timeseries_eda-0.1.2.tar.gz
Algorithm Hash digest
SHA256 5b8ea11cf703f75fe63c62ac48e5873070dfd143176d2289ab308bd799bc276e
MD5 8c9d2470408041fd6a52b9d9718e3397
BLAKE2b-256 1180e96da388fd77760319f5f5d50c8d7a91af316ac5848260dacbf7c7a0ff24

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for timeseries_eda-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4e80cc65d959b2c1c377f8574fd810f2d458f5e9aab917070a09a15f9d531fa6
MD5 7e4d63c755b0d1557a5ff1200ef52684
BLAKE2b-256 c2da9035e04bba852f0776df085ddf67cf892761c1abe3ca1e5b1a5cc6239291

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