4 releases (2 breaking)
0.4.0 | Aug 6, 2024 |
---|---|
0.3.1 | Apr 6, 2024 |
0.3.0 | Aug 29, 2023 |
0.2.0 | Jan 11, 2023 |
#16 in Programming languages
88,091 downloads per month
Used in 42 crates
(10 directly)
425KB
12K
SLoC
RustPython parser as a library
This project is forked from RustPython project. The parser is one of the core part of RustPython and Ruff project.
We try to keep these crates as a well-packaged library for more potential users.
Projects
- RustPython is a Python interpreter
- Ruff is an extremely fast Python linter
- Pylyzer is a static code analyzer / language server for Python
- Baembal is a Python package to accelerate
ast.parse
lib.rs
:
Python AST node definitions and utilities.
AST nodes are very similary defined like Python AST. But a few exceptions exist due to parser optimization. They can be transformed to matching Python-styled AST in reasonable cost.
[PythonArguments] is replaced by [Arguments]. The new [Arguments] type representation uses a new type [ArgWithDefault] to represent arguments with default values. See each type documentation for more details.
A few top-level sum types are renamed to human friendly names.
[CmpOp] refers cmpop
[UnaryOp] refers unaryop
[BoolOp] refers boolop
[WithItem] refers withitem
[ExceptHandler] refers excepthandler
Dependencies
~8.5MB
~158K SLoC