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.2.tar.gz
(97.7 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.19.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 133a10affa0e19693f1a03ae2305b871bd0c1d722b00737480ca6c7c0cdb0578 |
|
MD5 | b5729eeb72b6249b2baf2c90aeaedf27 |
|
BLAKE2b-256 | cd20c00a6c5f207a29aa15f687d4446560a81623b4dcfc99f49a53e2bf902c3a |
Close
Hashes for ast_grep_py-0.19.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0bdfbe685afc9f5b73396749ad00dd45a00be0485fcb418408a48b686e70ff0 |
|
MD5 | c4e98150dd1104c52bf4a77294a48515 |
|
BLAKE2b-256 | e63afdb4b4d4cc03e1fcd15b6499831045cc6d86188438a224374e3a2bd79a02 |
Close
Hashes for ast_grep_py-0.19.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ba00d2ef0fae1a5b625b55691317eea717250e8b2b2474a98a173ec25bec6eb |
|
MD5 | cef97fcb0ae47710d5d27dd73b42a903 |
|
BLAKE2b-256 | b6b5ebce52c6df7032d74480236a0d607f345ad247e3ffaa683c258f575dbbfe |
Close
Hashes for ast_grep_py-0.19.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad7cb90873d355852e517294318e2a8f2e24283b9be9df2843adfbe78478a81f |
|
MD5 | 7ba66d021319261c0d694c80fc34f6e2 |
|
BLAKE2b-256 | 11090f30999a953b32b15a4dae419d22d6961872966f3f645683bfa2455fc8dd |
Close
Hashes for ast_grep_py-0.19.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a28e660b212762b12c878d0a182bfe30d52738979cd6c1390a9c68ded7dc96b |
|
MD5 | c2accac225c63edb7b140196902cc605 |
|
BLAKE2b-256 | aae87d4c0802b3e7b064b5e76ef695926280a1ecfbcc5789b7f7f3a78bb14a42 |
Close
Hashes for ast_grep_py-0.19.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c7e55917f8bb02a18668da524fb16344e2907f252e73d820f7f6beec0653a3f |
|
MD5 | e6a07db4c6dc2d988958c678cc715a7e |
|
BLAKE2b-256 | fe751ee1dc4e470de8dc569ac8e44a9f0b7dba72f3a7b4885d0ea8790e3db884 |
Close
Hashes for ast_grep_py-0.19.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0a25ad7d599c7eebb9c155c7a8f2b99be70913f36b33a14ff4bca7922b3ead8 |
|
MD5 | 630bfc4ebe0ff77c3b1e3d0d081a6958 |
|
BLAKE2b-256 | ead2fb224afac486343f14d7effc93fc95a8ddd401e9ef047462d7347dd336f6 |
Close
Hashes for ast_grep_py-0.19.2-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bda6769806329b240a0df5d9637bad7f176149312d48a71b1a9cb31bf84f0f07 |
|
MD5 | 15f32b2dd328ff3b591123d7d8519124 |
|
BLAKE2b-256 | 64a82e5d78f9c7a9e5f4b6a0a9c52a7bc0a72e7fcd8deab44a6b9f78f7b80e97 |
Close
Hashes for ast_grep_py-0.19.2-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8404aa033268c27fe3abfda0fb271f13a7953f7eac88dc8d9842ba10737f61c |
|
MD5 | d8b5d851e33ab0bcb7027c8c9c3e77df |
|
BLAKE2b-256 | f4134aeac5633316924dcb57b1814bd38babb9ff0004b80f819201d60f8e517f |
Close
Hashes for ast_grep_py-0.19.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9347aed400717f7d0b16eb3cfec68e24f843b176fdc8d6e42e0bad0745d7bbed |
|
MD5 | 6249b361fa7362c46dd85d947a9abe98 |
|
BLAKE2b-256 | 41aaadf63eba1d4c4a511bdc5fecdbd20385828fe92cc5033912a2a0c7790bc4 |
Close
Hashes for ast_grep_py-0.19.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6485dc835c5dce090fba5117354ff97b53f3a63077129b75fab1fa85e23a0f4d |
|
MD5 | 0b54031bc84046fe46a771cfffd8b1fb |
|
BLAKE2b-256 | fbc172e1d7287353c7acd625d8052a4a2f5d4ca7be71838fba0fd14cae95277c |
Close
Hashes for ast_grep_py-0.19.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9154ca81e7c015eabb4faafc011186117b014b35603dfd5de6735e69bf7a49d |
|
MD5 | ce110d68fdfb7c84d53ad48b36890922 |
|
BLAKE2b-256 | 1563abe0a9d54d1b8e9c3b246609a140d902c4601240aa19154d88f61be0117b |
Close
Hashes for ast_grep_py-0.19.2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6eb4de764a3b387b4f72e2094d3daa274ef32bb26090110278dbcead761489e8 |
|
MD5 | 5ee43ef7ab691bc82b307269dbb94b3d |
|
BLAKE2b-256 | 6ca6b5d70816e73dfa5a4ee1d2a2083c8bf1a67d24411edf8dd18d9bbc59cbe9 |
Close
Hashes for ast_grep_py-0.19.2-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd1c52b792a71ff37fe51d8345ba0d1576515ed93060958068987da5936b8351 |
|
MD5 | d218d072a8011181e9f90d986c5a6ca6 |
|
BLAKE2b-256 | 776cebc11df27987f84e4ce18a826b0d1d1546d365ae5ebafdeb5372237f8ab2 |
Close
Hashes for ast_grep_py-0.19.2-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a10f651d2a80fce9b14c79a5218281ea73ba8bb3f4fcd7a275ecfe7836af82a5 |
|
MD5 | edaff8231010ce8ac031dd2f5a15e6c8 |
|
BLAKE2b-256 | a11be03c4daad36b91f52491a9771514954c0da71edc98a82a9f43a8862796b3 |
Close
Hashes for ast_grep_py-0.19.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5974409ceda81e78f681e4fe2f48fa15e7c5e16383401bfbdd239b0a23b789b |
|
MD5 | b731a508a3021b19df0c4cc35f1987bf |
|
BLAKE2b-256 | 4854c38b37678f48154ce853130084e67ad67168b81257c09f7bc67e42b72dd1 |
Close
Hashes for ast_grep_py-0.19.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4520b65ea5fca37148ba980be35278f29da3a1c6253380fe442a361c8e9f616e |
|
MD5 | 010afadfe581f88866a40a77d5c2bc76 |
|
BLAKE2b-256 | e86d4f540b91dcceef627ce00ba14bb72145f4b5b7ab7aa862652532ade3dd88 |
Close
Hashes for ast_grep_py-0.19.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d62e51c4a3a8eaa1dd0dfc43c21d86476f6f030a4a495ccbadf70b72a06fb30d |
|
MD5 | d0bcf7f6f263d3bc62ccf17f2ab8975f |
|
BLAKE2b-256 | 6158a871d319f809228445cf6de4c558267e2d98bf4764aae7ac6a3793f23215 |
Close
Hashes for ast_grep_py-0.19.2-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ed5c670f58c539f30308e06edd73e6f5e1fb88b8aacc4e8826fdaf65ca47714 |
|
MD5 | 4f70e02894ee8beb0afa4f3c3d9bc5ab |
|
BLAKE2b-256 | f30bd5a69f58fb4e8d9bc22304d5acbdc2cdfd2307a37b95adee2267bf2c5156 |
Close
Hashes for ast_grep_py-0.19.2-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7298bd3716cfc1cbd29028fdd275cfbd303004f87cddadda504e829a82bea90 |
|
MD5 | ae514814daad4e796bdff2ca7cef0e38 |
|
BLAKE2b-256 | 52eff23d133d6f96db8526c89fdc538e736a65b3a4d560d68e43e55536631c4e |
Close
Hashes for ast_grep_py-0.19.2-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f35af8b877b677c962bf4fb2491fd6ee88a2b036ceacb8c96a1802b7fd28a194 |
|
MD5 | af853116d4ddbc2959951b41583ebafb |
|
BLAKE2b-256 | 6d8d13fef8fd26b4901a23e4470e43470e087a0b455d87664c51682eea32663f |
Close
Hashes for ast_grep_py-0.19.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd7217951826886534d24115141603c466a3451792017a44ec533e3db9758227 |
|
MD5 | ab444dbd39803a6f3f281b1a53b776d6 |
|
BLAKE2b-256 | ad9d20d8fde866c7735a99297c4aabebe09a57fa6ca83cf9112ec833d0688e15 |
Close
Hashes for ast_grep_py-0.19.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 045912d189c1ac4316d2563f3edc8d1fa648b7a59c4ae76dc53804816a6be4d8 |
|
MD5 | a4c0ecfb47f037d3d6815b3df3625012 |
|
BLAKE2b-256 | c5811ee82aeec6e8f661328dae1f81c38a5651f277c2edc2c76bd2262cc80864 |
Close
Hashes for ast_grep_py-0.19.2-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a7810b6d424c58f522d45c590e866aaf1471f7c9fb944d046e264bb387503eb |
|
MD5 | 8c49f960ef400a065a5e315d75a9dc77 |
|
BLAKE2b-256 | 2750f6f7f9b4c1d10d1c97c395a7feb9ef779abaf0756a57c5c53eb5d1efce0c |
Close
Hashes for ast_grep_py-0.19.2-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 571fd8e6ec86d110c7ab4851fa53e93c84e8d685f0af447f3913a5cc8bd4d938 |
|
MD5 | a7fa22d0cc937bea993cccf75f6f664f |
|
BLAKE2b-256 | 494c38d810ccf6dc40831dac01eac8285cb7e2e5c760754997ec831c98e605a3 |
Close
Hashes for ast_grep_py-0.19.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4bccce8073e929db207f4bd72bb0b5f74c21854529cda715f89262ecb587f1e0 |
|
MD5 | 3d8e64da2cf91bff2de5bad7f2ef2447 |
|
BLAKE2b-256 | aa6863bda2d3506e69710025daaba372f448157e28ae22b0aec1c14dc15dd925 |
Close
Hashes for ast_grep_py-0.19.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47504c1d784ec35014ba3f8ad28a73ad7148156717a376d09a1859bbb1bf0bd4 |
|
MD5 | 78f47483f4fb30fcf5469d1e979c3bd2 |
|
BLAKE2b-256 | 41b87b024faf7ff22126bd926df18c85a9bcbd4354a7c89bc7bc8e84124ed627 |
Close
Hashes for ast_grep_py-0.19.2-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5781dccf34d882940ec10d9a9423cc7742653f6c074c5b6fc8ad0ab123520fb |
|
MD5 | 90d8db54865572d4624bf736812f9f52 |
|
BLAKE2b-256 | f3dbb87d8cd9c1429475ac324e08e65ef261de2043f55dc3d9365ce53389267e |
Close
Hashes for ast_grep_py-0.19.2-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf1e94d63509614c8b1642fafa622e49ec8eb7b2911901edb117101e0cb1563b |
|
MD5 | ce7ee3d8d410ee36b2a5a5a2dd5f89e4 |
|
BLAKE2b-256 | cb066cb51a500b6859a58d4f3188f75096494e8e872285d42ec07080561ae058 |
Close
Hashes for ast_grep_py-0.19.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e5056f77d7efe8d36a2f10dcbf9b7eb86b51104d422a117dbec134871f10b54 |
|
MD5 | 443606fc48e37537ff7a59aa82f694af |
|
BLAKE2b-256 | 0db38ca2d19e4212a5968680f2943c36a4a11e972d758b0ace70848584fd7012 |
Close
Hashes for ast_grep_py-0.19.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6132ae9f170bcd296689760a013b5a0d3cd994467af32ea14c5cd9fda68dbcc8 |
|
MD5 | 1513366f44ba15ca5427c0b147fce6c2 |
|
BLAKE2b-256 | ecf2327e562a8290c77c72e3b0d244a8780358cad7bf5c41e2b887429a56fda7 |
Close
Hashes for ast_grep_py-0.19.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 600cda69794dc87f50fb7b87baf9303e87b1c8ddc020f25c48839d3ebb097c0d |
|
MD5 | 8c0029b1aefeaca0dadc605b8bf0016e |
|
BLAKE2b-256 | 8c6d483432919f8e8c78ba089b80a781fe33425465395d79fa545866b35edd31 |
Close
Hashes for ast_grep_py-0.19.2-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1abb80fef9b014ae913a1f8a2adccbea494013c415312a6aa7fdfd695ae86d1e |
|
MD5 | 6324823c92532e96078d7bdb8aa4e704 |
|
BLAKE2b-256 | 490079f07dd2ee65c8b6eafd53dea0a76a8292aab6fc3455d3ad526038ae29d9 |