diff --git a/docs/changelogs/index.md b/docs/changelogs/index.md index fcac16e1..33b5eb3a 100644 --- a/docs/changelogs/index.md +++ b/docs/changelogs/index.md @@ -3,6 +3,7 @@ Welcome to the TimeCopilot Changelog. Here, you will find a comprehensive list of all the changes, updates, and improvements made to the TimeCopilot project. This section is designed to keep you informed about the latest features, bug fixes, and enhancements as we continue to develop and refine the TimeCopilot experience. Stay tuned for regular updates and feel free to explore the details of each release below. +- [v0.0.24](v0.0.24.md) - [v0.0.23](v0.0.23.md) - [v0.0.22](v0.0.22.md) - [v0.0.21](v0.0.21.md) diff --git a/docs/changelogs/v0.0.24.md b/docs/changelogs/v0.0.24.md new file mode 100644 index 00000000..36cfd274 --- /dev/null +++ b/docs/changelogs/v0.0.24.md @@ -0,0 +1,79 @@ +### Features + +* **Chronos 2 finetuning**: Finetuning is now supported for Chronos 2. You can adapt the pre-trained model to your data before forecasting via `ChronosFinetuningConfig`, with options for full parameter update or LoRA, and optional saving of the finetuned checkpoint for reuse. See [#323](https://github.com/TimeCopilot/timecopilot/pull/323) and the [Finetuning Foundation Models](https://timecopilot.dev/examples/finetuning/) example for a full walkthrough. + + ```python + import pandas as pd + from timecopilot.models.foundation.chronos import Chronos, ChronosFinetuningConfig + + df = pd.read_csv( + "https://timecopilot.s3.amazonaws.com/public/data/events_pageviews.csv", + parse_dates=["ds"], + ) + + # Chronos 2 with finetuning (full or LoRA) + model = Chronos( + repo_id="autogluon/chronos-2-small", + alias="chronos-2-finetuned", + finetuning_config=ChronosFinetuningConfig( + finetune_steps=10, + finetune_mode="lora", # or "full" + save_path="./chronos-2-finetuned/", # optional: reuse later with repo_id=save_path, finetuning_config=None + ), + ) + + fcst_df = model.forecast(df, h=12) + print(fcst_df) + ``` + +* **PatchTST-FM foundation model**: Added [PatchTST-FM](https://huggingface.co/ibm-research/patchtst-fm-r1), a Time Series Foundation Model from IBM Research. Use it via the `PatchTSTFM` class. See [#312](https://github.com/TimeCopilot/timecopilot/pull/312) and the [PatchTST-FM example](https://timecopilot.dev/examples/patchtst-fm/). + + ```python + import pandas as pd + from timecopilot.models.foundation.patchtst_fm import PatchTSTFM + + df = pd.read_csv( + "https://timecopilot.s3.amazonaws.com/public/data/events_pageviews.csv", + parse_dates=["ds"], + ) + + model = PatchTSTFM() # defaults to ibm-research/patchtst-fm-r1 + fcst_df = model.forecast(df, h=12) + print(fcst_df) + ``` + +### Fixes + +* **Chronos default dtype**: Changed Chronos default dtype from `bfloat16` to `float32` for better compatibility on systems without bfloat16 support. See [#309](https://github.com/TimeCopilot/timecopilot/pull/309). + +* **FlowState h=1 crash**: Fixed a crash in FlowState when using horizon `h=1`. See [#305](https://github.com/TimeCopilot/timecopilot/pull/305). + +* **AWS Bedrock connection**: Fixed Bedrock connection error caused by a missing description. See [#311](https://github.com/TimeCopilot/timecopilot/pull/311). + +* **Slow pip install**: Improved pip install performance. See [#306](https://github.com/TimeCopilot/timecopilot/pull/306). + +### Documentation + +* **sktime integration blog post**: Added a blog post on using timecopilot with the sktime forecasting ecosystem. See [#301](https://github.com/TimeCopilot/timecopilot/pull/301) and [#304](https://github.com/TimeCopilot/timecopilot/pull/304). + +* **Newsletter and contact**: Added newsletter signup and "Talk to Us" button to the docs. See [#303](https://github.com/TimeCopilot/timecopilot/pull/303). + +* **Contributing and issue template**: Fixed timecopilot fork links in `contributing.md` and updated the issue template to use the correct repository link. See [#314](https://github.com/TimeCopilot/timecopilot/pull/314) and [#315](https://github.com/TimeCopilot/timecopilot/pull/315). + +### Continuous Integration + +* **TOML check in CI**: CI now validates TOML configuration. See [#319](https://github.com/TimeCopilot/timecopilot/pull/319). + +### Other + +* **Hugging Face Hub**: Bumped `huggingface_hub` to v0.36.2. See [#300](https://github.com/TimeCopilot/timecopilot/pull/300). + +## New Contributors + +* @khuyentran1401 made their first contribution in [#301](https://github.com/TimeCopilot/timecopilot/pull/301) +* @rebot-eng made their first contribution in [#309](https://github.com/TimeCopilot/timecopilot/pull/309) +* @JoseCelis made their first contribution in [#311](https://github.com/TimeCopilot/timecopilot/pull/311) + +--- + +**Full Changelog**: https://github.com/TimeCopilot/timecopilot/compare/v0.0.23...v0.0.24 diff --git a/docs/examples/finetuning.ipynb b/docs/examples/finetuning.ipynb index 83c5741d..d63fdac0 100644 --- a/docs/examples/finetuning.ipynb +++ b/docs/examples/finetuning.ipynb @@ -51,7 +51,7 @@ "source": [ "## Load the dataset\n", "\n", - "We use the same events pageviews dataset as in the [Chronos family](chronos-family.ipynb) example." + "We use the same events pageviews dataset as in the [Chronos family](https://timecopilot.dev/examples/chronos-family/) example." ] }, { diff --git a/mkdocs.yml b/mkdocs.yml index 1eff9310..a40294e6 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -52,6 +52,7 @@ nav: - api/gift-eval/gift-eval.md - Changelogs: - changelogs/index.md + - changelogs/v0.0.24.md - changelogs/v0.0.23.md - changelogs/v0.0.22.md - changelogs/v0.0.21.md diff --git a/pyproject.toml b/pyproject.toml index 28c197f2..d1aaae77 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -106,7 +106,7 @@ license = "MIT" name = "timecopilot" readme = "README.md" requires-python = ">=3.10" -version = "0.0.23" +version = "0.0.24" [project.scripts] timecopilot = "timecopilot._cli:main" diff --git a/uv.lock b/uv.lock index 58660b9b..aa3dbe4e 100644 --- a/uv.lock +++ b/uv.lock @@ -6889,7 +6889,7 @@ dependencies = [ ] name = "timecopilot" source = {editable = "."} -version = "0.0.23" +version = "0.0.24" [package.dev-dependencies] dev = [