Skip to content

Commit 50a1add

Browse files
authored
Merge branch 'main' into fix/issue-565-id-col-validation
2 parents abf270e + 290f1c3 commit 50a1add

59 files changed

Lines changed: 2093 additions & 935 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,11 @@ env:
1919
NIXTLA_BASE_URL: ${{ secrets.NIXTLA_DEV_BASE_URL }}
2020
NIXTLA_API_KEY_CUSTOM: ${{ secrets.NIXTLA_API_KEY_CUSTOM }}
2121
NIXTLA_BASE_URL_CUSTOM: ${{ secrets.NIXTLA_BASE_URL_CUSTOM }}
22-
API_KEY_FRED: ${{ secrets.API_KEY_FRED }}
2322

2423
jobs:
2524
check-import:
25+
permissions:
26+
contents: read
2627
runs-on: ubuntu-latest
2728
strategy:
2829
fail-fast: false
@@ -44,6 +45,8 @@ jobs:
4445
run: python -c "from nixtla import NixtlaClient"
4546

4647
run-notebooks-test:
48+
permissions:
49+
contents: write
4750
runs-on: nixtla-linux-large-public
4851
timeout-minutes: 60
4952
strategy:

.github/workflows/lint.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ on:
66
pull_request:
77
branches: [main]
88

9+
permissions:
10+
contents: read
11+
912
jobs:
1013
lint:
1114
runs-on: ubuntu-latest

.github/workflows/no-response.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ on:
66
schedule:
77
- cron: '0 4 * * *'
88

9+
permissions:
10+
contents: read
11+
912
jobs:
1013
noResponse:
1114
runs-on: ubuntu-latest

.github/workflows/pytest.yml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ env:
2020
NIXTLA_BASE_URL: ${{ secrets.NIXTLA_DEV_BASE_URL }}
2121
NIXTLA_API_KEY_CUSTOM: ${{ secrets.NIXTLA_API_KEY_CUSTOM }}
2222
NIXTLA_BASE_URL_CUSTOM: ${{ secrets.NIXTLA_BASE_URL_CUSTOM }}
23-
NIXTLA_API_KEY_FOR_SF: ${{ secrets.NIXTLA_API_KEY_FOR_SF }}
24-
API_KEY_FRED: ${{ secrets.API_KEY_FRED }}
2523
# Snowflake credentials for integration tests
2624
SF_ACCOUNT: ${{ secrets.SF_ACCOUNT }}
2725
SF_USER: ${{ secrets.SF_USER }}
2826
SF_PASSWORD: ${{ secrets.SF_PASSWORD }}
2927
SF_WAREHOUSE: ${{ secrets.SF_WAREHOUSE }}
3028
SF_ROLE: ${{ secrets.SF_ROLE }}
3129

30+
permissions:
31+
contents: read
3232

3333
jobs:
3434
run-tests:
@@ -56,14 +56,19 @@ jobs:
5656
run: >
5757
make devenv
5858
59+
- name: Cleanup old finetuned models
60+
run: >
61+
uv run python scripts/cleanup_finetuned_models.py --older-than 60
62+
continue-on-error: true
63+
5964
- name: Run tests (Linux Python 3.11)
6065
if: runner.os == 'Linux' && matrix.python-version == '3.11'
6166
env:
6267
# Required for distributed tests: Ray/Spark spawn worker processes
6368
# that need to locate the correct Python environment
6469
UV_PROJECT_ENVIRONMENT: ${{ github.workspace }}/.venv
65-
run: uv run pytest --cov=nixtla --reruns 3 --reruns-delay 10 --only-rerun ConnectError --only-rerun "Too Many Requests" nixtla_tests
70+
run: uv run pytest --cov=nixtla --reruns 3 --reruns-delay 10 --only-rerun ConnectError --only-rerun "Too Many Requests" --only-rerun "Internal server error" nixtla_tests
6671

6772
- name: Run tests (not Linux Python 3.11)
6873
if: runner.os != 'Linux' || matrix.python-version != '3.11'
69-
run: uv run pytest --cov=nixtla -m "not distributed_run" --reruns 3 --reruns-delay 10 --only-rerun ConnectError --only-rerun "Too Many Requests" nixtla_tests
74+
run: uv run pytest --cov=nixtla -m "not distributed_run and not snowflake" --reruns 3 --reruns-delay 10 --only-rerun ConnectError --only-rerun "Too Many Requests" --only-rerun "Internal server error" nixtla_tests

.github/workflows/python-publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,5 @@ jobs:
2424
run: python -m build
2525

2626
- name: Publish nixtla package
27-
uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # v1.13.0
27+
uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # v1.14.0
2828

.github/workflows/release-drafter.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@ jobs:
1515
pull-requests: read
1616
runs-on: ubuntu-latest
1717
steps:
18-
- uses: release-drafter/release-drafter@6db134d15f3909ccc9eefd369f02bd1e9cffdf97 # v6.2.0
18+
- uses: release-drafter/release-drafter@5de93583980a40bd78603b6dfdcda5b4df377b32 # v7.2.0
1919
env:
2020
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/test-publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
run: python -m build
2424

2525
- name: Publish nixtla package
26-
uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # v1.13.0
26+
uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # v1.14.0
2727
with:
2828
repository-url: https://test.pypi.org/legacy/
2929

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ This library uses `python-dotenv` for development. To set up your Nixtla API key
5858
NIXTLA_API_KEY=<your token>
5959
```
6060

61-
* NOTE: You can get your Nixtla API key by logging into [Nixtla Dashboard](https://dashboard.nixtla.io/) where you can get few API calls for free. If you need more API calls for development purpose, please write to `support@nixtla.io`.
61+
* NOTE: You can get your Nixtla API key by logging into [Nixtla Dashboard](https://nixtla.io/free-trial?utm_source=nixtla.io&utm_campaign=/docs/contributing) where you can get few API calls for free. If you need more API calls for development purpose, please write to `support@nixtla.io`.
6262

6363
#### Install pre-commit
6464

Makefile

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -12,39 +12,6 @@ jupyter:
1212
mkdir -p tmp
1313
jupyter lab --port=8888 --ip=0.0.0.0 --no-browser --allow-root --NotebookApp.token='' --NotebookApp.password='' --NotebookApp.allow_origin='*'
1414

15-
16-
load_docs_scripts:
17-
# load processing scripts
18-
if [ ! -d "docs-scripts" ] ; then \
19-
git clone -b scripts https://github.com/Nixtla/docs.git docs-scripts --single-branch; \
20-
fi
21-
22-
api_docs:
23-
lazydocs .nixtla --no-watermark
24-
python docs/to_mdx.py
25-
26-
examples_docs:
27-
mkdir -p nbs/_extensions
28-
cp -r docs-scripts/mintlify/ nbs/_extensions/mintlify
29-
quarto render nbs --output-dir ../docs/mintlify/
30-
31-
format_docs:
32-
# replace _docs with docs
33-
sed -i -e 's/_docs/docs/g' ./docs-scripts/docs-final-formatting.bash
34-
bash ./docs-scripts/docs-final-formatting.bash
35-
find docs/mintlify -name "*.mdx" -exec sed -i.bak '/^:::/d' {} + && find docs/mintlify -name "*.bak" -delete
36-
find docs/mintlify -name "*.mdx" -exec sed -i.bak 's/<support@nixtla\.io>/\\<support@nixtla.io\\>/g' {} + && find docs/mintlify -name "*.bak" -delete
37-
38-
preview_docs:
39-
cd docs/mintlify && mintlify dev
40-
41-
clean:
42-
rm -f docs/*.md
43-
find docs/mintlify -name "*.mdx" -exec rm -f {} +
44-
45-
46-
all_docs: load_docs_scripts api_docs examples_docs format_docs
47-
4815
licenses:
4916
pip-licenses --format=csv --with-authors --with-urls > third_party_licenses.csv
5017
python scripts/filter_licenses.py

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ from nixtla import NixtlaClient
3737
### Forecast using TimeGPT in 3 easy steps
3838

3939
```python
40-
# Get your API Key at dashboard.nixtla.io
40+
# Get your API Key at https://nixtla.io/free-trial?utm_source=nixtla.io&utm_campaign=/docs/readme
4141

4242
# 1. Instantiate the NixtlaClient
4343
nixtla_client = NixtlaClient(api_key = 'YOUR API KEY HERE')
@@ -58,7 +58,7 @@ nixtla_client.plot(df, fcst_df, level=[80, 90])
5858
### Anomaly detection using TimeGPT in 3 easy steps
5959

6060
```python
61-
# Get your API Key at dashboard.nixtla.io
61+
# Get your API Key at https://nixtla.io/free-trial?utm_source=nixtla.io&utm_campaign=/docs/readme
6262

6363
# 1. Instantiate the NixtlaClient
6464
nixtla_client = NixtlaClient(api_key = 'YOUR API KEY HERE')

0 commit comments

Comments
 (0)