Structural Search and Rewrite code at large scale using precise AST pattern.
Project description
ast-grep python binding
ast-grep
ast-grep
is a tool for code structural search, lint, and rewriting.
This crate intends to build a native python binding of ast-grep and provide a python API for programmatic usage.
Installation
pip install ast-grep-py
Usage
You can take our tests as examples. For example, test_simple.py shows how to use ast-grep to search for a pattern in a file.
Please see the API usage guide and API reference for more details.
Other resources include ast-grep's official site and repository.
Development
Setup virtualenv
python -m venv venv
Activate venv
source venv/bin/activate
Install maturin
pip install maturin[patchelf]
Build bindings
maturin develop
Run tests
pytest
All tests files are under tests directory.
License
This project is licensed under the MIT license.
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
ast_grep_py-0.19.4.tar.gz
(98.5 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.19.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b4760f6ba31a2dbf9d513fe364e70d02dc03a62ecce0a1ef7499b6b69ae3c28 |
|
MD5 | 86fd860ea90d45ce749956110c2cb4a4 |
|
BLAKE2b-256 | ca7487ef4f68b10a7cecabb3fbd86caa537ef6377b2445c702a95241382a796d |
Close
Hashes for ast_grep_py-0.19.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9412afb13baf8f31c6b6de2892d2ba265090e31df09e2792d53ea7bf6823b721 |
|
MD5 | 368a58ffae469d00daece66ebbe6c9aa |
|
BLAKE2b-256 | a0cff3d0a0cb20e77b0baf8b527b671edc5831df9eb689ce0e3a5090e29f5263 |
Close
Hashes for ast_grep_py-0.19.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 384bcc5d2801b1f6542b8c867a765a22fd61ef2dfecfc26e075425b2bd202791 |
|
MD5 | bf1f04aa3cdb2bc2dcaef453a71d4502 |
|
BLAKE2b-256 | dcf383d942b0ef51d5d033081300cc615a8b10a5b4286f5b1f89f41b69ef77c4 |
Close
Hashes for ast_grep_py-0.19.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab0e90231ccc8ce7bf2a898be0d5499898441f2b3a2706e4ce1319a582fdcbf3 |
|
MD5 | 3a12c996b8154a23ecfd6a3f86b6d98c |
|
BLAKE2b-256 | 27e91c49d971956629619df97c3cc6321da171954b22a65a1e50a2948413f99a |
Close
Hashes for ast_grep_py-0.19.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 673ff6807853051899677e3139b9996b5e675f7edf40862cd2373662dc104114 |
|
MD5 | 75a54b9152cda91fb1b142f0a7a249f9 |
|
BLAKE2b-256 | f99fea89e4f34770046072ff8dc01feb17e0680fe067cea7bf22b899c008e0b3 |
Close
Hashes for ast_grep_py-0.19.4-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a84ba3d8f907380f301f2557c7cc8bd47bf23bbad114932659aad84607ca88de |
|
MD5 | affbbb44aa85dedf57cafb7b237cc578 |
|
BLAKE2b-256 | 521f94b5fee03167b335c3ca45b120e0c58572d41c5b7288e55c582b11ab0127 |
Close
Hashes for ast_grep_py-0.19.4-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 785fb87a8b1cea85e7b1830f511bf093dbaeec990035e8008447b1fdf49b33ba |
|
MD5 | 27aed7ccef7dd5d92f73cc14701e2173 |
|
BLAKE2b-256 | efed5c5b1f090152fd5d0697f46625d93099b9f2d39f036867315285ac25b7de |
Close
Hashes for ast_grep_py-0.19.4-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59b3706017d890a2a4efa054072703bed8f66b153795d355879e0253fd596dfd |
|
MD5 | e65d879a149f2773ee93adcdeee429d1 |
|
BLAKE2b-256 | 3bcefa4d7c20b41dc588d049880ed6334dcf724f7f1c40ae029b159e45bcee3d |
Close
Hashes for ast_grep_py-0.19.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13fe073e0b10871f1d02212865c5a8d02950562d7015c9706b6b5da82b54c493 |
|
MD5 | a37027f468bbc113cfe627649cfd87b6 |
|
BLAKE2b-256 | 12b9c648cfe5f5f9436af4df2e25dcbc1ca1b28aa679d469b94f28387e3b0d0b |
Close
Hashes for ast_grep_py-0.19.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb3bea1d7930140f47d68dbd42d79b5463f53a2b2b81350d416238775cfdbecd |
|
MD5 | 7e9ed79686d95bd16b08984ad8ac28a5 |
|
BLAKE2b-256 | eec077c42daa4e1f60182eeb7d60268b65cf48ebb518e113e45f0490caa04208 |
Close
Hashes for ast_grep_py-0.19.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4c4049bd442c1b9d31d595776dc134a94a1d6b777e03a963dd70d6eb7798838 |
|
MD5 | 5801fce1f57e655675eaa98aa4903838 |
|
BLAKE2b-256 | 868d974c1b3613c6948be978647a1c76057696d00e094c4d5c8dced72466da29 |
Close
Hashes for ast_grep_py-0.19.4-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c41082c1177abf4ae2ab1dc9d8d7946648501b92f19f51f58f6d74f87bee8099 |
|
MD5 | a0f0d54d341045983e8d7f994069fbf5 |
|
BLAKE2b-256 | f808accef40dd1313a95af3402bf183713fd01d3927c1c0f658423011ba20ac7 |
Close
Hashes for ast_grep_py-0.19.4-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85943e58d03a21b6bb4e30c90e52b2a1c1f3e2e341098fe1436245b1df60c128 |
|
MD5 | 147ef745217a6241cd8c3ad09c11e979 |
|
BLAKE2b-256 | 49c442acf9b16ddfd50bf1e3d5a758a0db15d6e8d82db99918fa48ae3bcb0779 |
Close
Hashes for ast_grep_py-0.19.4-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f71d51e20d56d5451bb13c5eda62eef20448886878fb7c822fa6895b6ffa8848 |
|
MD5 | 0e4ff0ecab4e752185277241e5d08263 |
|
BLAKE2b-256 | 62016e2a9360551dfc3695d6a88db9d1ac2d4db8b2223c3c0db086f53775d1e1 |
Close
Hashes for ast_grep_py-0.19.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df3c525751036132775ca8d437f50d98c68d6618426eb434e0c1cc5459c7418c |
|
MD5 | d0bb4b6d4cdde752496c7b56a66a8ebd |
|
BLAKE2b-256 | dc228729a1d8da2f747baa0838b83f792c0aff752394a660fc57f936bcb67fde |
Close
Hashes for ast_grep_py-0.19.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 182312c7444bef5c635e7e65ca05ee5f6ca9d0c43107f0fb145791045c0c9abe |
|
MD5 | 0be3e2f5e5bb089752934fca28a6e881 |
|
BLAKE2b-256 | 30cd5901e058352f763dc80fbdf25792a8b6de3e3a73a0155f634c5d9f1ff717 |
Close
Hashes for ast_grep_py-0.19.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1156ca757485d44254bf9c3cc8addbf963b43e58ee83e695071c663b25b8017a |
|
MD5 | a708381a82cef10457efef36d78529ed |
|
BLAKE2b-256 | 90f0cfd196fda214fa3d3f74234039170bf03771535fcaa2b4970735067d10b1 |
Close
Hashes for ast_grep_py-0.19.4-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92add215d0a55a7be5d395758f18769427871001eb68861f4d0a2226f00b4374 |
|
MD5 | 23c1775e2ea1b598a1b78c599cdc6646 |
|
BLAKE2b-256 | c9ef9b6466b8e7ec9afbf7ac46b00993ae6bda7afc3b56b93006ca7e128f47be |
Close
Hashes for ast_grep_py-0.19.4-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d897d04e2ecda4ed900db2ba44eba95be5b82f07ae533d674aff5830a9c94e9f |
|
MD5 | 27945e8ec936f73a06a77344a374f830 |
|
BLAKE2b-256 | 6d236823c334f22b1fa2a4d451ea92583663ffea7db90c72d430f8807b4dacfd |
Close
Hashes for ast_grep_py-0.19.4-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ceed7e5f11e9d2d2b00cea82cf60e0c6e088bac29edd10f732f3c9d9f396aec8 |
|
MD5 | 2708d7fd058649d99831d738e9627e7b |
|
BLAKE2b-256 | 61ccd3f643d7640530cc48bd171dc92ed12bd892a44fdcddc38e1eb2c9e869a9 |
Close
Hashes for ast_grep_py-0.19.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1dcba31a0ff2ed5760346073ef622e3f164df84a29da22e62cda16b0c257de5e |
|
MD5 | eb04fa528567302f62f77a04b780794e |
|
BLAKE2b-256 | c8136704d0b5ef30731945378c75b5027dcf23443d01e12cc157c21c147fa149 |
Close
Hashes for ast_grep_py-0.19.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4bc2b5c8725fcd398403dcdce1bc07ccf5f66acce6f99105834d56c5e3fad454 |
|
MD5 | b2f7c1022bae26b0cb33a7658c639f2b |
|
BLAKE2b-256 | c85ec8e1270a943de06dfc4e5514af17f4ae342bad304d592a7428e9ac4ff383 |
Close
Hashes for ast_grep_py-0.19.4-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82f17bd047f807feb6fc7ef295094cc4866bd241faf929c8298282c5494cbb45 |
|
MD5 | 9684e5685672df2bef686196a0476a7a |
|
BLAKE2b-256 | f09401baf89f09138d633e6424af513595c6fc3ab5c3123c9dd92df2d55542d6 |
Close
Hashes for ast_grep_py-0.19.4-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e1bd0d2af6f2bff325321e9a6ced493747d0dd9b654226c73451c42c5157e03 |
|
MD5 | 554f59f235459f9eafbe938095e6d71b |
|
BLAKE2b-256 | 0b14607bd32e1daffd857fa3c332e39128e903711b6c2c16553b786f2c07b4be |
Close
Hashes for ast_grep_py-0.19.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f28a9f44e64d744147efff5bbdf9221f86ffd8de336641c1c96b89f7865a64f |
|
MD5 | 0799a2c5fb01c8e0699dfe433bab6c99 |
|
BLAKE2b-256 | 3932845fc09145eb981cb165b07bded33df080798eb72217a59cc2ba7047c459 |
Close
Hashes for ast_grep_py-0.19.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc084a14102e2af14c941852e4ccd93041422df8cb93a1a32a97ee97be38ba5d |
|
MD5 | 9c88c97a8f99ff7e8f000929c6d5ae34 |
|
BLAKE2b-256 | 768e5c681ad1a0bad65c3ccf654cd9a245e7245eedeeaed9b69a8fea00210f37 |
Close
Hashes for ast_grep_py-0.19.4-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf34b79d6f5a963b99c4ca004396f5156499272db4c8a90fda3fd1fffa9f636f |
|
MD5 | f899e4e9f3169776f23206ed654e7c22 |
|
BLAKE2b-256 | 0b41690915d0ef977902e6979743a94761663a8c16eb9d1e159a1025e796ca57 |
Close
Hashes for ast_grep_py-0.19.4-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 199d2195c5fe9f0921ad18401dd4570b8850fdfe07231d2210a323c22d5e4447 |
|
MD5 | 77e897886b13c304b3e5beb5273dfd40 |
|
BLAKE2b-256 | ac1ee564452e6d22273bd72667d69ad87f18c800fd39855332edc40bc78a79b9 |
Close
Hashes for ast_grep_py-0.19.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d83f13ce914cb8570f4e363b14fb967f44b5a0afd9294fda3b315a06665c2d7f |
|
MD5 | bed583e8b00af1bc54ec7d4bb8b2fc8d |
|
BLAKE2b-256 | 5df58264e0179b3fe4c52d1ed6fb4ba5cafaa12265a4ab8bf4c7edf0d6c93c5a |
Close
Hashes for ast_grep_py-0.19.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc25c14fc7d5d737d119f807acebf10d0eb229bcab5016e46c199a9783d9eaff |
|
MD5 | e8ff94e192ab7526169177c013552f51 |
|
BLAKE2b-256 | 7825a8ce14df62f4c537ba8da1edc48d59ca689b14e94292bfec83cce87285ba |
Close
Hashes for ast_grep_py-0.19.4-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8173b5d618457a427a9cdd88e7db29bd68ad5e3db7ff4b19660718839fda5edf |
|
MD5 | 15f642acd5fd957da4b1c35cd9c7fb76 |
|
BLAKE2b-256 | 1287b6aae274225756ed48a118aea0801143829856eb44dbd6b61479396c62ce |
Close
Hashes for ast_grep_py-0.19.4-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 330df0651835e451999db211f6965f294beac3e3290d07c64584042cce008fdf |
|
MD5 | 16e587ed5f0bfad119909925e62c7ea0 |
|
BLAKE2b-256 | 09b5d3c0d502c314ff0fe372843e48f5b25e5f798759360390e31307f0401d10 |