Skip to main content

Check Python ASTs against templates

Project description

astcheck compares Python Abstract Syntax Trees against a template. This is useful for testing software that automatically generates or modifies Python code.

Installation:

pip install astcheck

Example use:

import ast, astcheck

template = ast.Module(body=[
    ast.FunctionDef(name='double', args=ast.arguments(args=[astcheck.mkarg('a')])),
    ast.Assign(value=ast.Call(func=ast.Name(id='double')))
])

sample = """
def double(a):
    do_things()
    return a*2
b = double(a)
"""

astcheck.assert_ast_like(ast.parse(sample), template)

Only the parts specified in the template are checked. In this example, the code inside the function, and the assignment target (b) could be anything.

For more details, see the documentation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

astcheck-0.2.3.tar.gz (4.8 kB view details)

Uploaded Source

File details

Details for the file astcheck-0.2.3.tar.gz.

File metadata

  • Download URL: astcheck-0.2.3.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for astcheck-0.2.3.tar.gz
Algorithm Hash digest
SHA256 b56fc0a432ac7cbe900ed5408c94ae7ca0fe683a70fc39cdecc859de4f29ef2f
MD5 218df858c7afb8bd8e7deb91084a387d
BLAKE2b-256 41a528cdebed2d7373e9112252e75c30d2ad80c099894517b591fefe22dfdb2c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page