From c3d4b22e81394a66ef05561f74b872d4e6a03cfe Mon Sep 17 00:00:00 2001 From: donBarbos Date: Tue, 18 Mar 2025 21:58:02 +0400 Subject: [PATCH 1/2] Add stubs for cysimdjson --- pyrightconfig.stricter.json | 1 + stubs/cysimdjson/METADATA.toml | 2 + stubs/cysimdjson/cysimdjson/__init__.pyi | 21 ++++++++++ stubs/cysimdjson/cysimdjson/cysimdjson.pyi | 49 ++++++++++++++++++++++ 4 files changed, 73 insertions(+) create mode 100644 stubs/cysimdjson/METADATA.toml create mode 100644 stubs/cysimdjson/cysimdjson/__init__.pyi create mode 100644 stubs/cysimdjson/cysimdjson/cysimdjson.pyi diff --git a/pyrightconfig.stricter.json b/pyrightconfig.stricter.json index 9f20ff2c9c93..76deb7afc515 100644 --- a/pyrightconfig.stricter.json +++ b/pyrightconfig.stricter.json @@ -36,6 +36,7 @@ "stubs/click-web", "stubs/commonmark", "stubs/corus", + "stubs/cysimdjson", "stubs/dateparser", "stubs/defusedxml", "stubs/docker", diff --git a/stubs/cysimdjson/METADATA.toml b/stubs/cysimdjson/METADATA.toml new file mode 100644 index 000000000000..560b477f09c8 --- /dev/null +++ b/stubs/cysimdjson/METADATA.toml @@ -0,0 +1,2 @@ +version = "24.12.*" +upstream_repository = "https://github.com/TeskaLabs/cysimdjson" diff --git a/stubs/cysimdjson/cysimdjson/__init__.pyi b/stubs/cysimdjson/cysimdjson/__init__.pyi new file mode 100644 index 000000000000..d483edbdfa43 --- /dev/null +++ b/stubs/cysimdjson/cysimdjson/__init__.pyi @@ -0,0 +1,21 @@ +from .cysimdjson import ( + MAXSIZE_BYTES as MAXSIZE_BYTES, + PADDING as PADDING, + SIMDJSON_VERSION as SIMDJSON_VERSION, + JSONArray as JSONArray, + JSONElement as JSONElement, + JSONObject as JSONObject, + JSONParser as JSONParser, + addr_to_element as addr_to_element, +) + +__all__ = [ + "JSONParser", + "JSONObject", + "JSONArray", + "JSONElement", + "addr_to_element", + "SIMDJSON_VERSION", + "MAXSIZE_BYTES", + "PADDING", +] diff --git a/stubs/cysimdjson/cysimdjson/cysimdjson.pyi b/stubs/cysimdjson/cysimdjson/cysimdjson.pyi new file mode 100644 index 000000000000..dd8540e689aa --- /dev/null +++ b/stubs/cysimdjson/cysimdjson/cysimdjson.pyi @@ -0,0 +1,49 @@ +from collections.abc import Generator + +MAXSIZE_BYTES: int +PADDING: int +SIMDJSON_VERSION: str + +class JSONArray: + def at_pointer(self, key: str) -> JSONElement: ... + def export(self) -> list[object]: ... + def get_addr(self) -> int: ... + def get_value(self) -> JSONElement: ... + def __contains__(self, item: JSONElement) -> bool: ... + def __getitem__(self, key: int) -> JSONElement: ... + def __iter__(self) -> Generator[JSONElement]: ... + def __len__(self) -> int: ... + def __reduce__(self): ... + +class JSONElement: + def at_pointer(self, key: str) -> JSONElement: ... + def export(self) -> object: ... + def get_addr(self) -> int: ... + def get_value(self) -> JSONElement: ... + def __reduce__(self): ... + +class JSONObject: + def at_pointer(self, key: str) -> JSONElement: ... + def export(self) -> dict[str, object]: ... + def get(self, key: str, default: JSONElement | None = None) -> JSONElement | None: ... + def get_addr(self, *args, **kwargs) -> int: ... + def get_value(self) -> JSONElement: ... + def items(self) -> Generator[tuple[str, JSONElement]]: ... + def keys(self) -> Generator[str]: ... + def __contains__(self, key: str) -> bool: ... + def __getitem__(self, key: str) -> JSONElement: ... + def __iter__(self) -> Generator[str]: ... + def __len__(self) -> int: ... + def __reduce__(self): ... + +class JSONParser: + def __init__(self, max_capacity: int | None = None) -> None: ... + def active_implementation(self) -> str: ... + def load(self, path: str) -> JSONElement: ... + def loads(self, content: str) -> JSONElement: ... + def parse(self, event: bytes) -> JSONElement: ... + def parse_in_place(self, event: bytes) -> JSONElement: ... + def parse_string(self, event: str) -> JSONElement: ... + def __reduce__(self): ... + +def addr_to_element(element_addr: int) -> JSONElement: ... From ad68b76b270f32af70a8cf4217f63dcb8cb6b803 Mon Sep 17 00:00:00 2001 From: donBarbos Date: Tue, 18 Mar 2025 23:38:17 +0400 Subject: [PATCH 2/2] Correct version --- stubs/cysimdjson/METADATA.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stubs/cysimdjson/METADATA.toml b/stubs/cysimdjson/METADATA.toml index 560b477f09c8..48529a1cd1a3 100644 --- a/stubs/cysimdjson/METADATA.toml +++ b/stubs/cysimdjson/METADATA.toml @@ -1,2 +1,2 @@ -version = "24.12.*" +version = "24.12" upstream_repository = "https://github.com/TeskaLabs/cysimdjson"