From dac365850706cc3b6ca20bfc1f09b44bf8dfdb2a Mon Sep 17 00:00:00 2001 From: Abby Austin <38941820+spidertyler2005@users.noreply.github.com> Date: Tue, 30 Jun 2026 12:34:45 -0400 Subject: [PATCH] use rply-stubs library published on pypi instead --- pyproject.toml | 7 ++-- test_ntree.py | 1 - typings/rply-stubs/__init__.pyi | 6 ---- typings/rply-stubs/lexer.pyi | 38 ---------------------- typings/rply-stubs/lexergenerator.pyi | 44 ------------------------- typings/rply-stubs/token.pyi | 46 --------------------------- uv.lock | 18 ++++++++++- 7 files changed, 22 insertions(+), 138 deletions(-) delete mode 100644 typings/rply-stubs/__init__.pyi delete mode 100644 typings/rply-stubs/lexer.pyi delete mode 100644 typings/rply-stubs/lexergenerator.pyi delete mode 100644 typings/rply-stubs/token.pyi diff --git a/pyproject.toml b/pyproject.toml index fe8fa52..41bbe16 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,10 @@ version = "0.1.0" description = "An opinionated library to assist in building compilers" readme = "readme.md" requires-python = ">=3.12" -dependencies = ["rply>=0.7.8"] +dependencies = [ + "rply>=0.7.8", + "rply-stubs>=0.1.0.0.7.8", +] license = { text = "LGPL-3.0-only" } keywords = [ @@ -70,4 +73,4 @@ explicit = true [tool.setuptools] packages = ["compilertoolkit"] -[tool.black] \ No newline at end of file +[tool.black] diff --git a/test_ntree.py b/test_ntree.py index 4cec4cc..326b556 100644 --- a/test_ntree.py +++ b/test_ntree.py @@ -161,7 +161,6 @@ def add_leaf(self, leaf: ModuleView | Module | Self): # only override the stubs to make our IDE happy. if not type-checking, don't worry about it. if TYPE_CHECKING: - def add_leaves(self, leaves: Sequence[ModuleView | Module | Self]) -> Self: ... def set_leaves(self, leaves: Sequence[ModuleView | Module | Self]) -> Self: ... diff --git a/typings/rply-stubs/__init__.pyi b/typings/rply-stubs/__init__.pyi deleted file mode 100644 index b4e07f8..0000000 --- a/typings/rply-stubs/__init__.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from . import token -from . import lexer -from . import lexergenerator -from .lexergenerator import LexerGenerator - -__all__ = ["token", "lexer", "lexergenerator", "LexerGenerator"] diff --git a/typings/rply-stubs/lexer.pyi b/typings/rply-stubs/lexer.pyi deleted file mode 100644 index 4f92276..0000000 --- a/typings/rply-stubs/lexer.pyi +++ /dev/null @@ -1,38 +0,0 @@ -from typing import Self -from .token import Token -from .lexergenerator import Rule, Match - - -class Lexer(object): - rules: list[Rule] - ignore_rules: list[Rule] - - def __init__(self, rules: list[Rule], ignore_rules: list[Rule]): - ... - - def lex(self, s: str) -> "LexerStream": - ... - - -class LexerStream(object): - lexer: Lexer - s: str - idx: int - - _lineno: int - _colno: int - - def __init__(self, lexer: Lexer, s: str): - ... - - def __iter__(self) -> Self: - ... - - def _update_pos(self, match: Match) -> int: - ... - - def next(self) -> Token: - ... - - def __next__(self) -> Token: - ... diff --git a/typings/rply-stubs/lexergenerator.pyi b/typings/rply-stubs/lexergenerator.pyi deleted file mode 100644 index 170658f..0000000 --- a/typings/rply-stubs/lexergenerator.pyi +++ /dev/null @@ -1,44 +0,0 @@ -from typing import Any -from .lexer import Lexer -from .token import SourcePosition - - -class Rule[N: str](object): - _attrs_ = ['name', 'flags', '_pattern'] - name: N - pattern: str - flags: int - - def __init__(self, name: N, pattern: str, flags=0): - ... - - def _freeze_(self) -> bool: - ... - - def matches(self, s: str, pos: SourcePosition): - ... - - -class Match(object): - start: int - end: int - - def __init__(self, start: int, end: int): - ... - - -class LexerGenerator(object): - rules: list[Rule] - ignore_rules: list[Rule] - - def __init__(self): - ... - - def add(self, name: str | Any, pattern: str, flags: int = 0): - ... - - def ignore(self, pattern: str, flags: int = 0): - ... - - def build(self) -> Lexer: - ... diff --git a/typings/rply-stubs/token.pyi b/typings/rply-stubs/token.pyi deleted file mode 100644 index 4d127ee..0000000 --- a/typings/rply-stubs/token.pyi +++ /dev/null @@ -1,46 +0,0 @@ -from typing import Any, Never, Self, overload - - -class BaseBox(object): - _attrs_: list[str] = [] - - -class SourcePosition(object): - idx: int - lineno: int - colno: int - - def __init__(self, idx: int, lineno: int, colno: int): - ... - - def __repr__(self) -> str: - ... - - -class Token[N: str, V](BaseBox): - name: N - value: V - source_pos: SourcePosition | None - - def __init__(self, name: N, value: V, source_pos=None): - ... - - def __repr__(self) -> str: - ... - - @overload - def __eq__(self, other: Self) -> bool: - ... - - @overload - def __eq__(self, other: Any) -> Never: - ... - - def gettokentype(self) -> N: - ... - - def getsourcepos(self) -> SourcePosition: - ... - - def getstr(self) -> N: - ... diff --git a/uv.lock b/uv.lock index 219d7e2..23ee54c 100644 --- a/uv.lock +++ b/uv.lock @@ -183,6 +183,7 @@ version = "0.1.0" source = { virtual = "." } dependencies = [ { name = "rply" }, + { name = "rply-stubs" }, ] [package.dev-dependencies] @@ -194,7 +195,10 @@ dev = [ ] [package.metadata] -requires-dist = [{ name = "rply", specifier = ">=0.7.8" }] +requires-dist = [ + { name = "rply", specifier = ">=0.7.8" }, + { name = "rply-stubs", specifier = ">=0.1.0.0.7.8" }, +] [package.metadata.requires-dev] dev = [ @@ -528,6 +532,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c0/7c/f66be9e75485ae6901ae77d8bdbc3c0e99ca748ab927b3e18205759bde09/rply-0.7.8-py2.py3-none-any.whl", hash = "sha256:28ffd11d656c48aeb8c508eb382acd6a0bd906662624b34388751732a27807e7", size = 16039, upload-time = "2021-01-27T21:14:27.946Z" }, ] +[[package]] +name = "rply-stubs" +version = "0.1.0.0.7.8" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "rply" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f0/46/5e5e43ef305de7a5a35468a820e29651d7e1a3520c854e9e62da3cf10725/rply_stubs-0.1.0.0.7.8.tar.gz", hash = "sha256:0176af955fcda9d5cd5489ab3ddb1c928cb50f15708675f79390e2386ab00753", size = 9509, upload-time = "2026-06-30T15:50:07.146Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cd/2b/7ae4f32529841c1aefc819e3effcc9cc91ce1d63390ac92916e4d1028a46/rply_stubs-0.1.0.0.7.8-py3-none-any.whl", hash = "sha256:4223b43bb9e1d08ed86b8e6f9242d37427c18eaba823b976c943f8f371b3994a", size = 10159, upload-time = "2026-06-30T15:50:06.324Z" }, +] + [[package]] name = "snowballstemmer" version = "3.0.1"