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.21.2.tar.gz
(103.6 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.21.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2b767e6bba42e55e1f7c4af422dd422ebd3e234e9962084b5fcd995e8c376ee |
|
MD5 | 47525d601af8621b1c9a7a6ab0cda7c2 |
|
BLAKE2b-256 | 4232f33c9fe32f5d10235d1fc6d818362d1a243ae9f0d70eaf623ffad73b11de |
Close
Hashes for ast_grep_py-0.21.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 356f73a119395badeec683516390a5e17f2a324058d8dd73e1b7449474651db0 |
|
MD5 | 2ebe723fa0123e3807fd15daeb21bc6f |
|
BLAKE2b-256 | 77be48f043d1035539760ad7199541bd0223d1e3df702a2b9d9b4be801e0611a |
Close
Hashes for ast_grep_py-0.21.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e13c49a0d6b3f79e4d16615d19163b0daae78ae136bce726fee9cf039d567782 |
|
MD5 | b857640c2758907b17888df890e92378 |
|
BLAKE2b-256 | b573faf131a329af7f47be531db6e965049bbc61dba88ed46b59251d193636bb |
Close
Hashes for ast_grep_py-0.21.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3d5868d49053c12c6cd834a18e96c8223157237643faf9a2dc01783b51aa7b3 |
|
MD5 | ad9a7571f8d3eb87822ad6e07b6934c3 |
|
BLAKE2b-256 | 18c2b0744012182f5bf829b286fb64ad55ff3e7a052a6ff187591018a6f76762 |
Close
Hashes for ast_grep_py-0.21.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8606dbaaad1609e67fd780870c00e9b946f8f2d1403e9894fe2f9d695acf297 |
|
MD5 | 2ee3b72aa01e5e170eccf33d93f534e8 |
|
BLAKE2b-256 | ddcc87bb093f0b693865f575be84adfb0a35182ca7578e36a71f6490cf5b67c1 |
Close
Hashes for ast_grep_py-0.21.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d30ee0840a0c6b5622d73392737771272a658b28a0facc93b27786666cf2660c |
|
MD5 | fc9a66d408384cf3c2aecef62553938a |
|
BLAKE2b-256 | 54185b34c7aef0d5e7c9fa0140065c326a51c28f26cd992b85ef8848857ddb97 |
Close
Hashes for ast_grep_py-0.21.2-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f73dc3e7358bc791e88f07c42124da389c73a372f410766b832c1ae8bea4c4e3 |
|
MD5 | 5f1dc9018cf77e9b267f159d941e90ab |
|
BLAKE2b-256 | 73fc7ef06f5e920c48ea50d80e2e78291c7a32a1d62b1f62c7d53fe4816e90dd |
Close
Hashes for ast_grep_py-0.21.2-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3782320657ededef531eff06ecd268c09531d01c24c35ad7bfce00850491d7c1 |
|
MD5 | c9e8299f81f7aa9c11a7a6b3601d1f45 |
|
BLAKE2b-256 | d03add7ef2d8835d2feec902df006c30ba5906227f2bee0d8c4639927aaad412 |
Close
Hashes for ast_grep_py-0.21.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e56c8f50985640dec1dd7f8e9443b9b6ed3491b270ba85bbb0d6fc186c1cd70 |
|
MD5 | b995cc3389862648839186eb21ac781f |
|
BLAKE2b-256 | fcbb08c85f6918ae11da97ec7c51870569b34fb1c1b5c8be955eaced1f52d609 |
Close
Hashes for ast_grep_py-0.21.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0104a0f8a3e53f10f863da8ad7bf9f40a5aba3a50c448270b4db75c0ddb5846c |
|
MD5 | a16e92e1b1fe8af00f2b93b20bf07625 |
|
BLAKE2b-256 | 4e6ed9e09c402ccc39b66b0cfec46e2b9b4718272ecaf80bc5e8ae3b5ce8f81d |
Close
Hashes for ast_grep_py-0.21.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3b52b00735eb274194b09fb3e9f99c84eda91c5fc5627135409687fd4ac5d8b |
|
MD5 | ac6fb574e2adc3284dcdd86ce2ca9039 |
|
BLAKE2b-256 | 6d2db4f82a5f0130e6a108c9963e7f4d28983659275e56289baf52190ded4769 |
Close
Hashes for ast_grep_py-0.21.2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d3f49eba718c651c584adad9fbefff29e9b269b99058cba36036f24e5408b1b |
|
MD5 | bab1deb8b3efd0037af671b37df99765 |
|
BLAKE2b-256 | 5a5a265d1d91a1a1e3535c308f2c5471a96fa61715322334307cb755c29da890 |
Close
Hashes for ast_grep_py-0.21.2-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 578d481b6278e75f28a482b68fc726d196623306a3074040bdd5ba5814ff4272 |
|
MD5 | 1a38bdda4dbc46d596a11733f1b67db3 |
|
BLAKE2b-256 | 99c41e88064cfb5ff004627457ea4b47842a0ad79026a0c9c86521c52aba73b1 |
Close
Hashes for ast_grep_py-0.21.2-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ebc8090da6e1adeab3a98e9adcf894663c78b97ef7cb355df3e533ac6fc6eb8b |
|
MD5 | 0315bbc0827f241c563a8a1a7e9e600a |
|
BLAKE2b-256 | 462e99b145e7ea64d3cef52e5029f3a1d90a8496ae92ff86af64c36c37e25004 |
Close
Hashes for ast_grep_py-0.21.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 992e6f863d74b5f1aea7095e20a3dcb94262ea30200e66b2d499f40a839075f9 |
|
MD5 | 7b8000a8b6b5115ab9e4255045d92474 |
|
BLAKE2b-256 | 0eea3cd7a015d5c2ce06c4d0fd849e91ee261b9393f88d2ea58ceaddf228f980 |
Close
Hashes for ast_grep_py-0.21.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 850185a23b6f666ee536cde376b79d5c49b3e74f1df674ad67f54654be1fb36c |
|
MD5 | dc6fac686eb90a616e54aa41e90e625c |
|
BLAKE2b-256 | b5c5ace463e84c51e8eb1a8af293e236dbe46c105235e72788a8d371c2ce211a |
Close
Hashes for ast_grep_py-0.21.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 539110b8f7832291cd4c81a097007c2f90a17473751e5a6c07ad4dd33820e5c5 |
|
MD5 | 7bf17399396130828ffe9b780a1078eb |
|
BLAKE2b-256 | 0945bf35e06da4147b9071cd67f1d64e5951731dd43c752cf9bac1b8be091c81 |
Close
Hashes for ast_grep_py-0.21.2-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f255a42a78caacc4636ebf991ed10f91d632d5290ed7e5c97b8110ac5c325e0d |
|
MD5 | 9200b7df355e500ae83fd68c7ca8ce85 |
|
BLAKE2b-256 | a38308ed0078ab0dd5728386cae145ce490d462a7f429245d6dcd00de0217858 |
Close
Hashes for ast_grep_py-0.21.2-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bee891e1550bd493a67b8ff184611c8e3a30fc2a2fc4f1f621232b3a81f912b1 |
|
MD5 | 24ad8667b1f33e4a470440c4a064610d |
|
BLAKE2b-256 | 98a4f6dc9e0c23b2a8c69be871338f0e78c66884205abb76ecb8e50882950d38 |
Close
Hashes for ast_grep_py-0.21.2-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16e69364141b7c1731161487988b209535087e4fc111a525871afb05e8778c6b |
|
MD5 | 177ddb3724a8afc5ab2468a943dee4d8 |
|
BLAKE2b-256 | a9a75b46c3853ed0b912b7d96e30f656f2f8ad8811f48fa67158f4c5f21de404 |
Close
Hashes for ast_grep_py-0.21.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c41a41c0dd2d60affc3c30951e2982d462c15634a74f1e3fd644d3777b85e422 |
|
MD5 | c0909397a97e32d21ecf77cdefcf56c5 |
|
BLAKE2b-256 | abaf2881eb9158635acfe41e8af3cfdd2f2b3a932bcf017457c18f9bab2ebb9b |
Close
Hashes for ast_grep_py-0.21.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 805b05691f4b5d0ed49ee45c55bf4d9a3a34d72f20850f49327f953dde87a6fb |
|
MD5 | bf39e92ad44fb2eda17bf83f46f6d339 |
|
BLAKE2b-256 | e9a4f0a58eb3f51f7c258982011a81624a48dc4cdb72c816cad7048078291942 |
Close
Hashes for ast_grep_py-0.21.2-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0f8a51ae13de29bb2dc06d01fdada4139f630e9175fa9da6484b6c69f26c59f |
|
MD5 | f8630eb3f95b8848b6ca00f36b971d1e |
|
BLAKE2b-256 | 68d05532aeb8faef78a65a7ba41cdb2eb313f70d0935b36acad90e55e543207e |
Close
Hashes for ast_grep_py-0.21.2-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40c5d22fbcbda0418e54da266a643ee1980e903f33e33f98c175f91cfdad3a80 |
|
MD5 | da4924e79de0f87321b01bf058d31f86 |
|
BLAKE2b-256 | 1c342ae1c34f6b60ae1bff52cc882920eb43ffb74591419105dfe578f723bf72 |
Close
Hashes for ast_grep_py-0.21.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4f1b3b5ff835453141cf1e7b2326d86055db479238fa7ada1d200c07b3b5dcb |
|
MD5 | 9b62fa0eec15921392078c2c03145024 |
|
BLAKE2b-256 | 3ee3b6bc3dd733e5aebc1204e62b017631ab35c3308f0bf1a8ae5fa4c568c3fc |
Close
Hashes for ast_grep_py-0.21.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a9800c0c67a264f9eced6e010143fc13e9d9459ac3f12e5ae891b085465a0e6 |
|
MD5 | 43f2dfb97270353bb4d6eb3599a264ef |
|
BLAKE2b-256 | 67cecf9326a9a20366989167fabb1b27d2db248cf7eb3ad15e43a190d7640d26 |
Close
Hashes for ast_grep_py-0.21.2-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9302b08421a2e129989d7872dffdc1517fa937f0cfb84d8fc11b79f63e868fd3 |
|
MD5 | 4b8dc367ffc007de2525756c823be773 |
|
BLAKE2b-256 | f3793f2f5d9bf89ff2825c7410e97ac77a1f4899566c4451474fae28f25f49e3 |
Close
Hashes for ast_grep_py-0.21.2-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80706e049134d2c0ee1e0f42517ca9a58e23d72354c583f19214742d04b2eab0 |
|
MD5 | a39db0232f7d6904ee33fe5fdf068116 |
|
BLAKE2b-256 | 04dbaacc20bd39324d077a44eebeabdc3719be6cf28b58dd374cd72d1e3fe9f6 |
Close
Hashes for ast_grep_py-0.21.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 644dddab2ae5232689120b1389a8cfb3f4bf318b15644fd95df14826ddbb8a70 |
|
MD5 | 10c24622e2c9231b4cc804f9fd2db713 |
|
BLAKE2b-256 | 49c8d7a8913fca7735d02534117e8afe9af28468cd06672356d6a4150debf887 |
Close
Hashes for ast_grep_py-0.21.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fff9664f5d2c51ce63fec455049b66c1ebae9ac0e6d9465a12b6a958130057f3 |
|
MD5 | 7ccb5036e767cbdd85ee73382a223149 |
|
BLAKE2b-256 | 2142ee288299a035473e84b483e40941bf6a819d3368cb17771c36212f192b01 |
Close
Hashes for ast_grep_py-0.21.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60c30cd1817cd3d8adc9224b336f2bb5bc69ff478a2de021ffa52f7129e67f20 |
|
MD5 | 957cda8fe199ff43ba5b80b355c116a5 |
|
BLAKE2b-256 | 208498dee49dfa9a95c863b74e22b48f5d74890c77b4f8a053a22dcff68ce892 |
Close
Hashes for ast_grep_py-0.21.2-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f997b1433c966c82aa2418bc8d51d89b4e3717c0144e7cba9d9685ef3b85c32 |
|
MD5 | f414fb9cf2e0c631ea149430c3471408 |
|
BLAKE2b-256 | 2dbb7b1eb99db85b4a46524f57d05bf898c4c169915ed161c8a33cb5474a67d4 |