nixtla

TimeGPT-1: production ready pre-trained Time Series Foundation Model for forecasting and anomaly detection. Generative pretrained transformer for time series trained on over 100B data points. It's capable of accurately predicting various domains such as retail, electricity, finance, and IoT with just a few lines of code 🚀.

OTHER License

Downloads
17.6K
Stars
2.2K
Committers
11

Bot releases are hidden (Show)

nixtla - v0.6.0 Latest Release

Published by jmoralez about 2 months ago

Breaking changes

  • Removed TimeGPT class in favor of NixtlaClient.
  • Removed NixtlaClient.validate_token method in favor of NixtlaClient.validate_api_key.
  • Removed short-horizon and long-horizon models in favor of timegpt-1 and timegpt-1-long-horizon respectively.
  • Removed fewshot_steps and fewshot_loss in favor of finetune_steps and finetune_loss respectively.
  • Removed TIMEGPT_TOKEN environment variable in favor of NIXTLA_API_KEY.
  • Timestamps in the time_col preserve their type in the outputs (timestamp), previously they were cast to string.
  • Gaps in series are not filled anymore, in line with our documentation. Please use the fill_gaps function if you require to do so.
  • NixtlaClient.weights_x is now a list of lists if num_partitions != None, where each element corresponds to the weights for a specific partition.

Features

Bug fixes

Enhancements

Documentation

Full Changelog: https://github.com/Nixtla/nixtla/compare/v0.5.2...v0.6.0

nixtla - v0.5.2

Published by AzulGarza 4 months ago

What's Changed

Features

Fixes

Chore

New Contributors

Full Changelog: https://github.com/Nixtla/nixtla/compare/v0.5.1...v0.5.2

nixtla - v0.5.1

Published by AzulGarza 6 months ago

What's Changed

Full Changelog: https://github.com/Nixtla/nixtla/compare/v0.5.0...v0.5.1

nixtla - v0.5.0

Published by AzulGarza 6 months ago

What's Changed

New features

Docs

Full Changelog: https://github.com/Nixtla/nixtla/compare/v0.4.0...v0.5.0

nixtla - v0.4.0

Published by jmoralez 6 months ago

What's Changed

Python package name change

We're deprecating the nixtlats package in favor of nixtla. Please ensure you make the following changes:

  1. Install the nixtla package: pip install nixtla
  2. Update your imports accordingly, e.g. from nixtla import NixtlaClient

New features

Enhancements

New Contributors

Full Changelog: https://github.com/Nixtla/nixtla/compare/v0.3.0...v0.4.0

nixtla - v0.3.0

Published by AzulGarza 7 months ago

What's Changed

Changelog

0.3.0

🔄 Changes & Deprecations

  • Deprecation of TimeGPT Class:
    In an effort to streamline our API and align with industry best practices, we're deprecating the TimeGPT class in favor of the new NixtlaClient class. This change is designed to provide a more intuitive and powerful interface for interacting with our services.

    Before:

    from nixtlats import TimeGPT
    
    # Initialize the TimeGPT model
    timegpt = TimeGPT()
    

    After:

    from nixtlats import NixtlaClient
    
    # Initialize the NixtlaClient
    nixtla = NixtlaClient()
    
  • Renaming of Configuration Parameters:
    To enhance clarity and consistency with other SDKs, we've renamed the token parameter to api_key and environment to base_url.

    Before:

    timegpt = TimeGPT(token='YOUR_TOKEN', environment='YOUR_ENVIRONMENT_URL')
    

    After:

    nixtla = NixtlaClient(api_key='YOUR_API_KEY', base_url='YOUR_BASE_URL')
    
  • Introduction of NixtlaClient.validate_api_key:
    Replacing the previous NixtlaClient.validate_token method, this update aligns with the new authentication parameter naming and offers a straightforward way to validate API keys.

    Before:

    timegpt.validate_token()
    

    After:

    nixtla.validate_api_key()
    
  • Environment Variable Changes:
    In line with the renaming of parameters, we've updated the environment variables to set up the API key and base URL. The TIMEGPT_TOKEN is now replaced with NIXTLA_API_KEY, and we've introduced NIXTLA_BASE_URL for custom API URLs.

  • Backward Compatibility & Future Warnings:
    These changes are designed to be backward compatible. However, users can expect to see future warnings when utilizing deprecated features, such as the TimeGPT class.

0.2.0 (Previously Released)

🔄 Changes & Deprecations

  • Renaming of Fine-Tuning Parameters:
    The finetune_steps and finetune_loss parameters were renamed to fewshot_steps and fewshot_loss. Additionally, the model parameter values changed from short-horizon and long-horizon to timegpt-1 and timegpt-1-long-horizon, with an emphasis on preserving backward compatibility. In version 0.3.0, these changes are deprecated in favor of reverting to the original parameter names and values, ensuring a seamless transition for existing users.

Features

Fixes

Full Changelog: https://github.com/Nixtla/nixtla/compare/v0.2.0...v0.3.0

nixtla - v0.2.0

Published by AzulGarza 7 months ago

What's Changed

Features

Documentation

Fixes

New Contributors

Full Changelog: https://github.com/Nixtla/nixtla/compare/v0.1.21...v0.2.0

nixtla - v0.1.21

Published by AzulGarza 8 months ago

What's Changed

Features

Fixes

Full Changelog: https://github.com/Nixtla/nixtla/compare/v0.1.20...v0.1.21

nixtla - v0.1.20

Published by AzulGarza 8 months ago

What's Changed

Features

Bug Fixes

New Contributors

Full Changelog: https://github.com/Nixtla/nixtla/compare/v0.1.19...v0.1.20

nixtla - v0.1.19

Published by AzulGarza 10 months ago

What's Changed

Features

Bug fixes

Full Changelog: https://github.com/Nixtla/nixtla/compare/v0.1.18...v0.1.19

nixtla - v0.1.18

Published by AzulGarza 11 months ago

What's Changed

🚀 Feature Enhancements

Forecast Using Diverse Models 🌐

Release of new forecasting methods. Among the updates, we've unveiled the timegpt-1-long-horizon model, crafted specifically for long-term forecasts that span multiple seasonalities. To use it, simply specify the model in your methods like so:

from nixtlats import TimeGPT

# Initialize the TimeGPT model
timegpt = TimeGPT()

# Generate forecasts using the long-horizon model
fcst_df = timegpt.forecast(..., model='timegpt-1-long-horizon')

# Perform cross-validation with the long-horizon model
cv_df = timegpt.cross_validation(..., model='timegpt-1-long-horizon')

# Detect anomalies with the long-horizon model
anomalies_df = timegpt.detect_anomalies(..., model='timegpt-1-long-horizon')

Choose between timegpt-1 for the first version of TimeGPT or timegpt-1-long-horizon for long horizon tasks..

Cross-Validation Methodology 📊

You can dive deeper into your forecasting pipelines with the new cross_validation feature. This method enables you to validate forecasts across different windows efficiently:

# Set up cross-validation with a custom horizon, number of windows, and step size
cv_df = timegpt.cross_validation(df, h=35, n_windows=5, step_size=5)

This will generate 5 distinct forecast sets, each with a horizon of 35, stepping through your data every 5 timestamps.

Retry Behavior for Robust API Calls 🔁

The new retry mechanism allows the making of more robust API calls (preventing them from crashing with large-scale tasks).

  • max_retries: Number of max retries for an API call.
  • retry_interval: Pause between retries.
  • max_wait_time: Total duration of retries.
timegpt = TimeGPT(max_retries=10, retry_interval=5, max_wait_time=360)

Token Inference Made Simple 🔑

The TimeGPT class now automatically infers your TIMEGPT_TOKEN using os.environ.get('TIMEGPT_TOKEN'), streamlining your setup:

# No more manual token handling - TimeGPT has got you covered
timegpt = TimeGPT()

For more information visit our FAQS section.

Introducing the FAQ Section 📘

Questions? We've got answers! Our new FAQ section tackles the most common inquiries, from integrating exogenous variables to configuring authorization tokens and understanding long-horizon forecasts.

Specific Changelog

New Features:

  • Add reference to pandas frequencies in PR #126
  • Add automatic evaluation workflow in PR #140
  • Retry behavior if api call fails in PR #146
  • Add support for new models (long horizon) in PR #156
  • Add cross-validation method in PR #159
  • Test correct import in CI in PR #163
  • Add colab badges to docs in PR #165

Fixes:

  • Add date features to fernignore in PR #127
  • Add new order to docs hosted in readme.com in PR #130
  • Refactor to expose endpoints in PR #132
  • Add tests for custom endpoint and abstract call api method in PR #143
  • Increase max wait time to catch ReadTimeout exception in PR #147
  • Fern-ignore new files in PR #149
  • Move docs-scripts to action_files in PR #151
  • Filter API errors in PR #155

Documentation and Miscellaneous:

  • Add CONTRIBUTING.md and mint.json in PR #135
  • Add docs scripts in PR #136
  • Checkout docs repo instead of using submodule in PR #154
  • Redirect to mintlify docs in PR #161
  • Refactor: default token to os.environ.get and remove os.environ in PR #164
  • Add faq docs in PR #166

New Contributors

Full Changelog: https://github.com/Nixtla/nixtla/compare/v0.1.17...v0.1.18

nixtla - v0.1.17

Published by FedericoGarza about 1 year ago

What's Changed

Full Changelog: https://github.com/Nixtla/nixtla/compare/v0.1.16...v0.1.17

nixtla - v0.1.16

Published by FedericoGarza about 1 year ago

What's Changed

Full Changelog: https://github.com/Nixtla/nixtla/compare/v0.1.15...v0.1.16

nixtla - v0.1.15

Published by FedericoGarza about 1 year ago

What's Changed

Full Changelog: https://github.com/Nixtla/nixtla/compare/v0.1.14...v0.1.15

nixtla - v0.1.14

Published by FedericoGarza about 1 year ago

What's Changed

Full Changelog: https://github.com/Nixtla/nixtla/compare/v0.1.13...v0.1.14

nixtla - v0.1.13

Published by FedericoGarza about 1 year ago

What's Changed

Full Changelog: https://github.com/Nixtla/nixtla/compare/v0.1.12...v0.1.13

nixtla - v0.1.12

Published by FedericoGarza about 1 year ago

What's Changed

Full Changelog: https://github.com/Nixtla/nixtla/compare/v0.1.11...v0.1.12

nixtla - v0.1.11

Published by FedericoGarza about 1 year ago

What's Changed

Full Changelog: https://github.com/Nixtla/nixtla/compare/v0.1.10...v0.1.11

nixtla - v0.1.10

Published by FedericoGarza about 1 year ago

What's Changed

Full Changelog: https://github.com/Nixtla/nixtla/compare/v0.1.9...v0.1.10

nixtla - v0.1.9

Published by FedericoGarza about 1 year ago

Hot Fix pydantic