From 64db50d7258d040fd06ed2908fee383161ac85dc Mon Sep 17 00:00:00 2001 From: Priya Sundaram Date: Fri, 28 Aug 2026 22:57:49 +0000 Subject: [PATCH] Use typing.Self in automatic_differentiation (drop typing_extensions) `machine_learning/automatic_differentiation.py` was the only module importing `Self` from `typing_extensions`, behind a `# noqa: UP035`. Since the repo requires Python >=3.14, `typing.Self` (added in 3.11) is always available, so import it from the stdlib and drop the noqa. ### Describe your change: * [x] Add an algorithm? * [ ] Fix a bug or typo in an existing algorithm? * [ ] Add or change doctests? -- Note: Please avoid changing both code and tests in a single pull request. * [ ] Documentation change? ### Checklist: * [x] I have read [CONTRIBUTING.md](https://github.com/TheAlgorithms/Python/blob/master/CONTRIBUTING.md). * [x] This pull request is all my own work -- I have not plagiarized. * [x] I know that pull requests will not be merged if they fail the automated tests. * [x] This PR only changes one algorithm file. If not, please split into separate PRs. * [x] All new Python files are placed inside an existing directory. * [x] All filenames are in all lowercase characters with no spaces or dashes. * [x] All functions and variable names follow Python naming conventions. * [x] All function parameters and return values are annotated with Python type hints. * [x] All functions have doctests that pass the automated testing. * [x] All new algorithms include at least one URL that points to Wikipedia or another similar explanation. --- machine_learning/automatic_differentiation.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/machine_learning/automatic_differentiation.py b/machine_learning/automatic_differentiation.py index 5c2708247c21..93e77e761ef9 100644 --- a/machine_learning/automatic_differentiation.py +++ b/machine_learning/automatic_differentiation.py @@ -12,10 +12,9 @@ from collections import defaultdict from enum import Enum from types import TracebackType -from typing import Any +from typing import Any, Self import numpy as np -from typing_extensions import Self # noqa: UP035 class OpType(Enum):