A stubs library for RPLY
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rply_stubs-0.1.0.0.7.8.tar.gz.
File metadata
- Download URL: rply_stubs-0.1.0.0.7.8.tar.gz
- Upload date:
- Size: 9.5 kB
- Tags: Source
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0176af955fcda9d5cd5489ab3ddb1c928cb50f15708675f79390e2386ab00753
|
|
| MD5 |
a8ad08a1e3b54593957154857742d325
|
|
| BLAKE2b-256 |
f0465e5e43ef305de7a5a35468a820e29651d7e1a3520c854e9e62da3cf10725
|
File details
Details for the file rply_stubs-0.1.0.0.7.8-py3-none-any.whl.
File metadata
- Download URL: rply_stubs-0.1.0.0.7.8-py3-none-any.whl
- Upload date:
- Size: 10.2 kB
- Tags: Python 3
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4223b43bb9e1d08ed86b8e6f9242d37427c18eaba823b976c943f8f371b3994a
|
|
| MD5 |
0c8e45a358a7752d8ac20bc0422a0c13
|
|
| BLAKE2b-256 |
cd2b7ae4f32529841c1aefc819e3effcc9cc91ce1d63390ac92916e4d1028a46
|