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.22.0.tar.gz
(106.2 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.22.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc2a1bd14e134a58d068121aa5f11bc7cb2683d6c0f8ee196c15cc5004159658 |
|
MD5 | dd806bea479fbb5a6ed9330ae2877015 |
|
BLAKE2b-256 | 022b7d028957222b06488b6c51d924ae9a4f8f77ed755cdc3ce4cd6e09314f59 |
Close
Hashes for ast_grep_py-0.22.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1850e4a12f7bcc0750c88aa32ef3dade9b4d1bab2995e3937984aefcb8829678 |
|
MD5 | d8bd89a7cfe3c6a94c5c105b044512af |
|
BLAKE2b-256 | c87fe05e5483e5ece923f6124d18db2ae2c458c07fef15a9a51714d614f99356 |
Close
Hashes for ast_grep_py-0.22.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2acef81aee40f11cff12c04f75d5518e4df22e4d94f43e669784bf7da2679514 |
|
MD5 | 18ec5a3d05401f7ff31af317490e3f0b |
|
BLAKE2b-256 | fc15af52b439adc2e4e54ce2721eea38567158969aeedccda6093c5aa47350b0 |
Close
Hashes for ast_grep_py-0.22.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e7087becd739b67b315c656cf4180823d69ce57be4746fbc3a46e8b7dbb0d83 |
|
MD5 | 32551fc80c4b4e5431acdda8b9993f4a |
|
BLAKE2b-256 | 75b51e938d8fd8e98b6059af0985f298ef74210e708a268e14cba900a205241f |
Close
Hashes for ast_grep_py-0.22.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0fc2e95e216f63a37bf3a7103f4d21ba6cbbafc49e4a2388246ccbb98b176bd |
|
MD5 | 230c8239da7fbc5c7032111fbce2d1d8 |
|
BLAKE2b-256 | 87ca8dd20c8ae59862d66f32526f1bdcce65dfad2954c8a799684a8f39b090a5 |
Close
Hashes for ast_grep_py-0.22.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8a6721b03ff59d24389877a192f8ca43f7ef3f0bccfc7921cbc0c054560eba9 |
|
MD5 | eacb4ac6bd2f37ca19fd3d7e2be0dd3f |
|
BLAKE2b-256 | 9f5140037d5ec5e5db16602b0b597a480d2bde86a175d0490b0d7cb6eadf065f |
Close
Hashes for ast_grep_py-0.22.0-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8b4bd791e6f14d3ddc9fc9c27a87f8a287d434ee0dcd709292c3d89d1885ddb |
|
MD5 | 692d03ef17a33d4967520b61c07cd283 |
|
BLAKE2b-256 | ed1f7962185041ebe9bb0ae74374a36bc43027b33f2d37cbf070a88207cc059d |
Close
Hashes for ast_grep_py-0.22.0-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2570f875e1629d972bab95536c95ced33bb76531398e2639ba470dae7a58c6bf |
|
MD5 | 948c4307792ce94a0705641d3884866d |
|
BLAKE2b-256 | dbb7bee715221f5681e5709c4c5ffc0b579428ea8ec0573ec58ed1be40b928ce |
Close
Hashes for ast_grep_py-0.22.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1e86a8f9d90bd3daa16aea9f89f60945c7f1b2212fd0b26869750205d281d11 |
|
MD5 | ef3076eeb82e45a4a4ec7605ff9e10e5 |
|
BLAKE2b-256 | ea9062038659502500ef9f19afee0cc6195af7633a824589fe1e465138341750 |
Close
Hashes for ast_grep_py-0.22.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 473bfe5a95c74daf73cf994bde3402f99aa7e20708233579ade03840ca9cebda |
|
MD5 | 3520a5b71b76dee0a5a84ea97555ed07 |
|
BLAKE2b-256 | 2eb5d0b1c4b15ff075e6847f63c419a55686887fbed3a2df6d38c31f8c54caad |
Close
Hashes for ast_grep_py-0.22.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91967e0b0ba93957d97a40f5917692f941187ec64555fb2ee360a977ee076177 |
|
MD5 | 891bcea669e20aa141c7d46922922662 |
|
BLAKE2b-256 | bbbe9d404733818a7076f6b3c4363a7346da0a1a8812d9573c67256395419417 |
Close
Hashes for ast_grep_py-0.22.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0b583eb0dc20fbe8d94d76ef53ad799661c6fe6c23556e77edde7592b9b0630 |
|
MD5 | 2cd65ce7ee6ddb1330938486468f1ca5 |
|
BLAKE2b-256 | 8049be1baa6b2796dd6a895ecbc787772ad4983524aab3de92b59be99212a2e0 |
Close
Hashes for ast_grep_py-0.22.0-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a89bac42e9d5dd8ef3eef0acf4aa9ffa30f0d4d543eecdf1c46fa903ad24ab38 |
|
MD5 | 23a6993351bfef2fd1888eb62eddfd0e |
|
BLAKE2b-256 | ce12608e9f8fd94d77afd79d428d35facfcd2d00598e0e4a9578c31983d7daf9 |
Close
Hashes for ast_grep_py-0.22.0-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c47e215ddb03f850835e5ce166d9dc719b4e6de941e1e23355e51f3c6947b14 |
|
MD5 | 7c965e1426f8162f53c7aaed7c0ffc55 |
|
BLAKE2b-256 | f25d83544402dd3bb6fed9f02c85bdabe771623e5877deea73d5b51aa81f479a |
Close
Hashes for ast_grep_py-0.22.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b39ac5d9b36f05a85e74b13d9729b15cbc2cadd17bf2ceea25d87864ae1b7172 |
|
MD5 | 79a004357928bf732dbbd00b70801775 |
|
BLAKE2b-256 | a6aba64114d4342ab2e9ca090068f2d862540901a946f9072e768f84225c5ab0 |
Close
Hashes for ast_grep_py-0.22.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64612d5a0e68ad507cd7b9edff7da6084df3378903a5e4344ce8974edfddcd68 |
|
MD5 | f7385fbda2b3534d89d2f75d8574589a |
|
BLAKE2b-256 | b7ecf98cad2d7378ea25f801463b80de010b0f508756727e373f4a22cd882d09 |
Close
Hashes for ast_grep_py-0.22.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40df776c8ac1a8ee9611c91c0eb43db5814cb42d3a672ea9fff1663c6c60c003 |
|
MD5 | 8a78deba6ad04d66aa418e5dddef259e |
|
BLAKE2b-256 | f1d64a588eab7c6617f20b7a55140c2c497969edc467c2681eb38ea3cafdea02 |
Close
Hashes for ast_grep_py-0.22.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c09720bfc7afc3215df37cfd103af12075cdd7ed6a55029ce3fc6d3dbe82f2cd |
|
MD5 | 43c847fc08d8f65bc04a3fa9c49074cc |
|
BLAKE2b-256 | 8615b95644b1cdf9fea25a3f6daae2bde4d7850b9d798fe1445b5763d8502ee4 |
Close
Hashes for ast_grep_py-0.22.0-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1ee0e29c5f7c84de7207d7939cc1f90115bc6151833bf231d15ab5a89c7557c |
|
MD5 | f4e112ba5ada42ecd44860220c9079ba |
|
BLAKE2b-256 | 14d5ab14f043f2bf49029868fe941bad51b0fa62313a7e67388b2774179c2045 |
Close
Hashes for ast_grep_py-0.22.0-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05c7cce47eb5230cb965dbb26b60a678bbc6457dec36fcc5b46758d4ccd9c678 |
|
MD5 | c1762bd2fc340af3382eff3423bd9d77 |
|
BLAKE2b-256 | 30e68b496a3f82415ba62defe12d59147365b4cb303d3de47aff905865c9e003 |
Close
Hashes for ast_grep_py-0.22.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b3605e6d1b9b49f832849140f3a7f266391ddd684d3dbef502cb1a128eb525d |
|
MD5 | b7560ba7e0b052d8ad20dc824635ee73 |
|
BLAKE2b-256 | e1cf4bd727f5812e0cc512ce3bb29ccdf43bc8e888a961186198139f98fa8613 |
Close
Hashes for ast_grep_py-0.22.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a50879eac7ac9ccbf265cb3254be41df08f0bd2e775d3e8ed37e285111146b89 |
|
MD5 | 8589f98c808d656fea79437ad2e5b24d |
|
BLAKE2b-256 | 843f11b5fef0eb61e5073b436fdd6ac206316a52cf6c872dd33488bc58958b5e |
Close
Hashes for ast_grep_py-0.22.0-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 354e968b8863c90045951fa6d987f9c1c79ba51636086b60ca1a21de997b339c |
|
MD5 | 514e6065b8d76c7ef8dbf38b3c28b3d1 |
|
BLAKE2b-256 | 783dde13585f003211bac8ff9589e544a87b8d31b59326691078c7c11248114b |
Close
Hashes for ast_grep_py-0.22.0-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e99449c5351a1fc656083e66560b87b31f1feaf9445de4b5b4b156501e9b299e |
|
MD5 | abb5d3d59f5513395d34f57b1ae582f4 |
|
BLAKE2b-256 | c22bd64ed2231cf2ff7b99025e9db5169d85f18301f261dae9da4e837180c200 |
Close
Hashes for ast_grep_py-0.22.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 406516cfe8ff275f0b5f0c43554fa79fe73f60fdc3fea168965b470bc46941e5 |
|
MD5 | 7e0e2887ae06f82208de49ec50b658fc |
|
BLAKE2b-256 | be5948293b4b41487640c9976440797a4fcbd81112f3b8daa8f64865be389026 |
Close
Hashes for ast_grep_py-0.22.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8cf48674f258b6c9cf4ecc1270e747776c2c4a9875958945e6f0eeea32ec5ec8 |
|
MD5 | 57afcbaa13bc4e653b95c5d8fe9ebb80 |
|
BLAKE2b-256 | 2df90e8fb953c68a64b03efaa975785c5dd7b2c6304f0e260e89e2fa52f69295 |
Close
Hashes for ast_grep_py-0.22.0-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38382bbe75a8abd814a61c94bb72cab3a794eb4caa1724d1e5d5461bf24b4328 |
|
MD5 | a2409fac3fcaaecc7ebfe870a134a55a |
|
BLAKE2b-256 | bbc0cabaa3ab8eca75c48edac1f424c0345a90ffdf0db06845fca53028d1f6e0 |
Close
Hashes for ast_grep_py-0.22.0-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61211fade01725dc33a40333d3cdb688d302c90f0311b334db7472711e873645 |
|
MD5 | a12ad6cd7680378e3b4d8291df9fcdeb |
|
BLAKE2b-256 | 5b546d99a2210a1aa8af66b4268bc83e5160bf6c355d2605f1086590054e6060 |
Close
Hashes for ast_grep_py-0.22.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f4731d76dd946cf82ff2d17fdb1a06db2fc4dec2b011773b98cff9307f7fdcc |
|
MD5 | 918753de793abf0b148f574d6356f808 |
|
BLAKE2b-256 | 34bdd56ff91f2543467a085530688f5ea0b2d02ff537a376dc7c8d071c97309f |
Close
Hashes for ast_grep_py-0.22.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97018e85706e0b528d87500626ed83b22392a7b62509042aa79b1032a32aa60f |
|
MD5 | f01e4f064607cbfe6f7d72f8aa5f20ca |
|
BLAKE2b-256 | 3b2ec8e45d2615608a94f969460b29fd0c2a0d014f92b23329d436c604e9063c |
Close
Hashes for ast_grep_py-0.22.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c15c129a0a44eeca3c58ac4ac487f2857667e0185f7c7f47bc25885189a5d3b |
|
MD5 | 2750c06c38226c50ea498b1cd60cbaf1 |
|
BLAKE2b-256 | 2dd70cd2ff130844d8ae3e958b651753cb43e91609532bbd3af6d47e3c11b1f6 |
Close
Hashes for ast_grep_py-0.22.0-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4999a0be6a63266eab921afa02c2360231e2312af3342e328f13846ae9d0a170 |
|
MD5 | 1124e4cdd9e6cbcdd67339a5e6d6454f |
|
BLAKE2b-256 | 3091a7c7365942cbe8558dbe0bb34148548e0349132f275b911daea3862c166b |