--- id: dbl-tempo version: "0.1.30" license: MIT license_treatment: permissive maintenance: active --- # dbl-tempo — Tempo is timeseries manipulation for Spark. This project builds upon the capabilities of PySpark to provide a suite of abstractions and functions that make operations on timeseries data easier and highly scalable. License: permissive · Maintenance: active · Downloads: 4.2M/mo ## What it is and what it does Tempo is a library that wraps DataFrames to simplify time series analysis. It provides a TSDF (Time Series DataFrame) abstraction that treats a DataFrame as a collection of time series, one per partition key, and exposes methods for common time series operations: resampling to different frequencies, AS OF joins to merge the latest records from a source table, rolling statistics over time windows, exponential and simple moving averages, Fourier transforms, and interpolation of missing values. The library also supports Delta Lake optimization on time and partition fields. Tempo is built for data teams using Databricks who need to perform time series transformations at scale. It handles the complexity of windowing and sorting across partitions, allowing you to work with time-indexed data using a higher-level API. The entry point is always a TSDF object, which requires a distinguished timestamp column and optionally partition and sequence columns. Use it for: - Resample high-frequency sensor or event data into regular time buckets (e.g., 1-minute aggregates) for analysis or visualization. - Perform AS OF joins to enrich a fact table with the most recent values from a slowly-changing dimension or reference table. - Generate lagged features from time series for machine learning (e.g., prior 50 values for EMA-based prediction). - Compute rolling statistics (mean, min, max) over a time window to detect anomalies or trends in streaming data. - Interpolate missing time periods in sparse time series using forward-fill, backward-fill, or linear interpolation methods. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Tempo provides time series operations on Spark DataFrames, including AS OF joins, rolling statistics, lagged feature generation, and Delta Lake optimization for time-partitioned data. Yes. Tempo is actively maintained, has no known vulnerabilities, uses a permissive MIT license, and zero runtime dependencies. It is well-suited for teams already using Databricks who need to simplify time series operations. Install it if you work with time-indexed data; skip it if you do not need time series transformations. ## Install pip install dbl-tempo uv add dbl-tempo poetry add dbl-tempo ## Installing dbl-tempo Before you install: Low install friction with a pure-Python wheel. Actively maintained as of 2026-07-10 with 344 repository stars and regular releases since 2021. License in practice: MIT license permits commercial and private use with minimal restrictions, making it suitable for most production environments. Quickstart: pip install dbl-tempo from tempo import TSDF tsdf = TSDF(spark_df, ts_col="event_ts", partition_cols=["user_id"]) resampled = tsdf.resample(freq='min', func='mean') Requires Apache Spark and PySpark; designed for use in Databricks notebooks or local Spark environments. Verify before relying: - Whether Tempo's operations scale efficiently to very large time series datasets or specific volume thresholds. - Performance characteristics of AS OF joins compared to native Spark windowing on typical workloads. - Support for custom aggregation functions beyond the documented 'floor', 'ceil', 'min', 'max', 'mean' options. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 4.2M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags spark time series operations, as of join spark, rolling statistics spark, time series features spark, databricks time series, temporal data spark, time series resampling, time-series, databricks [View on SkillFed](https://skillfed.io/packages/dbl-tempo) · [View on PyPI](https://pypi.org/project/dbl-tempo/)