Skip to main content

astvalidate

A series of AST validators for validating the integrity of the given abstract syntax tree.

API

validate(tree: ast.Module, level: Optional[Literal[1, 2, 3]] = None) -> bool

tree is the AST object that you want to verify. level is an argument to pass the level of strictness, and turn on/off some of the validators. For a detailed list of validators, see the table below:

Validator Level Description
Syntatical 1 Emulates syntax warnings that are normally generated by compiler.
Simple 1 Does simple verifications, similar to PyAST_Validate interface
Symbolic 2 Emulates syntax error that are normally generated by symbol table
Contextual 3 Ensures everything is in the right context.

If there are any errors, validate() will raise a SyntaxError or issue SyntaxWarnings on the location of the target node.

import ast
import astvalidate

tree = ast.parse("""
def func():
    raise ValueError from something
""")
tree.body[0].body[0].exc = None
assert astvalidate.validate(tree)
File "<string>", line 3
SyntaxError: Raise's cause can't be used without setting an exception

Release files for astvalidate 2021.12.31

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for astvalidate 2021.12.31
File Size Uploaded
astvalidate-2021.12.31.tar.gz 8.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for astvalidate 2021.12.31
File Interpreter ABI Platform
astvalidate-2021.12.31-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 19.2 kB

Release files / astvalidate-2021.12.31.tar.gz

Download URL astvalidate-2021.12.31.tar.gz
Size 8.5 kB
Tags Source
SHA-256 checksum
How to use checksums
20a1d5714310b08260f7ce2451ab260b420d318de1f9dc2e15cbcd7862643d54
BLAKE2b-256 checksum
How to use checksums
c5179fd02437622bfcf546e528ac729f735df46463c9c008636131c8f573b0e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

Release files / astvalidate-2021.12.31-py2.py3-none-any.whl

Download URL astvalidate-2021.12.31-py2.py3-none-any.whl
Size 10.7 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
158cdb44b8af69fdd0b61dd1b84755196c79d9863f43daed69c81fcd9326d0f0
BLAKE2b-256 checksum
How to use checksums
fecbb4396dfaac87feb567f1d5cdeeb8ea5f1062c9d0d381f68c09d432534726
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

Release history Release notifications | RSS feed

This release

2021.12.31 This release

2 release files

0.2.0

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page