Metadata-Version: 2.5
Name: metaforecast
Version: 0.3.0
Summary: Meta-learning and Data-centric Forecasting
Project-URL: Homepage, https://github.com/vcerqueira/metaforecast
Project-URL: Bug Tracker, https://github.com/vcerqueira/metaforecast/issues
Author-email: Vitor Cerqueira <cerqueira.vitormanuel@gmail.com>
License: DUAL LICENSE AGREEMENT
        
        Open Source License (AGPL 3.0)
        
        This program is free software: you can redistribute it and/or modify it
        under the terms of the GNU Affero General Public License as published by
        the Free Software Foundation, either version 3 of the License, or
        (at your option) any later version.
        
        This program is distributed in the hope that it will be useful, but
        WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
        or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
        License for more details.
        
        You should have received a copy of the GNU Affero General Public License
        along with this program. If not, see https://www.gnu.org/licenses/.
        
        Additional Terms for Open Source License
        
        Any modified version of this software that is publicly distributed, made
        available, or used in production must make the complete corresponding
        source code available to users.
        
        If you modify and distribute this software, you must include a prominent
        notice stating that you have modified the software and the date of any
        change.
        
        
        Commercial License
        
        Vitor Cerqueira ("Licensor") provides an alternative Commercial License
        for users who wish to use metaforecast without the requirements of the
        AGPL 3.0 license.
        
        1. GRANT OF LICENSE
        
        Subject to the terms of this Agreement and payment of applicable license
        fees, Licensor grants to you ("Licensee") a non-exclusive,
        non-transferable license to use metaforecast ("Software").
        
        2. SCOPE OF LICENSE
        
        This Commercial License permits Licensee to:
        
        - Use the Software for commercial purposes
        - Incorporate the Software into proprietary applications
        - Modify the Software without obligation to release source code
        - Deploy the Software in production environments
        
        3. COMMERCIAL LICENSING
        
        For information regarding commercial licensing terms, pricing, and
        payment options, interested parties should contact:
        
        cerqueira.vitormanuel@gmail.com
        
        4. TERM AND TERMINATION
        
        This license shall remain in effect until terminated. Licensor may
        terminate this license if Licensee fails to comply with any term or
        condition of this Agreement.
        
        5. WARRANTY DISCLAIMER
        
        THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
        
        6. LIMITATION OF LIABILITY
        
        IN NO EVENT SHALL LICENSOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
        USE OR OTHER DEALINGS IN THE SOFTWARE.
        
        7. GENERAL
        
        This Agreement constitutes the entire agreement between the parties
        concerning the subject matter hereof.
        
        For commercial licensing inquiries, please contact:
        cerqueira.vitormanuel@gmail.com
License-File: LICENSE
Keywords: Data Science,Forecasting,Machine Learning,Time Series
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: <3.14,>=3.11
Requires-Dist: arch==8.0.0
Requires-Dist: catboost==1.2.10
Requires-Dist: mlforecast==1.0.2
Requires-Dist: neuralforecast==3.1.2
Requires-Dist: pandas-stubs~=3.0.5
Requires-Dist: pandas<4,>=3
Requires-Dist: pytorch-lightning==2.5.6
Requires-Dist: statsforecast==2.0.3
Requires-Dist: tsfeatures==0.4.5
Requires-Dist: tslearn==0.6.4
Requires-Dist: utilsforecast==0.2.15
Provides-Extra: dev
Requires-Dist: bump-my-version; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Provides-Extra: docs
Requires-Dist: ipython; extra == 'docs'
Requires-Dist: nbsphinx; extra == 'docs'
Requires-Dist: nbsphinx-link; extra == 'docs'
Requires-Dist: sphinx-copybutton; extra == 'docs'
Requires-Dist: sphinx-rtd-theme; extra == 'docs'
Requires-Dist: sphinx<8,>=7; extra == 'docs'
Description-Content-Type: text/markdown

# metaforecast

<p align="center">
  <img src="cover.png" alt="metaforecast">
</p>

[![PyPi Version](https://img.shields.io/pypi/v/metaforecast)](https://pypi.org/project/metaforecast/)
[![Documentation Status](https://readthedocs.org/projects/metaforecast/badge/?version=latest)](https://metaforecast.readthedocs.io/en/latest/?badge=latest)
[![GitHub](https://img.shields.io/github/stars/vcerqueira/metaforecast?style=social)](https://github.com/vcerqueira/metaforecast)
[![Downloads](https://static.pepy.tech/badge/metaforecast)](https://pepy.tech/project/metaforecast)

metaforecast is a Python package for time series forecasting using meta-learning and data-centric techniques.

This package implements various techniques to improve forecasting accuracy
based on dynamic model combination, data augmentation, algorithm selection, and adaptive learning, building upon Nixtla’s awesome ecosystem of state-of-the-art forecasting methods.

## Features

metaforecast currently consists of five main modules:

1. **Dynamic Ensembles**: Combining multiple models with adaptive ensemble techniques, including online learning (exponential, polynomial, and related updates), sliding-window selection, and meta-learning-based weighting (ADE).
2. **Synthetic Time Series Generation**: Creating realistic synthetic time series data for robust model training and
   testing.
   Includes pure generators, semi-synthetic methods, transformation-based augmentation, and a callback for online data
   augmentation.
3. **Long-Horizon Meta-Learning**: Instance-based meta-learning for multi-step forecasting.
4. **Algorithm Configuration and Selection (COSEAL)**: Meta-learning methods for selecting forecasting algorithms and
   their configurations, including MetaARIMA and ActiveTesting.
5. **Evaluation**: Series-wise cross-validation splitters and aspect-based accuracy analysis with ModelRadar
   (horizon, groups, anomalies, hard series, and ROPE comparisons).

## Installation

You can install metaforecast using pip:

```bash
pip install metaforecast
```

### [Optional] Installation from source

To install metaforecast from source, clone the repository and run the following command:

```bash
git clone https://github.com/vcerqueira/metaforecast
cd metaforecast
pip install -e .
```

## Documentation

Check the [documentation](https://metaforecast.readthedocs.io/en/latest/index.html) for
the API reference and module descriptions.
You can get started with a few [tutorials](https://metaforecast.readthedocs.io/en/latest/notebooks.html).

----

### **⚠️ WARNING**

> metaforecast is in the early stages of development.
> The codebase may undergo significant changes.
> If you encounter any issues, please report
> them in [GitHub Issues](https://github.com/vcerqueira/metaforecast/issues)

## License

metaforecast is dual-licensed.

- **AGPL-3.0-or-later** for open-source use. You may use, modify, and share the
  source. If you distribute a modified version or run one in production, you
  must make the corresponding source available.

See [LICENSE](LICENSE) for the full terms.
