8000 Contributed stubs for "packaging" package by erictraut · Pull Request #4427 · python/typeshed · GitHub
[go: up one dir, main page]

Skip to content

Contributed stubs for "packaging" package #4427

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 5 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
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
Empty file.
23 changes: 23 additions & 0 deletions third_party/2and3/packaging/_structures.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
class InfinityType:
def __hash__(self) -> int: ...
def __lt__(self, other: object) -> bool: ...
def __le__(self, other: object) -> bool: ...
def __eq__(self, other: object) -> bool: ...
def __ne__(self, other: object) -> bool: ...
def __gt__(self, other: object) -> bool: ...
def __ge__(self, other: object) -> bool: ...
def __neg__(self) -> NegativeInfinityType: ...

Infinity: InfinityType

class NegativeInfinityType:
def __hash__(self) -> int: ...
def __lt__(self, other: object) -> bool: ...
def __le__(self, other: object) -> bool: ...
def __eq__(self, other: object) -> bool: ...
def __ne__(self, other: object) -> bool: ...
def __gt__(self, other: object) -> bool: ...
def __ge__(self, other: object) -> bool: ...
def __neg__(self) -> InfinityType: ...

NegativeInfinity: NegativeInfinityType
27 changes: 27 additions & 0 deletions third_party/2and3/packaging/markers.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
from typing import Any, Dict, Optional

class InvalidMarker(ValueError): ...
class UndefinedComparison(ValueError): ...
class UndefinedEnvironmentName(ValueError): ...

class Node:
value: Any = ...
def __init__(self, value: Any) -> None: ...
def serialize(self) -> str: ...

class Variable(Node):
def serialize(self) -> str: ...

class Value(Node):
def serialize(self) -> str: ...

class Op(Node):
def serialize(self) -> str: ...

class Undefined: ...

def default_environment() -> Dict[str, str]: ...

class Marker:
def __init__(self, marker: str) -> None: ...
def evaluate(self, environment: Optional[Dict[str, str]]=...) -> bool: ...
11 changes: 11 additions & 0 deletions third_party/2and3/packaging/requirements.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
class InvalidRequirement(ValueError): ...

class Requirement:
name: str = ...
url: str = ...
extras: str = ...
specifier: str = ...
marker: str = ...
def __init__(self, requirement_string: str) -> None: ...
def __str__(self) -> str: ...
def __repr__(self) -> str: ...
71 changes: 71 additions & 0 deletions third_party/2and3/packaging/specifiers.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
import abc
from typing import Callable, FrozenSet, Iterable, Iterator, Optional, Union

from .utils import canonicalize_version as canonicalize_version
from .version import LegacyVersion as LegacyVersion, Version as Version, parse as parse

ParsedVersion = Union[Version, LegacyVersion]
UnparsedVersion = Union[Version, LegacyVersion, str]
CallableOperator = Callable[[ParsedVersion, str], bool]

class InvalidSpecifier(ValueError): ...

class BaseSpecifier(metaclass=abc.ABCMeta):
@abc.abstractmethod
def __hash__(self) -> int: ...
@abc.abstractmethod
def __eq__(self, other: object) -> bool: ...
@abc.abstractmethod
def __ne__(self, other: object) -> bool: ...
@property
@abc.abstractmethod
def prereleases(self) -> Optional[bool]: ...
@prereleases.setter
def prereleases(self, value: bool) -> None: ...
@abc.abstractmethod
def contains(self, item: str, prereleases: Optional[bool] = ...) -> bool: ...
@abc.abstractmethod
def filter(self, iterable: Iterable[UnparsedVersion], prereleases: Optional[bool] = ...) -> Iterable[UnparsedVersion]: ...

class _IndividualSpecifier(BaseSpecifier):
def __init__(self, spec: str = ..., prereleases: Optional[bool] = ...) -> None: ...
def __hash__(self) -> int: ...
def __eq__(self, other: object) -> bool: ...
def __ne__(self, other: object) -> bool: ...
@property
def operator(self) -> str: ...
@property
def version(self) -> str: ...
@property
def prereleases(self) -> Optional[bool]: ...
@prereleases.setter
def prereleases(self, value: bool) -> None: ...
def __contains__(self, item: str) -> bool: ...
def contains(self, item: UnparsedVersion, prereleases: Optional[bool] = ...) -> bool: ...
def filter(self, iterable: Iterable[UnparsedVersion], prereleases: Optional[bool] = ...) -> Iterable[UnparsedVersion]: ...

class LegacySpecifier(_IndividualSpecifier): ...

class Specifier(_IndividualSpecifier):
@property
def prereleases(self) -> bool: ...
@prereleases.setter
def prereleases(self, value: bool) -> None: ...

class SpecifierSet(BaseSpecifier):
def __init__(self, specifiers: str = ..., prereleases: Optional[bool] = ...) -> None: ...
def __hash__(self) -> int: ...
def __and__(self, other: Union[SpecifierSet, str]) -> SpecifierSet: ...
def __eq__(self, other: object) -> bool: ...
def __ne__(self, other: object) -> bool: ...
def __len__(self) -> int: ...
def __iter__(self) -> Iterator[FrozenSet[_IndividualSpecifier]]: ...
@property
def prereleases(self) -> Optional[bool]: ...
@prereleases.setter
def prereleases(self, value: bool) -> None: ...
def __contains__(self, item: Union[ParsedVersion, str]) -> bool: ...
def contains(self, item: Union[ParsedVersion, str], prereleases: Optional[bool] = ...) -> bool: ...
def filter(
self, iterable: Iterable[Union[ParsedVersion, str]], prereleases: Optional[bool] = ...
) -> Iterable[Union[ParsedVersion, str]]: ...
36 changes: 36 additions & 0 deletions third_party/2and3/packaging/tags.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
from typing import FrozenSet, Iterable, Iterator, Optional, Sequence, Tuple

PythonVersion = Sequence[int]
MacVersion = Tuple[int, int]

class Tag:
def __init__(self, interpreter: str, abi: str, platform: str) -> None: ...
@property
def interpreter(self) -> str: ...
@property
def abi(self) -> str: ...
@property
def platform(self) -> str: ...
def __eq__(self, other: object) -> bool: ...
def __hash__(self) -> int: ...

def parse_tag(tag: str) -> FrozenSet[Tag]: ...
def cpython_tags(
python_version: Optional[PythonVersion] = ...,
abis: Optional[Iterable[str]] = ...,
platforms: Optional[Iterable[str]] = ...,
**kwargs: bool,
) -> Iterator[Tag]: ...
def generic_tags(
interpreter: Optional[str] = ...,
abis: Optional[Iterable[str]] = ...,
platforms: Optional[Iterable[str]] = ...,
**kwargs: bool,
) -> Iterator[Tag]: ...
def compatible_tags(
python_version: Optional[PythonVersion] = ..., interpreter: Optional[str] = ..., platforms: Optional[Iterable[str]] = ...
) -> Iterator[Tag]: ...
def mac_platforms(version: Optional[MacVersion] = ..., arch: Optional[str] = ...) -> Iterator[str]: ...
def interpreter_name() -> str: ...
def interpreter_version(**kwargs: bool) -> str: ...
def sys_tags(**kwargs: bool) -> Iterator[Tag]: ...
8 changes: 8 additions & 0 deletions third_party/2and3/packaging/utils.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
from typing import NewType, Union

from .version import Version

NormalizedName = NewType("NormalizedName", str)

def canonicalize_name(name: str) -> NormalizedName: ...
def canonicalize_version(_version: str) -> Union[Version, str]: ...
70 changes: 70 additions & 0 deletions third_party/2and3/packaging/version.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
from typing import Optional, Tuple, Union

def parse(version: str) -> Union[LegacyVersion, Version]: ...

class InvalidVersion(ValueError): ...

class _BaseVersion:
def __hash__(self) -> int: ...
def __lt__(self, other: _BaseVersion) -> bool: ...
def __le__(self, other: _BaseVersion) -> bool: ...
def __eq__(self, other: object) -> bool: ...
def __ge__(self, other: _BaseVersion) -> bool: ...
def __gt__(self, other: _BaseVersion) -> bool: ...
def __ne__(self, other: object) -> bool: ...

class LegacyVersion(_BaseVersion):
def __init__(self, version: str) -> None: ...
@property
def public(self) -> str: ...
@property
def base_version(self) -> str: ...
@property
def epoch(self) -> int: ...
@property
def release(self) -> None: ...
@property
def pre(self) -> None: ...
@property
def post(self) -> None: ...
@property
def dev(self) -> None: ...
@property
def local(self) -> None: ...
@property
def is_prerelease(self) -> bool: ...
@property
def is_postrelease(self) -> bool: ...
@property
def is_devrelease(self) -> bool: ...

class Version(_BaseVersion):
def __init__(self, version: str) -> None: ...
@property
def epoch(self) -> int: ...
@property
def release(self) -> Tuple[int, ...]: ...
@property
def pre(self) -> Optional[Tuple[str, int]]: ...
@property
def post(self) -> Optional[Tuple[str, int]]: ...
@property
def dev(self) -> Optional[Tuple[str, int]]: ...
@property
def local(self) -> Optional[str]: ...
@property
def public(self) -> str: ...
@property
def base_version(self) -> str: ...
@property
def is_prerelease(self) -> bool: ...
@property
def is_postrelease(self) -> bool: ...
@property
def is_devrelease(self) -> bool: ...
@property
def major(self) -> int: ...
@property
def minor(self) -> int: ...
@property
def micro(self) -> int: ...
0