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.18.1.tar.gz
(98.3 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.18.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b21b3325265f1eb0b5e5ea684d91c204f18583dce6616f5fee047072201f08d |
|
MD5 | 2bf76d09f98bc457f44b1e3655d057d8 |
|
BLAKE2b-256 | cadd04ab1bcfd2f1b1215fe84f1173ae7bd4f80eec3dd00d8099474cd0874fe2 |
Close
Hashes for ast_grep_py-0.18.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4dd6fe9882d3b26878994dd7f404f50c5324c062d246e57811c1732b7c537497 |
|
MD5 | 63c95836cf4123c0347c4cfe52466740 |
|
BLAKE2b-256 | 3fc41ba2d5514b2ad68e53e3933199591bbf92b92f70c791952a930d1ff35f68 |
Close
Hashes for ast_grep_py-0.18.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10e2a94b2e1e10718002b4ee754d8eabb9d4146d1c9f2b3156612b42b2da1d4b |
|
MD5 | 0fdc0c471c152aa6afceb3d6053dec72 |
|
BLAKE2b-256 | 1c1d31feabbb372268646a6b055a317a23946ac1989196bfe853cb387fbc87a4 |
Close
Hashes for ast_grep_py-0.18.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 092fee6f7593314b99f50f14bfb7c34a5eabd44f18929c8f4e7538f565b11f2f |
|
MD5 | 7276dfdc2db48e8c4888f5d2c4a1cc31 |
|
BLAKE2b-256 | 6116089ba8417d043ffdcaa85f7b6b99784743cc594c5a6c0caa7626a2b92334 |
Close
Hashes for ast_grep_py-0.18.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0ae221e51edbfc17cdc7f4b10b57f3439e808dbe1a4805b27d80536d777756b |
|
MD5 | 372616cf7347d2bec61f348bc5986b69 |
|
BLAKE2b-256 | fbeca274b9aed9de6b2f5c973271ce485e79ed18cbfd5e4eaae7228f0cd71043 |
Close
Hashes for ast_grep_py-0.18.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b0b7d6aa0ff35e74b5f205ce2b0214bee859d6734af908484aeba6a811b22a8 |
|
MD5 | e4205b25e5528e22d9a970dbf9548728 |
|
BLAKE2b-256 | 63e4d6e2a7ab261a50d3b47a16dda16e67ad03862899926eea32831586a82f08 |
Close
Hashes for ast_grep_py-0.18.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6952bea84210a3f01c33ea6c411a6d1a9039b3f8db5409752bb7fe14049cfabe |
|
MD5 | 5a034c11f68169ce04e510a581b1f737 |
|
BLAKE2b-256 | 7795370b1249f84ad52c95becd0f37035c9db959eba1164906c07eab0e4d3f3f |
Close
Hashes for ast_grep_py-0.18.1-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c502444419f591b307ab959a190c8e56e6056492a31e150ea6941b115d03d290 |
|
MD5 | 3818f3960bd6ccb9dfee1a9472785dda |
|
BLAKE2b-256 | 84aa3198743e0219794633f79d444b504d9a2fe262fdde93c03835a64b20e357 |
Close
Hashes for ast_grep_py-0.18.1-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3f3488d8cbb43c42d8eb6d3aeb4962b387f2b1d7de55b4906c278a599e3ffc1 |
|
MD5 | 79854fa71c5658de6b6b935c7cf051c1 |
|
BLAKE2b-256 | b751bd1bde47e1faf64cae9227c7facc87f42bd2bfa9f8de157828d712dd9c0b |
Close
Hashes for ast_grep_py-0.18.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2df84e7af8bcb5c83049e09845b1d234ff9d510c4466c9fe7103a42024eeff8e |
|
MD5 | 6fcf8370991719db28c2b544ebe4b454 |
|
BLAKE2b-256 | 5ecf7dd7363f83a97c597eac5357967472317dc7cf69c7490aad0e4af316f4a1 |
Close
Hashes for ast_grep_py-0.18.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58983469bbb6bd30937f7365a98d93200aff105e335fd3ec42cd5cb22361d3cb |
|
MD5 | 437315296d1a1201a9f0b471b22240cb |
|
BLAKE2b-256 | 8b6b3d2fd8fe731376ef77ee48b31a6cf4d7ed3970b3db9a370f4cb67be9761e |
Close
Hashes for ast_grep_py-0.18.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 305da30c1cd3e3c8f65ca035dfd55da77719f16bfbd9723498bc7045c0d9e2dc |
|
MD5 | a533c8dd00c55542f3cbf002d2969772 |
|
BLAKE2b-256 | 9f35ebcaf672d9d88a0e0c9f9f483daac696003dfc6528fb68644aed2f8363eb |
Close
Hashes for ast_grep_py-0.18.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5535ec92581754dd708358d310caf9b5202dc836bdac8cc006280e093a2c86a9 |
|
MD5 | 304518bc7c9f945ecc42992c67f9bf3f |
|
BLAKE2b-256 | 66420680a959a599b4b0d96232720338ba70c744b5fb2f504a3674d715724275 |
Close
Hashes for ast_grep_py-0.18.1-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e68fac38673170eae0a34e744f8ab059dcc70c156d1619ad8d0a3bbab41ff72f |
|
MD5 | 467931f53c8ebc796c792084713ae3c2 |
|
BLAKE2b-256 | 685266be4db509c98adef1f4f9921d1c15670d1aaeadf915c76fe7d4df2c60ef |
Close
Hashes for ast_grep_py-0.18.1-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbe93039e010e7dcf2900b0413d46710b1145576a0f7956f293ded192d94b663 |
|
MD5 | 4782643b19441d54bc92ea7928c750f9 |
|
BLAKE2b-256 | efbab360b8b8e11f02ef1047a84d5807b2a67b8e49ad1c57c5e213139e55e42c |
Close
Hashes for ast_grep_py-0.18.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e37d92450b08d67ea2d93262940201525dbb840a3a97f351374aa9839623b0b9 |
|
MD5 | 4932cee00a87e7d42ed0096ea03d4563 |
|
BLAKE2b-256 | 1dce534db30602a372ced28f4b5ab3a3aafac55b7d32b34b78cc249704d411b8 |
Close
Hashes for ast_grep_py-0.18.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 54112e83f6f27690762759720598e58123dc6c7591bf8d7605b37ab207d45cb9 |
|
MD5 | a4774527c5d68cd5131b94bb88ddab3f |
|
BLAKE2b-256 | 9f6695a57436264e07219aba87bd59dce9a961675aef8b052152e8c6f506a431 |
Close
Hashes for ast_grep_py-0.18.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e50c4ada99a6e9b20f0a0f4cffa85d7d92c1b7c0ec0eae10fd9759414d8ef097 |
|
MD5 | f7be1c1ed99973716c44f61ecc06bce4 |
|
BLAKE2b-256 | 990ead63771716e650e9e4f7f928342e28b63470f1a12b9e6b8495de3f20a0a2 |
Close
Hashes for ast_grep_py-0.18.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b2727038e4b9693c15d11188986667c12f191ef44300026905893fde356d7f07 |
|
MD5 | cf220d461bf04b8f8870848409b54d43 |
|
BLAKE2b-256 | 6d2d6554e54afd3e16bac0cf165e1303978a6f1e8af7ba2d08c66aa631a15b8d |
Close
Hashes for ast_grep_py-0.18.1-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2e12a01a4ec98008492869bbbadde83ded67798d8f28e39d249aea9ead77517 |
|
MD5 | dffccae7eb2f82363e4fba7fc8d88534 |
|
BLAKE2b-256 | 56864adba394a895834488798110c32f305afd18fb5cebf8640fb9a025a18c63 |
Close
Hashes for ast_grep_py-0.18.1-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07e7beb9350dcbd41f01249562fba050511594f22a686b814a53aaacb1218902 |
|
MD5 | 7f2e72c82994013a43447cc2f85e1888 |
|
BLAKE2b-256 | a10bc614fec200345b05dda2cac8c60f655091525dc290014caf183118b2598e |
Close
Hashes for ast_grep_py-0.18.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0fabc8cc06117f8b8b03a004a888569696e858be0e95ce10dec08107e62832e |
|
MD5 | 7d0754522c16fcfbda9dd652eba342e2 |
|
BLAKE2b-256 | fa48248351539ec889d8c85fc7d217a1c4992e6816e5de528b1b89e206102751 |
Close
Hashes for ast_grep_py-0.18.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2709b50ee4feca8a1e19b8309e4f1500fe90fb357e17dfc3a5ee63e23cb1184d |
|
MD5 | f3fa18eda950c506677641cec1ae93f4 |
|
BLAKE2b-256 | efb0cb53d202dabaabea5452a8a4bdb99566de797e41b9b19d30b16de375353c |
Close
Hashes for ast_grep_py-0.18.1-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d40d03e7353a4e045b4ed53dc982e0b1c481c05caa06cb6d10b4f460d3799f67 |
|
MD5 | ce8de696c180092eb70581d45d80bf64 |
|
BLAKE2b-256 | d822386b8ee6bf0a7cf4f1b80f93f78b87ae10ccc9bd28d24279de84dc87b6d8 |
Close
Hashes for ast_grep_py-0.18.1-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85047878b9a77820ebd0456ae479b6d8441a42ebab2d4af8f60eb0dc2788ad76 |
|
MD5 | b21d1a017f5bb707b93d9ba439399545 |
|
BLAKE2b-256 | 56127f1b2a7402a34aa2f494f00de62c7f1ea85bfe734ceb7f1aa2c7c7ddffcf |
Close
Hashes for ast_grep_py-0.18.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5068dafe564ebbf9a2237a50eff35ed02b73cc2d6ab11117348326e5c79a13f |
|
MD5 | 98be25780027ab30478cf0c1b65caf4b |
|
BLAKE2b-256 | b920e4fddf8db809c71f1e5ed9a3b256c5aba82b88ac60184b28a5cb73905b1b |
Close
Hashes for ast_grep_py-0.18.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dca52d1564af66f0e7e905c4b874a9870a8e5c18d0a03b03563db13a1c788c5e |
|
MD5 | 8d6f85737b877c1bf13a4401643ad59e |
|
BLAKE2b-256 | 1c018723a220fed8b41644e9b15fd010bbfd8515250b264131e7c0df93922581 |
Close
Hashes for ast_grep_py-0.18.1-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed1abf35fe90d8f1cfcfc4ffdd5bdb6edb7616ccabb1354f29edcfdbb2b6e609 |
|
MD5 | b16681cd09883a6e2611517d17ac613d |
|
BLAKE2b-256 | ef7af0ac93e2ba8925e46d613eac561753f13a1309057625572a7cf2ce3807cc |
Close
Hashes for ast_grep_py-0.18.1-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4ea8d590fd6619f23b2b7a87ffb212b692b6e88b8ca14cf45a3fc03d9591d8b |
|
MD5 | ac67ae1907fc695b3e93cd6112074eeb |
|
BLAKE2b-256 | c7021adaede246030c21289b9d79f495b8f274da10ca6e1f413da301ac32b3d5 |
Close
Hashes for ast_grep_py-0.18.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 184f0d79f16731393553cc49611f6e08a1f16187b3874507d4b43bdaf6762d1e |
|
MD5 | 45759f49667b1cad60162755a9565bf6 |
|
BLAKE2b-256 | 6cd757f0ccc0004aab7a1a6a89319f3309271fea303a95da83ad800e63cc85db |
Close
Hashes for ast_grep_py-0.18.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e14e7a2c5d2f8b72adc973add69f109be289bcdba7f7212347ca2f51b5b94e3b |
|
MD5 | bdf08b6fbf5d1771f2dda64fde7534de |
|
BLAKE2b-256 | 93137e0d6b39e5781c7e49ac6169147537d2d6826e06ce4d8df91823a5ff3d1f |
Close
Hashes for ast_grep_py-0.18.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc9043bce8fa6611904da47e18668c6e20d7dbdc6db4a9b3d153b3d7b181b8d7 |
|
MD5 | 350ac367aaf33bd2b6508aaec0a5b69c |
|
BLAKE2b-256 | 8f292d813199a064fa0bfc1e94567c7b7bb88968b4c81c527a78ed73eeff8abc |
Close
Hashes for ast_grep_py-0.18.1-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 549b999e42b8e835f9f3be68c1964548dbcc133a79e6582910565e60720dddc3 |
|
MD5 | 3ecabee22072d30a67868e14132c4254 |
|
BLAKE2b-256 | 36f5b525d9f71a51b2e8396375710ad6864eff61944b121faa292d381ec5bf80 |