Update the xxhash and hashlib stubs (#6031)

* `name`, `block_size`, `digest_size` and `digestsize` attributes of hash objects were made read-only.
* It is now a type-checking error to subclass `xxhash` classes, such as `xxhash.xxh32`. Previously it was an error only at runtime.
* `xxhash` functions now accept strings as input and any object with `__index__()` method for `seed` (instead of requiring an integer). They also fail the type checking if no arguments are given.
This commit is contained in:
Bas van Beek
2021-09-14 11:01:11 +02:00
committed by GitHub
parent ca38856670
commit a1ca55037a
3 changed files with 41 additions and 28 deletions

View File

@@ -3,10 +3,14 @@ from typing import Tuple, Union
_DataType = Union[str, unicode, bytearray, buffer, memoryview]
class _hash(object): # This is not actually in the module namespace.
name: str
block_size: int
digest_size: int
digestsize: int
@property
def name(self) -> str: ...
@property
def block_size(self) -> int: ...
@property
def digest_size(self) -> int: ...
@property
def digestsize(self) -> int: ...
def __init__(self, arg: _DataType = ...) -> None: ...
def update(self, arg: _DataType) -> None: ...
def digest(self) -> str: ...