Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions asyncssh/agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,12 @@
import os
import sys
from types import TracebackType
from typing import TYPE_CHECKING, List, Optional, Sequence, Tuple, Type, Union
from typing_extensions import Protocol, Self
from typing import TYPE_CHECKING, List, Optional, Protocol, Sequence, Tuple
from typing import Type, Union
if sys.version_info >= (3, 11):
from typing import Self
else:
from typing_extensions import Self

from .listener import SSHForwardListener
from .misc import async_context_manager, maybe_wait_closed
Expand Down
9 changes: 6 additions & 3 deletions asyncssh/connection.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,12 @@
from pathlib import Path
from types import TracebackType
from typing import TYPE_CHECKING, Any, AnyStr, Awaitable, Callable, Dict
from typing import Generic, List, Mapping, Optional, Sequence, Set, Tuple
from typing import Type, TypeVar, Union, cast
from typing_extensions import Protocol, Self
from typing import Generic, List, Mapping, Optional, Protocol, Sequence, Set
from typing import Tuple, Type, TypeVar, Union, cast
if sys.version_info >= (3, 11):
from typing import Self
else:
from typing_extensions import Self

from .agent import SSHAgentClient, SSHAgentListener

Expand Down
6 changes: 5 additions & 1 deletion asyncssh/forward.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,14 @@

import asyncio
import socket
import sys
from types import TracebackType
from typing import TYPE_CHECKING, Any, Awaitable, Callable, Dict, Optional
from typing import Type, cast
from typing_extensions import Self
if sys.version_info >= (3, 11):
from typing import Self
else:
from typing_extensions import Self

from .misc import ChannelOpenError, SockAddr

Expand Down
4 changes: 2 additions & 2 deletions asyncssh/kex_dh.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
"""SSH Diffie-Hellman, ECDH, and Edwards DH key exchange handlers"""

from hashlib import sha1, sha224, sha256, sha384, sha512
from typing import TYPE_CHECKING, Callable, Mapping, Optional, Type, cast
from typing_extensions import Protocol
from typing import TYPE_CHECKING, Callable, Mapping, Optional, Protocol, Type
from typing import cast

from .constants import DEFAULT_LANG
from .crypto import Curve25519DH, Curve448DH, DH, ECDH, PQClass, MLKEM, SNTRUP
Expand Down
6 changes: 5 additions & 1 deletion asyncssh/listener.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,14 @@
import asyncio
import errno
import socket
import sys
from types import TracebackType
from typing import TYPE_CHECKING, AnyStr, Callable, Generic, List, Optional
from typing import Sequence, Set, Tuple, Type, Union
from typing_extensions import Self
if sys.version_info >= (3, 11):
from typing import Self
else:
from typing_extensions import Self

from .forward import SSHForwarderCoro
from .forward import SSHLocalPortForwarder, SSHLocalPathForwarder
Expand Down
6 changes: 3 additions & 3 deletions asyncssh/misc.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,9 @@
from random import SystemRandom
from types import TracebackType
from typing import Any, AsyncContextManager, Awaitable, Callable, Dict
from typing import Generator, Generic, IO, Iterator, List, Mapping, Optional
from typing import Sequence, Tuple, Type, TypeVar, Union, cast, overload
from typing_extensions import Literal, Protocol
from typing import Generator, Generic, IO, Iterator, List, Literal, Mapping
from typing import Optional, Protocol, Sequence, Tuple, Type, TypeVar, Union
from typing import cast, overload

from .constants import DEFAULT_LANG
from .constants import DISC_COMPRESSION_ERROR, DISC_CONNECTION_LOST
Expand Down
8 changes: 6 additions & 2 deletions asyncssh/process.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,15 @@
from pathlib import PurePath
import socket
import stat
import sys
from types import TracebackType
from typing import Any, AnyStr, Awaitable, Callable, Dict, Generic, IO
from typing import Iterable, List, Mapping, Optional, Set, TextIO
from typing import Iterable, List, Mapping, Optional, Protocol, Set, TextIO
from typing import Tuple, Type, TypeVar, Union, cast
from typing_extensions import Protocol, Self
if sys.version_info >= (3, 11):
from typing import Self
else:
from typing_extensions import Self

from .channel import SSHChannel, SSHClientChannel, SSHServerChannel

Expand Down
5 changes: 2 additions & 3 deletions asyncssh/public_key.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,8 @@

from hashlib import md5, sha1, sha256, sha384, sha512
from pathlib import Path, PurePath
from typing import Callable, Dict, List, Mapping, Optional, Sequence, Set
from typing import Tuple, Type, Union, cast
from typing_extensions import Protocol
from typing import Callable, Dict, List, Mapping, Optional, Protocol
from typing import Sequence, Set, Tuple, Type, Union, cast

from .crypto import ed25519_available, ed448_available
from .encryption import Encryption
Expand Down
3 changes: 1 addition & 2 deletions asyncssh/saslprep.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,7 @@
# pylint: enable=deprecated-module
import unicodedata

from typing import Callable, Optional, Sequence
from typing_extensions import Literal
from typing import Callable, Literal, Optional, Sequence


class SASLPrepError(ValueError):
Expand Down
7 changes: 5 additions & 2 deletions asyncssh/scp.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,11 @@
import sys
from types import TracebackType
from typing import TYPE_CHECKING, AsyncIterator, List, NoReturn, Optional
from typing import Sequence, Tuple, Type, Union, cast
from typing_extensions import Protocol, Self
from typing import Protocol, Sequence, Tuple, Type, Union, cast
if sys.version_info >= (3, 11):
from typing import Self
else:
from typing_extensions import Self

from .constants import DEFAULT_LANG
from .constants import FILEXFER_TYPE_REGULAR, FILEXFER_TYPE_DIRECTORY
Expand Down
10 changes: 7 additions & 3 deletions asyncssh/sftp.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,13 @@
import time
from types import TracebackType
from typing import TYPE_CHECKING, AnyStr, AsyncIterator, Awaitable, Callable
from typing import Dict, Generic, IO, Iterable, List, Mapping, Optional
from typing import Sequence, Set, Tuple, Type, TypeVar, Union, cast, overload
from typing_extensions import Literal, Protocol, Self
from typing import Dict, Generic, IO, Iterable, List, Literal, Mapping
from typing import Optional, Protocol, Sequence, Set, Tuple, Type, TypeVar
from typing import Union, cast, overload
if sys.version_info >= (3, 11):
from typing import Self
else:
from typing_extensions import Self

from . import constants
from .constants import DEFAULT_LANG
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ classifiers = [
requires-python = '>= 3.10'
dependencies = [
'cryptography >= 48.0.1',
'typing_extensions >= 4.0.0',
"typing-extensions (>= 4.0.0); python_version < '3.11'",
]
dynamic = ['version']

Expand Down