RPLY Stubs
A stubs library for RPLY
Correctness
This is an independent static analysis of the types being used. This is not the easiest task in a codebase so unmaintained and old (not to say that RPLY doesn't set out to accomplish all that it needs to. It is a well written and complete library from the way I see it.).
This is all to say that the type annotations provided are not always correct but provide a firm guideline in an otherwise untyped library.
Completeness
| symbol | meaning |
|---|---|
| ⚪ | partial |
| ❌ | Not worked on |
| ✅ | completed |
| Module | Status |
|---|---|
| errors | ✅ |
| grammar | ⚪ |
| lexer | ✅ |
| lexergenerator | ✅ |
| parser | ✅ |
| parsergenerator | ⚪ |
| token | ✅ |
| utils | ✅ |
Difficulties In Completion
This stubs library is made significantly more difficult to complete due to the fact that single-letter naming conventions are used in several places without explanation or comment in to what each variable means. For example:
# rply/parsergenerator.py
def traverse(x, N, stack, F, X, R, FP):
...
It is clear that stack is some kind of list but what are x, N, F, X, R, and FP?
FP could be a function pointer? But that is just an educated guess.
Many such examples exist in the codebase and are hard to descern. That is also not mentioning the large amount of compounding types with signatures such as list[dict[tuple[int, str], list[dict[...]]]]. This is extremely hard to annotate or understand the individual parts of.
Most of the examples come from the parsergenerator module which I will personally say is not very readable. I would love if the library author could provide some assistance.
Metadata
Release files for rply-stubs 0.1.0.0.7.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rply_stubs-0.1.0.0.7.8.tar.gz | 9.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rply_stubs-0.1.0.0.7.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.7 kB
Release files / rply_stubs-0.1.0.0.7.8.tar.gz
| Download URL | rply_stubs-0.1.0.0.7.8.tar.gz |
|---|---|
| Size | 9.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0176af955fcda9d5cd5489ab3ddb1c928cb50f15708675f79390e2386ab00753
|
|
BLAKE2b-256 checksum How to use checksums |
f0465e5e43ef305de7a5a35468a820e29651d7e1a3520c854e9e62da3cf10725
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / rply_stubs-0.1.0.0.7.8-py3-none-any.whl
| Download URL | rply_stubs-0.1.0.0.7.8-py3-none-any.whl |
|---|---|
| Size | 10.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4223b43bb9e1d08ed86b8e6f9242d37427c18eaba823b976c943f8f371b3994a
|
|
BLAKE2b-256 checksum How to use checksums |
cd2b7ae4f32529841c1aefc819e3effcc9cc91ce1d63390ac92916e4d1028a46
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|