Repository: aeon-toolkit/aeon
Pull request #2512 (2025-01-24 08:17:54)

[ENH] Added class weights to feature based classifiers
<!--
Thanks for contributing a pull request! Please ensure you have taken a look at our
contribution guide: https://www.aeon-toolkit.org/en/latest/contributing.html.

Feel free to delete sections of this template if they do not apply to your PR,
avoid submitting a blank template or empty sections.
If you are a new contributor, do not delete this template without a suitable
replacement or reason. If in doubt, ask for help. We're here to help!

Please be aware that we are a team of volunteers so patience is
necessary when waiting for a review or reply. There may not be a quick turnaround for
reviews during slow periods. While we value all contributions big or small, pull
requests which do not follow our guidelines may be closed.
-->

#### Reference Issues/PRs

<!--
Example: Fixes #1234. See also #3456.
Please use keywords (e.g., Fixes) to create link to the issues or pull requests
you resolved, so that they will automatically be closed when your pull request
is merged. See https://github.com/blog/1506-closing-issues-via-pull-requests
-->

contributes to #1777. Refers PR #1776.
#### What does this implement/fix? Explain your changes.

The given implementation adds class weights parameter to classification/feature based module.
Code changes for a signature feature based classifier.

```python
class SignatureClassifier(BaseClassifier):
    def __init__(
        self,
        estimator=None,
        augmentation_list=("basepoint", "addtime"),
        window_name="dyadic",
        window_depth=3,
        window_length=None,
        window_step=None,
        rescaling=None,
        sig_tfm="signature",
        depth=4,
        random_state=None,
        class_weight=None,
    ):
```
<!--
A clear and concise description of what you have implemented.
-->

#### Does your contribution introduce a new dependency? If yes, which one?

No 
<!--
If your contribution does add a dependency, we may suggest adding it as an
optional/soft dependency to keep external dependencies of the core aeon package
to a minimum.
-->

#### Any other comments?

<!--
Any other information that is important to this PR or helpful for reviewers.
-->

- Let me know if additional test cases are needed to evaluate class weights parameter.
- FreshPrinceClassifier doesn't have class weights as it uses RotationForestClassifier.

### PR checklist

<!--
Please go through the checklist below. Please feel free to remove points if they are
not applicable. To check a box, replace the space inside the square brackets with an
'x' i.e. [x].
-->

##### For all contributions
- [X] I've added myself to the [list of contributors](https://github.com/aeon-toolkit/aeon/blob/main/.all-contributorsrc). Alternatively, you can use the [@all-contributors](https://allcontributors.org/docs/en/bot/usage) bot to do this for you after the PR has been merged.
- [X] The PR title starts with either [ENH], [MNT], [DOC], [BUG], [REF], [DEP] or [GOV] indicating whether the PR topic is related to enhancement, maintenance, documentation, bugs, refactoring, deprecation or governance.

##### For new estimators and functions
- [ ] I've added the estimator/function 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. This is for the full file, and you should not add yourself if you are just making minor changes or do not want to help maintain its contents.

##### For developers with write access
- [ ] (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.


<!--
Thanks for contributing!
-->


aeon-actions-bot[bot]: 
## Thank you for contributing to `aeon`

I have added the following labels to this PR based on the title: **[ $\\color{#FEF1BE}{\\textsf{enhancement}}$ ]**.
I have added the following labels to this PR based on the changes made: **[ $\\color{#BCAE15}{\\textsf{classification}}$ ]**. Feel free to change these if they do not properly represent the PR.

The [Checks](https://github.com/aeon-toolkit/aeon/pull/2512/checks) tab will show the status of our automated tests. You can click on individual test runs in the tab or "Details" in the panel below to see more information if there is a failure.

If our `pre-commit` code quality check fails, any trivial fixes will automatically be pushed to your PR unless it is a draft.

Don't hesitate to ask questions on the `aeon` [Slack](https://join.slack.com/t/aeon-toolkit/shared_invite/zt-22vwvut29-HDpCu~7VBUozyfL_8j3dLA) channel if you have any.

### PR CI actions

These checkboxes will add labels to enable/disable CI functionality for this PR. This may not take effect immediately, and a new commit may be required to run the new configuration.

- [ ] Run `pre-commit` checks for all files
- [ ] Run `mypy` typecheck tests
- [ ] Run all `pytest` tests and configurations
- [ ] Run all notebook example tests
- [ ] Run numba-disabled `codecov` tests
- [ ] Stop automatic `pre-commit` fixes (always disabled for drafts)
- [ ] Disable numba cache loading
- [ ] Push an empty commit to re-run CI checks
    
lucifer4073: @all-contributors please add @lucifer4073  for code
allcontributors[bot]: @lucifer4073 

I've put up [a pull request](https://github.com/aeon-toolkit/aeon/pull/2513) to add @lucifer4073! :tada:

Patch:
diff --git a/.all-contributorsrc b/.all-contributorsrc
index dcbfbbf3..859fb1e5 100644
--- a/.all-contributorsrc
+++ b/.all-contributorsrc
@@ -2647,6 +2647,15 @@
       "contributions": [
         "code"
       ]
+    },
+    {
+      "login": "Akhil-Jasson",
+      "name": "Akhil Jasson",
+      "avatar_url": "https://avatars.githubusercontent.com/u/114808672?v=4",
+      "profile": "https://react-portfolio-git-main-akhil-jassons-projects.vercel.app/",
+      "contributions": [
+        "doc"
+      ]
     }
   ],
   "commitType": "docs"
diff --git a/.github/workflows/periodic_github_maintenace.yml b/.github/workflows/periodic_github_maintenace.yml
index 5c9d0991..99772f13 100644
--- a/.github/workflows/periodic_github_maintenace.yml
+++ b/.github/workflows/periodic_github_maintenace.yml
@@ -23,7 +23,7 @@ jobs:
           private-key: ${{ secrets.PR_APP_KEY }}
 
       - name: Stale Branches
-        uses: crs-k/stale-branches@v6.0.2
+        uses: crs-k/stale-branches@v7.0.0
         with:
           repo-token: ${{ steps.app-token.outputs.token }}
           days-before-stale: 140
diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml
index 95435746..3c57528f 100644
--- a/.github/workflows/scorecard.yml
+++ b/.github/workflows/scorecard.yml
@@ -27,7 +27,7 @@ jobs:
           persist-credentials: false
 
       - name: Run analysis
-        uses: ossf/scorecard-action@v2.4.0
+        uses: ossf/scorecard-action@v2.4.1
         with:
           results_file: results.sarif
           results_format: sarif
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 8bc85d7c..43495127 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -29,7 +29,7 @@ repos:
         args: [ "--create", "--python-folders", "aeon" ]
 
   - repo: https://github.com/astral-sh/ruff-pre-commit
-    rev: v0.9.2
+    rev: v0.9.7
     hooks:
       - id: ruff
         args: [ "--fix"]
@@ -41,21 +41,21 @@ repos:
         args: [ "--py39-plus" ]
 
   - repo: https://github.com/pycqa/isort
-    rev: 5.13.2
+    rev: 6.0.0
     hooks:
       - id: isort
         name: isort
         args: [ "--profile=black", "--multi-line=3" ]
 
   - repo: https://github.com/pycqa/flake8
-    rev: 7.1.1
+    rev: 7.1.2
     hooks:
       - id: flake8
         additional_dependencies: [ flake8-bugbear, flake8-print, Flake8-pyproject ]
         args: [ "--max-line-length=88", "--extend-ignore=E203" ]
 
   - repo: https://github.com/psf/black
-    rev: 24.10.0
+    rev: 25.1.0
     hooks:
       - id: black
         language_version: python3
diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index 92d624d9..91c7468d 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -1,7 +1,7 @@
 # Contributors
 
 <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
-[![All Contributors](https://img.shields.io/badge/all_contributors-258-orange.svg)](#contributors)
+[![All Contributors](https://img.shields.io/badge/all_contributors-259-orange.svg)](#contributors)
 <!-- ALL-CONTRIBUTORS-BADGE:END -->
 
 This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
@@ -28,12 +28,13 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/afzal442"><img src="https://avatars0.githubusercontent.com/u/11625672?v=4?s=80" width="80px;" alt="Afzal Ansari"/><br /><sub><b>Afzal Ansari</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=afzal442" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=afzal442" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/bilal-196"><img src="https://avatars.githubusercontent.com/u/74570044?v=4?s=80" width="80px;" alt="Ahmed Bilal"/><br /><sub><b>Ahmed Bilal</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=bilal-196" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/AidenRushbrooke"><img src="https://avatars0.githubusercontent.com/u/72034940?v=4?s=80" width="80px;" alt="AidenRushbrooke"/><br /><sub><b>AidenRushbrooke</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=AidenRushbrooke" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=AidenRushbrooke" title="Tests">⚠️</a></td>
+      <td align="center" valign="top" width="12.5%"><a href="https://react-portfolio-git-main-akhil-jassons-projects.vercel.app/"><img src="https://avatars.githubusercontent.com/u/114808672?v=4?s=80" width="80px;" alt="Akhil Jasson"/><br /><sub><b>Akhil Jasson</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=Akhil-Jasson" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/akshatvishu"><img src="https://avatars.githubusercontent.com/u/33392262?v=4?s=80" width="80px;" alt="Akshat Nayak"/><br /><sub><b>Akshat Nayak</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=akshatvishu" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/arampuria19"><img src="https://avatars.githubusercontent.com/u/85577835?v=4?s=80" width="80px;" alt="Akshat Rampuria"/><br /><sub><b>Akshat Rampuria</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=arampuria19" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/keepersas"><img src="https://avatars.githubusercontent.com/u/44262176?v=4?s=80" width="80px;" alt="Aleksandr Grekov"/><br /><sub><b>Aleksandr Grekov</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=keepersas" title="Documentation">📖</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://github.com/alex-hh"><img src="https://avatars.githubusercontent.com/u/5719745?v=4?s=80" width="80px;" alt="Alex Hawkins-Hooker"/><br /><sub><b>Alex Hawkins-Hooker</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=alex-hh" title="Code">💻</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://github.com/alex-hh"><img src="https://avatars.githubusercontent.com/u/5719745?v=4?s=80" width="80px;" alt="Alex Hawkins-Hooker"/><br /><sub><b>Alex Hawkins-Hooker</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=alex-hh" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://medium.com/@alexandra.amidon"><img src="https://avatars2.githubusercontent.com/u/17050655?v=4?s=80" width="80px;" alt="Alexandra Amidon"/><br /><sub><b>Alexandra Amidon</b></sub></a><br /><a href="#blog-lynnssi" title="Blogposts">📝</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=lynnssi" title="Documentation">📖</a> <a href="#ideas-lynnssi" title="Ideas, Planning, & Feedback">🤔</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/hadifawaz1999"><img src="https://avatars.githubusercontent.com/u/54309336?s=80" width="80px;" alt="Ali Ismail-Fawaz"/><br /><sub><b>Ali Ismail-Fawaz</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=hadifawaz1999" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Ahadifawaz1999" title="Bug reports">🐛</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=hadifawaz1999" title="Documentation">📖</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=hadifawaz1999" title="Tests">⚠️</a> <a href="#maintenance-hadifawaz1999" title="Maintenance">🚧</a> <a href="https://github.com/aeon-toolkit/aeon/pulls?q=is%3Apr+reviewed-by%3Ahadifawaz1999" title="Reviewed Pull Requests">👀</a> <a href="#talk-hadifawaz1999" title="Talks">📢</a> <a href="#tutorial-hadifawaz1999" title="Tutorials">✅</a> <a href="#mentoring-hadifawaz1999" title="Mentoring">🧑‍🏫</a> <a href="#example-hadifawaz1999" title="Examples">💡</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/ali-tny"><img src="https://avatars.githubusercontent.com/u/26010073?v=4?s=80" width="80px;" alt="Ali Teeney"/><br /><sub><b>Ali Teeney</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=ali-tny" title="Code">💻</a></td>
@@ -41,9 +42,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/alwinw"><img src="https://avatars3.githubusercontent.com/u/16846521?v=4?s=80" width="80px;" alt="Alwin"/><br /><sub><b>Alwin</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=alwinw" title="Documentation">📖</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=alwinw" title="Code">💻</a> <a href="#maintenance-alwinw" title="Maintenance">🚧</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/AnH0ang"><img src="https://avatars.githubusercontent.com/u/46025351?v=4?s=80" width="80px;" alt="An Hoang"/><br /><sub><b>An Hoang</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3AAnH0ang" title="Bug reports">🐛</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=AnH0ang" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/akanz1"><img src="https://avatars3.githubusercontent.com/u/51492342?v=4?s=80" width="80px;" alt="Andreas Kanz"/><br /><sub><b>Andreas Kanz</b></sub></a><br /><a href="#tutorial-akanz1" title="Tutorials">✅</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://www.linkedin.com/in/andre-de-mitri/"><img src="https://avatars.githubusercontent.com/u/51839703?v=4?s=80" width="80px;" alt="André Guarnier De Mitri"/><br /><sub><b>André Guarnier De Mitri</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=andregdmitri" title="Code">💻</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://www.linkedin.com/in/andre-de-mitri/"><img src="https://avatars.githubusercontent.com/u/51839703?v=4?s=80" width="80px;" alt="André Guarnier De Mitri"/><br /><sub><b>André Guarnier De Mitri</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=andregdmitri" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/angus924"><img src="https://avatars0.githubusercontent.com/u/55837131?v=4?s=80" width="80px;" alt="Angus Dempster"/><br /><sub><b>Angus Dempster</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=angus924" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=angus924" title="Tests">⚠️</a> <a href="#tutorial-angus924" title="Tutorials">✅</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/baraline"><img src="https://avatars.githubusercontent.com/u/10759117?s=80" width="80px;" alt="Antoine Guillaume"/><br /><sub><b>Antoine Guillaume</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=baraline" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=baraline" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://www.linkedin.com/in/yard1/"><img src="https://avatars.githubusercontent.com/u/10364161?v=4?s=80" width="80px;" alt="Antoni Baum"/><br /><sub><b>Antoni Baum</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=Yard1" title="Code">💻</a></td>
@@ -51,9 +52,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/AreloTanoh"><img src="https://avatars.githubusercontent.com/AreloTanoh?s=80" width="80px;" alt="Arelo Tanoh"/><br /><sub><b>Arelo Tanoh</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=AreloTanoh" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/bugslayer-332"><img src="https://avatars.githubusercontent.com/u/89122324?v=4?s=80" width="80px;" alt="Arepalli Yashwanth Reddy"/><br /><sub><b>Arepalli Yashwanth Reddy</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=bugslayer-332" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Abugslayer-332" title="Bug reports">🐛</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=bugslayer-332" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/ermshaua/"><img src="https://avatars.githubusercontent.com/u/23294512?v=4?s=80" width="80px;" alt="Arik Ermshaus"/><br /><sub><b>Arik Ermshaus</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=ermshaua" title="Code">💻</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://github.com/arnavrneo"><img src="https://avatars.githubusercontent.com/u/48650781?v=4?s=80" width="80px;" alt="Arnav"/><br /><sub><b>Arnav</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=arnavrneo" title="Code">💻</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://github.com/arnavrneo"><img src="https://avatars.githubusercontent.com/u/48650781?v=4?s=80" width="80px;" alt="Arnav"/><br /><sub><b>Arnav</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=arnavrneo" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/aryanpola"><img src="https://avatars.githubusercontent.com/u/98093778?v=4?s=80" width="80px;" alt="Aryan Pola"/><br /><sub><b>Aryan Pola</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=aryanpola" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=aryanpola" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://www.linkedin.com/in/ayushmaan-seth-4a96364a/"><img src="https://avatars1.githubusercontent.com/u/29939762?v=4?s=80" width="80px;" alt="Ayushmaan Seth"/><br /><sub><b>Ayushmaan Seth</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=Ayushmaanseth" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/pulls?q=is%3Apr+reviewed-by%3AAyushmaanseth" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=Ayushmaanseth" title="Tests">⚠️</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=Ayushmaanseth" title="Documentation">📖</a> <a href="#eventOrganizing-Ayushmaanseth" title="Event Organizing">📋</a> <a href="#tutorial-Ayushmaanseth" title="Tutorials">✅</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/BandaSaiTejaReddy"><img src="https://avatars0.githubusercontent.com/u/31387911?v=4?s=80" width="80px;" alt="BANDASAITEJAREDDY"/><br /><sub><b>BANDASAITEJAREDDY</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=BandaSaiTejaReddy" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=BandaSaiTejaReddy" title="Documentation">📖</a></td>
@@ -61,9 +62,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/benheid"><img src="https://avatars.githubusercontent.com/u/9725296?v=4?s=80" width="80px;" alt="Benedikt Heidrich"/><br /><sub><b>Benedikt Heidrich</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=benheid" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/benjaminbluhm"><img src="https://avatars.githubusercontent.com/u/40917599?v=4?s=80" width="80px;" alt="Benjamin Bluhm"/><br /><sub><b>Benjamin Bluhm</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=benjaminbluhm" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=benjaminbluhm" title="Documentation">📖</a> <a href="#example-benjaminbluhm" title="Examples">💡</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://haskarb.github.io/"><img src="https://avatars.githubusercontent.com/u/20501023?v=4?s=80" width="80px;" alt="Bhaskar Dhariyal"/><br /><sub><b>Bhaskar Dhariyal</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=haskarb" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=haskarb" title="Tests">⚠️</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://github.com/BINAYKUMAR943"><img src="https://avatars.githubusercontent.com/u/38756834?v=4?s=80" width="80px;" alt="Binay Kumar"/><br /><sub><b>Binay Kumar</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=BINAYKUMAR943" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=BINAYKUMAR943" title="Documentation">📖</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=BINAYKUMAR943" title="Tests">⚠️</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://github.com/BINAYKUMAR943"><img src="https://avatars.githubusercontent.com/u/38756834?v=4?s=80" width="80px;" alt="Binay Kumar"/><br /><sub><b>Binay Kumar</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=BINAYKUMAR943" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=BINAYKUMAR943" title="Documentation">📖</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=BINAYKUMAR943" title="Tests">⚠️</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://angelpone.github.io/"><img src="https://avatars.githubusercontent.com/u/32930283?v=4?s=80" width="80px;" alt="Bohan Zhang"/><br /><sub><b>Bohan Zhang</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=AngelPone" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/boukepostma"><img src="https://avatars.githubusercontent.com/boukepostma?s=80" width="80px;" alt="Bouke Postma"/><br /><sub><b>Bouke Postma</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=boukepostma" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Aboukepostma" title="Bug reports">🐛</a> <a href="#ideas-boukepostma" title="Ideas, Planning, & Feedback">🤔</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://bmurphyportfolio.netlify.com/"><img src="https://avatars2.githubusercontent.com/u/32182553?v=4?s=80" width="80px;" alt="Brian Murphy"/><br /><sub><b>Brian Murphy</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=bmurdata" title="Documentation">📖</a></td>
@@ -71,9 +72,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/vnmabus"><img src="https://avatars1.githubusercontent.com/u/2364173?v=4?s=80" width="80px;" alt="Carlos Ramos Carreño"/><br /><sub><b>Carlos Ramos Carreño</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=vnmabus" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/ChangWeiTan"><img src="https://avatars.githubusercontent.com/u/570744?v=4?s=80" width="80px;" alt="Chang Wei Tan"/><br /><sub><b>Chang Wei Tan</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=ChangWeiTan" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="http://cheuk.dev"><img src="https://avatars1.githubusercontent.com/u/28761465?v=4?s=80" width="80px;" alt="Cheuk Ting Ho"/><br /><sub><b>Cheuk Ting Ho</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=Cheukting" title="Code">💻</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://github.com/ckastner"><img src="https://avatars.githubusercontent.com/u/15859947?v=4?s=80" width="80px;" alt="Christian Kastner"/><br /><sub><b>Christian Kastner</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=ckastner" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Ackastner" title="Bug reports">🐛</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://github.com/ckastner"><img src="https://avatars.githubusercontent.com/u/15859947?v=4?s=80" width="80px;" alt="Christian Kastner"/><br /><sub><b>Christian Kastner</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=ckastner" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Ackastner" title="Bug reports">🐛</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/cdahlin"><img src="https://avatars.githubusercontent.com/u/1567780?v=4?s=80" width="80px;" alt="Christopher Dahlin"/><br /><sub><b>Christopher Dahlin</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=cdahlin" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/topher-lo"><img src="https://avatars.githubusercontent.com/u/46541035?v=4?s=80" width="80px;" alt="Christopher Lo"/><br /><sub><b>Christopher Lo</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=topher-lo" title="Code">💻</a> <a href="#ideas-topher-lo" title="Ideas, Planning, & Feedback">🤔</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/LinGinQiu"><img src="https://avatars.githubusercontent.com/u/80885865?v=4?s=80" width="80px;" alt="Chuanhang Qiu "/><br /><sub><b>Chuanhang Qiu </b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=LinGinQiu" title="Code">💻</a></td>
@@ -81,9 +82,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/ClaudiaSanches"><img src="https://avatars3.githubusercontent.com/u/28742178?v=4?s=80" width="80px;" alt="ClaudiaSanches"/><br /><sub><b>ClaudiaSanches</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=ClaudiaSanches" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=ClaudiaSanches" title="Tests">⚠️</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://sites.google.com/view/corvinpaul/"><img src="https://avatars.githubusercontent.com/u/5957191?v=4?s=80" width="80px;" alt="Corvin Paul"/><br /><sub><b>Corvin Paul</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=corvusrabus" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/Cyril-Meyer"><img src="https://avatars.githubusercontent.com/u/69190238?v=4?s=80" width="80px;" alt="Cyril Meyer"/><br /><sub><b>Cyril Meyer</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=Cyril-Meyer" title="Tests">⚠️</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=Cyril-Meyer" title="Documentation">📖</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=Cyril-Meyer" title="Code">💻</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://github.com/DBCerigo"><img src="https://avatars.githubusercontent.com/u/8318425?v=4?s=80" width="80px;" alt="Daniel Burkhardt Cerigo"/><br /><sub><b>Daniel Burkhardt Cerigo</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=DBCerigo" title="Code">💻</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://github.com/DBCerigo"><img src="https://avatars.githubusercontent.com/u/8318425?v=4?s=80" width="80px;" alt="Daniel Burkhardt Cerigo"/><br /><sub><b>Daniel Burkhardt Cerigo</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=DBCerigo" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://www.linkedin.com/in/dnylam/"><img src="https://avatars.githubusercontent.com/u/30182852?v=4?s=80" width="80px;" alt="Daniel L."/><br /><sub><b>Daniel L.</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=Datadote" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://www.linkedin.com/in/daniel-martin-martinez"><img src="https://avatars.githubusercontent.com/dainelli98?s=80" width="80px;" alt="Daniel Martín Martínez"/><br /><sub><b>Daniel Martín Martínez</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=dainelli98" title="Documentation">📖</a> <a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Adainelli98" title="Bug reports">🐛</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/danielroberts20"><img src="https://avatars.githubusercontent.com/u/29379642?v=4?s=80" width="80px;" alt="Daniel Roberts"/><br /><sub><b>Daniel Roberts</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=danielroberts20" title="Documentation">📖</a></td>
@@ -91,9 +92,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://dhirschfeld.github.io/"><img src="https://avatars1.githubusercontent.com/u/881019?v=4?s=80" width="80px;" alt="Dave Hirschfeld"/><br /><sub><b>Dave Hirschfeld</b></sub></a><br /><a href="#infra-dhirschfeld" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/davidbp"><img src="https://avatars3.githubusercontent.com/u/4223580?v=4?s=80" width="80px;" alt="David Buchaca Prats"/><br /><sub><b>David Buchaca Prats</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=davidbp" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://dguijo.com"><img src="https://avatars1.githubusercontent.com/u/47889499?v=4?s=80" width="80px;" alt="David Guijo-Rubio"/><br /><sub><b>David Guijo-Rubio</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=dguijo" title="Code">💻</a> <a href="#ideas-dguijo" title="Ideas, Planning, & Feedback">🤔</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://github.com/itsdivya1309"><img src="https://avatars.githubusercontent.com/u/108270861?v=4?s=80" width="80px;" alt="Divya Tiwari"/><br /><sub><b>Divya Tiwari</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=itsdivya1309" title="Code">💻</a> <a href="#data-itsdivya1309" title="Data">🔣</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://github.com/itsdivya1309"><img src="https://avatars.githubusercontent.com/u/108270861?v=4?s=80" width="80px;" alt="Divya Tiwari"/><br /><sub><b>Divya Tiwari</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=itsdivya1309" title="Code">💻</a> <a href="#data-itsdivya1309" title="Data">🔣</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/DmitriyValetov"><img src="https://avatars0.githubusercontent.com/u/27976850?v=4?s=80" width="80px;" alt="Dmitriy Valetov"/><br /><sub><b>Dmitriy Valetov</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=DmitriyValetov" title="Code">💻</a> <a href="#tutorial-DmitriyValetov" title="Tutorials">✅</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/dougollerenshaw"><img src="https://avatars.githubusercontent.com/u/19944442?v=4?s=80" width="80px;" alt="Doug Ollerenshaw"/><br /><sub><b>Doug Ollerenshaw</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=dougollerenshaw" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/Dbhasin1"><img src="https://avatars.githubusercontent.com/u/56479884?v=4?s=80" width="80px;" alt="Drishti Bhasin "/><br /><sub><b>Drishti Bhasin </b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=Dbhasin1" title="Code">💻</a></td>
@@ -101,9 +102,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/Emiliathewolf"><img src="https://avatars2.githubusercontent.com/u/22026218?v=4?s=80" width="80px;" alt="Emilia Rose"/><br /><sub><b>Emilia Rose</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=Emiliathewolf" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=Emiliathewolf" title="Tests">⚠️</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/emmanuel-ferdman"><img src="https://avatars.githubusercontent.com/u/35470921?v=4?s=80" width="80px;" alt="Emmanuel Ferdman"/><br /><sub><b>Emmanuel Ferdman</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=emmanuel-ferdman" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://www.linkedin.com/in/erjieyong"><img src="https://avatars.githubusercontent.com/u/109052378?v=4?s=80" width="80px;" alt="Er Jie Yong"/><br /><sub><b>Er Jie Yong</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Aerjieyong" title="Bug reports">🐛</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=erjieyong" title="Code">💻</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://github.com/evanmiller29"><img src="https://avatars2.githubusercontent.com/u/8062590?v=4?s=80" width="80px;" alt="Evan Miller"/><br /><sub><b>Evan Miller</b></sub></a><br /><a href="#tutorial-evanmiller29" title="Tutorials">✅</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://github.com/evanmiller29"><img src="https://avatars2.githubusercontent.com/u/8062590?v=4?s=80" width="80px;" alt="Evan Miller"/><br /><sub><b>Evan Miller</b></sub></a><br /><a href="#tutorial-evanmiller29" title="Tutorials">✅</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/eyalshafran"><img src="https://avatars.githubusercontent.com/u/16999574?v=4?s=80" width="80px;" alt="Eyal Shafran"/><br /><sub><b>Eyal Shafran</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=eyalshafran" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/FedericoGarza"><img src="https://avatars.githubusercontent.com/u/10517170?v=4?s=80" width="80px;" alt="Federico Garza"/><br /><sub><b>Federico Garza</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=FedericoGarza" title="Code">💻</a> <a href="#example-FedericoGarza" title="Examples">💡</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/flix6x"><img src="https://avatars.githubusercontent.com/u/30658763?v=4?s=80" width="80px;" alt="Felix Claessen"/><br /><sub><b>Felix Claessen</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=Flix6x" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=Flix6x" title="Documentation">📖</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=Flix6x" title="Tests">⚠️</a> <a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3AFlix6x" title="Bug reports">🐛</a></td>
@@ -111,9 +112,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/fstinner"><img src="https://avatars.githubusercontent.com/u/11679462?v=4?s=80" width="80px;" alt="Florian Stinner"/><br /><sub><b>Florian Stinner</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=fstinner" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=fstinner" title="Tests">⚠️</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/fspinna"><img src="https://avatars.githubusercontent.com/u/35352023?v=4?s=80" width="80px;" alt="Francesco Spinnato"/><br /><sub><b>Francesco Spinnato</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=fspinna" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/fkiraly"><img src="https://avatars1.githubusercontent.com/u/7985502?v=4?s=80" width="80px;" alt="Franz Kiraly"/><br /><sub><b>Franz Kiraly</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Afkiraly" title="Bug reports">🐛</a> <a href="#business-fkiraly" title="Business development">💼</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=fkiraly" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=fkiraly" title="Documentation">📖</a> <a href="#design-fkiraly" title="Design">🎨</a> <a href="#eventOrganizing-fkiraly" title="Event Organizing">📋</a> <a href="#example-fkiraly" title="Examples">💡</a> <a href="#financial-fkiraly" title="Financial">💵</a> <a href="#fundingFinding-fkiraly" title="Funding Finding">🔍</a> <a href="#ideas-fkiraly" title="Ideas, Planning, & Feedback">🤔</a> <a href="#maintenance-fkiraly" title="Maintenance">🚧</a> <a href="#mentoring-fkiraly" title="Mentoring">🧑‍🏫</a> <a href="#projectManagement-fkiraly" title="Project Management">📆</a> <a href="#question-fkiraly" title="Answering Questions">💬</a> <a href="https://github.com/aeon-toolkit/aeon/pulls?q=is%3Apr+reviewed-by%3Afkiraly" title="Reviewed Pull Requests">👀</a> <a href="#talk-fkiraly" title="Talks">📢</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=fkiraly" title="Tests">⚠️</a> <a href="#tutorial-fkiraly" title="Tutorials">✅</a> <a href="#video-fkiraly" title="Videos">📹</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://github.com/freddyaboulton"><img src="https://avatars.githubusercontent.com/u/41651716?v=4?s=80" width="80px;" alt="Freddy A Boulton"/><br /><sub><b>Freddy A Boulton</b></sub></a><br /><a href="#infra-freddyaboulton" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=freddyaboulton" title="Tests">⚠️</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://github.com/freddyaboulton"><img src="https://avatars.githubusercontent.com/u/41651716?v=4?s=80" width="80px;" alt="Freddy A Boulton"/><br /><sub><b>Freddy A Boulton</b></sub></a><br /><a href="#infra-freddyaboulton" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=freddyaboulton" title="Tests">⚠️</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/futuer-szd"><img src="https://avatars.githubusercontent.com/u/57895730?v=4?s=80" width="80px;" alt="Futuer"/><br /><sub><b>Futuer</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=futuer-szd" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/griegner"><img src="https://avatars.githubusercontent.com/u/54326829?v=4?s=80" width="80px;" alt="Gabriel Riegner"/><br /><sub><b>Gabriel Riegner</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=griegner" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/chernika158"><img src="https://avatars.githubusercontent.com/u/43787741?s=400&v=4?s=80" width="80px;" alt="Galina Chernikova"/><br /><sub><b>Galina Chernikova</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=chernika158" title="Code">💻</a></td>
@@ -121,9 +122,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/goastler"><img src="https://avatars0.githubusercontent.com/u/7059456?v=4?s=80" width="80px;" alt="George Oastler"/><br /><sub><b>George Oastler</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=goastler" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=goastler" title="Tests">⚠️</a> <a href="#platform-goastler" title="Packaging/porting to new platform">📦</a> <a href="#example-goastler" title="Examples">💡</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=goastler" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://jose-gilberto.github.io/"><img src="https://avatars.githubusercontent.com/u/32587935?v=4?s=80" width="80px;" alt="Gilberto Barbosa"/><br /><sub><b>Gilberto Barbosa</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=jose-gilberto" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://www.linkedin.com/in/gracewgao/"><img src="https://avatars0.githubusercontent.com/u/38268331?v=4?s=80" width="80px;" alt="Grace Gao"/><br /><sub><b>Grace Gao</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=gracewgao" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Agracewgao" title="Bug reports">🐛</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://github.com/GuiArcencio"><img src="https://avatars.githubusercontent.com/u/47733489?s=80" width="80px;" alt="Guilherme Arcencio"/><br /><sub><b>Guilherme Arcencio</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=GuiArcencio" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=GuiArcencio" title="Tests">⚠️</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://github.com/GuiArcencio"><img src="https://avatars.githubusercontent.com/u/47733489?s=80" width="80px;" alt="Guilherme Arcencio"/><br /><sub><b>Guilherme Arcencio</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=GuiArcencio" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=GuiArcencio" title="Tests">⚠️</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/GuzalBulatova"><img src="https://avatars.githubusercontent.com/GuzalBulatova?s=80" width="80px;" alt="Guzal Bulatova"/><br /><sub><b>Guzal Bulatova</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3AGuzalBulatova" title="Bug reports">🐛</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=GuzalBulatova" title="Code">💻</a> <a href="#eventOrganizing-GuzalBulatova" title="Event Organizing">📋</a> <a href="#mentoring-GuzalBulatova" title="Mentoring">🧑‍🏫</a> <a href="#projectManagement-GuzalBulatova" title="Project Management">📆</a> <a href="https://github.com/aeon-toolkit/aeon/pulls?q=is%3Apr+reviewed-by%3AGuzalBulatova" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=GuzalBulatova" title="Tests">⚠️</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/HYang1996"><img src="https://avatars0.githubusercontent.com/u/44179303?v=4?s=80" width="80px;" alt="HYang1996"/><br /><sub><b>HYang1996</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=HYang1996" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=HYang1996" title="Tests">⚠️</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=HYang1996" title="Documentation">📖</a> <a href="#tutorial-HYang1996" title="Tutorials">✅</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/harshithasudhakar"><img src="https://avatars.githubusercontent.com/u/111514477?v=4?s=80" width="80px;" alt="Harshitha Sudhakar"/><br /><sub><b>Harshitha Sudhakar</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=harshithasudhakar" title="Documentation">📖</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=harshithasudhakar" title="Code">💻</a></td>
@@ -131,9 +132,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://www.linkedin.com/in/huayiwei/"><img src="https://avatars3.githubusercontent.com/u/22870735?v=4?s=80" width="80px;" alt="Huayi Wei"/><br /><sub><b>Huayi Wei</b></sub></a><br /><a href="#tutorial-huayicodes" title="Tutorials">✅</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/Ifeanyi30"><img src="https://avatars.githubusercontent.com/u/49926145?v=4?s=80" width="80px;" alt="Ifeanyi30"/><br /><sub><b>Ifeanyi30</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=Ifeanyi30" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/iljamaurer"><img src="https://avatars.githubusercontent.com/u/45882103?v=4?s=80" width="80px;" alt="Ilja Maurer"/><br /><sub><b>Ilja Maurer</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=iljamaurer" title="Code">💻</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://github.com/IlyasMoutawwakil"><img src="https://avatars.githubusercontent.com/IlyasMoutawwakil?s=80" width="80px;" alt="Ilyas Moutawwakil"/><br /><sub><b>Ilyas Moutawwakil</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=IlyasMoutawwakil" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=IlyasMoutawwakil" title="Documentation">📖</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://github.com/IlyasMoutawwakil"><img src="https://avatars.githubusercontent.com/IlyasMoutawwakil?s=80" width="80px;" alt="Ilyas Moutawwakil"/><br /><sub><b>Ilyas Moutawwakil</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=IlyasMoutawwakil" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=IlyasMoutawwakil" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://www.linkedin.com/in/ireoluwatomiwa-sanusi/"><img src="https://avatars.githubusercontent.com/u/61966277?v=4?s=80" width="80px;" alt="Ireoluwatomiwa"/><br /><sub><b>Ireoluwatomiwa</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=Tomiiwa" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/ishannangia001"><img src="https://avatars.githubusercontent.com/u/29480389?v=4?s=80" width="80px;" alt="Ishan Nangia"/><br /><sub><b>Ishan Nangia</b></sub></a><br /><a href="#ideas-ishannangia001" title="Ideas, Planning, & Feedback">🤔</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/IRKnyazev"><img src="https://avatars.githubusercontent.com/u/105492484?v=4?s=80" width="80px;" alt="Ivan Knyazev"/><br /><sub><b>Ivan Knyazev</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=IRKnyazev" title="Documentation">📖</a></td>
@@ -141,9 +142,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="http://www.timeseriesclassification.com/"><img src="https://avatars0.githubusercontent.com/u/44509982?v=4?s=80" width="80px;" alt="James Large"/><br /><sub><b>James Large</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=James-Large" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=James-Large" title="Documentation">📖</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=James-Large" title="Tests">⚠️</a> <a href="#infra-James-Large" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#maintenance-James-Large" title="Maintenance">🚧</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/jambo6"><img src="https://avatars.githubusercontent.com/u/32545677?v=4?s=80" width="80px;" alt="James Morrill"/><br /><sub><b>James Morrill</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=jambo6" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/jasmineliaw"><img src="https://avatars.githubusercontent.com/u/93530957?v=4?s=80" width="80px;" alt="Jasmine Liaw"/><br /><sub><b>Jasmine Liaw</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=jasmineliaw" title="Code">💻</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="http://www.timeseriesclassification.com"><img src="https://avatars1.githubusercontent.com/u/38794632?v=4?s=80" width="80px;" alt="Jason Lines"/><br /><sub><b>Jason Lines</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=jasonlines" title="Code">💻</a> <a href="#business-jasonlines" title="Business development">💼</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=jasonlines" title="Documentation">📖</a> <a href="#design-jasonlines" title="Design">🎨</a> <a href="#eventOrganizing-jasonlines" title="Event Organizing">📋</a> <a href="#fundingFinding-jasonlines" title="Funding Finding">🔍</a> <a href="#ideas-jasonlines" title="Ideas, Planning, & Feedback">🤔</a> <a href="#projectManagement-jasonlines" title="Project Management">📆</a> <a href="#question-jasonlines" title="Answering Questions">💬</a> <a href="https://github.com/aeon-toolkit/aeon/pulls?q=is%3Apr+reviewed-by%3Ajasonlines" title="Reviewed Pull Requests">👀</a> <a href="#talk-jasonlines" title="Talks">📢</a> <a href="#example-jasonlines" title="Examples">💡</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="http://www.timeseriesclassification.com"><img src="https://avatars1.githubusercontent.com/u/38794632?v=4?s=80" width="80px;" alt="Jason Lines"/><br /><sub><b>Jason Lines</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=jasonlines" title="Code">💻</a> <a href="#business-jasonlines" title="Business development">💼</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=jasonlines" title="Documentation">📖</a> <a href="#design-jasonlines" title="Design">🎨</a> <a href="#eventOrganizing-jasonlines" title="Event Organizing">📋</a> <a href="#fundingFinding-jasonlines" title="Funding Finding">🔍</a> <a href="#ideas-jasonlines" title="Ideas, Planning, & Feedback">🤔</a> <a href="#projectManagement-jasonlines" title="Project Management">📆</a> <a href="#question-jasonlines" title="Answering Questions">💬</a> <a href="https://github.com/aeon-toolkit/aeon/pulls?q=is%3Apr+reviewed-by%3Ajasonlines" title="Reviewed Pull Requests">👀</a> <a href="#talk-jasonlines" title="Talks">📢</a> <a href="#example-jasonlines" title="Examples">💡</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/jasonmokk"><img src="https://avatars.githubusercontent.com/u/106209849?v=4?s=80" width="80px;" alt="Jason Mok"/><br /><sub><b>Jason Mok</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=jasonmokk" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/whackteachers"><img src="https://avatars0.githubusercontent.com/u/33785383?v=4?s=80" width="80px;" alt="Jason Pong"/><br /><sub><b>Jason Pong</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=whackteachers" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=whackteachers" title="Tests">⚠️</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/mateuja"><img src="https://avatars.githubusercontent.com/mateuja?s=80" width="80px;" alt="Jaume Mateu"/><br /><sub><b>Jaume Mateu</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=mateuja" title="Code">💻</a></td>
@@ -151,9 +152,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/jorenham"><img src="https://avatars.githubusercontent.com/u/6208662?v=4?s=80" width="80px;" alt="Joren Hammudoglu"/><br /><sub><b>Joren Hammudoglu</b></sub></a><br /><a href="#infra-jorenham" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://juanitorduz.github.io/"><img src="https://avatars1.githubusercontent.com/u/22996444?v=4?s=80" width="80px;" alt="Juan Orduz"/><br /><sub><b>Juan Orduz</b></sub></a><br /><a href="#tutorial-juanitorduz" title="Tutorials">✅</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=juanitorduz" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/jelc53"><img src="https://avatars.githubusercontent.com/u/30467615?v=4?s=80" width="80px;" alt="Julian Cooper"/><br /><sub><b>Julian Cooper</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=jelc53" title="Code">💻</a> <a href="#ideas-jelc53" title="Ideas, Planning, & Feedback">🤔</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://www.linkedin.com/in/julianarn/"><img src="https://avatars.githubusercontent.com/u/19613567?v=4?s=80" width="80px;" alt="Juliana"/><br /><sub><b>Juliana</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=julramos" title="Code">💻</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://www.linkedin.com/in/julianarn/"><img src="https://avatars.githubusercontent.com/u/19613567?v=4?s=80" width="80px;" alt="Juliana"/><br /><sub><b>Juliana</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=julramos" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://www.justinshenk.com/"><img src="https://avatars.githubusercontent.com/u/10270308?v=4?s=80" width="80px;" alt="Justin Shenk"/><br /><sub><b>Justin Shenk</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=justinshenk" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/kcc-lion"><img src="https://avatars.githubusercontent.com/u/54307609?v=4?s=80" width="80px;" alt="Kai Lion"/><br /><sub><b>Kai Lion</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=kcc-lion" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=kcc-lion" title="Tests">⚠️</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=kcc-lion" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/kanand77"><img src="https://avatars.githubusercontent.com/kanand77?s=80" width="80px;" alt="Kavin Anand"/><br /><sub><b>Kavin Anand</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=kanand77" title="Documentation">📖</a></td>
@@ -161,9 +162,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://kejsitake.com/"><img src="https://avatars.githubusercontent.com/u/23707808?v=4?s=80" width="80px;" alt="Kejsi Take"/><br /><sub><b>Kejsi Take</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=kejsitake" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://www.linkedin.com/in/kevinlam2"><img src="https://avatars.githubusercontent.com/u/114420932?s=400&v=4?s=80" width="80px;" alt="Kevin Lam"/><br /><sub><b>Kevin Lam</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=klam-data" title="Code">💻</a> <a href="#example-klam-data" title="Examples">💡</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=klam-data" title="Tests">⚠️</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://whitakerlab.github.io/"><img src="https://avatars1.githubusercontent.com/u/3626306?v=4?s=80" width="80px;" alt="Kirstie Whitaker"/><br /><sub><b>Kirstie Whitaker</b></sub></a><br /><a href="#ideas-KirstieJane" title="Ideas, Planning, & Feedback">🤔</a> <a href="#fundingFinding-KirstieJane" title="Funding Finding">🔍</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://github.com/kishmanani"><img src="https://avatars.githubusercontent.com/u/30973056?v=4?s=80" width="80px;" alt="Kishan Manani"/><br /><sub><b>Kishan Manani</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=KishManani" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=KishManani" title="Documentation">📖</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=KishManani" title="Tests">⚠️</a> <a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3AKishManani" title="Bug reports">🐛</a> <a href="#ideas-KishManani" title="Ideas, Planning, & Feedback">🤔</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://github.com/kishmanani"><img src="https://avatars.githubusercontent.com/u/30973056?v=4?s=80" width="80px;" alt="Kishan Manani"/><br /><sub><b>Kishan Manani</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=KishManani" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=KishManani" title="Documentation">📖</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=KishManani" title="Tests">⚠️</a> <a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3AKishManani" title="Bug reports">🐛</a> <a href="#ideas-KishManani" title="Ideas, Planning, & Feedback">🤔</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/krumeto"><img src="https://avatars3.githubusercontent.com/u/11272436?v=4?s=80" width="80px;" alt="Krum Arnaudov"/><br /><sub><b>Krum Arnaudov</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Akrumeto" title="Bug reports">🐛</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=krumeto" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/koralturkk"><img src="https://avatars2.githubusercontent.com/u/18037789?s=460&v=4?s=80" width="80px;" alt="Kutay Koralturk"/><br /><sub><b>Kutay Koralturk</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=koralturkk" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Akoralturkk" title="Bug reports">🐛</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/ltsaprounis"><img src="https://avatars.githubusercontent.com/u/64217214?v=4?s=80" width="80px;" alt="Leonidas Tsaprounis"/><br /><sub><b>Leonidas Tsaprounis</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=ltsaprounis" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Altsaprounis" title="Bug reports">🐛</a> <a href="#mentoring-ltsaprounis" title="Mentoring">🧑‍🏫</a> <a href="https://github.com/aeon-toolkit/aeon/pulls?q=is%3Apr+reviewed-by%3Altsaprounis" title="Reviewed Pull Requests">👀</a></td>
@@ -171,9 +172,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/chillerobscuro"><img src="https://avatars.githubusercontent.com/u/5232872?v=4?s=80" width="80px;" alt="Logan Duffy"/><br /><sub><b>Logan Duffy</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=chillerobscuro" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=chillerobscuro" title="Documentation">📖</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=chillerobscuro" title="Tests">⚠️</a> <a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Achillerobscuro" title="Bug reports">🐛</a> <a href="#ideas-chillerobscuro" title="Ideas, Planning, & Feedback">🤔</a></td>
       <td align="center" valign="top" width="12.5%"><a href="http://lpantano.github.io/"><img src="https://avatars2.githubusercontent.com/u/1621788?v=4?s=80" width="80px;" alt="Lorena Pantano"/><br /><sub><b>Lorena Pantano</b></sub></a><br /><a href="#ideas-lpantano" title="Ideas, Planning, & Feedback">🤔</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/ltoniazzi"><img src="https://avatars.githubusercontent.com/u/61414566?s=80" width="80px;" alt="Lorenzo Toniazzi"/><br /><sub><b>Lorenzo Toniazzi</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=ltoniazzi" title="Code">💻</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://github.com/Lovkush-A"><img src="https://avatars.githubusercontent.com/u/25344832?v=4?s=80" width="80px;" alt="Lovkush"/><br /><sub><b>Lovkush</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=Lovkush-A" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=Lovkush-A" title="Tests">⚠️</a> <a href="#ideas-Lovkush-A" title="Ideas, Planning, & Feedback">🤔</a> <a href="#mentoring-Lovkush-A" title="Mentoring">🧑‍🏫</a> <a href="#projectManagement-Lovkush-A" title="Project Management">📆</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://github.com/Lovkush-A"><img src="https://avatars.githubusercontent.com/u/25344832?v=4?s=80" width="80px;" alt="Lovkush"/><br /><sub><b>Lovkush</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=Lovkush-A" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=Lovkush-A" title="Tests">⚠️</a> <a href="#ideas-Lovkush-A" title="Ideas, Planning, & Feedback">🤔</a> <a href="#mentoring-Lovkush-A" title="Mentoring">🧑‍🏫</a> <a href="#projectManagement-Lovkush-A" title="Project Management">📆</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/zy18811"><img src="https://avatars.githubusercontent.com/u/74973887?v=4?s=80" width="80px;" alt="Luca Bennett"/><br /><sub><b>Luca Bennett</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=zy18811" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=zy18811" title="Documentation">📖</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=zy18811" title="Tests">⚠️</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/lbventura"><img src="https://avatars.githubusercontent.com/u/68004282?s=96&v=4?s=80" width="80px;" alt="Luis Ventura"/><br /><sub><b>Luis Ventura</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=lbventura" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/luiszugasti"><img src="https://avatars.githubusercontent.com/u/11198457?s=460&u=0645b72683e491824aca16db9702f1d3eb990389&v=4?s=80" width="80px;" alt="Luis Zugasti"/><br /><sub><b>Luis Zugasti</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=luiszugasti" title="Documentation">📖</a></td>
@@ -181,9 +182,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="http://marcelotryle.com"><img src="https://avatars3.githubusercontent.com/u/7353520?v=4?s=80" width="80px;" alt="Marcelo Trylesinski"/><br /><sub><b>Marcelo Trylesinski</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=Kludex" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/MarcoGorelli"><img src="https://avatars2.githubusercontent.com/u/33491632?v=4?s=80" width="80px;" alt="Marco Gorelli"/><br /><sub><b>Marco Gorelli</b></sub></a><br /><a href="#infra-MarcoGorelli" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://www.linkedin.com/in/margaret-gorlin/"><img src="https://avatars.githubusercontent.com/u/23091594?v=4?s=80" width="80px;" alt="Margaret Gorlin"/><br /><sub><b>Margaret Gorlin</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=mgorlin" title="Code">💻</a> <a href="#example-mgorlin" title="Examples">💡</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=mgorlin" title="Tests">⚠️</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://github.com/mariamjabara"><img src="https://avatars.githubusercontent.com/u/38568292?v=4?s=80" width="80px;" alt="Mariam Jabara"/><br /><sub><b>Mariam Jabara</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=mariamjabara" title="Code">💻</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://github.com/mariamjabara"><img src="https://avatars.githubusercontent.com/u/38568292?v=4?s=80" width="80px;" alt="Mariam Jabara"/><br /><sub><b>Mariam Jabara</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=mariamjabara" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://twitter.com/marielli"><img src="https://avatars2.githubusercontent.com/u/13499809?v=4?s=80" width="80px;" alt="Marielle"/><br /><sub><b>Marielle</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=marielledado" title="Documentation">📖</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=marielledado" title="Code">💻</a> <a href="#ideas-marielledado" title="Ideas, Planning, & Feedback">🤔</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/mloning"><img src="https://avatars3.githubusercontent.com/u/21020482?v=4?s=80" width="80px;" alt="Markus Löning"/><br /><sub><b>Markus Löning</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=mloning" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=mloning" title="Tests">⚠️</a> <a href="#maintenance-mloning" title="Maintenance">🚧</a> <a href="#platform-mloning" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/aeon-toolkit/aeon/pulls?q=is%3Apr+reviewed-by%3Amloning" title="Reviewed Pull Requests">👀</a> <a href="#infra-mloning" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#example-mloning" title="Examples">💡</a> <a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Amloning" title="Bug reports">🐛</a> <a href="#tutorial-mloning" title="Tutorials">✅</a> <a href="#business-mloning" title="Business development">💼</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=mloning" title="Documentation">📖</a> <a href="#design-mloning" title="Design">🎨</a> <a href="#eventOrganizing-mloning" title="Event Organizing">📋</a> <a href="#fundingFinding-mloning" title="Funding Finding">🔍</a> <a href="#ideas-mloning" title="Ideas, Planning, & Feedback">🤔</a> <a href="#projectManagement-mloning" title="Project Management">📆</a> <a href="#question-mloning" title="Answering Questions">💬</a> <a href="#talk-mloning" title="Talks">📢</a> <a href="#mentoring-mloning" title="Mentoring">🧑‍🏫</a> <a href="#video-mloning" title="Videos">📹</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://www.linkedin.com/in/martin-walter-1a33b3114/"><img src="https://avatars0.githubusercontent.com/u/29627036?v=4?s=80" width="80px;" alt="Martin Walter"/><br /><sub><b>Martin Walter</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=aiwalter" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Aaiwalter" title="Bug reports">🐛</a> <a href="#projectManagement-aiwalter" title="Project Management">📆</a> <a href="#fundingFinding-aiwalter" title="Funding Finding">🔍</a> <a href="#mentoring-aiwalter" title="Mentoring">🧑‍🏫</a> <a href="#ideas-aiwalter" title="Ideas, Planning, & Feedback">🤔</a> <a href="#design-aiwalter" title="Design">🎨</a> <a href="https://github.com/aeon-toolkit/aeon/pulls?q=is%3Apr+reviewed-by%3Aaiwalter" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=aiwalter" title="Documentation">📖</a> <a href="#talk-aiwalter" title="Talks">📢</a></td>
@@ -191,9 +192,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/MatthewMiddlehurst"><img src="https://avatars0.githubusercontent.com/u/25731235?v=4?s=80" width="80px;" alt="Matthew Middlehurst"/><br /><sub><b>Matthew Middlehurst</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3AMatthewMiddlehurst" title="Bug reports">🐛</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=MatthewMiddlehurst" title="Code">💻</a> <a href="#data-MatthewMiddlehurst" title="Data">🔣</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=MatthewMiddlehurst" title="Documentation">📖</a> <a href="#design-MatthewMiddlehurst" title="Design">🎨</a> <a href="#example-MatthewMiddlehurst" title="Examples">💡</a> <a href="#ideas-MatthewMiddlehurst" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-MatthewMiddlehurst" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#maintenance-MatthewMiddlehurst" title="Maintenance">🚧</a> <a href="#mentoring-MatthewMiddlehurst" title="Mentoring">🧑‍🏫</a> <a href="#promotion-MatthewMiddlehurst" title="Promotion">📣</a> <a href="#question-MatthewMiddlehurst" title="Answering Questions">💬</a> <a href="#research-MatthewMiddlehurst" title="Research">🔬</a> <a href="https://github.com/aeon-toolkit/aeon/pulls?q=is%3Apr+reviewed-by%3AMatthewMiddlehurst" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=MatthewMiddlehurst" title="Tests">⚠️</a> <a href="#tutorial-MatthewMiddlehurst" title="Tutorials">✅</a> <a href="#talk-MatthewMiddlehurst" title="Talks">📢</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/solen0id"><img src="https://avatars.githubusercontent.com/u/20767606?v=4?s=80" width="80px;" alt="Max Patzelt"/><br /><sub><b>Max Patzelt</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=solen0id" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/Hephaest"><img src="https://avatars2.githubusercontent.com/u/37981444?v=4?s=80" width="80px;" alt="Miao Cai"/><br /><sub><b>Miao Cai</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3AHephaest" title="Bug reports">🐛</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=Hephaest" title="Code">💻</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://github.com/frankl1"><img src="https://avatars.githubusercontent.com/u/23366578?s=96&v=4?s=80" width="80px;" alt="Michael F. Mbouopda"/><br /><sub><b>Michael F. Mbouopda</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=frankl1" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Afrankl1" title="Bug reports">🐛</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=frankl1" title="Documentation">📖</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://github.com/frankl1"><img src="https://avatars.githubusercontent.com/u/23366578?s=96&v=4?s=80" width="80px;" alt="Michael F. Mbouopda"/><br /><sub><b>Michael F. Mbouopda</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=frankl1" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Afrankl1" title="Bug reports">🐛</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=frankl1" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="michaelfeil.eu"><img src="https://avatars.githubusercontent.com/u/63565275?v=4?s=80" width="80px;" alt="Michael Feil"/><br /><sub><b>Michael Feil</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=michaelfeil" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=michaelfeil" title="Tests">⚠️</a> <a href="#ideas-michaelfeil" title="Ideas, Planning, & Feedback">🤔</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/MichalChromcak"><img src="https://avatars1.githubusercontent.com/u/12393430?v=4?s=80" width="80px;" alt="Michal Chromcak"/><br /><sub><b>Michal Chromcak</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=MichalChromcak" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=MichalChromcak" title="Documentation">📖</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=MichalChromcak" title="Tests">⚠️</a> <a href="#tutorial-MichalChromcak" title="Tutorials">✅</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/miraep8"><img src="https://avatars.githubusercontent.com/u/10511777?s=400&u=10a774fd4be767fa3b23a82a98bbfe102c17f0f3&v=4?s=80" width="80px;" alt="Mirae Parker"/><br /><sub><b>Mirae Parker</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=miraep8" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=miraep8" title="Tests">⚠️</a></td>
@@ -201,9 +202,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://moradisten.github.io/"><img src="https://avatars.githubusercontent.com/u/29915156?v=4?s=80" width="80px;" alt="Morad :)"/><br /><sub><b>Morad :)</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=moradabaz" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=moradabaz" title="Tests">⚠️</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=moradabaz" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/Multivin12"><img src="https://avatars3.githubusercontent.com/u/36476633?v=4?s=80" width="80px;" alt="Multivin12"/><br /><sub><b>Multivin12</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=Multivin12" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=Multivin12" title="Tests">⚠️</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/marcio55afr"><img src="https://avatars.githubusercontent.com/u/42646282?v=4?s=80" width="80px;" alt="Márcio A. Freitas Jr"/><br /><sub><b>Márcio A. Freitas Jr</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=marcio55afr" title="Documentation">📖</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://github.com/niekvanderlaan"><img src="https://avatars.githubusercontent.com/u/9962825?v=4?s=80" width="80px;" alt="Niek van der Laan"/><br /><sub><b>Niek van der Laan</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=niekvanderlaan" title="Code">💻</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://github.com/niekvanderlaan"><img src="https://avatars.githubusercontent.com/u/9962825?v=4?s=80" width="80px;" alt="Niek van der Laan"/><br /><sub><b>Niek van der Laan</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=niekvanderlaan" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/ngupta23"><img src="https://avatars0.githubusercontent.com/u/33585645?v=4?s=80" width="80px;" alt="Nikhil Gupta"/><br /><sub><b>Nikhil Gupta</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=ngupta23" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Angupta23" title="Bug reports">🐛</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=ngupta23" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://www.linkedin.com/in/nshahpazov/"><img src="https://avatars.githubusercontent.com/nshahpazov?s=80" width="80px;" alt="Nikola Shahpazov"/><br /><sub><b>Nikola Shahpazov</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=nshahpazov" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/nilesh05apr"><img src="https://avatars.githubusercontent.com/u/65773314?v=4?s=80" width="80px;" alt="Nilesh Kumar"/><br /><sub><b>Nilesh Kumar</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=nilesh05apr" title="Code">💻</a></td>
@@ -211,9 +212,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/ninfueng"><img src="https://avatars2.githubusercontent.com/u/28499769?v=4?s=80" width="80px;" alt="Ninnart Fuengfusin"/><br /><sub><b>Ninnart Fuengfusin</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=ninfueng" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/NoaBenAmi"><img src="https://avatars.githubusercontent.com/u/37590002?v=4?s=80" width="80px;" alt="Noa Ben Ami"/><br /><sub><b>Noa Ben Ami</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=NoaBenAmi" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=NoaBenAmi" title="Tests">⚠️</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=NoaBenAmi" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/shchur"><img src="https://avatars.githubusercontent.com/u/6944857?v=4?s=80" width="80px;" alt="Oleksandr Shchur"/><br /><sub><b>Oleksandr Shchur</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Ashchur" title="Bug reports">🐛</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=shchur" title="Code">💻</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://github.com/kachayev"><img src="https://avatars.githubusercontent.com/u/485647?v=4?s=80" width="80px;" alt="Oleksii Kachaiev"/><br /><sub><b>Oleksii Kachaiev</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=kachayev" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=kachayev" title="Tests">⚠️</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://github.com/kachayev"><img src="https://avatars.githubusercontent.com/u/485647?v=4?s=80" width="80px;" alt="Oleksii Kachaiev"/><br /><sub><b>Oleksii Kachaiev</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=kachayev" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=kachayev" title="Tests">⚠️</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/olivermatthews"><img src="https://avatars.githubusercontent.com/u/31141490?v=4?s=80" width="80px;" alt="Oliver Matthews"/><br /><sub><b>Oliver Matthews</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=OliverMatthews" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/pattplatt"><img src="https://avatars.githubusercontent.com/u/55019140?v=4?s=80" width="80px;" alt="Patrick Müller"/><br /><sub><b>Patrick Müller</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=pattplatt" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/prockenschaub"><img src="https://avatars0.githubusercontent.com/u/15381732?v=4?s=80" width="80px;" alt="Patrick Rockenschaub"/><br /><sub><b>Patrick Rockenschaub</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=prockenschaub" title="Code">💻</a> <a href="#design-prockenschaub" title="Design">🎨</a> <a href="#ideas-prockenschaub" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=prockenschaub" title="Tests">⚠️</a></td>
@@ -221,9 +222,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://ber.gp"><img src="https://avatars1.githubusercontent.com/u/9824244?v=4?s=80" width="80px;" alt="Paul"/><br /><sub><b>Paul</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=Pangoraw" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/PaulRabich"><img src="https://avatars.githubusercontent.com/u/78356939?v=4?s=80" width="80px;" alt="Paul Rabich"/><br /><sub><b>Paul Rabich</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=PaulRabich" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://www.linkedin.com/in/paulyim97/"><img src="https://avatars.githubusercontent.com/pyyim?s=80" width="80px;" alt="Paul Yim"/><br /><sub><b>Paul Yim</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=pyyim" title="Code">💻</a> <a href="#example-pyyim" title="Examples">💡</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=pyyim" title="Tests">⚠️</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://www.youtube.com/channel/UCLnEr7V_5BANojPKUjCjb4g"><img src="https://avatars.githubusercontent.com/u/25594870?v=4?s=80" width="80px;" alt="Philip"/><br /><sub><b>Philip</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=phershbe" title="Documentation">📖</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://www.youtube.com/channel/UCLnEr7V_5BANojPKUjCjb4g"><img src="https://avatars.githubusercontent.com/u/25594870?v=4?s=80" width="80px;" alt="Philip"/><br /><sub><b>Philip</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=phershbe" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://www.imes.uni-hannover.de/de/institut/team/m-sc-karl-philipp-kortmann/"><img src="https://avatars.githubusercontent.com/u/20466981?v=4?s=80" width="80px;" alt="Philipp Kortmann"/><br /><sub><b>Philipp Kortmann</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=MrPr3ntice" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=MrPr3ntice" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/wenig"><img src="https://avatars.githubusercontent.com/u/6967289?v=4?s=80" width="80px;" alt="Phillip Wenig"/><br /><sub><b>Phillip Wenig</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=wenig" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/Piyush1729"><img src="https://avatars2.githubusercontent.com/u/64950012?v=4?s=80" width="80px;" alt="Piyush Gade"/><br /><sub><b>Piyush Gade</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=Piyush1729" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/pulls?q=is%3Apr+reviewed-by%3APiyush1729" title="Reviewed Pull Requests">👀</a></td>
@@ -231,9 +232,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/Quaterion"><img src="https://avatars2.githubusercontent.com/u/23200273?v=4?s=80" width="80px;" alt="Quaterion"/><br /><sub><b>Quaterion</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3AQuaterion" title="Bug reports">🐛</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/RafaAyGar"><img src="https://avatars.githubusercontent.com/u/37343008?s=400&u=bbd9c00c6045adf11cd9376e6db1d959565c27c6&v=4?s=80" width="80px;" alt="Rafael Ayllón-Gavilán"/><br /><sub><b>Rafael Ayllón-Gavilán</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=RafaAyGar" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/rakshitha123"><img src="https://avatars.githubusercontent.com/u/7654679?v=4?s=80" width="80px;" alt="Rakshitha Godahewa"/><br /><sub><b>Rakshitha Godahewa</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=rakshitha123" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=rakshitha123" title="Documentation">📖</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://github.com/RavenRudi"><img src="https://avatars.githubusercontent.com/u/46402968?v=4?s=80" width="80px;" alt="RavenRudi"/><br /><sub><b>RavenRudi</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=RavenRudi" title="Code">💻</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://github.com/RavenRudi"><img src="https://avatars.githubusercontent.com/u/46402968?v=4?s=80" width="80px;" alt="RavenRudi"/><br /><sub><b>RavenRudi</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=RavenRudi" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/Raya679"><img src="https://avatars.githubusercontent.com/u/113240231?v=4?s=80" width="80px;" alt="Raya Chakravarty"/><br /><sub><b>Raya Chakravarty</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=Raya679" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/wolph"><img src="https://avatars.githubusercontent.com/u/270571?v=4?s=80" width="80px;" alt="Rick van Hattem"/><br /><sub><b>Rick van Hattem</b></sub></a><br /><a href="#infra-wolph" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/Ris-Bali"><img src="https://avatars.githubusercontent.com/u/81592570?v=4?s=80" width="80px;" alt="Rishabh Bali"/><br /><sub><b>Rishabh Bali</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=Ris-Bali" title="Code">💻</a></td>
@@ -241,9 +242,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/RishiKumarRay"><img src="https://avatars.githubusercontent.com/u/87641376?v=4?s=80" width="80px;" alt="Rishi Kumar Ray"/><br /><sub><b>Rishi Kumar Ray</b></sub></a><br /><a href="#infra-RishiKumarRay" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/Riyabelle25"><img src="https://avatars.githubusercontent.com/u/55790848?v=4?s=80" width="80px;" alt="Riya Elizabeth John"/><br /><sub><b>Riya Elizabeth John</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=Riyabelle25" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=Riyabelle25" title="Tests">⚠️</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=Riyabelle25" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/ronnie-llamado"><img src="https://avatars.githubusercontent.com/ronnie-llamado?s=80" width="80px;" alt="Ronnie Llamado"/><br /><sub><b>Ronnie Llamado</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=ronnie-llamado" title="Documentation">📖</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://github.com/rnkuhns"><img src="https://avatars0.githubusercontent.com/u/26907244?v=4?s=80" width="80px;" alt="Ryan Kuhns"/><br /><sub><b>Ryan Kuhns</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=RNKuhns" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=RNKuhns" title="Documentation">📖</a> <a href="#tutorial-RNKuhns" title="Tutorials">✅</a> <a href="#example-RNKuhns" title="Examples">💡</a> <a href="#ideas-RNKuhns" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/aeon-toolkit/aeon/pulls?q=is%3Apr+reviewed-by%3ARNKuhns" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=RNKuhns" title="Tests">⚠️</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://github.com/rnkuhns"><img src="https://avatars0.githubusercontent.com/u/26907244?v=4?s=80" width="80px;" alt="Ryan Kuhns"/><br /><sub><b>Ryan Kuhns</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=RNKuhns" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=RNKuhns" title="Documentation">📖</a> <a href="#tutorial-RNKuhns" title="Tutorials">✅</a> <a href="#example-RNKuhns" title="Examples">💡</a> <a href="#ideas-RNKuhns" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/aeon-toolkit/aeon/pulls?q=is%3Apr+reviewed-by%3ARNKuhns" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=RNKuhns" title="Tests">⚠️</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/achieveordie"><img src="https://avatars.githubusercontent.com/u/54197164?v=4?s=80" width="80px;" alt="Sagar Mishra"/><br /><sub><b>Sagar Mishra</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=achieveordie" title="Tests">⚠️</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://sajay.online"><img src="https://avatars2.githubusercontent.com/u/25329624?v=4?s=80" width="80px;" alt="Sajaysurya Ganesh"/><br /><sub><b>Sajaysurya Ganesh</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=sajaysurya" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=sajaysurya" title="Documentation">📖</a> <a href="#design-sajaysurya" title="Design">🎨</a> <a href="#example-sajaysurya" title="Examples">💡</a> <a href="#ideas-sajaysurya" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=sajaysurya" title="Tests">⚠️</a> <a href="#tutorial-sajaysurya" title="Tutorials">✅</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/Saransh-cpp"><img src="https://avatars.githubusercontent.com/u/74055102?v=4?s=80" width="80px;" alt="Saransh Chopra"/><br /><sub><b>Saransh Chopra</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=Saransh-cpp" title="Documentation">📖</a> <a href="#infra-Saransh-cpp" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
@@ -251,9 +252,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/dasgupsa"><img src="https://avatars2.githubusercontent.com/u/10398956?v=4?s=80" width="80px;" alt="Saurabh Dasgupta"/><br /><sub><b>Saurabh Dasgupta</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=dasgupsa" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/SebasKoel"><img src="https://avatars3.githubusercontent.com/u/66252156?v=4?s=80" width="80px;" alt="Sebastiaan Koel"/><br /><sub><b>Sebastiaan Koel</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=SebasKoel" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=SebasKoel" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/shagn"><img src="https://avatars.githubusercontent.com/u/16029092?v=4?s=80" width="80px;" alt="Sebastian Hagn"/><br /><sub><b>Sebastian Hagn</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=shagn" title="Documentation">📖</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://github.com/SebastianSchmidl"><img src="https://avatars.githubusercontent.com/u/10573700?v=4?s=80" width="80px;" alt="Sebastian Schmidl"/><br /><sub><b>Sebastian Schmidl</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3ASebastianSchmidl" title="Bug reports">🐛</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=SebastianSchmidl" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=SebastianSchmidl" title="Documentation">📖</a> <a href="#research-SebastianSchmidl" title="Research">🔬</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=SebastianSchmidl" title="Tests">⚠️</a> <a href="https://github.com/aeon-toolkit/aeon/pulls?q=is%3Apr+reviewed-by%3ASebastianSchmidl" title="Reviewed Pull Requests">👀</a> <a href="#data-SebastianSchmidl" title="Data">🔣</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://github.com/SebastianSchmidl"><img src="https://avatars.githubusercontent.com/u/10573700?v=4?s=80" width="80px;" alt="Sebastian Schmidl"/><br /><sub><b>Sebastian Schmidl</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3ASebastianSchmidl" title="Bug reports">🐛</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=SebastianSchmidl" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=SebastianSchmidl" title="Documentation">📖</a> <a href="#research-SebastianSchmidl" title="Research">🔬</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=SebastianSchmidl" title="Tests">⚠️</a> <a href="https://github.com/aeon-toolkit/aeon/pulls?q=is%3Apr+reviewed-by%3ASebastianSchmidl" title="Reviewed Pull Requests">👀</a> <a href="#data-SebastianSchmidl" title="Data">🔣</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/Sharathchenna"><img src="https://avatars.githubusercontent.com/u/50939688?v=4?s=80" width="80px;" alt="Sharathchenna"/><br /><sub><b>Sharathchenna</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=Sharathchenna" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/AurumnPegasus"><img src="https://avatars.githubusercontent.com/u/54315149?v=4?s=80" width="80px;" alt="Shivansh Subramanian"/><br /><sub><b>Shivansh Subramanian</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=AurumnPegasus" title="Documentation">📖</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=AurumnPegasus" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://www.linkedin.com/in/solomon-botchway-a1383821b/"><img src="https://avatars.githubusercontent.com/u/62394255?v=4?s=80" width="80px;" alt="Solomon Botchway"/><br /><sub><b>Solomon Botchway</b></sub></a><br /><a href="#maintenance-snnbotchway" title="Maintenance">🚧</a></td>
@@ -261,9 +262,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/steenrotsman"><img src="https://avatars.githubusercontent.com/u/78110080?s=400&v=4?s=80" width="80px;" alt="Stijn Rotman"/><br /><sub><b>Stijn Rotman</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=steenrotsman" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/SveaMeyer13"><img src="https://avatars.githubusercontent.com/u/46671894?v=4?s=80" width="80px;" alt="Svea Marie Meyer"/><br /><sub><b>Svea Marie Meyer</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=SveaMeyer13" title="Documentation">📖</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=SveaMeyer13" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/sylvaincom"><img src="https://avatars.githubusercontent.com/u/48064216?v=4?s=80" width="80px;" alt="Sylvain Combettes"/><br /><sub><b>Sylvain Combettes</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=sylvaincom" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Asylvaincom" title="Bug reports">🐛</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://github.com/TNTran92"><img src="https://avatars.githubusercontent.com/u/55965636?v=4?s=80" width="80px;" alt="TNTran92"/><br /><sub><b>TNTran92</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=TNTran92" title="Code">💻</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://github.com/TNTran92"><img src="https://avatars.githubusercontent.com/u/55965636?v=4?s=80" width="80px;" alt="TNTran92"/><br /><sub><b>TNTran92</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=TNTran92" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://thayeylolu.github.io/portfolio/"><img src="https://avatars.githubusercontent.com/u/13348874?v=4?s=80" width="80px;" alt="Taiwo Owoseni"/><br /><sub><b>Taiwo Owoseni</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=thayeylolu" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/lnthach"><img src="https://avatars0.githubusercontent.com/u/7788363?v=4?s=80" width="80px;" alt="Thach Le Nguyen"/><br /><sub><b>Thach Le Nguyen</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=lnthach" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=lnthach" title="Tests">⚠️</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/mathco-wf"><img src="https://avatars.githubusercontent.com/mathco-wf?s=80" width="80px;" alt="TheMathcompay Widget Factory Team"/><br /><sub><b>TheMathcompay Widget Factory Team</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=mathco-wf" title="Documentation">📖</a></td>
@@ -271,9 +272,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/xxl4tomxu98"><img src="https://avatars.githubusercontent.com/u/62292177?s=40&v=4?s=80" width="80px;" alt="Tom Xu"/><br /><sub><b>Tom Xu</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=xxl4tomxu98" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=xxl4tomxu98" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/tch"><img src="https://avatars3.githubusercontent.com/u/184076?v=4?s=80" width="80px;" alt="Tomasz Chodakowski"/><br /><sub><b>Tomasz Chodakowski</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=tch" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=tch" title="Documentation">📖</a> <a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Atch" title="Bug reports">🐛</a></td>
       <td align="center" valign="top" width="12.5%"><a href="http://www.timeseriesclassification.com"><img src="https://avatars1.githubusercontent.com/u/9594042?v=4?s=80" width="80px;" alt="Tony Bagnall"/><br /><sub><b>Tony Bagnall</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=TonyBagnall" title="Code">💻</a> <a href="#business-TonyBagnall" title="Business development">💼</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=TonyBagnall" title="Documentation">📖</a> <a href="#design-TonyBagnall" title="Design">🎨</a> <a href="#eventOrganizing-TonyBagnall" title="Event Organizing">📋</a> <a href="#fundingFinding-TonyBagnall" title="Funding Finding">🔍</a> <a href="#ideas-TonyBagnall" title="Ideas, Planning, & Feedback">🤔</a> <a href="#projectManagement-TonyBagnall" title="Project Management">📆</a> <a href="#question-TonyBagnall" title="Answering Questions">💬</a> <a href="https://github.com/aeon-toolkit/aeon/pulls?q=is%3Apr+reviewed-by%3ATonyBagnall" title="Reviewed Pull Requests">👀</a> <a href="#talk-TonyBagnall" title="Talks">📢</a> <a href="#data-TonyBagnall" title="Data">🔣</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://github.com/tvilight4"><img src="https://avatars.githubusercontent.com/u/122543856?v=4?s=80" width="80px;" alt="Tvisha Vedant"/><br /><sub><b>Tvisha Vedant</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=tvilight4" title="Code">💻</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://github.com/tvilight4"><img src="https://avatars.githubusercontent.com/u/122543856?v=4?s=80" width="80px;" alt="Tvisha Vedant"/><br /><sub><b>Tvisha Vedant</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=tvilight4" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/AnonymousCodes911"><img src="https://avatars.githubusercontent.com/u/67187480?v=4?s=80" width="80px;" alt="Utkarsh Kumar"/><br /><sub><b>Utkarsh Kumar</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=AnonymousCodes911" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=AnonymousCodes911" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/utsavcoding"><img src="https://avatars3.githubusercontent.com/u/55446385?v=4?s=80" width="80px;" alt="Utsav Kumar Tiwari"/><br /><sub><b>Utsav Kumar Tiwari</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=utsavcoding" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=utsavcoding" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/Vedant222"><img src="https://avatars.githubusercontent.com/u/70121054?v=4?s=80" width="80px;" alt="Vedant"/><br /><sub><b>Vedant</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=Vedant222" title="Documentation">📖</a></td>
@@ -281,9 +282,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/ViktorKaz"><img src="https://avatars0.githubusercontent.com/u/33499138?v=4?s=80" width="80px;" alt="ViktorKaz"/><br /><sub><b>ViktorKaz</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=ViktorKaz" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=ViktorKaz" title="Documentation">📖</a> <a href="#design-ViktorKaz" title="Design">🎨</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/VyomkeshVyas"><img src="https://avatars.githubusercontent.com/u/110027694?v=4?s=80" width="80px;" alt="Vyomkesh Vyas"/><br /><sub><b>Vyomkesh Vyas</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=VyomkeshVyas" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=VyomkeshVyas" title="Documentation">📖</a> <a href="#example-VyomkeshVyas" title="Examples">💡</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=VyomkeshVyas" title="Tests">⚠️</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/wayneadams"><img src="https://avatars.githubusercontent.com/u/15034841?v=4?s=80" width="80px;" alt="Wayne Adams"/><br /><sub><b>Wayne Adams</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=wayneadams" title="Documentation">📖</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://www.linkedin.com/in/templierw/"><img src="https://github.com/templierw.png?s=80" width="80px;" alt="William Templier"/><br /><sub><b>William Templier</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=templierw" title="Documentation">📖</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://www.linkedin.com/in/templierw/"><img src="https://github.com/templierw.png?s=80" width="80px;" alt="William Templier"/><br /><sub><b>William Templier</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=templierw" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/wwzeng1"><img src="https://avatars.githubusercontent.com/u/44910023?v=4?s=80" width="80px;" alt="William Zeng"/><br /><sub><b>William Zeng</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Awwzeng1" title="Bug reports">🐛</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/magittan"><img src="https://avatars0.githubusercontent.com/u/14024202?v=4?s=80" width="80px;" alt="William Zheng"/><br /><sub><b>William Zheng</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=magittan" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=magittan" title="Tests">⚠️</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/yairbeer"><img src="https://avatars.githubusercontent.com/yairbeer?s=80" width="80px;" alt="Yair Beer"/><br /><sub><b>Yair Beer</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=yairbeer" title="Code">💻</a></td>
@@ -291,9 +292,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/xuyxu"><img src="https://avatars2.githubusercontent.com/u/22359569?v=4?s=80" width="80px;" alt="Yi-Xuan Xu"/><br /><sub><b>Yi-Xuan Xu</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=xuyxu" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=xuyxu" title="Tests">⚠️</a> <a href="#maintenance-xuyxu" title="Maintenance">🚧</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=xuyxu" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/ZiyaoWei"><img src="https://avatars.githubusercontent.com/u/940823?v=4?s=80" width="80px;" alt="Ziyao Wei"/><br /><sub><b>Ziyao Wei</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=ZiyaoWei" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/aa25desh"><img src="https://avatars1.githubusercontent.com/u/29518290?v=4?s=80" width="80px;" alt="aa25desh"/><br /><sub><b>aa25desh</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=aa25desh" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Aaa25desh" title="Bug reports">🐛</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://github.com/abandus"><img src="https://avatars2.githubusercontent.com/u/46486474?v=4?s=80" width="80px;" alt="abandus"/><br /><sub><b>abandus</b></sub></a><br /><a href="#ideas-abandus" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=abandus" title="Code">💻</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://github.com/abandus"><img src="https://avatars2.githubusercontent.com/u/46486474?v=4?s=80" width="80px;" alt="abandus"/><br /><sub><b>abandus</b></sub></a><br /><a href="#ideas-abandus" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=abandus" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/adoherty21"><img src="https://avatars.githubusercontent.com/u/52799751?s=400&v=4?s=80" width="80px;" alt="adoherty21"/><br /><sub><b>adoherty21</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Aadoherty21" title="Bug reports">🐛</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/alexbanwell1"><img src="https://avatars.githubusercontent.com/u/31886108?v=4?s=80" width="80px;" alt="alexbanwell1"/><br /><sub><b>alexbanwell1</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=alexbanwell1" title="Code">💻</a> <a href="#design-alexbanwell1" title="Design">🎨</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=alexbanwell1" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/bethrice44"><img src="https://avatars.githubusercontent.com/u/11226988?v=4?s=80" width="80px;" alt="bethrice44"/><br /><sub><b>bethrice44</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Abethrice44" title="Bug reports">🐛</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=bethrice44" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/pulls?q=is%3Apr+reviewed-by%3Abethrice44" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=bethrice44" title="Tests">⚠️</a></td>
@@ -301,9 +302,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/bobbys-dev"><img src="https://avatars.githubusercontent.com/bobbys-dev?s=80" width="80px;" alt="bobbys"/><br /><sub><b>bobbys</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=bobbys-dev" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/brettkoonce"><img src="https://avatars2.githubusercontent.com/u/11281814?v=4?s=80" width="80px;" alt="brett koonce"/><br /><sub><b>brett koonce</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=brettkoonce" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/btrtts"><img src="https://avatars3.githubusercontent.com/u/66252156?v=4?s=80" width="80px;" alt="btrtts"/><br /><sub><b>btrtts</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=btrtts" title="Documentation">📖</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://github.com/chizzi25"><img src="https://avatars3.githubusercontent.com/u/67911243?v=4?s=80" width="80px;" alt="chizzi25"/><br /><sub><b>chizzi25</b></sub></a><br /><a href="#blog-chizzi25" title="Blogposts">📝</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://github.com/chizzi25"><img src="https://avatars3.githubusercontent.com/u/67911243?v=4?s=80" width="80px;" alt="chizzi25"/><br /><sub><b>chizzi25</b></sub></a><br /><a href="#blog-chizzi25" title="Blogposts">📝</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/chrisholder"><img src="https://avatars.githubusercontent.com/u/4674372?v=4?s=80" width="80px;" alt="chrisholder"/><br /><sub><b>chrisholder</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=chrisholder" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=chrisholder" title="Tests">⚠️</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=chrisholder" title="Documentation">📖</a> <a href="#design-chrisholder" title="Design">🎨</a> <a href="#example-chrisholder" title="Examples">💡</a> <a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Achrisholder" title="Bug reports">🐛</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/danbartl"><img src="https://avatars.githubusercontent.com/u/19947407?v=4?s=80" width="80px;" alt="danbartl"/><br /><sub><b>danbartl</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Adanbartl" title="Bug reports">🐛</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=danbartl" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/pulls?q=is%3Apr+reviewed-by%3Adanbartl" title="Reviewed Pull Requests">👀</a> <a href="#talk-danbartl" title="Talks">📢</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=danbartl" title="Tests">⚠️</a> <a href="#tutorial-danbartl" title="Tutorials">✅</a> <a href="#video-danbartl" title="Videos">📹</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/hamzahiqb"><img src="https://avatars3.githubusercontent.com/u/10302415?v=4?s=80" width="80px;" alt="hamzahiqb"/><br /><sub><b>hamzahiqb</b></sub></a><br /><a href="#infra-hamzahiqb" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
@@ -311,9 +312,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/jesellier"><img src="https://avatars0.githubusercontent.com/u/51952076?v=4?s=80" width="80px;" alt="jesellier"/><br /><sub><b>jesellier</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=jesellier" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/jschemm"><img src="https://avatars.githubusercontent.com/u/81151346?v=4?s=80" width="80px;" alt="jschemm"/><br /><sub><b>jschemm</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=jschemm" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/julu98"><img src="https://avatars.githubusercontent.com/u/133243896?v=4?s=80" width="80px;" alt="julu98"/><br /><sub><b>julu98</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Ajulu98" title="Bug reports">🐛</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://github.com/kkoziara"><img src="https://avatars1.githubusercontent.com/u/4346849?v=4?s=80" width="80px;" alt="kkoziara"/><br /><sub><b>kkoziara</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=kkoziara" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Akkoziara" title="Bug reports">🐛</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://github.com/kkoziara"><img src="https://avatars1.githubusercontent.com/u/4346849?v=4?s=80" width="80px;" alt="kkoziara"/><br /><sub><b>kkoziara</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=kkoziara" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Akkoziara" title="Bug reports">🐛</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/matteogales"><img src="https://avatars0.githubusercontent.com/u/9269326?v=4?s=80" width="80px;" alt="matteogales"/><br /><sub><b>matteogales</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=matteogales" title="Code">💻</a> <a href="#design-matteogales" title="Design">🎨</a> <a href="#ideas-matteogales" title="Ideas, Planning, & Feedback">🤔</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/neuron283"><img src="https://avatars.githubusercontent.com/u/177816976?v=4?s=80" width="80px;" alt="neuron283"/><br /><sub><b>neuron283</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=neuron283" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/nileenagp"><img src="https://avatars.githubusercontent.com/u/48993630?v=4?s=80" width="80px;" alt="nileenagp"/><br /><sub><b>nileenagp</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=nileenagp" title="Code">💻</a></td>
@@ -321,9 +322,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/pabworks"><img src="https://avatars.githubusercontent.com/u/32725127?v=4?s=80" width="80px;" alt="pabworks"/><br /><sub><b>pabworks</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=pabworks" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=pabworks" title="Tests">⚠️</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/xloem"><img src="https://avatars.githubusercontent.com/u/279585?v=4?s=80" width="80px;" alt="patiently pending world peace"/><br /><sub><b>patiently pending world peace</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=xloem" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/raishubham1"><img src="https://avatars3.githubusercontent.com/u/29356417?v=4?s=80" width="80px;" alt="raishubham1"/><br /><sub><b>raishubham1</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=raishubham1" title="Documentation">📖</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://github.com/simone-pignotti"><img src="https://avatars1.githubusercontent.com/u/44410066?v=4?s=80" width="80px;" alt="simone-pignotti"/><br /><sub><b>simone-pignotti</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=simone-pignotti" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Asimone-pignotti" title="Bug reports">🐛</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://github.com/simone-pignotti"><img src="https://avatars1.githubusercontent.com/u/44410066?v=4?s=80" width="80px;" alt="simone-pignotti"/><br /><sub><b>simone-pignotti</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=simone-pignotti" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/issues?q=author%3Asimone-pignotti" title="Bug reports">🐛</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/sophijka"><img src="https://avatars2.githubusercontent.com/u/47450591?v=4?s=80" width="80px;" alt="sophijka"/><br /><sub><b>sophijka</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=sophijka" title="Documentation">📖</a> <a href="#maintenance-sophijka" title="Maintenance">🚧</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/sri1419"><img src="https://avatars2.githubusercontent.com/u/65078278?v=4?s=80" width="80px;" alt="sri1419"/><br /><sub><b>sri1419</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=sri1419" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/tensorflow-as-tf"><img src="https://avatars.githubusercontent.com/u/51345718?v=4?s=80" width="80px;" alt="tensorflow-as-tf"/><br /><sub><b>tensorflow-as-tf</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=tensorflow-as-tf" title="Code">💻</a></td>
@@ -331,9 +332,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/vedpawar2254"><img src="https://avatars.githubusercontent.com/u/85354558?v=4?s=80" width="80px;" alt="ved pawar"/><br /><sub><b>ved pawar</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=vedpawar2254" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/vedazeren"><img src="https://avatars3.githubusercontent.com/u/63582874?v=4?s=80" width="80px;" alt="vedazeren"/><br /><sub><b>vedazeren</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=vedazeren" title="Code">💻</a> <a href="https://github.com/aeon-toolkit/aeon/commits?author=vedazeren" title="Tests">⚠️</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/vincent-nich12"><img src="https://avatars3.githubusercontent.com/u/36476633?v=4?s=80" width="80px;" alt="vincent-nich12"/><br /><sub><b>vincent-nich12</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=vincent-nich12" title="Code">💻</a></td>
-      <td align="center" valign="top" width="12.5%"><a href="https://github.com/vollmersj"><img src="https://avatars2.githubusercontent.com/u/12613127?v=4?s=80" width="80px;" alt="vollmersj"/><br /><sub><b>vollmersj</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=vollmersj" title="Documentation">📖</a></td>
     </tr>
     <tr>
+      <td align="center" valign="top" width="12.5%"><a href="https://github.com/vollmersj"><img src="https://avatars2.githubusercontent.com/u/12613127?v=4?s=80" width="80px;" alt="vollmersj"/><br /><sub><b>vollmersj</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=vollmersj" title="Documentation">📖</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/xiaobenbenecho"><img src="https://avatars.githubusercontent.com/u/17461849?v=4?s=80" width="80px;" alt="xiaobenbenecho"/><br /><sub><b>xiaobenbenecho</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=xiaobenbenecho" title="Code">💻</a></td>
       <td align="center" valign="top" width="12.5%"><a href="https://github.com/xiaopu222"><img src="https://avatars.githubusercontent.com/u/118000577?v=4?s=80" width="80px;" alt="xiaopu222"/><br /><sub><b>xiaopu222</b></sub></a><br /><a href="https://github.com/aeon-toolkit/aeon/commits?author=xiaopu222" title="Documentation">📖</a></td>
     </tr>
diff --git a/aeon/classification/convolution_based/_arsenal.py b/aeon/classification/convolution_based/_arsenal.py
index 4a232e7a..8a3d42ee 100644
--- a/aeon/classification/convolution_based/_arsenal.py
+++ b/aeon/classification/convolution_based/_arsenal.py
@@ -130,15 +130,15 @@ class Arsenal(BaseClassifier):
 
     def __init__(
         self,
-        n_kernels=2000,
-        n_estimators=25,
-        rocket_transform="rocket",
-        max_dilations_per_kernel=32,
-        n_features_per_kernel=4,
-        time_limit_in_minutes=0.0,
-        contract_max_n_estimators=100,
+        n_kernels: int = 2000,
+        n_estimators: int = 25,
+        rocket_transform: str = "rocket",
+        max_dilations_per_kernel: int = 32,
+        n_features_per_kernel: int = 4,
+        time_limit_in_minutes: float = 0.0,
+        contract_max_n_estimators: int = 100,
         class_weight=None,
-        n_jobs=1,
+        n_jobs: int = 1,
         random_state=None,
     ):
         self.n_kernels = n_kernels
diff --git a/aeon/classification/convolution_based/_hydra.py b/aeon/classification/convolution_based/_hydra.py
index 5a3c2d44..2c890d4a 100644
--- a/aeon/classification/convolution_based/_hydra.py
+++ b/aeon/classification/convolution_based/_hydra.py
@@ -96,7 +96,12 @@ class HydraClassifier(BaseClassifier):
     }
 
     def __init__(
-        self, n_kernels=8, n_groups=64, class_weight=None, n_jobs=1, random_state=None
+        self,
+        n_kernels: int = 8,
+        n_groups: int = 64,
+        class_weight=None,
+        n_jobs: int = 1,
+        random_state=None,
     ):
         self.n_kernels = n_kernels
         self.n_groups = n_groups
diff --git a/aeon/classification/convolution_based/_minirocket.py b/aeon/classification/convolution_based/_minirocket.py
index 60251213..629c447c 100644
--- a/aeon/classification/convolution_based/_minirocket.py
+++ b/aeon/classification/convolution_based/_minirocket.py
@@ -89,11 +89,11 @@ class MiniRocketClassifier(BaseClassifier):
 
     def __init__(
         self,
-        n_kernels=10000,
-        max_dilations_per_kernel=32,
+        n_kernels: int = 10000,
+        max_dilations_per_kernel: int = 32,
         estimator=None,
         class_weight=None,
-        n_jobs=1,
+        n_jobs: int = 1,
         random_state=None,
     ):
         self.n_kernels = n_kernels
diff --git a/aeon/classification/convolution_based/_mr_hydra.py b/aeon/classification/convolution_based/_mr_hydra.py
index 6d65dcb0..04384055 100644
--- a/aeon/classification/convolution_based/_mr_hydra.py
+++ b/aeon/classification/convolution_based/_mr_hydra.py
@@ -29,17 +29,18 @@ class MultiRocketHydraClassifier(BaseClassifier):
         Number of kernels per group for the Hydra transform.
     n_groups : int, default=64
         Number of groups per dilation for the Hydra transform.
-    class_weight{“balanced”, “balanced_subsample”}, dict or list of dicts, default=None
+    class_weight{None, “balanced”}, dict or list of dicts, default=None
         From sklearn documentation:
-        If not given, all classes are supposed to have weight one.
+        If None, all classes are assigned equal weights.
         The “balanced” mode uses the values of y to automatically adjust weights
         inversely proportional to class frequencies in the input data as
         n_samples / (n_classes * np.bincount(y))
-        The “balanced_subsample” mode is the same as “balanced” except that weights
-        are computed based on the bootstrap sample for every tree grown.
         For multi-output, the weights of each column of y will be multiplied.
+        A dictionary can also be provided to specify weights for each class manually.
         Note that these weights will be multiplied with sample_weight (passed through
         the fit method) if sample_weight is specified.
+        Note: "balanced_subsample" is not supported as RidgeClassifierCV
+        is not an ensemble model.
     n_jobs : int, default=1
         The number of jobs to run in parallel for both `fit` and `predict`.
         ``-1`` means using all processors.
@@ -88,7 +89,12 @@ class MultiRocketHydraClassifier(BaseClassifier):
     }
 
     def __init__(
-        self, n_kernels=8, n_groups=64, class_weight=None, n_jobs=1, random_state=None
+        self,
+        n_kernels: int = 8,
+        n_groups: int = 64,
+        class_weight=None,
+        n_jobs: int = 1,
+        random_state=None,
     ):
         self.n_kernels = n_kernels
         self.n_groups = n_groups
diff --git a/aeon/classification/convolution_based/_multirocket.py b/aeon/classification/convolution_based/_multirocket.py
index 0da780c7..791cf8fe 100644
--- a/aeon/classification/convolution_based/_multirocket.py
+++ b/aeon/classification/convolution_based/_multirocket.py
@@ -90,12 +90,12 @@ class MultiRocketClassifier(BaseClassifier):
 
     def __init__(
         self,
-        n_kernels=10000,
-        max_dilations_per_kernel=32,
-        n_features_per_kernel=4,
+        n_kernels: int = 10000,
+        max_dilations_per_kernel: int = 32,
+        n_features_per_kernel: int = 4,
         estimator=None,
         class_weight=None,
-        n_jobs=1,
+        n_jobs: int = 1,
         random_state=None,
     ):
         self.n_kernels = n_kernels
diff --git a/aeon/classification/convolution_based/_rocket.py b/aeon/classification/convolution_based/_rocket.py
index 152397a9..c6cf304c 100644
--- a/aeon/classification/convolution_based/_rocket.py
+++ b/aeon/classification/convolution_based/_rocket.py
@@ -93,10 +93,10 @@ class RocketClassifier(BaseClassifier):
 
     def __init__(
         self,
-        n_kernels=10000,
+        n_kernels: int = 10000,
         estimator=None,
         class_weight=None,
-        n_jobs=1,
+        n_jobs: int = 1,
         random_state=None,
     ):
         self.n_kernels = n_kernels
diff --git a/aeon/classification/deep_learning/_lite_time.py b/aeon/classification/deep_learning/_lite_time.py
index 7702c7d6..f115d531 100644
--- a/aeon/classification/deep_learning/_lite_time.py
+++ b/aeon/classification/deep_learning/_lite_time.py
@@ -35,12 +35,10 @@ class LITETimeClassifier(BaseClassifier):
         if set to `True` then LITEMV is used. LITEMV is the
         same architecture as LITE but specifically designed
         to better handle multivariate time series.
-    n_filters : int or list of int32, default = 32
-        The number of filters used in one lite layer, if not a list, the same
-        number of filters is used in all lite layers.
-    kernel_size : int or list of int, default = 40
-        The head kernel size used for each lite layer, if not a list, the same
-        is used in all lite module.
+    n_filters : int, default = 32
+        The number of filters used in one lite layer.
+    kernel_size : int, default = 40
+        The head kernel size used for each lite layer.
     strides : int or list of int, default = 1
         The strides of kernels in convolution layers for each lite layer,
         if not a list, the same is used in all lite layers.
@@ -340,12 +338,10 @@ class IndividualLITEClassifier(BaseDeepClassifier):
         if set to `True` then LITEMV is used. LITEMV is the
         same architecture as LITE but specifically designed
         to better handle multivariate time series.
-    n_filters : int or list of int32, default = 32
-        The number of filters used in one lite layer, if not a list, the same
-        number of filters is used in all lite layers.
-    kernel_size : int or list of int, default = 40
-        The head kernel size used for each lite layer, if not a list, the same
-        is used in all lite layers.
+    n_filters : int, default = 32
+        The number of filters used in one lite layer.
+    kernel_size : int, default = 40
+        The head kernel size used for each lite layer.
     strides : int or list of int, default = 1
         The strides of kernels in convolution layers for each lite layer,
         if not a list, the same is used in all lite layers.
diff --git a/aeon/classification/deep_learning/_mlp.py b/aeon/classification/deep_learning/_mlp.py
index 6768ba48..ceceddd6 100644
--- a/aeon/classification/deep_learning/_mlp.py
+++ b/aeon/classification/deep_learning/_mlp.py
@@ -21,6 +21,18 @@ class MLPClassifier(BaseDeepClassifier):
 
     Parameters
     ----------
+    n_layers : int, optional (default=3)
+        The number of dense layers in the MLP.
+    n_units : Union[int, List[int]], optional (default=500)
+        Number of units in each dense layer.
+    activation : Union[str, List[str]], optional (default='relu')
+        Activation function(s) for each dense layer.
+    dropout_rate : Union[float, List[Union[int, float]]], optional (default=None)
+        Dropout rate(s) for each dense layer. If None, a default rate of 0.2 is used
+        except the first element, being 0.1. Dropout rate(s) are typically a number
+        in the interval [0, 1].
+    dropout_last : float, default = 0.3
+        The dropout rate of the last layer.
     use_bias : bool, default = True
         Condition on whether or not to use bias values for dense layers.
     n_epochs : int, default = 2000
@@ -76,10 +88,6 @@ class MLPClassifier(BaseDeepClassifier):
         a single string metric is provided, it will be
         used as the only metric. If a list of metrics are
         provided, all will be used for evaluation.
-    activation : string or a tf callable, default="sigmoid"
-        Activation function used in the output linear layer.
-        List of available activation functions:
-        https://keras.io/api/layers/activations/
 
     Notes
     -----
@@ -104,6 +112,11 @@ class MLPClassifier(BaseDeepClassifier):
 
     def __init__(
         self,
+        n_layers=3,
+        n_units=500,
+        activation="relu",
+        dropout_rate=None,
+        dropout_last=None,
         use_bias=True,
         n_epochs=2000,
         batch_size=16,
@@ -120,16 +133,19 @@ class MLPClassifier(BaseDeepClassifier):
         last_file_name="last_model",
         init_file_name="init_model",
         random_state=None,
-        activation="sigmoid",
         optimizer=None,
     ):
+        self.n_layers = n_layers
+        self.n_units = n_units
+        self.activation = activation
+        self.dropout_rate = dropout_rate
+        self.dropout_last = dropout_last
         self.callbacks = callbacks
         self.n_epochs = n_epochs
         self.verbose = verbose
         self.loss = loss
         self.metrics = metrics
         self.use_mini_batch_size = use_mini_batch_size
-        self.activation = activation
         self.use_bias = use_bias
         self.file_path = file_path
         self.save_best_model = save_best_model
@@ -147,7 +163,14 @@ class MLPClassifier(BaseDeepClassifier):
             last_file_name=last_file_name,
         )
 
-        self._network = MLPNetwork(use_bias=self.use_bias)
+        self._network = MLPNetwork(
+            n_layers=self.n_layers,
+            n_units=self.n_units,
+            activation=self.activation,
+            dropout_rate=self.dropout_rate,
+            dropout_last=self.dropout_last,
+            use_bias=self.use_bias,
+        )
 
     def build_model(self, input_shape, n_classes, **kwargs):
         """Construct a compiled, un-trained, keras model that is ready for training.
diff --git a/aeon/classification/dictionary_based/_cboss.py b/aeon/classification/dictionary_based/_cboss.py
index 652b4a76..efb0ede1 100644
--- a/aeon/classification/dictionary_based/_cboss.py
+++ b/aeon/classification/dictionary_based/_cboss.py
@@ -93,6 +93,13 @@ class ContractableBOSS(BaseClassifier):
     weights_ :
         Weight of each classifier in the ensemble.
 
+    Raises
+    ------
+    ValueError
+        Raised when ``min_window`` is greater than ``max_window + 1``.
+        This ensures that ``min_window`` does not exceed ``max_window``,
+        preventing invalid window size configurations.
+
     See Also
     --------
     BOSSEnsemble, IndividualBOSS
@@ -305,7 +312,6 @@ class ContractableBOSS(BaseClassifier):
         -------
         1D np.ndarray
             Predicted class labels shape = (n_cases).
-
         """
         rng = check_random_state(self.random_state)
         return np.array(
diff --git a/aeon/classification/dictionary_based/_redcomets.py b/aeon/classification/dictionary_based/_redcomets.py
index 9af18a7f..f2864674 100644
--- a/aeon/classification/dictionary_based/_redcomets.py
+++ b/aeon/classification/dictionary_based/_redcomets.py
@@ -18,7 +18,7 @@ from sklearn.utils import check_random_state
 
 from aeon.classification.base import BaseClassifier
 from aeon.transformations.collection import Normalizer
-from aeon.transformations.collection.dictionary_based import SAX, SFA
+from aeon.transformations.collection.dictionary_based import SAX, SFAFast
 from aeon.utils.validation._dependencies import _check_soft_dependencies
 
 
@@ -62,7 +62,7 @@ class REDCOMETS(BaseClassifier):
 
     See Also
     --------
-    SAX, SFA
+    SAX, SFA, SFAFast
 
     Notes
     -----
@@ -182,9 +182,9 @@ class REDCOMETS(BaseClassifier):
         Returns
         -------
         sfa_transforms :
-            List of ``SFA()`` instances with random word length and alpabet size
+            List of ``SFAFast()`` instances with random word length and alpabet size
         sfa_clfs :
-            List of ``(RandomForestClassifier(), weight)`` tuples fitted on `SFA`
+            List of ``(RandomForestClassifier(), weight)`` tuples fitted on `SFAFast`
             transformed training data
         sax_transforms :
             List of ``SAX()`` instances with random word length and alpabet size
@@ -241,7 +241,7 @@ class REDCOMETS(BaseClassifier):
         cv = np.min([5, len(y_smote) // len(list(set(y_smote)))])
 
         sfa_transforms = [
-            SFA(
+            SFAFast(
                 word_length=w,
                 alphabet_size=a,
                 window_size=X_smote.shape[1],
@@ -254,8 +254,9 @@ class REDCOMETS(BaseClassifier):
 
         sfa_clfs = []
         for sfa in sfa_transforms:
-            sfa_dics = sfa.fit_transform(X_smote, y_smote)
-            X_sfa = np.array([sfa.word_list(list(d.keys())[0]) for d in sfa_dics[0]])
+            sfa.fit(X_smote, y_smote)
+            sfa_dics = sfa.transform_words(X_smote)
+            X_sfa = sfa_dics[:, 0, :]
 
             rf = RandomForestClassifier(
                 n_estimators=self.n_trees,
@@ -318,11 +319,11 @@ class REDCOMETS(BaseClassifier):
         Returns
         -------
         sfa_transforms : list
-            List of lists of ``SFA()`` instances with random word length and alpabet
+            List of lists of ``SFAFast()`` instances with random word length and alpabet
             size
         sfa_clfs : list
             List of lists of ``(RandomForestClassifier(), weight)`` tuples fitted on
-            `SFA` transformed training data
+            `SFAFast` transformed training data
         sax_transforms : list
             List of lists of ``SAX()`` instances with random word length and alpabet
             size
@@ -416,8 +417,8 @@ class REDCOMETS(BaseClassifier):
         pred_mat = np.zeros((X.shape[0], self.n_classes_))
 
         for sfa, (rf, weight) in zip(self.sfa_transforms, self.sfa_clfs):
-            sfa_dics = sfa.transform(X)
-            X_sfa = np.array([sfa.word_list(list(d.keys())[0]) for d in sfa_dics[0]])
+            sfa_dics = sfa.transform_words(X)
+            X_sfa = sfa_dics[:, 0, :]
 
             rf_pred_mat = rf.predict_proba(X_sfa)
 
@@ -471,10 +472,8 @@ class REDCOMETS(BaseClassifier):
             if self.variant in [6, 7, 8, 9]:
                 dimension_pred_mats = None
             for sfa, (rf, _) in zip(sfa_transforms, sfa_clfs):
-                sfa_dics = sfa.transform(X_d)
-                X_sfa = np.array(
-                    [sfa.word_list(list(d.keys())[0]) for d in sfa_dics[0]]
-                )
+                sfa_dics = sfa.transform_words(X_d)
+                X_sfa = sfa_dics[:, 0, :]
 
                 rf_pred_mat = rf.predict_proba(X_sfa)
 
diff --git a/aeon/classification/feature_based/_catch22.py b/aeon/classification/feature_based/_catch22.py
index bfad28dd..bec5deff 100644
--- a/aeon/classification/feature_based/_catch22.py
+++ b/aeon/classification/feature_based/_catch22.py
@@ -67,6 +67,17 @@ class Catch22Classifier(BaseClassifier):
         if None a 'prefer' value of "threads" is used by default.
         Valid options are "loky", "multiprocessing", "threading" or a custom backend.
         See the joblib Parallel documentation for more details.
+    class_weight{“balanced”, “balanced_subsample”}, dict or list of dicts, default=None
+        From sklearn documentation:
+        If not given, all classes are supposed to have weight one.
+        The “balanced” mode uses the values of y to automatically adjust weights
+        inversely proportional to class frequencies in the input data as
+        n_samples / (n_classes * np.bincount(y))
+        The “balanced_subsample” mode is the same as “balanced” except that weights
+        are computed based on the bootstrap sample for every tree grown.
+        For multi-output, the weights of each column of y will be multiplied.
+        Note that these weights will be multiplied with sample_weight (passed through
+        the fit method) if sample_weight is specified.
 
     Attributes
     ----------
@@ -132,6 +143,7 @@ class Catch22Classifier(BaseClassifier):
         random_state=None,
         n_jobs=1,
         parallel_backend=None,
+        class_weight=None,
     ):
         self.features = features
         self.catch24 = catch24
@@ -142,6 +154,7 @@ class Catch22Classifier(BaseClassifier):
         self.random_state = random_state
         self.n_jobs = n_jobs
         self.parallel_backend = parallel_backend
+        self.class_weight = class_weight
 
         super().__init__()
 
@@ -175,7 +188,7 @@ class Catch22Classifier(BaseClassifier):
 
         self.estimator_ = _clone_estimator(
             (
-                RandomForestClassifier(n_estimators=200)
+                RandomForestClassifier(n_estimators=200, class_weight=self.class_weight)
                 if self.estimator is None
                 else self.estimator
             ),
diff --git a/aeon/classification/feature_based/_signature_classifier.py b/aeon/classification/feature_based/_signature_classifier.py
index 88308436..a3f659ef 100644
--- a/aeon/classification/feature_based/_signature_classifier.py
+++ b/aeon/classification/feature_based/_signature_classifier.py
@@ -61,6 +61,17 @@ class SignatureClassifier(BaseClassifier):
         Signature truncation depth.
     random_state : int, default=None
         If `int`, random_state is the seed used by the random number generator;
+    class_weight{“balanced”, “balanced_subsample”}, dict or list of dicts, default=None
+        From sklearn documentation:
+        If not given, all classes are supposed to have weight one.
+        The “balanced” mode uses the values of y to automatically adjust weights
+        inversely proportional to class frequencies in the input data as
+        n_samples / (n_classes * np.bincount(y))
+        The “balanced_subsample” mode is the same as “balanced” except that weights
+        are computed based on the bootstrap sample for every tree grown.
+        For multi-output, the weights of each column of y will be multiplied.
+        Note that these weights will be multiplied with sample_weight (passed through
+        the fit method) if sample_weight is specified.
 
     Attributes
     ----------
@@ -105,6 +116,7 @@ class SignatureClassifier(BaseClassifier):
         sig_tfm="signature",
         depth=4,
         random_state=None,
+        class_weight=None,
     ):
         self.estimator = estimator
         self.augmentation_list = augmentation_list
@@ -116,7 +128,7 @@ class SignatureClassifier(BaseClassifier):
         self.sig_tfm = sig_tfm
         self.depth = depth
         self.random_state = random_state
-
+        self.class_weight = class_weight
         super().__init__()
 
         self.signature_method = SignatureTransformer(
@@ -135,7 +147,9 @@ class SignatureClassifier(BaseClassifier):
         """Set up the full signature method pipeline."""
         # Use rf if no classifier is set
         if self.estimator is None:
-            classifier = RandomForestClassifier(random_state=self.random_state)
+            classifier = RandomForestClassifier(
+                random_state=self.random_state, class_weight=self.class_weight
+            )
         else:
             classifier = _clone_estimator(self.estimator, self.random_state)
 
diff --git a/aeon/classification/feature_based/_summary.py b/aeon/classification/feature_based/_summary.py
index a4f34ff6..b6e00563 100644
--- a/aeon/classification/feature_based/_summary.py
+++ b/aeon/classification/feature_based/_summary.py
@@ -43,6 +43,17 @@ class SummaryClassifier(BaseClassifier):
         If `RandomState` instance, random_state is the random number generator;
         If `None`, the random number generator is the `RandomState` instance used
         by `np.random`.
+    class_weight{“balanced”, “balanced_subsample”}, dict or list of dicts, default=None
+        From sklearn documentation:
+        If not given, all classes are supposed to have weight one.
+        The “balanced” mode uses the values of y to automatically adjust weights
+        inversely proportional to class frequencies in the input data as
+        n_samples / (n_classes * np.bincount(y))
+        The “balanced_subsample” mode is the same as “balanced” except that weights
+        are computed based on the bootstrap sample for every tree grown.
+        For multi-output, the weights of each column of y will be multiplied.
+        Note that these weights will be multiplied with sample_weight (passed through
+        the fit method) if sample_weight is specified.
 
     Attributes
     ----------
@@ -85,6 +96,7 @@ class SummaryClassifier(BaseClassifier):
         estimator=None,
         n_jobs=1,
         random_state=None,
+        class_weight=None,
     ):
         self.summary_stats = summary_stats
         self.estimator = estimator
@@ -92,6 +104,8 @@ class SummaryClassifier(BaseClassifier):
         self.n_jobs = n_jobs
         self.random_state = random_state
 
+        self.class_weight = class_weight
+
         super().__init__()
 
     def _fit(self, X, y):
@@ -120,7 +134,7 @@ class SummaryClassifier(BaseClassifier):
 
         self.estimator_ = _clone_estimator(
             (
-                RandomForestClassifier(n_estimators=200)
+                RandomForestClassifier(n_estimators=200, class_weight=self.class_weight)
                 if self.estimator is None
                 else self.estimator
             ),
diff --git a/aeon/classification/feature_based/_tsfresh.py b/aeon/classification/feature_based/_tsfresh.py
index 28dc2dac..00021da5 100644
--- a/aeon/classification/feature_based/_tsfresh.py
+++ b/aeon/classification/feature_based/_tsfresh.py
@@ -46,6 +46,17 @@ class TSFreshClassifier(BaseClassifier):
         If `RandomState` instance, random_state is the random number generator;
         If `None`, the random number generator is the `RandomState` instance used
         by `np.random`.
+    class_weight{“balanced”, “balanced_subsample”}, dict or list of dicts, default=None
+        From sklearn documentation:
+        If not given, all classes are supposed to have weight one.
+        The “balanced” mode uses the values of y to automatically adjust weights
+        inversely proportional to class frequencies in the input data as
+        n_samples / (n_classes * np.bincount(y))
+        The “balanced_subsample” mode is the same as “balanced” except that weights
+        are computed based on the bootstrap sample for every tree grown.
+        For multi-output, the weights of each column of y will be multiplied.
+        Note that these weights will be multiplied with sample_weight (passed through
+        the fit method) if sample_weight is specified.
 
     Attributes
     ----------
@@ -86,6 +97,7 @@ class TSFreshClassifier(BaseClassifier):
         n_jobs=1,
         chunksize=None,
         random_state=None,
+        class_weight=None,
     ):
         self.default_fc_parameters = default_fc_parameters
         self.relevant_feature_extractor = relevant_feature_extractor
@@ -99,6 +111,7 @@ class TSFreshClassifier(BaseClassifier):
         self._transformer = None
         self._return_majority_class = False
         self._majority_class = 0
+        self.class_weight = class_weight
 
         super().__init__()
 
@@ -137,7 +150,7 @@ class TSFreshClassifier(BaseClassifier):
         )
         self.estimator_ = _clone_estimator(
             (
-                RandomForestClassifier(n_estimators=200)
+                RandomForestClassifier(n_estimators=200, class_weight=self.class_weight)
                 if self.estimator is None
                 else self.estimator
             ),
diff --git a/aeon/clustering/averaging/_averaging.py b/aeon/clustering/averaging/_averaging.py
index 41ed49c7..6282b27f 100644
--- a/aeon/clustering/averaging/_averaging.py
+++ b/aeon/clustering/averaging/_averaging.py
@@ -38,7 +38,7 @@ _AVERAGE_DICT = {
 
 
 def _resolve_average_callable(
-    averaging_method: Union[str, Callable[[np.ndarray, dict], np.ndarray]]
+    averaging_method: Union[str, Callable[[np.ndarray, dict], np.ndarray]],
 ) -> Callable[[np.ndarray, dict], np.ndarray]:
     """Resolve a string or callable to a averaging callable.
 
diff --git a/aeon/clustering/deep_learning/_ae_fcn.py b/aeon/clustering/deep_learning/_ae_fcn.py
index a37a7d40..48c35f3d 100644
--- a/aeon/clustering/deep_learning/_ae_fcn.py
+++ b/aeon/clustering/deep_learning/_ae_fcn.py
@@ -317,6 +317,7 @@ class AEFCNClusterer(BaseDeepClusterer):
                 outputs=X,
                 batch_size=mini_batch_size,
                 epochs=self.n_epochs,
+                verbose=self.verbose,
             )
 
         try:
@@ -345,6 +346,7 @@ class AEFCNClusterer(BaseDeepClusterer):
         outputs,
         batch_size,
         epochs,
+        verbose,
     ):
         import tensorflow as tf
 
@@ -451,9 +453,10 @@ class AEFCNClusterer(BaseDeepClusterer):
             epoch_loss /= num_batches
             history["loss"].append(epoch_loss)
 
-            sys.stdout.write(
-                "Training loss at epoch %d: %.4f\n" % (epoch, float(epoch_loss))
-            )
+            if verbose:
+                sys.stdout.write(
+                    "Training loss at epoch %d: %.4f\n" % (epoch, float(epoch_loss))
+                )
 
             for callback in self.callbacks_:
                 callback.on_epoch_end(epoch, {"loss": float(epoch_loss)})
diff --git a/aeon/clustering/deep_learning/_ae_resnet.py b/aeon/clustering/deep_learning/_ae_resnet.py
index 868e47d8..bd38deb4 100644
--- a/aeon/clustering/deep_learning/_ae_resnet.py
+++ b/aeon/clustering/deep_learning/_ae_resnet.py
@@ -329,6 +329,7 @@ class AEResNetClusterer(BaseDeepClusterer):
                 outputs=X,
                 batch_size=mini_batch_size,
                 epochs=self.n_epochs,
+                verbose=self.verbose,
             )
 
         try:
@@ -359,6 +360,7 @@ class AEResNetClusterer(BaseDeepClusterer):
         outputs,
         batch_size,
         epochs,
+        verbose,
     ):
         import tensorflow as tf
 
@@ -463,9 +465,10 @@ class AEResNetClusterer(BaseDeepClusterer):
             epoch_loss /= num_batches
             history["loss"].append(epoch_loss)
 
-            sys.stdout.write(
-                "Training loss at epoch %d: %.4f\n" % (epoch, float(epoch_loss))
-            )
+            if verbose:
+                sys.stdout.write(
+                    "Training loss at epoch %d: %.4f\n" % (epoch, float(epoch_loss))
+                )
 
             for callback in self.callbacks_:
                 callback.on_epoch_end(epoch, {"loss": float(epoch_loss)})
diff --git a/aeon/datasets/_tsad_data_loaders.py b/aeon/datasets/_tsad_data_loaders.py
index 7a8d373b..9267ff2a 100644
--- a/aeon/datasets/_tsad_data_loaders.py
+++ b/aeon/datasets/_tsad_data_loaders.py
@@ -269,7 +269,7 @@ def load_from_timeeval_csv_file(path: Path) -> tuple[np.ndarray, np.ndarray]:
 
 
 def load_kdd_tsad_135(
-    split: Literal["train", "test"] = "test"
+    split: Literal["train", "test"] = "test",
 ) -> tuple[np.ndarray, np.ndarray]:
     """Load the KDD-TSAD 135 UCR_Anomaly_Internal_Bleeding16 univariate dataset.
 
@@ -363,7 +363,7 @@ def load_daphnet_s06r02e0() -> tuple[np.ndarray, np.ndarray]:
 def load_ecg_diff_count_3(
     learning_type: Literal[
         "unsupervised", "semi-supervised", "supervised"
-    ] = "unsupervised"
+    ] = "unsupervised",
 ) -> Union[
     tuple[np.ndarray, np.ndarray], tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray]
 ]:
diff --git a/aeon/distances/_distance.py b/aeon/distances/_distance.py
index b63d4589..1263e11c 100644
--- a/aeon/distances/_distance.py
+++ b/aeon/distances/_distance.py
@@ -498,7 +498,7 @@ def get_distance_function(method: Union[str, DistanceFunction]) -> DistanceFunct
 
 
 def get_pairwise_distance_function(
-    method: Union[str, PairwiseFunction]
+    method: Union[str, PairwiseFunction],
 ) -> PairwiseFunction:
     """Get the pairwise distance function for a given method string or callable.
 
diff --git a/aeon/networks/_lite.py b/aeon/networks/_lite.py
index de569ea6..caa3fe4c 100644
--- a/aeon/networks/_lite.py
+++ b/aeon/networks/_lite.py
@@ -22,12 +22,10 @@ class LITENetwork(BaseDeepLearningNetwork):
         if set to `True` then LITEMV is used. LITEMV is the
         same architecture as LITE but specifically designed
         to better handle multivariate time series.
-    n_filters : int or list of int32, default = 32
-        The number of filters used in one lite layer, if not a list, the same
-        number of filters is used in all lite layers.
-    kernel_size : int or list of int, default = 40
-        The head kernel size used for each lite layer, if not a list, the same
-        is used in all lite layers.
+    n_filters : int, default = 32
+        The number of filters used in one lite layer.
+    kernel_size : int , default = 40
+        The head kernel size used for each lite layer,.
     strides : int or list of int, default = 1
         The strides of kernels in convolution layers for each lite layer,
         if not a list, the same is used in all lite layers.
diff --git a/aeon/networks/_mlp.py b/aeon/networks/_mlp.py
index 4cf81b5e..18737a5d 100644
--- a/aeon/networks/_mlp.py
+++ b/aeon/networks/_mlp.py
@@ -3,6 +3,10 @@
 __maintainer__ = ["hadifawaz1999"]
 
 
+import typing
+
+import numpy as np
+
 from aeon.networks.base import BaseDeepLearningNetwork
 
 
@@ -13,6 +17,18 @@ class MLPNetwork(BaseDeepLearningNetwork):
 
     Parameters
     ----------
+    n_layers : int, optional (default=3)
+        The number of dense layers in the MLP.
+    n_units : Union[int, List[int]], optional (default=500)
+        Number of units in each dense layer.
+    activation : Union[str, List[str]], optional (default='relu')
+        Activation function(s) for each dense layer.
+    dropout_rate : Union[float, List[Union[int, float]]], optional (default=None)
+        Dropout rate(s) for each dense layer. If None, a default rate of 0.2 is used,
+        except the first element, being 0.1. Dropout rate(s) are typically a number
+        in the interval [0, 1].
+    dropout_last : float, default = 0.3
+        The dropout rate of the last layer.
     use_bias : bool, default = True
         Condition on whether or not to use bias values for dense layers.
 
@@ -35,12 +51,22 @@ class MLPNetwork(BaseDeepLearningNetwork):
 
     def __init__(
         self,
-        use_bias=True,
+        n_layers: int = 3,
+        n_units: typing.Union[int, list[int]] = 500,
+        activation: typing.Union[str, list[str]] = "relu",
+        dropout_rate: typing.Union[float, list[float]] = None,
+        dropout_last: float = None,
+        use_bias: bool = True,
     ):
-        self.use_bias = use_bias
-
         super().__init__()
 
+        self.n_layers = n_layers
+        self.n_units = n_units
+        self.activation = activation
+        self.dropout_rate = dropout_rate
+        self.dropout_last = dropout_last
+        self.use_bias = use_bias
+
     def build_network(self, input_shape, **kwargs):
         """Construct a network and return its input and output layers.
 
@@ -54,27 +80,80 @@ class MLPNetwork(BaseDeepLearningNetwork):
         input_layer : a keras layer
         output_layer : a keras layer
         """
+        if isinstance(self.activation, str):
+            self._activation = [self.activation] * self.n_layers
+        elif isinstance(self.activation, list):
+            assert (
+                len(self.activation) == self.n_layers
+            ), "There should be an `activation` function associated with each layer."
+            assert all(
+                isinstance(a, str) for a in self.activation
+            ), "Activation must be a list of strings."
+            self._activation = self.activation
+
+        if self.dropout_rate is None:
+            self._dropout_rate = [0.1]
+            self._dropout_rate.extend([0.2] * (self.n_layers - 1))
+            assert np.all(
+                np.array(self._dropout_rate) - 1 <= 0
+            ), "Dropout rate(s) should be in the interval [0, 1]."
+        elif isinstance(self.dropout_rate, (int, float)):
+            self._dropout_rate = [float(self.dropout_rate)] * self.n_layers
+            assert np.all(
+                np.array(self._dropout_rate) - 1 <= 0
+            ), "Dropout rate(s) should be in the interval [0, 1]."
+        elif isinstance(self.dropout_rate, list):
+            assert (
+                len(self.dropout_rate) == self.n_layers
+            ), "There should be a `dropout_rate` associated with each layer."
+            assert all(
+                isinstance(d, (int, float)) for d in self.dropout_rate
+            ), "Dropout rates must be int or float."
+            assert (
+                len(self.dropout_rate) == self.n_layers
+            ), "Dropout list length must match number of layers."
+            self._dropout_rate = [float(d) for d in self.dropout_rate]
+            assert np.all(
+                np.array(self._dropout_rate) - 1 <= 0
+            ), "Dropout rate(s) should be in the interval [0, 1]."
+
+        if isinstance(self.n_units, int):
+            self._n_units = [self.n_units] * self.n_layers
+        elif isinstance(self.n_units, list):
+            assert all(
+                isinstance(u, int) for u in self.n_units
+            ), "`n_units` must be int for all layers."
+            assert (
+                len(self.n_units) == self.n_layers
+            ), "`n_units` length must match number of layers."
+            self._n_units = self.n_units
+
+        if self.dropout_last is None:
+            self._dropout_last = 0.3
+        else:
+            assert isinstance(self.dropout_last, float) or (
+                int(self.dropout_last // 1) in [0, 1]
+            ), "a float is expected in the `dropout_last` argument."
+            assert (
+                self.dropout_last - 1 <= 0
+            ), "`dropout_last` argument must be a number in the interval [0, 1]"
+            self._dropout_last = self.dropout_last
+
         from tensorflow import keras
 
-        # flattened because multivariate should be on same axis
         input_layer = keras.layers.Input(input_shape)
         input_layer_flattened = keras.layers.Flatten()(input_layer)
 
-        layer_1 = keras.layers.Dropout(0.1)(input_layer_flattened)
-        layer_1 = keras.layers.Dense(500, activation="relu", use_bias=self.use_bias)(
-            layer_1
-        )
-
-        layer_2 = keras.layers.Dropout(0.2)(layer_1)
-        layer_2 = keras.layers.Dense(500, activation="relu", use_bias=self.use_bias)(
-            layer_2
-        )
+        x = input_layer_flattened
 
-        layer_3 = keras.layers.Dropout(0.2)(layer_2)
-        layer_3 = keras.layers.Dense(500, activation="relu", use_bias=self.use_bias)(
-            layer_3
-        )
+        for idx in range(0, self.n_layers):
+            x = keras.layers.Dropout(self._dropout_rate[idx])(x)
+            x = keras.layers.Dense(
+                self._n_units[idx],
+                activation=self._activation[idx],
+                use_bias=self.use_bias,
+            )(x)
 
-        output_layer = keras.layers.Dropout(0.3)(layer_3)
+        output_layer = keras.layers.Dropout(self._dropout_last)(x)
 
         return input_layer, output_layer
diff --git a/aeon/regression/deep_learning/_lite_time.py b/aeon/regression/deep_learning/_lite_time.py
index 4be6bca8..ffd050f1 100644
--- a/aeon/regression/deep_learning/_lite_time.py
+++ b/aeon/regression/deep_learning/_lite_time.py
@@ -34,12 +34,10 @@ class LITETimeRegressor(BaseRegressor):
         if set to `True` then LITEMV is used. LITEMV is the
         same architecture as LITE but specifically designed
         to better handle multivariate time series.
-    n_filters : int or list of int32, default = 32
-        The number of filters used in one lite layer, if not a list, the same
-        number of filters is used in all lite layers.
-    kernel_size : int or list of int, default = 40
-        The head kernel size used for each lite layer, if not a list, the same
-        is used in all lite module.
+    n_filters : int, default = 32
+        The number of filters used in one lite layer.
+    kernel_size : int, default = 40
+        The head kernel size used for each lite layer.
     strides : int or list of int, default = 1
         The strides of kernels in convolution layers for each lite layer,
         if not a list, the same is used in all lite layers.
@@ -319,12 +317,10 @@ class IndividualLITERegressor(BaseDeepRegressor):
         if set to `True` then LITEMV is used. LITEMV is the
         same architecture as LITE but specifically designed
         to better handle multivariate time series.
-    n_filters : int or list of int32, default = 32
-        The number of filters used in one lite layer, if not a list, the same
-        number of filters is used in all lite layers.
-    kernel_size : int or list of int, default = 40
-        The head kernel size used for each lite layer, if not a list, the same
-        is used in all lite layers.
+    n_filters : int, default = 32
+        The number of filters used in one lite layer.
+    kernel_size : int, default = 40
+        The head kernel size used for each lite layer.
     strides : int or list of int, default = 1
         The strides of kernels in convolution layers for each lite layer,
         if not a list, the same is used in all lite layers.
diff --git a/aeon/regression/deep_learning/_mlp.py b/aeon/regression/deep_learning/_mlp.py
index 9a616238..7de083e7 100644
--- a/aeon/regression/deep_learning/_mlp.py
+++ b/aeon/regression/deep_learning/_mlp.py
@@ -21,6 +21,18 @@ class MLPRegressor(BaseDeepRegressor):
 
     Parameters
     ----------
+    n_layers : int, optional (default=3)
+        The number of dense layers in the MLP.
+    n_units : Union[int, List[int]], optional (default=500)
+        Number of units in each dense layer.
+    activation : Union[str, List[str]], optional (default='relu')
+        Activation function(s) for each dense layer.
+    dropout_rate : Union[float, List[Union[int, float]]], optional (default=None)
+        Dropout rate(s) for each dense layer. If None, a default rate of 0.2 is used,
+        except the first element, being 0.1. Dropout rate(s) are typically a number
+        in the interval [0, 1].
+    dropout_last : float, default = 0.3
+        The dropout rate of the last layer.
     use_bias : bool, default = True
         Condition on whether or not to use bias values for dense layers.
     n_epochs : int, default = 2000
@@ -72,10 +84,6 @@ class MLPRegressor(BaseDeepRegressor):
         by `np.random`.
         Seeded random number generation can only be guaranteed on CPU processing,
         GPU processing will be non-deterministic.
-    activation : string or a tf callable, default="relu"
-        Activation function used in the output linear layer.
-        List of available activation functions:
-        https://keras.io/api/layers/activations/
     output_activation : str = "linear"
         Activation for the last layer in a Regressor.
     optimizer : keras.optimizer, default = tf.keras.optimizers.Adam()
@@ -100,6 +108,11 @@ class MLPRegressor(BaseDeepRegressor):
 
     def __init__(
         self,
+        n_layers=3,
+        n_units=500,
+        activation="relu",
+        dropout_rate=None,
+        dropout_last=None,
         use_bias=True,
         n_epochs=2000,
         batch_size=16,
@@ -115,16 +128,19 @@ class MLPRegressor(BaseDeepRegressor):
         last_file_name="last_model",
         init_file_name="init_model",
         random_state=None,
-        activation="relu",
         output_activation="linear",
         optimizer=None,
     ):
+        self.n_layers = n_layers
+        self.n_units = n_units
+        self.activation = activation
+        self.dropout_rate = dropout_rate
+        self.dropout_last = dropout_last
         self.callbacks = callbacks
         self.n_epochs = n_epochs
         self.verbose = verbose
         self.loss = loss
         self.metrics = metrics
-        self.activation = activation
         self.use_bias = use_bias
         self.file_path = file_path
         self.save_best_model = save_best_model
@@ -143,7 +159,14 @@ class MLPRegressor(BaseDeepRegressor):
             last_file_name=last_file_name,
         )
 
-        self._network = MLPNetwork(use_bias=self.use_bias)
+        self._network = MLPNetwork(
+            n_layers=self.n_layers,
+            n_units=self.n_units,
+            activation=self.activation,
+            dropout_rate=self.dropout_rate,
+            dropout_last=self.dropout_last,
+            use_bias=self.use_bias,
+        )
 
     def build_model(self, input_shape, **kwargs):
         """Construct a compiled, un-trained, keras model that is ready for training.
diff --git a/aeon/transformations/series/__init__.py b/aeon/transformations/series/__init__.py
index 031073b2..8b71ba9f 100644
--- a/aeon/transformations/series/__init__.py
+++ b/aeon/transformations/series/__init__.py
@@ -6,8 +6,10 @@ __all__ = [
     "ClaSPTransformer",
     "DFTSeriesTransformer",
     "Dobin",
+    "ExpSmoothingSeriesTransformer",
     "GaussSeriesTransformer",
     "MatrixProfileSeriesTransformer",
+    "MovingAverageSeriesTransformer",
     "PLASeriesTransformer",
     "SGSeriesTransformer",
     "StatsModelsACF",
@@ -31,8 +33,10 @@ from aeon.transformations.series._boxcox import BoxCoxTransformer
 from aeon.transformations.series._clasp import ClaSPTransformer
 from aeon.transformations.series._dft import DFTSeriesTransformer
 from aeon.transformations.series._dobin import Dobin
+from aeon.transformations.series._exp_smoothing import ExpSmoothingSeriesTransformer
 from aeon.transformations.series._gauss import GaussSeriesTransformer
 from aeon.transformations.series._matrix_profile import MatrixProfileSeriesTransformer
+from aeon.transformations.series._moving_average import MovingAverageSeriesTransformer
 from aeon.transformations.series._pca import PCASeriesTransformer
 from aeon.transformations.series._pla import PLASeriesTransformer
 from aeon.transformations.series._scaled_logit import ScaledLogitSeriesTransformer
diff --git a/docs/api_reference/transformations.rst b/docs/api_reference/transformations.rst
index fa3184af..2a56fd84 100644
--- a/docs/api_reference/transformations.rst
+++ b/docs/api_reference/transformations.rst
@@ -165,8 +165,10 @@ Series transforms
     ClaSPTransformer
     DFTSeriesTransformer
     Dobin
+    ExpSmoothingSeriesTransformer
     GaussSeriesTransformer
     MatrixProfileSeriesTransformer
+    MovingAverageSeriesTransformer
     PLASeriesTransformer
     SGSeriesTransformer
     StatsModelsACF
diff --git a/docs/conf.py b/docs/conf.py
index 889ee9e5..65844dbb 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -388,7 +388,7 @@ def _make_estimator_overview(app):
 
             # For case where tag is not included output as not supported
             if not _val or _val is None:
-                data[abbrevation].append("\u274C")
+                data[abbrevation].append("\u274c")
             else:
                 data[abbrevation].append("\u2705")
 
diff --git a/docs/developer_guide.md b/docs/developer_guide.md
index b74a075c..b06332f4 100644
--- a/docs/developer_guide.md
+++ b/docs/developer_guide.md
@@ -20,6 +20,27 @@ their [developer's guide](https://scikit-learn.org/stable/developers/index.html)
 :::{grid-item-card}
 :text-align: center
 
+Type Hints
+
+^^^
+
+Adding type hints to `aeon` code.
+
++++
+
+```{button-ref} developer_guide/adding_typehints
+:color: primary
+:click-parent:
+:expand:
+
+Type Hints
+```
+
+:::
+
+:::{grid-item-card}
+:text-align: center
+
 AEP's
 
 ^^^
@@ -190,6 +211,7 @@ Testing
 ```{toctree}
 :hidden:
 
+developer_guide/adding_typehints.md
 developer_guide/aep.md
 developer_guide/coding_standards.md
 developer_guide/dependencies.md
diff --git a/docs/developer_guide/adding_typehints.md b/docs/developer_guide/adding_typehints.md
index 7c034f5b..f3557ddb 100644
--- a/docs/developer_guide/adding_typehints.md
+++ b/docs/developer_guide/adding_typehints.md
@@ -1,53 +1,54 @@
 # Adding Type Hints
 
-## Introduction to Type Hints
-
-Type hints are a way to indicate the expected data types of variables, function parameters, and return values in Python. They enhance code readability and help with static type checking, making it easier to catch errors before runtime.
-
-
-Type hints act as a form of documentation that helps developers understand the types of arguments a function expects and what it returns.
-
-
-## Basic Syntax
-
-For example, here is a simple function whose argument and return type are declared in the annotations:
+Type hints are a way to indicate the expected data types of variables, function
+parameters, and return values. They enhance code readability and help with static
+type checking, making it easier to catch errors.
 
+For example, here is a simple function whose argument and return type are declared
+in the annotations:
 
 ```python
-def greeting(name: str) -> str:
-    return 'Hello ' + name
-```
-
-
-Learn more about type hints in [python docs](https://docs.python.org/3/library/typing.html) and [PEP 484](https://peps.python.org/pep-0484/)
-
-
-# Dealing with Soft Dependency Type Hints
+from typing import List
 
+def sum_ints_return_str(int_list: List[int]) -> str:
+    return str(sum(int_list))
+```
 
+Type hints are not currently mandatory in `aeon`, but we aim to progressively integrate
+them into the code base. Learn more about type hints in the
+[Python documentation](https://docs.python.org/3/library/typing.html)
+and [PEP 484](https://peps.python.org/pep-0484/).
 
-When working with models that have soft dependencies, additional considerations are required to ensure that your code remains robust and maintainable. Soft dependencies are optional packages or modules that your application does not require at runtime but may be used in specific situations, such as during type-checking or when certain features are enabled.
+## Soft Dependency Type Hints
 
- The typing.TYPE_CHECKING constant ensures that imports for type hints are only evaluated when type-checking is done and NOT in the runtime. This prevents errors when the soft dependancies are not available. Here is an example that of [PyODAdapter](https://github.com/aeon-toolkit/aeon/blob/main/aeon/anomaly_detection/_pyodadapter.py):
+When working with modules that use soft dependencies, additional considerations are
+required to ensure that your code can still run even without these dependencies
+installed.
 
+Here is an example snippet taken from [PyODAdapter](https://www.aeon-toolkit.org/en/stable/api_reference/auto_generated/aeon.anomaly_detection.PyODAdapter.html).
+It uses the `pyod` library, which is a soft dependency. The `TYPE_CHECKING` constant
+is used to ensure that the `pyod` library is only imported at the top level while type
+checking is performed. `from __future__ import annotations` is used to allow forward
+references in type hints. See [PEP 563](https://peps.python.org/pep-0563/) for more
+information. The `pyod` `BaseDetector` class can now be used in type hints with
+these additions.
 
  ```python
-from aeon.anomaly_detection.base import BaseAnomalyDetector
-from aeon.utils.validation._dependencies import _check_soft_dependencies
-from typing import TYPE_CHECKING, Any
+from __future__ import annotations
 
+from aeon.anomaly_detection.base import BaseAnomalyDetector
+from typing import TYPE_CHECKING
 
 if TYPE_CHECKING:
     from pyod.models.base import BaseDetector
 
-
 class PyODAdapter(BaseAnomalyDetector):
-    ...
-
-    def _is_pyod_model(model: Any) -> bool:
-        """Check if the provided model is a PyOD model."""
-        from pyod.models.base import BaseDetector
-
-        return isinstance(model, BaseDetector)
-   ...
+    def __init__(
+        self, pyod_model: BaseDetector, window_size: int = 10, stride: int = 1
+    ):
+        self.pyod_model = pyod_model
+        self.window_size = window_size
+        self.stride = stride
+
+        super().__init__(axis=0)
 ```
diff --git a/docs/developer_guide/documentation.md b/docs/developer_guide/documentation.md
index 20a4be04..d4c18ab3 100644
--- a/docs/developer_guide/documentation.md
+++ b/docs/developer_guide/documentation.md
@@ -154,7 +154,7 @@ Here are a few examples of `aeon` code with good documentation.
 
 ### Estimators
 
-[BOSSEnsemble](https://www.aeon-toolkit.org/en/latest/api_reference/auto_generated/aeon.classification.dictionary_based.BOSSEnsemble.html#aeon.classification.dictionary_based.BOSSEnsemble)
+[BOSSEnsemble](https://www.aeon-toolkit.org/en/stable/api_reference/auto_generated/aeon.classification.dictionary_based.BOSSEnsemble.html#aeon.classification.dictionary_based.BOSSEnsemble)
 
 ### Functions
 
diff --git a/pyproject.toml b/pyproject.toml
index 0ccbd341..b8662067 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -176,6 +176,7 @@ addopts = '''
     --dist worksteal
     --reruns 2
     --only-rerun "crashed while running"
+    --only-rerun "zipfile.BadZipFile"
 '''
 filterwarnings = '''
     ignore::UserWarning


Test patch:
diff --git a/aeon/classification/dictionary_based/tests/test_redcomets.py b/aeon/classification/dictionary_based/tests/test_redcomets.py
index bc2e5cf7..8db7253a 100644
--- a/aeon/classification/dictionary_based/tests/test_redcomets.py
+++ b/aeon/classification/dictionary_based/tests/test_redcomets.py
@@ -2,106 +2,106 @@
 
 __maintainer__ = []
 
-from sys import platform
-
-import numpy as np
-import pytest
-
-from aeon.classification.dictionary_based import REDCOMETS
-from aeon.datasets import load_basic_motions, load_unit_test
-from aeon.utils.validation._dependencies import _check_soft_dependencies
-
-
-@pytest.mark.skipif(
-    not _check_soft_dependencies(
-        "imbalanced-learn",
-        package_import_alias={"imbalanced-learn": "imblearn"},
-        severity="none",
-    ),
-    reason="skip test if required soft dependency imbalanced-learn not available",
-)
-def test_redcomets_score_univariate():
-    """Test of REDCOMETS train estimate on unit test data."""
-    # load unit test data
-    X_train, y_train = load_unit_test(split="train")
-    X_test, y_test = load_unit_test(split="test")
-
-    def test_variant(v, expected_result):
-        # train REDCOMETS-<v>
-        redcomets = REDCOMETS(variant=v, n_trees=3, random_state=0)
-        redcomets.fit(X_train, y_train)
-
-        score = redcomets.score(X_test, y_test)
-
-        assert isinstance(score, float)
-
-        # We cannot guarantee same results on ARM macOS
-        if platform != "darwin":
-            np.testing.assert_almost_equal(score, expected_result, decimal=4)
-
-    test_variant(1, 0.7272)
-    test_variant(2, 0.6818)
-    test_variant(3, 0.7272)
-
-
-@pytest.mark.skipif(
-    not _check_soft_dependencies(
-        "imbalanced-learn",
-        package_import_alias={"imbalanced-learn": "imblearn"},
-        severity="none",
-    ),
-    reason="skip test if required soft dependency imbalanced-learn not available",
-)
-def test_redcomets_score_multivariate():
-    """Test of REDCOMETS train estimate on unit test data."""
-    # load unit test data
-    X_train, y_train = load_basic_motions(split="train")
-    X_test, y_test = load_basic_motions(split="test")
-
-    def test_variant(v, expected_result):
-        # train REDCOMETS-<v>
-        redcomets = REDCOMETS(variant=v, n_trees=3, random_state=0)
-        redcomets.fit(X_train, y_train)
-
-        score = redcomets.score(X_test, y_test)
-
-        assert isinstance(score, float)
-
-        # We cannot guarantee same results on ARM macOS
-        if platform != "darwin":
-            np.testing.assert_almost_equal(score, expected_result, decimal=4)
-
-    test_variant(1, 0.95)
-    test_variant(2, 0.975)
-    test_variant(3, 0.975)
-    test_variant(4, 0.875)
-    test_variant(5, 0.875)
-    test_variant(6, 0.875)
-    test_variant(7, 0.875)
-    test_variant(8, 0.875)
-    test_variant(9, 0.875)
-
-
-@pytest.mark.skipif(
-    not _check_soft_dependencies(
-        "imbalanced-learn",
-        package_import_alias={"imbalanced-learn": "imblearn"},
-        severity="none",
-    ),
-    reason="skip test if required soft dependency imbalanced-learn not available",
-)
-def test_redcomets_lens_generation():
-    """Test of REDCOMETS random lens generation."""
-    # load unit test data
-    X, y = load_unit_test()
-
-    # Generate 10 random lenses
-    redcomets = REDCOMETS(random_state=0)
-    lenses = redcomets._get_random_lenses(np.squeeze(X), 10)
-
-    assert len(lenses) == 10
-    assert isinstance(lenses, list)
-
-    for w, a in lenses:
-        assert isinstance(w, int)
-        assert isinstance(a, int)
+# from sys import platform
+#
+# import numpy as np
+# import pytest
+#
+# from aeon.classification.dictionary_based import REDCOMETS
+# from aeon.datasets import load_basic_motions, load_unit_test
+# from aeon.utils.validation._dependencies import _check_soft_dependencies
+#
+#
+# @pytest.mark.skipif(
+#     not _check_soft_dependencies(
+#         "imbalanced-learn",
+#         package_import_alias={"imbalanced-learn": "imblearn"},
+#         severity="none",
+#     ),
+#     reason="skip test if required soft dependency imbalanced-learn not available",
+# )
+# def test_redcomets_score_univariate():
+#     """Test of REDCOMETS train estimate on unit test data."""
+#     # load unit test data
+#     X_train, y_train = load_unit_test(split="train")
+#     X_test, y_test = load_unit_test(split="test")
+#
+#     def test_variant(v, expected_result):
+#         # train REDCOMETS-<v>
+#         redcomets = REDCOMETS(variant=v, n_trees=3, random_state=0)
+#         redcomets.fit(X_train, y_train)
+#
+#         score = redcomets.score(X_test, y_test)
+#
+#         assert isinstance(score, float)
+#
+#         # We cannot guarantee same results on ARM macOS
+#         if platform != "darwin":
+#             np.testing.assert_almost_equal(score, expected_result, decimal=4)
+#
+#     test_variant(1, 0.7272)
+#     test_variant(2, 0.6818)
+#     test_variant(3, 0.7272)
+#
+#
+# @pytest.mark.skipif(
+#     not _check_soft_dependencies(
+#         "imbalanced-learn",
+#         package_import_alias={"imbalanced-learn": "imblearn"},
+#         severity="none",
+#     ),
+#     reason="skip test if required soft dependency imbalanced-learn not available",
+# )
+# def test_redcomets_score_multivariate():
+#     """Test of REDCOMETS train estimate on unit test data."""
+#     # load unit test data
+#     X_train, y_train = load_basic_motions(split="train")
+#     X_test, y_test = load_basic_motions(split="test")
+#
+#     def test_variant(v, expected_result):
+#         # train REDCOMETS-<v>
+#         redcomets = REDCOMETS(variant=v, n_trees=3, random_state=0)
+#         redcomets.fit(X_train, y_train)
+#
+#         score = redcomets.score(X_test, y_test)
+#
+#         assert isinstance(score, float)
+#
+#         # We cannot guarantee same results on ARM macOS
+#         if platform != "darwin":
+#             np.testing.assert_almost_equal(score, expected_result, decimal=4)
+#
+#     test_variant(1, 0.95)
+#     test_variant(2, 0.975)
+#     test_variant(3, 0.975)
+#     test_variant(4, 0.875)
+#     test_variant(5, 0.875)
+#     test_variant(6, 0.875)
+#     test_variant(7, 0.875)
+#     test_variant(8, 0.875)
+#     test_variant(9, 0.875)
+#
+#
+# @pytest.mark.skipif(
+#     not _check_soft_dependencies(
+#         "imbalanced-learn",
+#         package_import_alias={"imbalanced-learn": "imblearn"},
+#         severity="none",
+#     ),
+#     reason="skip test if required soft dependency imbalanced-learn not available",
+# )
+# def test_redcomets_lens_generation():
+#     """Test of REDCOMETS random lens generation."""
+#     # load unit test data
+#     X, y = load_unit_test()
+#
+#     # Generate 10 random lenses
+#     redcomets = REDCOMETS(random_state=0)
+#     lenses = redcomets._get_random_lenses(np.squeeze(X), 10)
+#
+#     assert len(lenses) == 10
+#     assert isinstance(lenses, list)
+#
+#     for w, a in lenses:
+#         assert isinstance(w, int)
+#         assert isinstance(a, int)
diff --git a/aeon/classification/feature_based/tests/test_catch22.py b/aeon/classification/feature_based/tests/test_catch22.py
index 5a709fe4..c8067ee5 100644
--- a/aeon/classification/feature_based/tests/test_catch22.py
+++ b/aeon/classification/feature_based/tests/test_catch22.py
@@ -1,6 +1,7 @@
 """Test catch 22 classifier."""
 
 import numpy as np
+import pytest
 from sklearn.ensemble import RandomForestClassifier
 from sklearn.linear_model import RidgeClassifier
 
@@ -19,3 +20,21 @@ def test_catch22():
     c22.fit(X, y)
     p = c22.predict_proba(X)
     assert np.all(np.isin(p, [0, 1]))
+
+
+@pytest.mark.parametrize("class_weight", ["balanced", "balanced_subsample"])
+def test_catch22_classifier_with_class_weight(class_weight):
+    """Test catch22 classifier with class weight."""
+    X, y = make_example_3d_numpy(
+        n_cases=10, n_channels=1, n_timepoints=12, return_y=True, random_state=0
+    )
+    clf = Catch22Classifier(
+        estimator=RandomForestClassifier(n_estimators=5),
+        outlier_norm=True,
+        random_state=0,
+        class_weight=class_weight,
+    )
+    clf.fit(X, y)
+    predictions = clf.predict(X)
+    assert len(predictions) == len(y)
+    assert set(predictions).issubset(set(y))
diff --git a/aeon/classification/feature_based/tests/test_signature.py b/aeon/classification/feature_based/tests/test_signature.py
index b5c29df2..2d3d2972 100644
--- a/aeon/classification/feature_based/tests/test_signature.py
+++ b/aeon/classification/feature_based/tests/test_signature.py
@@ -18,3 +18,24 @@ def test_signature_classifier():
     cls = SignatureClassifier(estimator=None)
     cls._fit(X, y)
     assert isinstance(cls.pipeline.named_steps["classifier"], RandomForestClassifier)
+
+
+@pytest.mark.skipif(
+    not _check_soft_dependencies("esig", severity="none"),
+    reason="skip test if required soft dependency esig not available",
+)
+@pytest.mark.parametrize("class_weight", ["balanced", "balanced_subsample"])
+def test_signature_classifier_with_class_weight(class_weight):
+    """Test signature classifier with class weight."""
+    X, y = make_example_3d_numpy(
+        n_cases=10, n_channels=1, n_timepoints=12, return_y=True, random_state=0
+    )
+    clf = SignatureClassifier(
+        estimator=RandomForestClassifier(n_estimators=5),
+        random_state=0,
+        class_weight=class_weight,
+    )
+    clf.fit(X, y)
+    predictions = clf.predict(X)
+    assert len(predictions) == len(y)
+    assert set(predictions).issubset(set(y))
diff --git a/aeon/classification/feature_based/tests/test_summary.py b/aeon/classification/feature_based/tests/test_summary.py
index de698e61..0f53130c 100644
--- a/aeon/classification/feature_based/tests/test_summary.py
+++ b/aeon/classification/feature_based/tests/test_summary.py
@@ -1,6 +1,7 @@
 """Test summary classifier."""
 
 import numpy as np
+import pytest
 from sklearn.ensemble import RandomForestClassifier
 from sklearn.linear_model import RidgeClassifier
 
@@ -19,3 +20,20 @@ def test_summary_classifier():
     cls.fit(X, y)
     p = cls.predict_proba(X)
     assert np.all(np.isin(p, [0, 1]))
+
+
+@pytest.mark.parametrize("class_weight", ["balanced", "balanced_subsample"])
+def test_summary_classifier_with_class_weight(class_weight):
+    """Test summary classifier with class weight."""
+    X, y = make_example_3d_numpy(
+        n_cases=10, n_channels=1, n_timepoints=12, return_y=True, random_state=0
+    )
+    clf = SummaryClassifier(
+        estimator=RandomForestClassifier(n_estimators=5),
+        random_state=0,
+        class_weight=class_weight,
+    )
+    clf.fit(X, y)
+    predictions = clf.predict(X)
+    assert len(predictions) == len(y)
+    assert set(predictions).issubset(set(y))
diff --git a/aeon/classification/feature_based/tests/test_tsfresh.py b/aeon/classification/feature_based/tests/test_tsfresh.py
index 3ab965e6..92583e66 100644
--- a/aeon/classification/feature_based/tests/test_tsfresh.py
+++ b/aeon/classification/feature_based/tests/test_tsfresh.py
@@ -37,3 +37,24 @@ def test_tsfresh_classifier():
         assert cls._majority_class in [0, 1]
     cls.verbose = 1
     cls.fit(X, y)
+
+
+@pytest.mark.skipif(
+    not _check_soft_dependencies("tsfresh", severity="none"),
+    reason="skip test if required soft dependency tsfresh not available",
+)
+@pytest.mark.parametrize("class_weight", ["balanced", "balanced_subsample"])
+def test_tsfresh_classifier_with_class_weight(class_weight):
+    """Test tsfresh classifier with class weight."""
+    X, y = make_example_3d_numpy(
+        n_cases=10, n_channels=1, n_timepoints=12, return_y=True, random_state=0
+    )
+    clf = TSFreshClassifier(
+        estimator=RandomForestClassifier(n_estimators=5),
+        random_state=0,
+        class_weight=class_weight,
+    )
+    clf.fit(X, y)
+    predictions = clf.predict(X)
+    assert len(predictions) == len(y)
+    assert set(predictions).issubset(set(y))
diff --git a/aeon/networks/tests/test_ae_resnet.py b/aeon/networks/tests/test_ae_resnet.py
new file mode 100644
index 00000000..b33198fd
--- /dev/null
+++ b/aeon/networks/tests/test_ae_resnet.py
@@ -0,0 +1,187 @@
+"""Tests for the AEResNetNetwork Model."""
+
+import pytest
+
+from aeon.networks import AEResNetNetwork
+from aeon.utils.validation._dependencies import _check_soft_dependencies
+
+
+@pytest.mark.skipif(
+    not _check_soft_dependencies(["tensorflow"], severity="none"),
+    reason="Tensorflow soft dependency unavailable.",
+)
+@pytest.mark.parametrize(
+    "latent_space_dim, n_residual_blocks, activation, n_filters",
+    [
+        (128, 3, "relu", 32),  # Test with relu activation
+        (256, 5, "sigmoid", 64),  # Test with sigmoid activation
+        (64, 2, "tanh", 16),  # Test with tanh activation
+    ],
+)
+def test_ae_res_unit_activation(
+    latent_space_dim, n_residual_blocks, activation, n_filters
+):
+    """Test whether AEResNetNetwork initializes correctly with different activations."""
+    aer = AEResNetNetwork(
+        latent_space_dim=latent_space_dim,
+        n_residual_blocks=n_residual_blocks,
+        activation=activation,
+        n_filters=n_filters,
+    )
+    encoder, decoder = aer.build_network((1000, 5))
+    assert encoder is not None
+    assert decoder is not None
+
+
+@pytest.mark.skipif(
+    not _check_soft_dependencies(["tensorflow"], severity="none"),
+    reason="Tensorflow soft dependency unavailable.",
+)
+@pytest.mark.parametrize(
+    "use_bias, n_conv_per_residual_block",
+    [
+        ([True, False, True], 3),  # list case
+        (True, 3),  # scalar broadcast case
+        pytest.param(
+            [True, False], 4, marks=pytest.mark.xfail(raises=ValueError)
+        ),  # error case
+    ],
+)
+def test_use_bias(use_bias, n_conv_per_residual_block):
+    """Test AEResNetNetwork use_bias configurations."""
+    aer = AEResNetNetwork(
+        latent_space_dim=128,
+        use_bias=use_bias,
+        n_conv_per_residual_block=n_conv_per_residual_block,
+    )
+    encoder, decoder = aer.build_network((1000, 5))
+    assert encoder is not None
+    assert decoder is not None
+
+
+@pytest.mark.skipif(
+    not _check_soft_dependencies(["tensorflow"], severity="none"),
+    reason="Tensorflow soft dependency unavailable.",
+)
+@pytest.mark.parametrize(
+    "n_filters, n_residual_blocks",
+    [
+        (64, 3),  # scalar case
+        ([64, 128, 256], 3),  # list case matching residual blocks
+        pytest.param(
+            [64, 128], 3, marks=pytest.mark.xfail(raises=ValueError)
+        ),  # error case
+    ],
+)
+def test_n_filters(n_filters, n_residual_blocks):
+    """Test AEResNetNetwork n_filters configurations."""
+    aer = AEResNetNetwork(
+        latent_space_dim=128,
+        n_filters=n_filters,
+        n_residual_blocks=n_residual_blocks,
+    )
+    encoder, decoder = aer.build_network((1000, 5))
+    assert encoder is not None
+    assert decoder is not None
+
+
+@pytest.mark.skipif(
+    not _check_soft_dependencies(["tensorflow"], severity="none"),
+    reason="Tensorflow soft dependency unavailable.",
+)
+@pytest.mark.parametrize(
+    "kernel_size, n_conv_per_residual_block",
+    [
+        (8, 3),  # scalar case
+        ([8, 5, 3], 3),  # list case matching conv layers
+        pytest.param(
+            [8, 5], 3, marks=pytest.mark.xfail(raises=ValueError)
+        ),  # error case
+    ],
+)
+def test_kernel_size(kernel_size, n_conv_per_residual_block):
+    """Test AEResNetNetwork kernel_size configurations."""
+    aer = AEResNetNetwork(
+        latent_space_dim=128,
+        kernel_size=kernel_size,
+        n_conv_per_residual_block=n_conv_per_residual_block,
+    )
+    encoder, decoder = aer.build_network((1000, 5))
+    assert encoder is not None
+    assert decoder is not None
+
+
+@pytest.mark.skipif(
+    not _check_soft_dependencies(["tensorflow"], severity="none"),
+    reason="Tensorflow soft dependency unavailable.",
+)
+@pytest.mark.parametrize(
+    "strides, n_conv_per_residual_block",
+    [
+        (1, 3),  # scalar case
+        pytest.param(
+            [1, 2], 3, marks=pytest.mark.xfail(raises=ValueError)
+        ),  # error case
+    ],
+)
+def test_strides(strides, n_conv_per_residual_block):
+    """Test AEResNetNetwork strides configurations."""
+    aer = AEResNetNetwork(
+        latent_space_dim=128,
+        strides=strides,
+        n_conv_per_residual_block=n_conv_per_residual_block,
+    )
+    encoder, decoder = aer.build_network((1000, 5))
+    assert encoder is not None
+    assert decoder is not None
+
+
+@pytest.mark.skipif(
+    not _check_soft_dependencies(["tensorflow"], severity="none"),
+    reason="Tensorflow soft dependency unavailable.",
+)
+@pytest.mark.parametrize(
+    "dilation_rate, n_conv_per_residual_block",
+    [
+        (1, 3),  # scalar case
+        pytest.param(
+            [1, 2], 3, marks=pytest.mark.xfail(raises=ValueError)
+        ),  # error case
+    ],
+)
+def test_dilation_rate(dilation_rate, n_conv_per_residual_block):
+    """Test AEResNetNetwork dilation_rate configurations."""
+    aer = AEResNetNetwork(
+        latent_space_dim=128,
+        dilation_rate=dilation_rate,
+        n_conv_per_residual_block=n_conv_per_residual_block,
+    )
+    encoder, decoder = aer.build_network((1000, 5))
+    assert encoder is not None
+    assert decoder is not None
+
+
+@pytest.mark.skipif(
+    not _check_soft_dependencies(["tensorflow"], severity="none"),
+    reason="Tensorflow soft dependency unavailable.",
+)
+@pytest.mark.parametrize(
+    "padding, n_conv_per_residual_block",
+    [
+        ("same", 3),  # scalar case
+        #    (['same', 'valid', 'same'], 3),  # list case matching conv layers
+        pytest.param(
+            ["same", "valid"], 3, marks=pytest.mark.xfail(raises=ValueError)
+        ),  # error case
+    ],
+)
+def test_padding(padding, n_conv_per_residual_block):
+    """Test AEResNetNetwork padding configurations."""
+    aer = AEResNetNetwork(
+        latent_space_dim=128,
+        padding=padding,
+        n_conv_per_residual_block=n_conv_per_residual_block,
+    )
+    encoder, decoder = aer.build_network((1000, 5))
+    assert encoder is not None
+    assert decoder is not None
diff --git a/aeon/testing/estimator_checking/_yield_clustering_checks.py b/aeon/testing/estimator_checking/_yield_clustering_checks.py
index 5205316f..4e3940c4 100644
--- a/aeon/testing/estimator_checking/_yield_clustering_checks.py
+++ b/aeon/testing/estimator_checking/_yield_clustering_checks.py
@@ -77,18 +77,33 @@ def check_clustering_random_state_deep_learning(estimator, datatype):
     deep_clr1 = _clone_estimator(estimator, random_state=random_state)
     deep_clr1.fit(FULL_TEST_DATA_DICT[datatype]["train"][0])
 
-    layers1 = deep_clr1.training_model_.layers[1:]
+    encoder_layers1 = deep_clr1.training_model_.layers[1].layers[1:]
+    decoder_layers1 = deep_clr1.training_model_.layers[2].layers[1:]
 
     deep_clr2 = _clone_estimator(estimator, random_state=random_state)
     deep_clr2.fit(FULL_TEST_DATA_DICT[datatype]["train"][0])
 
-    layers2 = deep_clr2.training_model_.layers[1:]
+    encoder_layers2 = deep_clr2.training_model_.layers[1].layers[1:]
+    decoder_layers2 = deep_clr2.training_model_.layers[2].layers[1:]
 
-    assert len(layers1) == len(layers2)
+    assert len(encoder_layers1) == len(encoder_layers2)
+    assert len(decoder_layers1) == len(decoder_layers2)
 
-    for i in range(len(layers1)):
-        weights1 = layers1[i].get_weights()
-        weights2 = layers2[i].get_weights()
+    for i in range(len(encoder_layers1)):
+        weights1 = encoder_layers1[i].get_weights()
+        weights2 = encoder_layers2[i].get_weights()
+
+        assert len(weights1) == len(weights2)
+
+        for j in range(len(weights1)):
+            _weight1 = np.asarray(weights1[j])
+            _weight2 = np.asarray(weights2[j])
+
+            np.testing.assert_almost_equal(_weight1, _weight2, 4)
+
+    for i in range(len(decoder_layers1)):
+        weights1 = decoder_layers1[i].get_weights()
+        weights2 = decoder_layers2[i].get_weights()
 
         assert len(weights1) == len(weights2)
 
diff --git a/aeon/testing/estimator_checking/_yield_estimator_checks.py b/aeon/testing/estimator_checking/_yield_estimator_checks.py
index 70f714d4..d583104e 100644
--- a/aeon/testing/estimator_checking/_yield_estimator_checks.py
+++ b/aeon/testing/estimator_checking/_yield_estimator_checks.py
@@ -9,7 +9,6 @@ from inspect import getfullargspec, isclass, signature
 
 import joblib
 import numpy as np
-from numpy.testing import assert_array_almost_equal
 from sklearn.exceptions import NotFittedError
 
 from aeon.anomaly_detection.base import BaseAnomalyDetector
@@ -625,20 +624,18 @@ def check_persistence_via_pickle(estimator, datatype):
     for method in NON_STATE_CHANGING_METHODS_ARRAYLIKE:
         if hasattr(estimator, method) and callable(getattr(estimator, method)):
             output = _run_estimator_method(estimator, method, datatype, "test")
-            assert_array_almost_equal(
-                output,
-                results[i],
-                err_msg=f"Running {method} after fit twice with test "
-                f"parameters gives different results.",
-            )
+            same, msg = deep_equals(output, results[i], return_msg=True)
+            if not same:
+                raise ValueError(
+                    f"Running {type(estimator)} {method} with test parameters after "
+                    f"serialisation gives different results. "
+                    f"Check equivalence message: {msg}"
+                )
             i += 1
 
 
 def check_fit_deterministic(estimator, datatype):
-    """Test that fit is deterministic.
-
-    Check that calling fit twice is equivalent to calling it once.
-    """
+    """Check that calling fit twice is equivalent to calling it once."""
     estimator = _clone_estimator(estimator, random_state=0)
     _run_estimator_method(estimator, "fit", datatype, "train")
 
@@ -648,17 +645,19 @@ def check_fit_deterministic(estimator, datatype):
             output = _run_estimator_method(estimator, method, datatype, "test")
             results.append(output)
 
-    # run fit and other methods a second time
+    # run fit a second time
     _run_estimator_method(estimator, "fit", datatype, "train")
 
+    # check output of predict/transform etc does not change
     i = 0
     for method in NON_STATE_CHANGING_METHODS_ARRAYLIKE:
         if hasattr(estimator, method) and callable(getattr(estimator, method)):
             output = _run_estimator_method(estimator, method, datatype, "test")
-            assert_array_almost_equal(
-                output,
-                results[i],
-                err_msg=f"Running {method} after fit twice with test "
-                f"parameters gives different results.",
-            )
+            same, msg = deep_equals(output, results[i], return_msg=True)
+            if not same:
+                raise ValueError(
+                    f"Running {type(estimator)} {method} with test parameters after "
+                    f"two calls to fit gives different results."
+                    f"Check equivalence message: {msg}"
+                )
             i += 1
diff --git a/aeon/testing/testing_config.py b/aeon/testing/testing_config.py
index 4c460583..3d05d667 100644
--- a/aeon/testing/testing_config.py
+++ b/aeon/testing/testing_config.py
@@ -23,7 +23,10 @@ MULTITHREAD_TESTING = False
 NUMBA_DISABLED = os.environ.get("NUMBA_DISABLE_JIT") == "1"
 
 # exclude estimators here for short term fixes
-EXCLUDE_ESTIMATORS = []
+EXCLUDE_ESTIMATORS = [
+    "REDCOMETS",
+    "HydraTransformer",  # returns a pytorch Tensor
+]
 
 # Exclude specific tests for estimators here
 EXCLUDED_TESTS = {
@@ -49,7 +52,7 @@ EXCLUDED_TESTS = {
     "RSASTClassifier": ["check_fit_deterministic"],
     "SAST": ["check_fit_deterministic"],
     "RSAST": ["check_fit_deterministic"],
-    "SFA": ["check_persistence_via_pickle", "check_fit_deterministic"],
+    "MatrixProfile": ["check_persistence_via_pickle"],
     # missed in legacy testing, changes state in predict/transform
     "FLUSSSegmenter": ["check_non_state_changing_method"],
     "InformationGainSegmenter": ["check_non_state_changing_method"],
diff --git a/aeon/testing/utils/deep_equals.py b/aeon/testing/utils/deep_equals.py
index 81f6d915..869bea1a 100644
--- a/aeon/testing/utils/deep_equals.py
+++ b/aeon/testing/utils/deep_equals.py
@@ -56,7 +56,7 @@ def _deep_equals(x, y, depth, ignore_index):
     elif isinstance(x, pd.DataFrame):
         return _dataframe_equals(x, y, depth, ignore_index)
     elif isinstance(x, np.ndarray):
-        return _numpy_equals(x, y, depth)
+        return _numpy_equals(x, y, depth, ignore_index)
     elif isinstance(x, (list, tuple)):
         return _list_equals(x, y, depth, ignore_index)
     elif isinstance(x, dict):
@@ -72,7 +72,7 @@ def _deep_equals(x, y, depth, ignore_index):
         eq = np.isnan(y)
         msg = "" if eq else f"x ({x}) != y ({y}), depth={depth}"
         return eq, msg
-    elif isinstance(x == y, bool):
+    elif isinstance(x == y, (bool, np.bool_)):
         eq = x == y
         msg = "" if eq else f"x ({x}) != y ({y}), depth={depth}"
         return eq, msg
@@ -128,13 +128,21 @@ def _dataframe_equals(x, y, depth, ignore_index):
         return eq, msg
 
 
-def _numpy_equals(x, y, depth):
+def _numpy_equals(x, y, depth, ignore_index):
     if x.dtype != y.dtype:
         return False, f"x.dtype ({x.dtype}) != y.dtype ({y.dtype})"
 
-    eq = np.allclose(x, y, equal_nan=True)
-    msg = "" if eq else f"x ({x}) != y ({y}), depth={depth}"
-    return eq, msg
+    if x.dtype == "object":
+        for i in range(len(x)):
+            eq, msg = _deep_equals(x[i], y[i], depth + 1, ignore_index)
+
+            if not eq:
+                return False, msg + f", idx={i}"
+    else:
+        eq = np.allclose(x, y, equal_nan=True)
+        msg = "" if eq else f"x ({x}) != y ({y}), depth={depth}"
+        return eq, msg
+    return True, ""
 
 
 def _csrmatrix_equals(x, y, depth):
diff --git a/aeon/testing/utils/tests/test_deep_equals.py b/aeon/testing/utils/tests/test_deep_equals.py
index f2d143d2..5be11533 100644
--- a/aeon/testing/utils/tests/test_deep_equals.py
+++ b/aeon/testing/utils/tests/test_deep_equals.py
@@ -14,7 +14,7 @@ DEEPEQUALS_ITEMS = [
     42,
     [],
     (()),
-    [([([([()])])])],
+    [[[[()]]]],
     np.array([2, 3, 4]),
     np.array([2, 4, 5]),
     3.5,