Skip to content

Releases: Nixtla/nixtla

v0.5.1

06 May 19:07
bdfe063
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.5.0...v0.5.1

v0.5.0

01 May 19:50
8f7a865
Compare
Choose a tag to compare

What's Changed

New features

Docs

Full Changelog: v0.4.0...v0.5.0

v0.4.0

25 Apr 02:02
06cebcc
Compare
Choose a tag to compare

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

  • [FEAT] Process multiple partitions in parallel by @elephaint in #296

Enhancements

New Contributors

Full Changelog: v0.3.0...v0.4.0

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