Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: aeon-toolkit/aeon
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.7.0
Choose a base ref
...
head repository: aeon-toolkit/aeon
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.7.1
Choose a head ref
Loading
Showing 614 changed files with 8,191 additions and 3,412 deletions.
77 changes: 77 additions & 0 deletions .all-contributorsrc
Original file line number Diff line number Diff line change
@@ -2275,6 +2275,83 @@
"contributions": [
"bug"
]
},
{
"login": "Raya679",
"name": "Raya Chakravarty",
"avatar_url": "https://avatars.githubusercontent.com/u/113240231?v=4",
"profile": "https://github.com/Raya679",
"contributions": [
"doc"
]
},
{
"login": "itsdivya1309",
"name": "Divya Tiwari",
"avatar_url": "https://avatars.githubusercontent.com/u/108270861?v=4",
"profile": "https://github.com/itsdivya1309",
"contributions": [
"data"
]
},
{
"login": "nimanzik",
"name": "Nima Nooshiri",
"avatar_url": "https://avatars.githubusercontent.com/u/4640548?v=4",
"profile": "https://github.com/nimanzik",
"contributions": [
"doc"
]
},
{
"login": "Vedant222",
"name": "Vedant",
"avatar_url": "https://avatars.githubusercontent.com/u/70121054?v=4",
"profile": "https://github.com/Vedant222",
"contributions": [
"doc"
]
},
{
"login": "itsdivya1309",
"name": "Divya Tiwari",
"avatar_url": "https://avatars.githubusercontent.com/u/108270861?v=4",
"profile": "https://github.com/itsdivya1309",
"contributions": [
"code"
]
},
{
"login": "aadya940",
"name": "Aadya Chinubhai",
"avatar_url": "https://avatars.githubusercontent.com/u/77720426?v=4",
"profile": "https://github.com/aadya940",
"contributions": [
"code",
"doc"
]
},
{
"login": "codelionx",
"name": "Sebastian Schmidl",
"avatar_url": "https://avatars.githubusercontent.com/u/10573700?v=4",
"profile": "https://github.com/codelionx",
"contributions": [
"bug",
"code",
"doc",
"research"
]
},
{
"login": "AnonymousCodes911",
"name": "Utkarsh Kumar",
"avatar_url": "https://avatars.githubusercontent.com/u/67187480?v=4",
"profile": "https://github.com/AnonymousCodes911",
"contributions": [
"code",
"doc"
]
}
],
"commitType": "docs"
3 changes: 2 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -52,9 +52,10 @@ Please go through the checklist below. Please feel free to remove points if they

##### For new estimators and functions
- [ ] I've added the estimator to the online [API documentation](https://www.aeon-toolkit.org/en/latest/api_reference.html).
- [ ] (OPTIONAL) I've added myself as a `__maintainer__` at the top of relevant files and want to be contacted regarding its maintenance. Unmaintained files may be removed.

##### For developers with write access
- [ ] Optionally, I've updated aeon's [CODEOWNERS](https://github.com/aeon-toolkit/aeon/blob/main/CODEOWNERS) to receive notifications about future changes to these files.
- [ ] (OPTIONAL) I've updated aeon's [CODEOWNERS](https://github.com/aeon-toolkit/aeon/blob/main/CODEOWNERS) to receive notifications about future changes to these files.


<!--
63 changes: 63 additions & 0 deletions .github/actions/numba_cache/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Numba cache setup
description: "Tries to restore the numba cache and sets relevant environment variables for numba to use"

inputs:
cache_name:
description: "The name of the cache"
required: true
runner_os:
description: "The runner os"
required: true
python_version:
description: "The python version"
required: true
restore_cache:
description: "Whether to restore the cache"
required: false
default: "true"

runs:
using: "composite"
steps:
# Set the location for numba cache to exist
- name: Set numba cache env
run: echo "NUMBA_CACHE_DIR=${{ github.workspace }}/.numba_cache" >> $GITHUB_ENV
shell: bash

# Sets the cpu name for numba to use
- name: Set numba cpu env
run: echo "NUMBA_CPU_NAME=generic" >> $GITHUB_ENV
shell: bash

# Sets the cpu features for numba to use
- name: Set numba cpu features env
run: echo "NUMBA_CPU_FEATURES=+64bit +adx +aes +avx +avx2 -avx512bf16 -avx512bitalg -avx512bw -avx512cd -avx512dq -avx512er -avx512f -avx512ifma -avx512pf -avx512vbmi -avx512vbmi2 -avx512vl -avx512vnni -avx512vpopcntdq +bmi +bmi2 -cldemote -clflushopt -clwb -clzero +cmov +cx16 +cx8 -enqcmd +f16c +fma -fma4 +fsgsbase +fxsr -gfni +invpcid -lwp +lzcnt +mmx +movbe -movdir64b -movdiri -mwaitx +pclmul -pconfig -pku +popcnt -prefetchwt1 +prfchw -ptwrite -rdpid +rdrnd +rdseed +rtm +sahf -sgx -sha -shstk +sse +sse2 +sse3 +sse4.1 +sse4.2 -sse4a +ssse3 -tbm -vaes -vpclmulqdq -waitpkg -wbnoinvd -xop +xsave -xsavec +xsaveopt -xsaves" >> $GITHUB_ENV
shell: bash

# Set the CICD_RUNNING env so that numba knows it is running in a CI environment
- name: Set CICD_RUNNING env
run: echo "CICD_RUNNING=1" >> $GITHUB_ENV
shell: bash

# Get current date for cache restore
- name: Get Current Date
run: echo "CURRENT_DATE=$(date +'%d/%m/%Y')" >> $GITHUB_ENV
shell: bash

# GNU tar on windows runs much faster than the default BSD tar
- name: Use GNU tar instead BSD tar if Windows
if: ${{ inputs.runner_os == 'Windows' }}
shell: cmd
run: echo C:\Program Files\Git\usr\bin>>"%GITHUB_PATH%"

# Restore cache if restore_cache is true
- name: Restore cache
uses: actions/cache/restore@v3
if: ${{ inputs.restore_cache == 'true' }}
with:
path: ${{ github.workspace }}/.numba_cache
# Try restore using today's date
key: numba-${{ inputs.cache_name }}-${{ inputs.runner_os }}-${{ inputs.python_version }}-${{ env.CURRENT_DATE }}
# If cant restore with today's date try another cache (without date)
restore-keys: |
numba-${{ inputs.cache_name }}-${{ inputs.runner_os }}-${{ inputs.python_version }}-
125 changes: 101 additions & 24 deletions .github/workflows/periodic_tests.yml
Original file line number Diff line number Diff line change
@@ -12,43 +12,59 @@ concurrency:

jobs:
check-manifest:
runs-on: ubuntu-22.04
runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v4
- name: Checkout main
uses: actions/checkout@v4

- uses: actions/setup-python@v5
- name: Setup Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"

- uses: pre-commit/action@v3.0.0
- name: Run check-manifest
uses: pre-commit/action@v3.0.1
with:
extra_args: check-manifest --hook-stage manual

pre-commit:
runs-on: ubuntu-22.04
runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v4
- name: Checkout main
uses: actions/checkout@v4

- uses: actions/setup-python@v5
- name: Setup Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"

- uses: pre-commit/action@v3.0.0
- name: Run pre-commit
uses: pre-commit/action@v3.0.1
with:
extra_args: --all-files

run-notebook-examples:
runs-on: ubuntu-22.04
runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v4
- name: Checkout main
uses: actions/checkout@v4

- uses: actions/setup-python@v5
- name: Setup Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"

- name: Use numba cache to set env variables but not restore cache
uses: ./.github/actions/numba_cache
with:
cache_name: "run-notebook-examples"
runner_os: ${{ runner.os }}
python_version: "3.10"
restore_cache: "false"

- name: Install dependencies
uses: nick-fields/retry@v3
with:
@@ -60,16 +76,33 @@ jobs:
run: build_tools/run_examples.sh
shell: bash

- name: Save new cache
uses: actions/cache/save@v4
with:
path: ${{ github.workspace }}/.numba_cache
# Save cache with the current date (ENV set in numba_cache action)
key: numba-run-notebook-examples-${{ runner.os }}-3.10-${{ env.CURRENT_DATE }}

test-nosoftdeps:
runs-on: ubuntu-22.04
runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v4
- name: Checkout main
uses: actions/checkout@v4

- uses: actions/setup-python@v5
- name: Setup Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"

- name: Use numba cache to set env variables but not restore cache
uses: ./.github/actions/numba_cache
with:
cache_name: "test-nosoftdeps"
runner_os: ${{ runner.os }}
python_version: "3.10"
restore_cache: "false"

- name: Install aeon and dependencies
uses: nick-fields/retry@v3
with:
@@ -86,16 +119,33 @@ jobs:
python -m pytest -k 'test_check_estimator_does_not_raise' --pyargs aeon.utils
python -m pytest --pyargs aeon.testing.test_softdeps
- name: Save new cache
uses: actions/cache/save@v4
with:
path: ${{ github.workspace }}/.numba_cache
# Save cache with the current date (ENV set in numba_cache action)
key: numba-test-nosoftdeps-${{ runner.os }}-3.10-${{ env.CURRENT_DATE }}

test-nosoftdeps-full:
runs-on: ubuntu-22.04
runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v4
- name: Checkout main
uses: actions/checkout@v4

- uses: actions/setup-python@v5
- name: Setup Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"

- name: Use numba cache to set env variables but not restore cache
uses: ./.github/actions/numba_cache
with:
cache_name: "test-nosoftdeps-full"
runner_os: ${{ runner.os }}
python_version: "3.10"
restore_cache: "false"

- name: Install aeon and dependencies
uses: nick-fields/retry@v3
with:
@@ -109,22 +159,39 @@ jobs:
- name: Run tests
run: python -m pytest -k 'not TestAll' --ignore=aeon/utils/tests/test_mlflow_aeon_model_export.py

- name: Save new cache
uses: actions/cache/save@v4
with:
path: ${{ github.workspace }}/.numba_cache
# Save cache with the current date (ENV set in numba_cache action)
key: numba-test-nosoftdeps-full-${{ runner.os }}-3.10-${{ env.CURRENT_DATE }}

pytest:
runs-on: ${{ matrix.os }}

strategy:
fail-fast: false
matrix:
os: [ ubuntu-22.04, macOS-12, windows-2022 ]
os: [ ubuntu-20.04, macOS-13, windows-2022 ]
python-version: [ "3.8", "3.9", "3.10", "3.11", "3.12" ]

steps:
- uses: actions/checkout@v4
- name: Checkout main
uses: actions/checkout@v4

- uses: actions/setup-python@v5
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Use numba cache to set env variables but not restore cache
uses: ./.github/actions/numba_cache
with:
cache_name: "pytest"
runner_os: ${{ runner.os }}
python_version: ${{ matrix.python-version }}
restore_cache: "false"

- name: Install aeon and dependencies
uses: nick-fields/retry@v3
with:
@@ -138,13 +205,22 @@ jobs:
- name: Run tests
run: python -m pytest

- name: Save new cache
uses: actions/cache/save@v4
with:
path: ${{ github.workspace }}/.numba_cache
# Save cache with the current date (ENV set in numba_cache action)
key: numba-pytest-${{ runner.os }}-${{ matrix.python-version}}-${{ env.CURRENT_DATE }}

codecov:
runs-on: ubuntu-22.04
runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v4
- name: Checkout main
uses: actions/checkout@v4

- uses: actions/setup-python@v5
- name: Setup Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"

@@ -164,6 +240,7 @@ jobs:
- name: Run tests
run: python -m pytest --cov=aeon --cov-report=xml --timeout 1800

- uses: codecov/codecov-action@v4
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
Loading