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.17.0.tar.gz
(96.5 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.17.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 171a7fc7f69267ab69b5ec62771773edfcb537bb2a3f4783fcd7a77e5fc6599a |
|
MD5 | 2c1914538f822c5f40394a434cbe26ab |
|
BLAKE2b-256 | bd6c8d435ec53aade52dcf622329e9efbe9764b8a3067eaf2811e57c2ab11ca1 |
Close
Hashes for ast_grep_py-0.17.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c45264d5bdc0e71d53efe65dae5bc513f97366720a0ad053f676b1aeeed2350 |
|
MD5 | 71752f6962dcd8560f6033d13b5ec70c |
|
BLAKE2b-256 | 9f19471d211982c5505e36ad57523fe48cdee807e9c3a9220b14e7ab41a6580a |
Close
Hashes for ast_grep_py-0.17.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19027321587ae87e67ceef7a242b937bc1b40e470e3e452e69f956fc2cec50c5 |
|
MD5 | bca60d7e43ded9e37447fdeacad395a0 |
|
BLAKE2b-256 | 441598d00c6c2d729595a58ccd75c49470debeb63fa8d2ed02c9b073daf6d70a |
Close
Hashes for ast_grep_py-0.17.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f389bd290803e5a910ccc18a340aa45623a5def5ed9d8f5cb075392d8bbc0a37 |
|
MD5 | 087839fa97ce1f36a77fc21369552648 |
|
BLAKE2b-256 | 453225b1fb4cd0bc52b7ac8d8e7defa75658e7198d2aa60bd3686c4fee91eac1 |
Close
Hashes for ast_grep_py-0.17.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6774cf5865b11f6a430e3527acfa68e5cef362efc6f97e44b97db730a1af2b65 |
|
MD5 | 091d31476f980deeff4a65d3e918f7c1 |
|
BLAKE2b-256 | 1dc5901c26e5f67130d9029811188a75f6653d77094043d0cec25a5fa1c26164 |
Close
Hashes for ast_grep_py-0.17.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a3d53db2de9ebf54ad230a70595b53929dcdf6de54eddc15acdd5146d33e6c8 |
|
MD5 | b70dfa9b7689cf9fc0a2bd6b90ec665f |
|
BLAKE2b-256 | aba9f32fb0d09e9ad76a8a863830aa14981d9f734f7c0d5b78f14730c323dc2c |
Close
Hashes for ast_grep_py-0.17.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58328edca424759820c9d6e3d6d0f044515e2aa3d1da62b2d8b58cf2f98cfa59 |
|
MD5 | d846184f21b6a4668f477e3949524516 |
|
BLAKE2b-256 | f29bbbede0c8844bb01387dd76d8e953f60d6e861f716d29106015cec2ce9563 |
Close
Hashes for ast_grep_py-0.17.0-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b670810ed04ba036560e2a902355f7c42c72f5c9e0b0f0c2fdb6fccd309f2c4b |
|
MD5 | 10f0da55b313e89407095870b81f8c19 |
|
BLAKE2b-256 | e87dcfae938bcad499a24ae45a5a9c6d89873eb7c5f5a00c067a9cc8b071c40f |
Close
Hashes for ast_grep_py-0.17.0-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a8321549eeb728a657799367080c10223c41ab6e464a9d038e1d2c2ee68d7df |
|
MD5 | df0d5f94e59726eefe918ecb0b86b15c |
|
BLAKE2b-256 | 8fec3a612b927586982102f9709efefec6a4eb1e20ff6333c637578541552af0 |
Close
Hashes for ast_grep_py-0.17.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf3f0324fe63c63f14d796cf5c5df3291b338d860b4e53b9db630f45967d8817 |
|
MD5 | 25e394cf4a43e4961413685d62221cb5 |
|
BLAKE2b-256 | 768e1cf47730c6205ad515e734831f53b7f77969a7cc1c31b3ddc0568f28a379 |
Close
Hashes for ast_grep_py-0.17.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 768d73c1d282ba999546eb5972e26846cc3e79da2e4b278bbad6c6bd15b19d3c |
|
MD5 | 6da771d469a34db934778d6916234894 |
|
BLAKE2b-256 | b656eac27f338fb11b599492b60371282dc3323d21a6232f556b61633a5245cf |
Close
Hashes for ast_grep_py-0.17.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 889d5a2a8abf5f1f95cc91ff075ba59ce1ffcf8465b7d6b13d926650d9d91d58 |
|
MD5 | 6b2fdef89e86ac5e627da94be8804287 |
|
BLAKE2b-256 | b73813bf83220f682477c26f96ead5cb6faf9c05f22d1c722e03ab6b38fe6a6f |
Close
Hashes for ast_grep_py-0.17.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9cbe38428c6ae3bbec9dca94eb9a602167fab0f5dbb3429d73ece0b7911cb5d |
|
MD5 | f81feddff26097e89c698652d5147cc3 |
|
BLAKE2b-256 | 65769d940d4041181aed24f12454c14235a00e1f6a4ad0e2901c574f8834a00e |
Close
Hashes for ast_grep_py-0.17.0-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91eb09c5143d085a71bb528bf1005e6394e5bf167f5fd3b707ba16a4b2255988 |
|
MD5 | 0339c1b5778336d157f4dd234341f032 |
|
BLAKE2b-256 | 4031293307030817f62ef4868feb50b209a05a609bd6be68a017b66ece3c36b1 |
Close
Hashes for ast_grep_py-0.17.0-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f368c42631a6b0bb59e396cc630a75c66cdebafc8bc562d1b2b0d02f1380f9aa |
|
MD5 | 4f8f08ea9b06ff9dda076f0c9b9b1961 |
|
BLAKE2b-256 | 331e1ea60837c03849fd6f1798bd9bb66bd2d801995d2005f23eb99e97446fe5 |
Close
Hashes for ast_grep_py-0.17.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fb0a905b5d92f89bca2c6281247eba1eb3bd4a97d157298a3fa7130c60abc62 |
|
MD5 | cc619bc0c315eef87bfe0aa4fa61922e |
|
BLAKE2b-256 | 3ad1e161169879437d79726a1d9c7b09222b659704661ad5bdeade317576a4b1 |
Close
Hashes for ast_grep_py-0.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1448e6be799ea3070626525b780d493e2d8c512e55d27d0827cf02fd494ce3e |
|
MD5 | bfdb067d09e06a5623595d32b099bdd7 |
|
BLAKE2b-256 | 8fd4e05ad2327cac31d10732e55677bcc4db35d38168d1cbcae09d41706ed146 |
Close
Hashes for ast_grep_py-0.17.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4f8b0e108d32a5f450d06700da9746c0b7abeba27a03a043dd9ef03bb3ae5ac |
|
MD5 | bda21d6d671ac03906ce817bc7ff0735 |
|
BLAKE2b-256 | 6c772a561d641febdc0b4c2c39406822e74e5972b24dac45d961a07891e6412e |
Close
Hashes for ast_grep_py-0.17.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d17fed5618dd1ea68816f66a484101204b8125308c7f6fd6502db290bfa066c8 |
|
MD5 | ebbaa93a09e7072d5c5c2f07de16768e |
|
BLAKE2b-256 | 2ed27c3cd701167d008e056a40810dee62be3f57b23a1e54140af0b91d3ff8e7 |
Close
Hashes for ast_grep_py-0.17.0-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee520920f2b5fdabd362981e48fb8fb424a3e41e1772056182fb8c460627243e |
|
MD5 | e4056d33bf2641240edb9649f99b981d |
|
BLAKE2b-256 | 802a9e6038adcf7fd8e0c3e9dda4a3fab60ddcb7ae5323f49e80f7c7d5c88db1 |
Close
Hashes for ast_grep_py-0.17.0-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9fc25b28badd1b3ee3f4d465c03706fc31bb5a5dba59c5db73f7ba264b3898ba |
|
MD5 | 171eb8c5cab798f50042d86df74d4825 |
|
BLAKE2b-256 | eae80db96f26862e2970d3a77e1411c188a4350bcd4b480c172330fa7bc10d87 |
Close
Hashes for ast_grep_py-0.17.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a3037ce9fb59f4b37061ff98b796bb1bff6e4a2275748f3e61b2941aa870201 |
|
MD5 | 8be14e8b7290877fb0d9f4f2d3a4685c |
|
BLAKE2b-256 | 6a300a6170e56f7238c4507c7a5b4604abbf7c25268dfb5acb3d725938836d10 |
Close
Hashes for ast_grep_py-0.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 661aefeb4f208da3dfa18ee12ede374d59b15443b7f48d8023663a0a644c4549 |
|
MD5 | de013f03138931c3aef976349c259ee3 |
|
BLAKE2b-256 | 7663d4a06c103ec1c6c88a543c1d238be2807d4606021e89b3e3e37d5d655180 |
Close
Hashes for ast_grep_py-0.17.0-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bed4347f0807d01fb5a85f306e8f354ccd2f6aad40ade051899393d990dbc3ae |
|
MD5 | 2a0c976c40e15b5b116b9b1857aaea14 |
|
BLAKE2b-256 | a1271ea80116e46c808e9eb93409e6bd1f795c3f352d7d434c2d97ccb287e6ce |
Close
Hashes for ast_grep_py-0.17.0-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 960ce379afff41ceb623af5921c457234d18b03e3e02827d43f7ec23cacc6514 |
|
MD5 | 43d15ee59a12779979e9b090f87bb218 |
|
BLAKE2b-256 | 820b13224300a538753cd181a7addd332afeac563d376b69aa92aff46fe4caae |
Close
Hashes for ast_grep_py-0.17.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aeb256fdeda131fc8d04896e9e3feb1b5be19c2e12902c55cda91db44749f353 |
|
MD5 | f56f48fc0004bf5996dfb6d95f525118 |
|
BLAKE2b-256 | 931aee36873bc2a03fffb1a642960c5f835eacd599db2d5b0f895be0730eddf6 |
Close
Hashes for ast_grep_py-0.17.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f134901bfc6de7f2c7740dfa614793815f144dab3c90b01488273c795b6cd75b |
|
MD5 | 30f7cc903421613529b7c8527ba6608f |
|
BLAKE2b-256 | 10600e8906f1eb9dcf4f85d9a92fdf6bfcf774087a1f9ce03738e20f472dc068 |
Close
Hashes for ast_grep_py-0.17.0-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f143844e533c75ce9c4b085c47a32a006a30ab6cbf719ee9157764652b5fe20e |
|
MD5 | 47b3ade3993c85481f8bc387cfbf23e6 |
|
BLAKE2b-256 | 51a0ba0c06f51b5cf6f8538b8c962c8d59a5e951f20c6c757574831a8673108a |
Close
Hashes for ast_grep_py-0.17.0-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec3a911692e7c2a3058836818fc41d56312104199ec8631da778693a5cf22319 |
|
MD5 | 953cac3223ecc5fb4aeb8dd4f8006711 |
|
BLAKE2b-256 | 71c9a0a9a523bcd570095e13af456c7c746fb8928bbfabee96c20bd2bea99e1e |
Close
Hashes for ast_grep_py-0.17.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec9d00fc1c077ab330684bbfc321914c1f92338e928b9a01eb0a3ee8d9cc1849 |
|
MD5 | 360f69cc5d66aa8ec5c633aa86873c6a |
|
BLAKE2b-256 | ae64b354d2a8436a8c920d9aef466abb70c6518984bd05ae9c24c4bcb58e366b |
Close
Hashes for ast_grep_py-0.17.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ea2a4fd5572c1ae8c3a689667d635b3fb67cfaddd2ea118a3c0482a206f3ec1 |
|
MD5 | 8b74d82875034b2a4eb0a523bb5368f0 |
|
BLAKE2b-256 | e0e17d97d0d3d3aacfa81f1e7f4043727bcd4fce21dc5b5437b6f30afc29f1ec |
Close
Hashes for ast_grep_py-0.17.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 118aea2064e33238ff9b89e792efde68a085acfd140101fcbfe3d5f963bf7138 |
|
MD5 | c79be022b305e7cbb422d4ac92bad111 |
|
BLAKE2b-256 | db161d3d35571e1f38da63270602ee2539bc1fb8edb01ee9d0441f0eb563edfd |
Close
Hashes for ast_grep_py-0.17.0-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1c93b35b0c1b1115bc5eac63523abd3c89d47a58da28914b3895e048a9a494d |
|
MD5 | 871d0370db3296a642b57de55c78a44e |
|
BLAKE2b-256 | 430dedca5340c2dfd51a8cfa130f0df1e2fceaefd027e19644519542729f3264 |