Loading .pre-commit-config.yaml +3 −1 Original line number Diff line number Diff line Loading @@ -67,8 +67,10 @@ repos: stages: [commit, manual] - repo: https://github.com/pre-commit/mirrors-mypy rev: v0.910 rev: v0.981 hooks: - id: mypy types: [] types_or: [python, pyi] additional_dependencies: - types-requests pyproject.toml +6 −0 Original line number Diff line number Diff line Loading @@ -22,10 +22,12 @@ python = "^3.9" typing-extensions = ">=3.7.4" jsonpath-python = {version="~1.0.0", optional=true} parse = {version="~1.19.0", optional=true} types-requests = {version="~2.0", optional=true} [tool.poetry.extras] jsonpath = ["jsonpath-python"] parse = ["parse"] dxf = ["types-requests"] [[tool.poetry.packages]] include = "jsonpath-stubs" Loading @@ -35,6 +37,10 @@ from = "stubs" include = "parse-stubs" from = "stubs" [[tool.poetry.packages]] include = "dxf-stubs" from = "stubs" [tool.isort] force_single_line = true Loading stubs/dxf-stubs/__init__.pyi 0 → 100644 +217 −0 Original line number Diff line number Diff line from __future__ import annotations from collections.abc import Iterator from typing import TYPE_CHECKING from typing import Callable from typing import Literal from typing import TypeAlias from typing import TypeVar from typing import Union from typing import overload from requests import Response as HTTPResponse Action: TypeAlias = Union[Literal["pull"], Literal["push"], Literal["*"]] class DXFBase: if TYPE_CHECKING: Self = TypeVar("Self", bound="DXFBase") def __init__( self, host: str, auth: Callable[[Self, HTTPResponse], None]|None = ..., insecure: bool = ..., auth_host: str|None = ..., tlsverify: bool|str = ..., timeout: float|None = ..., ): ... def authenticate( self, username: str|None = ..., password: str|None = ..., actions: list[Action]|None = ..., response: HTTPResponse|None = ..., authorization: str|None = ..., user_agent: str = ..., ) -> str|None: ... @overload def list_repos( self, batch_size: int|None = ..., iterate: Literal[False] = False, ) -> list[str]: ... @overload def list_repos( self, batch_size: int|None, iterate: Literal[True], ) -> Iterator[str]: ... @overload def list_repos( self, iterate: Literal[True], ) -> Iterator[str]: ... @property def token(self) -> str: ... @token.setter def token(self, _: str) -> None: ... def __enter__(self: Self) -> Self: ... def __exit__(self, *_: object) -> bool|None: ... class DXF(DXFBase): if TYPE_CHECKING: Self = TypeVar("Self", bound="DXF") def __init__( self, host: str, repo: str, auth: Callable[[Self, HTTPResponse], None]|None, insecure: bool = ..., auth_host: str|None = ..., tlsverify: bool|str = ..., timeout: float|None = ..., ): ... @classmethod def from_base(cls: type[Self], base: DXFBase, repo: str) -> Self: ... def api_version_check(self) -> tuple[str, HTTPResponse]: ... def blob_size(self, digest: str) -> int: ... def del_alias(self, alias: str) -> list[str]: ... def del_blob(self, digest: str) -> None: ... @overload def get_alias( self, alias: str|None = ..., manifest: str|None = ..., verify: bool = ..., sizes: Literal[False] = False, dcd: str|None = ..., ) -> list[str]: ... @overload def get_alias( self, sizes: Literal[True], dcd: str|None = ..., ) -> list[tuple[str, int]]: ... @overload def get_alias( self, alias: str|None, manifest: str|None, verify: bool, sizes: Literal[True], dcd: str|None = ..., ) -> list[tuple[str, int]]: ... @overload def get_alias( self, alias: str|None, manifest: str|None, sizes: Literal[True], dcd: str|None = ..., ) -> list[tuple[str, int]]: ... @overload def get_alias( self, alias: str|None, sizes: Literal[True], dcd: str|None = ..., ) -> list[tuple[str, int]]: ... @overload def get_alias( self, manifest: str|None, verify: bool, sizes: Literal[True], dcd: str|None = ..., ) -> list[tuple[str, int]]: ... @overload def get_alias( self, manifest: str|None, sizes: Literal[True], dcd: str|None = ..., ) -> list[tuple[str, int]]: ... @overload def get_alias( self, verify: bool, sizes: Literal[True], dcd: str|None = ..., ) -> list[tuple[str, int]]: ... def get_digest( self, alias: str|None = ..., manifest: str|None = ..., verify: bool = ..., dcd: str|None = ..., ) -> str: ... def get_manifest(self, alias: str) -> str: ... def get_manifest_and_reponse(self, alias: str) -> tuple[str, HTTPResponse]: ... @overload def list_aliases( self, batch_size: int|None = ..., iterate: Literal[False] = False, ) -> list[str]: ... @overload def list_aliases( self, batch_size: int|None, iterate: Literal[True], ) -> Iterator[str]: ... @overload def list_aliases( self, iterate: Literal[True], ) -> Iterator[str]: ... def mount_blob(self, repo: str, digest: str) -> str: ... @overload def pull_blob( self, digest: str, size: Literal[False] = False, chunk_size: int|None = ..., ) -> Iterator[bytes]: ... @overload def pull_blob( self, digest: str, size: Literal[True], chunk_size: int|None = ..., ) -> tuple[Iterator[bytes], int]: ... @overload def push_blob( self, filename: str, progress: None = None, data: Iterator[bytes]|None = ..., digest: str|None = ..., check_exists: bool = ..., ) -> str: ... @overload def push_blob( self, progress: Callable[[str, bytes, int], None], data: Iterator[bytes]|None = ..., digest: str|None = ..., check_exists: bool = ..., ) -> str: ... def set_alias(self, alias: str, *_: str) -> str: ... def set_manifest(self, alias: str, manifest_json: str) -> None: ... def hash_bytes(buf: bytes) -> str: ... def hash_file(filename: str) -> str: ... stubs/dxf-stubs/exceptions.pyi 0 → 100644 +24 −0 Original line number Diff line number Diff line class DXFError(Exception): ... class DXFUnexpectedError(DXFError): got: object expected: object class DXFUnexpectedStatusCodeError(DXFUnexpectedError): got: int expected: int class DXFDigestMismatchError(DXFUnexpectedError): got: str expected: str class DXFUnexpectedKeyTypeError(DXFUnexpectedError): got: str expected: str class DXFUnexpectedDigestMethodError(DXFUnexpectedError): got: str expected: str class DXFDisallowedSignatureAlgorithmError(DXFError): alg: str class DXFSignatureChainNotImplementedError(DXFError): ... class DXFUnauthorizedError(DXFError): ... class DXFAuthInsecureError(DXFError): ... class DXFDigestNotAvailableForSchema1(DXFError): ... class DXFMountFailed(DXFError): ... class DXFUnsupportedSchemaType(DXFError): ... Loading
.pre-commit-config.yaml +3 −1 Original line number Diff line number Diff line Loading @@ -67,8 +67,10 @@ repos: stages: [commit, manual] - repo: https://github.com/pre-commit/mirrors-mypy rev: v0.910 rev: v0.981 hooks: - id: mypy types: [] types_or: [python, pyi] additional_dependencies: - types-requests
pyproject.toml +6 −0 Original line number Diff line number Diff line Loading @@ -22,10 +22,12 @@ python = "^3.9" typing-extensions = ">=3.7.4" jsonpath-python = {version="~1.0.0", optional=true} parse = {version="~1.19.0", optional=true} types-requests = {version="~2.0", optional=true} [tool.poetry.extras] jsonpath = ["jsonpath-python"] parse = ["parse"] dxf = ["types-requests"] [[tool.poetry.packages]] include = "jsonpath-stubs" Loading @@ -35,6 +37,10 @@ from = "stubs" include = "parse-stubs" from = "stubs" [[tool.poetry.packages]] include = "dxf-stubs" from = "stubs" [tool.isort] force_single_line = true Loading
stubs/dxf-stubs/__init__.pyi 0 → 100644 +217 −0 Original line number Diff line number Diff line from __future__ import annotations from collections.abc import Iterator from typing import TYPE_CHECKING from typing import Callable from typing import Literal from typing import TypeAlias from typing import TypeVar from typing import Union from typing import overload from requests import Response as HTTPResponse Action: TypeAlias = Union[Literal["pull"], Literal["push"], Literal["*"]] class DXFBase: if TYPE_CHECKING: Self = TypeVar("Self", bound="DXFBase") def __init__( self, host: str, auth: Callable[[Self, HTTPResponse], None]|None = ..., insecure: bool = ..., auth_host: str|None = ..., tlsverify: bool|str = ..., timeout: float|None = ..., ): ... def authenticate( self, username: str|None = ..., password: str|None = ..., actions: list[Action]|None = ..., response: HTTPResponse|None = ..., authorization: str|None = ..., user_agent: str = ..., ) -> str|None: ... @overload def list_repos( self, batch_size: int|None = ..., iterate: Literal[False] = False, ) -> list[str]: ... @overload def list_repos( self, batch_size: int|None, iterate: Literal[True], ) -> Iterator[str]: ... @overload def list_repos( self, iterate: Literal[True], ) -> Iterator[str]: ... @property def token(self) -> str: ... @token.setter def token(self, _: str) -> None: ... def __enter__(self: Self) -> Self: ... def __exit__(self, *_: object) -> bool|None: ... class DXF(DXFBase): if TYPE_CHECKING: Self = TypeVar("Self", bound="DXF") def __init__( self, host: str, repo: str, auth: Callable[[Self, HTTPResponse], None]|None, insecure: bool = ..., auth_host: str|None = ..., tlsverify: bool|str = ..., timeout: float|None = ..., ): ... @classmethod def from_base(cls: type[Self], base: DXFBase, repo: str) -> Self: ... def api_version_check(self) -> tuple[str, HTTPResponse]: ... def blob_size(self, digest: str) -> int: ... def del_alias(self, alias: str) -> list[str]: ... def del_blob(self, digest: str) -> None: ... @overload def get_alias( self, alias: str|None = ..., manifest: str|None = ..., verify: bool = ..., sizes: Literal[False] = False, dcd: str|None = ..., ) -> list[str]: ... @overload def get_alias( self, sizes: Literal[True], dcd: str|None = ..., ) -> list[tuple[str, int]]: ... @overload def get_alias( self, alias: str|None, manifest: str|None, verify: bool, sizes: Literal[True], dcd: str|None = ..., ) -> list[tuple[str, int]]: ... @overload def get_alias( self, alias: str|None, manifest: str|None, sizes: Literal[True], dcd: str|None = ..., ) -> list[tuple[str, int]]: ... @overload def get_alias( self, alias: str|None, sizes: Literal[True], dcd: str|None = ..., ) -> list[tuple[str, int]]: ... @overload def get_alias( self, manifest: str|None, verify: bool, sizes: Literal[True], dcd: str|None = ..., ) -> list[tuple[str, int]]: ... @overload def get_alias( self, manifest: str|None, sizes: Literal[True], dcd: str|None = ..., ) -> list[tuple[str, int]]: ... @overload def get_alias( self, verify: bool, sizes: Literal[True], dcd: str|None = ..., ) -> list[tuple[str, int]]: ... def get_digest( self, alias: str|None = ..., manifest: str|None = ..., verify: bool = ..., dcd: str|None = ..., ) -> str: ... def get_manifest(self, alias: str) -> str: ... def get_manifest_and_reponse(self, alias: str) -> tuple[str, HTTPResponse]: ... @overload def list_aliases( self, batch_size: int|None = ..., iterate: Literal[False] = False, ) -> list[str]: ... @overload def list_aliases( self, batch_size: int|None, iterate: Literal[True], ) -> Iterator[str]: ... @overload def list_aliases( self, iterate: Literal[True], ) -> Iterator[str]: ... def mount_blob(self, repo: str, digest: str) -> str: ... @overload def pull_blob( self, digest: str, size: Literal[False] = False, chunk_size: int|None = ..., ) -> Iterator[bytes]: ... @overload def pull_blob( self, digest: str, size: Literal[True], chunk_size: int|None = ..., ) -> tuple[Iterator[bytes], int]: ... @overload def push_blob( self, filename: str, progress: None = None, data: Iterator[bytes]|None = ..., digest: str|None = ..., check_exists: bool = ..., ) -> str: ... @overload def push_blob( self, progress: Callable[[str, bytes, int], None], data: Iterator[bytes]|None = ..., digest: str|None = ..., check_exists: bool = ..., ) -> str: ... def set_alias(self, alias: str, *_: str) -> str: ... def set_manifest(self, alias: str, manifest_json: str) -> None: ... def hash_bytes(buf: bytes) -> str: ... def hash_file(filename: str) -> str: ...
stubs/dxf-stubs/exceptions.pyi 0 → 100644 +24 −0 Original line number Diff line number Diff line class DXFError(Exception): ... class DXFUnexpectedError(DXFError): got: object expected: object class DXFUnexpectedStatusCodeError(DXFUnexpectedError): got: int expected: int class DXFDigestMismatchError(DXFUnexpectedError): got: str expected: str class DXFUnexpectedKeyTypeError(DXFUnexpectedError): got: str expected: str class DXFUnexpectedDigestMethodError(DXFUnexpectedError): got: str expected: str class DXFDisallowedSignatureAlgorithmError(DXFError): alg: str class DXFSignatureChainNotImplementedError(DXFError): ... class DXFUnauthorizedError(DXFError): ... class DXFAuthInsecureError(DXFError): ... class DXFDigestNotAvailableForSchema1(DXFError): ... class DXFMountFailed(DXFError): ... class DXFUnsupportedSchemaType(DXFError): ...