From 9c53756f9c0c55b4d130793325c6596cf24dd807 Mon Sep 17 00:00:00 2001 From: Shantanu Date: Sun, 24 May 2020 17:51:53 -0700 Subject: [PATCH] random: update for py39 (#4069) Co-authored-by: hauntsaninja <> --- stdlib/3/random.pyi | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/stdlib/3/random.pyi b/stdlib/3/random.pyi index 7fa0698a0..f3ca799a7 100644 --- a/stdlib/3/random.pyi +++ b/stdlib/3/random.pyi @@ -8,7 +8,7 @@ import _random import sys -from typing import Any, TypeVar, Sequence, List, Callable, AbstractSet, Union, Optional, Tuple +from typing import Any, TypeVar, Sequence, Iterable, List, Callable, AbstractSet, Union, Optional, Tuple _T = TypeVar('_T') @@ -24,7 +24,10 @@ class Random(_random.Random): if sys.version_info >= (3, 6): def choices(self, population: Sequence[_T], weights: Optional[Sequence[float]] = ..., *, cum_weights: Optional[Sequence[float]] = ..., k: int = ...) -> List[_T]: ... def shuffle(self, x: List[Any], random: Union[Callable[[], float], None] = ...) -> None: ... - def sample(self, population: Union[Sequence[_T], AbstractSet[_T]], k: int) -> List[_T]: ... + if sys.version_info >= (3, 9): + def sample(self, population: Union[Sequence[_T], AbstractSet[_T]], k: int, counts: Optional[Iterable[_T]] = ...) -> List[_T]: ... + else: + def sample(self, population: Union[Sequence[_T], AbstractSet[_T]], k: int) -> List[_T]: ... def random(self) -> float: ... def uniform(self, a: float, b: float) -> float: ... def triangular(self, low: float = ..., high: float = ..., mode: float = ...) -> float: ... @@ -53,7 +56,10 @@ def choice(seq: Sequence[_T]) -> _T: ... if sys.version_info >= (3, 6): def choices(population: Sequence[_T], weights: Optional[Sequence[float]] = ..., *, cum_weights: Optional[Sequence[float]] = ..., k: int = ...) -> List[_T]: ... def shuffle(x: List[Any], random: Union[Callable[[], float], None] = ...) -> None: ... -def sample(population: Union[Sequence[_T], AbstractSet[_T]], k: int) -> List[_T]: ... +if sys.version_info >= (3, 9): + def sample(population: Union[Sequence[_T], AbstractSet[_T]], k: int, counts: Optional[Iterable[_T]] = ...) -> List[_T]: ... +else: + def sample(population: Union[Sequence[_T], AbstractSet[_T]], k: int) -> List[_T]: ... def random() -> float: ... def uniform(a: float, b: float) -> float: ... def triangular(low: float = ..., high: float = ...,