diff --git a/README.md b/README.md index 67058595..71caf57e 100644 --- a/README.md +++ b/README.md @@ -283,5 +283,19 @@ You can ask other types of questions: - Watch for new releases! +## How to cite? + +Our pre-print paper is [available in arxiv](https://arxiv.org/abs/2509.00616). + +@misc{garza2025timecopilot, + title={TimeCopilot}, + author={Azul Garza and ReneƩ Rosillo}, + year={2025}, + eprint={2509.00616}, + archivePrefix={arXiv}, + primaryClass={cs.LG}, + url={https://arxiv.org/abs/2509.00616}, +} + diff --git a/docs/changelogs/index.md b/docs/changelogs/index.md index 2386f5ef..9e480a6e 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.18](v0.0.18.md) - [v0.0.17](v0.0.17.md) - [v0.0.16](v0.0.16.md) - [v0.0.15](v0.0.15.md) diff --git a/docs/changelogs/v0.0.18.md b/docs/changelogs/v0.0.18.md new file mode 100644 index 00000000..497e18dd --- /dev/null +++ b/docs/changelogs/v0.0.18.md @@ -0,0 +1,61 @@ +### Features + +* **Anomaly Detection Capabilities**: Added comprehensive anomaly detection functionality to the forecaster, enabling identification of outliers and unusual patterns in time series data. See [#213](https://github.com/AzulGarza/timecopilot/pull/213). + + ```python + import pandas as pd + from timecopilot import TimeCopilotForecaster + from timecopilot.models.stats import SeasonalNaive, Theta + from timecopilot.models.foundation.chronos import Chronos + + # Load your time series data + df = pd.read_csv( + "s3://timecopilot/public/data/taylor_swift_pageviews.csv", + parse_dates=["ds"], + ) + + # Create forecaster with multiple models + tcf = TimeCopilotForecaster( + models=[ + Chronos(repo_id="amazon/chronos-bolt-mini"), + SeasonalNaive(), + Theta(), + ] + ) + + # Detect anomalies with 95% confidence level + anomalies_df = tcf.detect_anomalies(df=df, h=7, level=95) + + # Visualize the results + tcf.plot(df, anomalies_df) + ``` + +* **fev Experiments**: Added new [fev](https://github.com/autogluon/fev) experiments to expand the evaluation results. See [#211](https://github.com/AzulGarza/timecopilot/pull/211). + +* **Chat-like CLI Capabilities**: Introduced an interactive, conversational CLI interface that enables natural language interaction with TimeCopilot. The CLI now supports seamless model switching, anomaly detection integration, and real-time plotting capabilities. See [#215](https://github.com/AzulGarza/timecopilot/pull/215). + + ```bash + # Start the interactive CLI + uv run timecopilot + + # Natural conversation examples: + > "forecast the next 12 months" + > "now try this with Chronos" + > "highlight anomalies in this series" + > "show me the plot" + > "explain the results" + ``` + +### Fixes + +* **GIFT-Eval Import Corrections**: Fixed import statements after refactoring in the GIFT-Eval experiment to ensure proper functionality. See [#209](https://github.com/AzulGarza/timecopilot/pull/209). + +* **Documentation Link Updates**: Corrected links throughout the documentation after the recent refactoring to maintain proper navigation. See [#210](https://github.com/AzulGarza/timecopilot/pull/210). + +### Documentation + +* **README Improvements**: Enhanced README.md with updated information and improved clarity. See [#207](https://github.com/AzulGarza/timecopilot/pull/207). + +--- + +**Full Changelog**: https://github.com/AzulGarza/timecopilot/compare/v0.0.17...v0.0.18 \ No newline at end of file diff --git a/docs/roadmap.md b/docs/roadmap.md index 8d7fee75..b0a45d81 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -1,43 +1 @@ TimeCopilot is under active development with a clear roadmap ahead. Please visit our [issue tracker](https://github.com/AzulGarza/timecopilot/issues) on GitHub to stay updated on the latest features, report issues, and contribute to the project. - -### Core Features in Progress - -- [ ] Multi-series support - - [ ] Processing for multiple time series - - [ ] Cross-series analysis and insights - - [ ] Hierarchical forecasting -- [ ] Advanced Model Integration - - [ ] Neural network models (Transformers, N-BEATS) - - [ ] Machine learning models (XGBoost, LightGBM) - - [ ] Custom model registry - -### Exciting New Agents - -- [ ] Anomaly Detection Agent - - [ ] Real-time anomaly detection - - [ ] Root cause analysis - - [ ] Alert generation -- [ ] Multi-Agent System - - [ ] Collaborative forecasting - - [ ] Ensemble predictions - - [ ] Agent specialization - -### Enhanced Capabilities - -- [ ] Exogenous Variables Support - - [ ] External feature integration - - [ ] Feature importance analysis - - [ ] Causal analysis -- [ ] API Development - - [ ] RESTful API - - [ ] Streaming capabilities - -### Infrastructure & Documentation - -- [ ] Comprehensive Documentation - - [ ] API reference - - [ ] Best practices guide - - [ ] Example gallery -- [ ] Developer Tools - - [ ] CLI improvements - - [ ] Jupyter integration diff --git a/mkdocs.yml b/mkdocs.yml index 2cb4e8ba..a6bc7528 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -42,6 +42,7 @@ nav: - api/gift-eval/gift-eval.md - Changelogs: - changelogs/index.md + - changelogs/v0.0.18.md - changelogs/v0.0.17.md - changelogs/v0.0.16.md - changelogs/v0.0.15.md diff --git a/pyproject.toml b/pyproject.toml index ea58eba8..8baadca8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -74,7 +74,7 @@ license = "MIT" name = "timecopilot" readme = "README.md" requires-python = ">=3.10" -version = "0.0.17" +version = "0.0.18" [project.scripts] timecopilot = "timecopilot._cli:main" diff --git a/uv.lock b/uv.lock index 4e5b7ff0..f19f5b96 100644 --- a/uv.lock +++ b/uv.lock @@ -6730,7 +6730,7 @@ wheels = [ [[package]] name = "timecopilot" -version = "0.0.17" +version = "0.0.18" source = { editable = "." } dependencies = [ { name = "fire" },