Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions .github/workflows/build-docs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: "build-docs"
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
workflow_dispatch:

defaults:
run:
shell: bash

jobs:
build-docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- uses: actions/setup-python@v4
with:
cache: "pip"
python-version: '3.10'
cache-dependency-path: settings.ini
- name: Build docs
run: |
set -ux
python -m pip install --upgrade pip
pip install -Uq nbdev
pip install -e ".[dev]"
mkdir nbs/_extensions
cp -r docs-scripts/mintlify/ nbs/_extensions/
python docs-scripts/update-quarto.py
echo "procs = nbdev_plotly.plotly:PlotlyProc" >> settings.ini
nbdev_docs
- name: Apply final formats
run: bash ./docs-scripts/docs-final-formatting.bash
- name: Copy over necessary assets
run: |
cp nbs/mint.json _docs/mint.json
cp docs-scripts/imgs/* _docs/
- name: Deploy to Mintlify Docs
if: github.event_name == 'push'
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_branch: docs
publish_dir: ./_docs
# The following lines assign commit authorship to the official GH-Actions bot for deploys to `docs` branch.
# You can swap them out with your own user credentials.
user_name: github-actions[bot]
user_email: 41898282+github-actions[bot]@users.noreply.github.com
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ dist
.vscode
.idea
*.gif
*.icloud
*.csv
*/data/*
*.parquet
tmp
_docs/
_proc/
sidebar.yml
.DS_Store
.gitattributes
.gitconfig
Expand Down
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[submodule "docs-scripts"]
path = docs-scripts
url = git@github.com:Nixtla/docs.git
branch = scripts
334 changes: 176 additions & 158 deletions README.md

Large diffs are not rendered by default.

10 changes: 7 additions & 3 deletions dev/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,17 +1,21 @@
holidays<0.21
holidays<0.21
jupyterlab
matplotlib
numba>=0.55.0
numpy>=1.21.6
pandas>=1.3.5
pyspark>=3.3
pip
prophet
pyarrow
scipy>=1.7.3
statsmodels>=0.13.2
tabulate
plotly
utilsforecast>=0.0.5
fugue[dask,ray]
nbdev
tqdm
plotly-resampler
polars
supersmoother
supersmoother
tqdm
1 change: 1 addition & 0 deletions docs-scripts
Submodule docs-scripts added at d63d02
41 changes: 20 additions & 21 deletions nbs/docs/contribute/step-by-step.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,49 +15,49 @@ Sometimes, diving into a new technology can be challenging and overwhelming. We'
7. [Start Coding](#start-coding)
8. [Example with Screen-shots](#example-with-screen-shots)

## Prerequisites
## Prerequisites

- _GitHub_: You should already have a GitHub account and a basic understanding of its functionalities. Alternatively check [this guide](https://docs.github.com/en/get-started).
- _Python_: Python should be installed on your system. Alternatively check [this guide](https://www.python.org/downloads/).
- _conda_: You need to have conda installed, along with a good grasp of fundamental operations such as creating environments, and activating and deactivating them. Alternatively check [this guide](https://conda.io/projects/conda/en/latest/user-guide/install/index.html).
- *GitHub*: You should already have a GitHub account and a basic understanding of its functionalities. Alternatively check [this guide](https://docs.github.com/en/get-started).
- *Python*: Python should be installed on your system. Alternatively check [this guide](https://www.python.org/downloads/).
- *conda*: You need to have conda installed, along with a good grasp of fundamental operations such as creating environments, and activating and deactivating them. Alternatively check [this guide](https://conda.io/projects/conda/en/latest/user-guide/install/index.html).

## Git `fork-and-pull` worklow

**1. Fork the Project:**
**1. Fork the Project:**
Start by forking the Nixtla repository to your own GitHub account. This creates a personal copy of the project where you can make changes without affecting the main repository.

**2. Clone the Forked Repository**
Clone the forked repository to your local machine using `git clone https://github.com/<your-username>/nixtla.git`. This allows you to work with the code directly on your system.
Clone the forked repository to your local machine using `git clone https://github.com/<your-username>/nixtla.git`. This allows you to work with the code directly on your system.

**3. Create a Branch:**
**3. Create a Branch:**

Branching in GitHub is a key strategy for effectively managing and isolating changes to your project. It allows you to segregate work on different features, fixes, and issues without interfering with the main, production-ready codebase.

1. _Main Branch_: The default branch with production-ready code.
1. *Main Branch*: The default branch with production-ready code.

2. _Feature Branches_: For new features, create branches prefixed with 'feature/', like `git checkout -b feature/new-model`.
2. *Feature Branches*: For new features, create branches prefixed with 'feature/', like `git checkout -b feature/new-model`.

3. _Fix Branches_: For bug fixes, use 'fix/' prefix, like `git checkout -b fix/forecasting-bug`.
3. *Fix Branches*: For bug fixes, use 'fix/' prefix, like `git checkout -b fix/forecasting-bug`.

4. _Issue Branches_: For specific issues, use `git checkout -b issue/issue-number` or `git checkout -b issue/issue-description`.
4. *Issue Branches*: For specific issues, use `git checkout -b issue/issue-number` or `git checkout -b issue/issue-description`.

After testing, branches are merged back into the main branch via a pull request, and then typically deleted to maintain a clean repository. You can read more about github and branching [here](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository).

## Set Up a Conda Environment
## Set Up a Conda Environment

> If you want to use Docker or Codespaces, let us know opening an issue and we will set you up.

Next, you'll need to set up a [Conda](https://docs.conda.io/en/latest/) environment. Conda is an open-source package management and environment management system that runs on Windows, macOS, and Linux. It allows you to create separate environments containing files, packages, and dependencies that will not interact with each other.

First, ensure you have Anaconda or Miniconda installed on your system. Alternatively checkout these guides: [Anaconda](https://www.anaconda.com/), [Miniconda](https://docs.conda.io/en/latest/miniconda.html), and [Mamba](https://mamba.readthedocs.io/en/latest/).

Then, you can create a new environment using `conda create -n nixtla-env python=3.10`.
Then, you can create a new environment using `conda create -n nixtla-env python=3.10`.

You can also use mamba for creating the environment (mamba is faster than Conda) using `mamba create -n nixtla-env python=3.10`.
You can also use mamba for creating the environment (mamba is faster than Conda) using `mamba create -n nixtla-env python=3.10`.

You can replace `nixtla-env` for something more meaningful to you. Eg. `statsforecast-env` or `mlforecast-env`. You can always check the list of environments in your system using `conda env list`.

Activate your new environment with `conda activate nixtla-env`.
Activate your new environment with `conda activate nixtla-env`.

## Install required libraries for development

Expand All @@ -71,7 +71,7 @@ Sometimes (e.g. StatsForecast) the `enviorment.yml` is sometimes inside a folder

## Start editable mode

Install the library in editable mode using `pip install -e ".[dev]"`.
Install the library in editable mode using `pip install -e ".[dev]"`.

This means the package is linked directly to the source code, allowing any changes made to the source code to be immediately reflected in your Python environment without the need to reinstall the package. This is useful for testing changes during package development.

Expand Down Expand Up @@ -101,8 +101,9 @@ Open a jupyter notebook using `jupyter lab` (or VS Code).

2. **Commit Your Changes:** Add the changed files using `git add [your_modified_file_0.ipynb] [your_modified_file_1.ipynb]`, then commit these changes using `git commit -m "<type>: <Your descriptive commit message>"`. Please use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/)

3. **Push Your Changes:**
Push your changes to the remote repository on GitHub with `git push origin feature/your-feature-name`.

3. **Push Your Changes:**
Push your changes to the remote repository on GitHub with `git push origin feature/your-feature-name`.

4. **Open a Pull Request:** Open a pull request from your new branch on the Nixtla repository on GitHub. Provide a thorough description of your changes when creating the pull request.

Expand All @@ -117,7 +118,6 @@ You can find a detailed step by step buide with screen-shots below.
## Example with Screen-shots

### 1. Create a fork of the mlforecast repo

The first thing you need to do is create a fork of the GitHub repository to your own account:

<img width="700" alt="image" src="https://github.com/Nixtla/how-to-contribute-nixtlaverse/assets/10517170/af767f5b-66f1-4068-9dd2-917096285ae9" />
Expand Down Expand Up @@ -229,5 +229,4 @@ Finally, you will see something like this:
<img width="700" alt="image" src="https://github.com/Nixtla/how-to-contribute-nixtlaverse/assets/10517170/846c0b97-46d2-492b-a58e-3e9f669c1632" />

## Notes

- This file was generated using [this file](https://github.com/Nixtla/nixtla-commons/blob/main/docs/contribute/step-by-step.md). Please change that file if you want to enhance the document.
- This file was generated using [this file](https://github.com/Nixtla/nixtla-commons/blob/main/docs/contribute/step-by-step.md). Please change that file if you want to enhance the document.
4 changes: 4 additions & 0 deletions nbs/docs/how-to-guides/migrating_R.qmd
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
---
title: Migrating from R
---

## 🚧 We are working on this site.
This site is currently in development. If you are particularly interested in this section, please open a GitHub Issue, and we will prioritize it.
2 changes: 1 addition & 1 deletion nbs/docs/models/Holt.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@
"\n",
"For each method there exist two models: one with additive errors and one with multiplicative errors. The point forecasts produced by the models are identical if they use the same smoothing parameter values. They will, however, generate different prediction intervals.\n",
"\n",
"To distinguish between a model with additive errors and one with multiplicative errors. We label each state space model as ETS( .,.,.) for (Error, Trend, Seasonal). This label can also be thought of as ExponenTial Smoothing. Using the same notation as in Table 7.5, the possibilities for each component are: Error =\\\\{A,M } , Trend =\\\\{ N,A,A d} and Seasonal =\\\\{ N,A,M }\n",
"To distinguish between a model with additive errors and one with multiplicative errors. We label each state space model as ETS( .,.,.) for (Error, Trend, Seasonal). This label can also be thought of as ExponenTial Smoothing. Using the same notation as in Table 7.5, the possibilities for each component are: $Error=\\{A,M\\}$, $Trend=\\{N,A,A_d\\}$ and $Seasonal=\\{N,A,M\\}$\n",
"\n",
"For our case, the linear Holt model with a trend, we are going to see two cases, both for the additive and the multiplicative\n",
"\n",
Expand Down
Binary file added nbs/favicon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added nbs/favicon_png.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed nbs/imgs/logo/dark.png
Binary file not shown.
Binary file removed nbs/imgs/logo/light.png
Binary file not shown.
122 changes: 122 additions & 0 deletions nbs/mint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
{
"$schema": "https://mintlify.com/schema.json",
"name": "Nixtla",
"logo": {
"light": "/light.png",
"dark": "/dark.png"
},
"favicon": "/favicon.svg",
"colors": {
"primary": "#0E0E0E",
"light": "#FAFAFA",
"dark": "#0E0E0E",
"anchors": {
"from": "#2AD0CA",
"to": "#0E00F8"
}
},
"topbarCtaButton": {
"type": "github",
"url": "https://github.com/Nixtla/nixtla"
},
"topAnchor": {
"name": "StatsForecast",
"icon": "bolt"
},
"navigation": [
{
"group": "",
"pages": ["index.html"]
},
{
"group": "Getting Started",
"pages": [
"docs/getting-started/installation.html",
"docs/getting-started/getting_started_short.html",
"docs/getting-started/getting_started_complete.html"
]
},
{
"group": "Tutorials",
"pages": [
"docs/tutorials/anomalydetection.html",
"docs/tutorials/conformalprediction.html",
"docs/tutorials/crossvalidation.html",
"docs/tutorials/electricityloadforecasting.html",
"docs/tutorials/electricitypeakforecasting.html",
"docs/tutorials/garch_tutorial.html",
"docs/tutorials/intermittentdata.html",
"docs/tutorials/multipleseasonalities.html",
"docs/tutorials/statisticalneuralmethods.html",
"docs/tutorials/uncertaintyintervals.html"
]
},
{
"group": "How to Guides",
"pages": [
"docs/how-to-guides/automatic_forecasting.html",
"docs/how-to-guides/amazonstatsforecast.html",
"docs/how-to-guides/autoarima_vs_prophet.html",
"docs/how-to-guides/dask.html",
"docs/how-to-guides/ets_ray_m5.html",
"docs/how-to-guides/exogenous.html",
"docs/how-to-guides/getting_started_complete_polars.html",
"docs/how-to-guides/migrating_R",
"docs/how-to-guides/numba_cache.html",
"docs/how-to-guides/prophet_spark_m5.html",
"docs/how-to-guides/ray.html",
"docs/how-to-guides/spark.html"
]
},
{
"group": "Model References",
"pages": [
"docs/models/adida.html",
"docs/models/arch.html",
"docs/models/arima.html",
"docs/models/autoarima.html",
"docs/models/autoces.html",
"docs/models/autoets.html",
"docs/models/autoregressive.html",
"docs/models/autotheta.html",
"docs/models/crostonclassic.html",
"docs/models/crostonoptimized.html",
"docs/models/crostonsba.html",
"docs/models/dynamicoptimizedtheta.html",
"docs/models/dynamicstandardtheta.html",
"docs/models/garch.html",
"docs/models/holt.html",
"docs/models/holtwinters.html",
"docs/models/imapa.html",
"docs/models/multipleseasonaltrend.html",
"docs/models/optimizedtheta.html",
"docs/models/seasonalexponentialsmoothing.html",
"docs/models/seasonalexponentialsmoothingoptimized.html",
"docs/models/simpleexponentialoptimized.html",
"docs/models/simpleexponentialsmoothing.html",
"docs/models/standardtheta.html",
"docs/models/tsb.html"
]
},
{
"group": "API Reference",
"pages": [
"src/core/core.html",
"src/core/distributed.fugue.html",
"src/core/models.html",
"src/core/models_intro"
]
},
{
"group": "Contributing",
"pages": [
"docs/contribute/contribute",
"docs/contribute/docs",
"docs/contribute/issue-labels",
"docs/contribute/issues",
"docs/contribute/step-by-step",
"docs/contribute/techstack"
]
}
]
}
19 changes: 19 additions & 0 deletions nbs/sidebar.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
website:
reader-mode: false
sidebar:
collapse-level: 1
contents:
- index.ipynb
- text: "--"
- section: "Getting Started"
contents: docs/getting-started/*
- section: "Tutorials"
contents: docs/tutorials/*
- section: "How-To Guides"
contents: docs/how-to-guides/*
- section: "Model References"
contents: docs/models/*
- section: "API Reference"
contents: src/core/*
- section: "Contributing"
contents: docs/contribute/*
Loading