From 877abec632756aebc5c3b75f669e8d09fc285dc0 Mon Sep 17 00:00:00 2001 From: Nicolas Patry Date: Wed, 8 Jan 2025 17:38:54 +0100 Subject: [PATCH] Fixing the stubbing script (breaking change in PyO3). --- bindings/python/stub.py | 26 +++++++------------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/bindings/python/stub.py b/bindings/python/stub.py index 78ddc47f..71fef2cc 100644 --- a/bindings/python/stub.py +++ b/bindings/python/stub.py @@ -42,10 +42,7 @@ def fn_predicate(obj): return ( obj.__doc__ and obj.__text_signature__ - and ( - not obj.__name__.startswith("_") - or obj.__name__ in {"__enter__", "__exit__"} - ) + and (not obj.__name__.startswith("_") or obj.__name__ in {"__enter__", "__exit__"}) ) if inspect.isgetsetdescriptor(obj): return obj.__doc__ and not obj.__name__.startswith("_") @@ -81,15 +78,14 @@ def pyi_file(obj, indent=""): body = "" if obj.__doc__: - body += ( - f'{indent}"""\n{indent}{do_indent(obj.__doc__, indent)}\n{indent}"""\n' - ) + body += f'{indent}"""\n{indent}{do_indent(obj.__doc__, indent)}\n{indent}"""\n' fns = inspect.getmembers(obj, fn_predicate) # Init if obj.__text_signature__: - body += f"{indent}def __init__{obj.__text_signature__}:\n" + signature = obj.__text_signature__.replace("(", "(self, ") + body += f"{indent}def __init__{signature}:\n" body += f"{indent+INDENT}pass\n" body += "\n" @@ -146,11 +142,7 @@ def do_black(content, is_pyi): def write(module, directory, origin, check=False): - submodules = [ - (name, member) - for name, member in inspect.getmembers(module) - if inspect.ismodule(member) - ] + submodules = [(name, member) for name, member in inspect.getmembers(module) if inspect.ismodule(member)] filename = os.path.join(directory, "__init__.pyi") pyi_content = pyi_file(module) @@ -159,9 +151,7 @@ def write(module, directory, origin, check=False): if check: with open(filename, "r") as f: data = f.read() - assert ( - data == pyi_content - ), f"The content of {filename} seems outdated, please run `python stub.py`" + assert data == pyi_content, f"The content of {filename} seems outdated, please run `python stub.py`" else: with open(filename, "w") as f: f.write(pyi_content) @@ -184,9 +174,7 @@ def write(module, directory, origin, check=False): if check: with open(filename, "r") as f: data = f.read() - assert ( - data == py_content - ), f"The content of {filename} seems outdated, please run `python stub.py`" + assert data == py_content, f"The content of {filename} seems outdated, please run `python stub.py`" else: with open(filename, "w") as f: f.write(py_content)