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.27.0.tar.gz
(121.6 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.27.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 087d8088a8a05d744f635d5ffb3555f98afd05c90273e8a3ed3f1dce6e142a39 |
|
MD5 | d20b79ea8fe0d81d99e123a087dbf4d1 |
|
BLAKE2b-256 | eebde4dc02558039703d64cc6c511272b5ea109a6e2ac67b57bfcfeb878dd62b |
Close
Hashes for ast_grep_py-0.27.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bcb8f98870f8f21d581fec20bf1bf4d323fcfc81f47bab9222bee94b6c155543 |
|
MD5 | f9013128d8b1b52445bebbda9154944f |
|
BLAKE2b-256 | e2020977cfee0a8fc2ae911790875b04683bb3b7416b48a8eff24d5981bc182b |
Close
Hashes for ast_grep_py-0.27.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55fd8f9481d970d4a3db0fd60b36f4f34fadabf31ecee7c151e844339247f862 |
|
MD5 | 65546a5ec9c379e1b7568a795d5f3499 |
|
BLAKE2b-256 | df58c73ffea88cd63e9bfe58752bc62b468e705ab90d3b17a176de7689cd77fb |
Close
Hashes for ast_grep_py-0.27.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e2ee29a536d0412244bafc37e5b11f39bf30d650ce7106084be122579552b69 |
|
MD5 | fcf3005718ab85cbdd8f66689fb2e3aa |
|
BLAKE2b-256 | 84842c50b9e287c3f2107f8c96e183ca6b97400af63db36e877410a61e431edf |
Close
Hashes for ast_grep_py-0.27.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0276882240ad2260454c4601171ee8cbee3440d36ba4e80abd2388087c2a625e |
|
MD5 | 0d6de676e5954627d339b726bfcdd571 |
|
BLAKE2b-256 | e0362047d377331d816fe1c999574f877183be6413ecd32dbd967a620295f124 |
Close
Hashes for ast_grep_py-0.27.0-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20bddd22f6735cf644609955d0b26aa755320dfa3a5fb1481a35fb692c32973d |
|
MD5 | 1faad130cd255ed90993e2046fa37d5f |
|
BLAKE2b-256 | c89a52d3c357d70f4c94b2f8a8245378a2003c614336b35b3a5a2e2676475751 |
Close
Hashes for ast_grep_py-0.27.0-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38919ccd218e13bd50ca79b0324cab78d7fd256caecd24e87b324fb4f8b695a4 |
|
MD5 | b30cdc9d5527a849c962e0569b1d6a6b |
|
BLAKE2b-256 | 64e1b3575d8a61978af829eba9e5488389248bb2d9a924ec2c057e43f2f457c0 |
Close
Hashes for ast_grep_py-0.27.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbdd5acc0317e33a5c1d63b3f29860242d3ec3035193d33906e87b1321042fa0 |
|
MD5 | 5f98117757555697d8290bb0ea299391 |
|
BLAKE2b-256 | c1ff1dc80babe4643983c5799b0397b5425c4caca5c0391aaaa915ff3e6e6467 |
Close
Hashes for ast_grep_py-0.27.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21d93fb873c132f158de438966d56e6fe526c7e9d997d79bd3963f978b039367 |
|
MD5 | 43914941cee875a9ca37bc4533484e30 |
|
BLAKE2b-256 | dadc14eda2f33645635f242037956f5ae4734a28c61c2edcece314ef48dba247 |
Close
Hashes for ast_grep_py-0.27.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4372e9c62f7dfcb9eab7586636b36160c6891ddfbd84d69fa5d045ed3585870d |
|
MD5 | 74aefa9f0d3f0fdbe8c5b6f9b3ee2780 |
|
BLAKE2b-256 | 346443b9684eca592a09ff4028ba1d9db58bdddec9f4881afaca8ca6c3d56304 |
Close
Hashes for ast_grep_py-0.27.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5b89f2ae8a2d937e1bd35800732e84b8cda9b2a103d0d843f273799d717d838 |
|
MD5 | d4c9e27da9d50c7984a831bef3f2c4d7 |
|
BLAKE2b-256 | be7d787ddcfda6a8847bb94a1528abdc6af1e3ad31c03c1497478a47bc2a0d92 |
Close
Hashes for ast_grep_py-0.27.0-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae23c4c4a32937908262fcaaac2d439a115f1692e4363f1e1c391818af4bb97c |
|
MD5 | c094edd0b7d583309d0c924c1321b5d5 |
|
BLAKE2b-256 | 7b8f6d89af728a4a29e1e91df036b8e3c2819c2261932aef7eb22371259cb868 |
Close
Hashes for ast_grep_py-0.27.0-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3193fb1039348fad18383e069b2038a2bbe917711a36445d3c12a706e796351b |
|
MD5 | 040cec7ad68227dbdec600749b01e03a |
|
BLAKE2b-256 | e87c8341e3d9519b3f90e8cb65c90ef5ad9d265eac51e8f0c6e521c125622df9 |
Close
Hashes for ast_grep_py-0.27.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5cd317630163c8ee0f00d940ba72a26b579c0b65eb1e8f1ef3e3ce40734c5628 |
|
MD5 | 467155f0a2e8ea2dc53851d74488d4ca |
|
BLAKE2b-256 | ca5f377336e3e5eb7775e515b65084cf9fd4a1fd8c9086011a58142eeb353794 |
Close
Hashes for ast_grep_py-0.27.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d52ab6d3a1f6a6755bc76c2521bd3174246992c3ecd8d9f8c68d1e0d2596de9 |
|
MD5 | c2eb0e063dc5359498a0530c12c61719 |
|
BLAKE2b-256 | f749f2bc702105f022bded6c2428809064e72d030324bee9ffdd27c11dd5c568 |
Close
Hashes for ast_grep_py-0.27.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f053bab56b6b089c2c4a9701e2645712a2daa82103d65f8dcb54143dc15ec5e |
|
MD5 | 5d0a8fd4880ef1815533b5f8f9b7331b |
|
BLAKE2b-256 | fc59b503975561e4b89574d4af8652dd41c7b15d664ed7422a84d13f76d2593b |
Close
Hashes for ast_grep_py-0.27.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6b23906cba36b85b1a277d339c0dbec089aaf1d18b92c7c74d003dc6efeeb53 |
|
MD5 | 015e51c6f7f5d42b8a31685a2f27eb38 |
|
BLAKE2b-256 | c3a3f8ff49f986380dd688be384e0416d68802036713a55063e8f70a85065a54 |
Close
Hashes for ast_grep_py-0.27.0-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b80d123f23ea8f4a4ed8e9d2d7662114e7b70fbe139b1a0ff5ed1969065489c |
|
MD5 | 9daa4e15bab4c52f2aeb9491b65ced94 |
|
BLAKE2b-256 | faf1902a1166ae8c6786d04eba213dc0ebcb23996f28e99ff8c76009d64d00c3 |
Close
Hashes for ast_grep_py-0.27.0-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a98e5bce8b3861a9e4195ceb55a2a9b34e1a7c833d101a9c868b35eadb373e6 |
|
MD5 | baa39da96c230bcd454532911912c401 |
|
BLAKE2b-256 | bf827d90711b7165e0fe59fc489e5c2157b2108623d74890b6c162df7801f25c |
Close
Hashes for ast_grep_py-0.27.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25f7f2992f76f2a51139fa59e849336f7fbe810f1c8de1aacbcaf6a64ee83aec |
|
MD5 | 9967f86b0a4c3881a7e220a0db47a83f |
|
BLAKE2b-256 | 4a660f6f7ab78a638c95f55d46654dafb67b220534de870dcfb51c972c835558 |
Close
Hashes for ast_grep_py-0.27.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23ed1922661db34768a0aa532e403f8ce7d2eb3a315f15ada442053fecf6a657 |
|
MD5 | 29c9a892d5819a89b697783895134c7a |
|
BLAKE2b-256 | 96829c4f617df8d14363aba2451b9cb4d0b113b35c07fdca84b7844c4994a081 |
Close
Hashes for ast_grep_py-0.27.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4b2873e14d256b1cd612ad0117e61983dcd00ee86b0f9ee8b467fae8b1708c5 |
|
MD5 | 20346aa00713d25818a9570e06964b1b |
|
BLAKE2b-256 | 3b885ee7409519634abd065d46731a4573d35ad9adfa8e59d1fd2d048eceb041 |
Close
Hashes for ast_grep_py-0.27.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 418aba3302eac895db212484cdd24d25c2a091ee9df722747a878b83415fde14 |
|
MD5 | b251e7a3a79fe7eaabc0bbb57abf80a7 |
|
BLAKE2b-256 | e1efa6877f2f05de7bfbe9061b34bb48734627fe1727310e35c64978a9330d18 |
Close
Hashes for ast_grep_py-0.27.0-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b6b37aaf4b35ca143e2929b0fea22bab58270f269c1b3192a1ff59c0aa81b74 |
|
MD5 | 29b593cb2e4cfa2857d93c80a8fd1f25 |
|
BLAKE2b-256 | 50347b6bb95b1204a225ea7a28aa1f942cbdc83274ff63993c5cd7f22408a2d5 |
Close
Hashes for ast_grep_py-0.27.0-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56f028cb935f3c80c7c3d79e47ea6203a7833329d0e249c6009f720313b0e2fa |
|
MD5 | 10ec2ce3f2a4b00dd433b2e2161bab08 |
|
BLAKE2b-256 | 0b0243a79c889e6816370781bc9db49a3cd5ae6e0ec2cbedc590ab16a2f57b6e |
Close
Hashes for ast_grep_py-0.27.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 686141644d92b9603458a77cdfb2a3c0e6f5c799356f2ec20255a7f0d70a3982 |
|
MD5 | da94ef410489289d920987e28ec0da12 |
|
BLAKE2b-256 | bcf3540c5ae5dbf6ddd6cc8acc85ed6f8d29d64ddeb621a5124df76f258af81c |
Close
Hashes for ast_grep_py-0.27.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bff9901a2181bee371d8fc51f762bd28254a39441e6dd2a982cd6fb7fabee6b9 |
|
MD5 | 46c2f2231dc34c6f2b9a626be92de0ec |
|
BLAKE2b-256 | ac36abba77b34e870546c12bfb56e0ae75f1ec3b22723dca5fa9b37cedc98c3d |
Close
Hashes for ast_grep_py-0.27.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c104136211d73bbd2804647f83ccc1347208666e5d04d78d4c7c76b135f96f2 |
|
MD5 | dee16852c45e4a00d19d2c4bfe802552 |
|
BLAKE2b-256 | a139f2d5115a0734c926e225f240b6cf04833b8ad9c49936b9622a8239d24c18 |
Close
Hashes for ast_grep_py-0.27.0-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c402af15212abdd133514c4f2c64331f2194ccf67a315e289a846f8d519285d |
|
MD5 | 7d39f32714c2c098780d1dae77f2b36d |
|
BLAKE2b-256 | 3b4c18a05c27285db74a306f723e2b091736c4080a5a6f8205d88b0fbe8ad3f9 |
Close
Hashes for ast_grep_py-0.27.0-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5d9e48284a7fc195df352229939a331e24b61671d084902356fd188ebb037c2 |
|
MD5 | e420778b6c4476d5e499286fbad3b799 |
|
BLAKE2b-256 | c042d3217e39b7a95682601439b874461c67d57d240f5b05779f53bfb8ecbfed |
Close
Hashes for ast_grep_py-0.27.0-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64ff74fbb49f8b350f0b6ab69a540c98bc8fdba1fe2588b8a17414708502bcf7 |
|
MD5 | 60dfee151d4fc535162f8fcce7dcffb7 |
|
BLAKE2b-256 | acf52f60480d3e9eda64ed6e7e6447dfc9ad1fdd899541eadd8b394b1ef76f96 |
Close
Hashes for ast_grep_py-0.27.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26bcfc9cfcade66a1f0086318b8e3a787feff051930fc4b68321568ed6031ae2 |
|
MD5 | d11d6332a7cd5fa9a6dd56070048a1b3 |
|
BLAKE2b-256 | 5a10304e9051a41628975c8556de028b1f211d4c0492631f9f4f319a72d3aeb4 |
Close
Hashes for ast_grep_py-0.27.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48f8865fb681a7f804b822fffe53d5e73b2fc9fb30c2c3e24e6ff1aac427a43a |
|
MD5 | 637fa43b106dd2914ad3b14b0fc66980 |
|
BLAKE2b-256 | 5b6d68f1a9e1d7665b6a4fae022fefc7c60d84b2f9568e733f147bc7e304fd39 |
Close
Hashes for ast_grep_py-0.27.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 353ea8055ea3c8bc8095a7450980a34121df0d5df850019e7dc06ef9d6cd0554 |
|
MD5 | 20596a0d0e0853c438bd65e6bbc91c53 |
|
BLAKE2b-256 | b4a919b0dff094362811638b514a1a9605e8c276b441325d172eb3e97a2f1d62 |
Close
Hashes for ast_grep_py-0.27.0-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6162913b4fc8bdd0efbe8b5c71ef7a4f7d152ad204d3c75349aed79b35d695d8 |
|
MD5 | 7015caf13b9e46565264a2f1055f21bb |
|
BLAKE2b-256 | 3150a342414c2eb853647b3d3699c39a51c426fe01f052fbc79eeb32420587bc |