Skip to content

Releases: Nixtla/nixtla

v0.3.0

03 Apr 02:31
Compare
Choose a tag to compare

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

  • feat: update docs in #268
  • feat: add moirai benchmark in #271
  • feat: replace token by api_key and environment by base_url in #275
  • feat: replace TimeGPT class by NixtlaClient class in #276

Fixes

  • fix: recover finetune and model changes in #274
  • fix nixtla_client page render in #279

Full Changelog: v0.2.0...v0.3.0

v0.2.0

22 Mar 04:06
Compare
Choose a tag to compare

What's Changed

Features

  • feat: SDK support Fern Regeneration -- March 22, 2024 in #261
  • feat: replace finetune with fewshot in #262
  • feat: use new endpoints and rename models in #263

Documentation

  • docs: add azure automl experiment in #246
  • docs: add finetuning loss function tutorial and link it to finetuning tutorial in #239
  • docs: tutorial on long-horizon forecasting in #249
  • docs: add new faqs section in #250
  • docs: add new sections to documentation in #255
  • docs: add amazon chronos benchmark in #257
  • docs: update README.md in #258

Fixes

  • chore: add pre-commit in #252
  • chore: collapse experiment results in pr in #247
  • fix: all transform_inputs to handle cases where index column is set as time_col in #254
  • hotfix: ignore precommit fern in #260

New Contributors

Full Changelog: v0.1.21...v0.2.0

v0.1.21

07 Mar 07:38
Compare
Choose a tag to compare

What's Changed

Features

  • feat: add contributing file in #236
  • feat: add quantiles to forecast and cross validation methods in #242

Fixes

  • add no response bot in #232
  • fix: upper limit ray version in #235

Full Changelog: v0.1.20...v0.1.21

v0.1.20

15 Feb 20:11
Compare
Choose a tag to compare

What's Changed

Features

  • add prophet comparison experiment in #204
  • finetune loss in #218
  • add lag-llama experiment in #224

Bug Fixes

  • chore: fern-ignore changelog file in #206
  • chore: add summary results prophet experiment in #210
  • set upper bound on pandas in #225

New Contributors

Full Changelog: v0.1.19...v0.1.20

v0.1.19

09 Dec 04:01
Compare
Choose a tag to compare

What's Changed

Features

  • [FEAT] enable num_partitions for pandas in #176

Bug fixes

  • chore: add changelog file in #169
  • docs: add faqs to mintlify index in #170
  • fix: add correct ex vars to cross validation in #171
  • fix: solve problem with duplicated dates in #190

Full Changelog: v0.1.18...v0.1.19

v0.1.18

10 Nov 00:23
Compare
Choose a tag to compare

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: v0.1.17...v0.1.18

v0.1.17

10 Oct 05:27
Compare
Choose a tag to compare

What's Changed

  • [!FIX] change plotly to matplotlib in #119
  • [FEAT] Deploy docs to README in #120
  • [FIX] Rename deploy readme action in #121
  • [FEAT] Improve readme docs in #122
  • [FEAT] Update docs in #123
  • [FIX] Add end of callout block in #124
  • [FEAT] Add possibility to use index to infer freq in #125

Full Changelog: v0.1.16...v0.1.17

v0.1.16

24 Sep 00:28
Compare
Choose a tag to compare

What's Changed

  • [FIX] Dependencies and local data in #111
  • [FEAT] Add plot method in #113
  • [FEAT] Add holidays and special dates support in #114
  • [DOCS] Add new structure in #115

Full Changelog: v0.1.15...v0.1.16

v0.1.15

23 Sep 03:32
Compare
Choose a tag to compare

What's Changed

  • 🌿 Fern Regeneration -- September 23, 2023 in #108
  • [FEAT] Handle exogenous variables for historic and anomaly detection endpoints in #110

Full Changelog: v0.1.14...v0.1.15

v0.1.14

17 Sep 23:30
Compare
Choose a tag to compare

What's Changed

  • [FEAT] Add support for distributed exogenous variables in #107

Full Changelog: v0.1.13...v0.1.14