functime  by functime-org

Python library for time-series ML at scale

created 2 years ago
1,124 stars

Top 34.8% on sourcepulse

GitHubView on GitHub
Project Summary

Functime is a Python library designed for large-scale time-series machine learning, specifically targeting panel data. It offers efficient feature extraction and forecasting capabilities, aiming to provide production-ready solutions for users dealing with numerous time series.

How It Works

Functime leverages Polars for its core operations, enabling embarrassingly parallel processing of time-series data. This approach allows for rapid feature engineering and forecasting across potentially hundreds of thousands of individual time series. The library integrates various time-series preprocessing techniques, cross-validation strategies (expanding and sliding windows), and forecast metrics, all optimized as lazy Polars transformations.

Quick Start & Requirements

  • Install via pip: pip install functime
  • Optional features: pip install "functime[llm,lgb]" for LLM and LightGBM support.
  • Prerequisites: Python. No specific hardware or GPU requirements are mentioned for basic functionality.
  • Documentation: Full walkthrough on forecasting, Feature Extraction examples.

Highlighted Details

  • Processes 100,000+ time series in seconds on a laptop.
  • Offers over 100 time-series feature extractors accessible via a custom Polars ts namespace.
  • Includes an LLM agent for analyzing, describing, and comparing forecasts.
  • Supports exogenous features and automated lag/hyperparameter tuning with FLAML.

Maintenance & Community

Licensing & Compatibility

  • Distributed under the Apache-2.0 license.
  • Permissive license suitable for commercial use and integration into closed-source projects.

Limitations & Caveats

The library is focused on panel data and may not be optimized for single, very long time series. While it claims "battle-tested" algorithms, specific benchmark results against other libraries are not detailed in the README.

Health Check
Last commit

1 year ago

Responsiveness

1+ week

Pull Requests (30d)
0
Issues (30d)
1
Star History
30 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.