Skip to main content

AST Selector

Query AST elements by using CSS Selector-like syntax

Actions Status PyPI Semantic Release GitHub Downloads Code style: black try/except style: tryceratops Follow guilatrova

"Query AST elements 🌲 by using CSS Selector-like 💅 syntax."

Installation and usage

Installation

pip install ast_selector

Usage

from ast_selector import AstSelector

tree = load_python_code_as_ast_tree()
query = "FunctionDef Raise $FunctionDef"
# Query all functions that raises at least an exception

functions_raising_exceptions = AstSelector(query, tree).all()

Use Cases

Functions that return int

from ast_selector import AstSelector

tree = load_python_code_as_ast_tree()
query = "FunctionDef.returns[id=int] $FunctionDef"
# Query all functions that return ints e.g. def sum() -> int

function_element = AstSelector(query, tree).first()

License

MIT

Credits

It's extremely hard to keep hacking on open source like that while keeping a full-time job. I thank God from the bottom of my heart for both the inspiration and the energy.

Download files

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

Source Distribution

ast_selector-0.1.2.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ast_selector-0.1.2-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file ast_selector-0.1.2.tar.gz.

File metadata

  • Download URL: ast_selector-0.1.2.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.10.4 Linux/5.15.0-33-generic

File hashes

Hashes for ast_selector-0.1.2.tar.gz
Algorithm Hash digest
SHA256 803a478f4b8b1f75487a2e347e9c10de5ffcf0dc9d071842bfa0501ab2a75687
MD5 155d1564e0293cbebe0cf30515c9cfe3
BLAKE2b-256 f4a9421fce4b35ceebd3064361b87306daf39704770910b9d4f0134b0052a15c

See more details on using hashes here.

File details

Details for the file ast_selector-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: ast_selector-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.10.4 Linux/5.15.0-33-generic

File hashes

Hashes for ast_selector-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 696232cd97ef3159aaf13964081561e8bff7ba5f3e3438c103215294f8ad2b2c
MD5 8a48a87389ba92dd237b1dcaef68b53f
BLAKE2b-256 0d7d53f941a29042f93965dbce2995205c675e644f6e586c772ae8ac78e69502

See more details on using hashes here.

Release history Release notifications | RSS feed

0.2.0

2 files

0.1.4

2 files

0.1.3

2 files

This release

0.1.2 This release

2 files

0.1.1

2 files

0.1.0

2 files

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