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.25.0.tar.gz
(114.6 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.25.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd837ab6f47e5fecb901bf1eb49cf34e9e690976c309bb33754eca2d97d7cd6e |
|
MD5 | be5b4a16830f7fd1fea75e8dc1833375 |
|
BLAKE2b-256 | 862e03a55cff216cea441a9b03399af4dcc81dc0e01389b26df513e31e213d50 |
Close
Hashes for ast_grep_py-0.25.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25e7306e5b66704d103ac08d6ca4ab6c21277f4ebb1b2df734b05c2a1fd7f5b7 |
|
MD5 | 563c9bbaa909f4c8ee1eec4b6d2da4cb |
|
BLAKE2b-256 | af7f9f29097336bb732eefa52d04cf7c705e1d0ca8fe6984c3c22bb6e6578481 |
Close
Hashes for ast_grep_py-0.25.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f4539c45da5dc74c70733a82f710f52c43cf3dacc128b01e87cdd64a52f3ee8 |
|
MD5 | d56cc403dd165b988fc9d318f8de21f6 |
|
BLAKE2b-256 | b703a5f22cca6f0d73df79bef222e866a7dcf8a4fa776d391a809f1fa53b74b6 |
Close
Hashes for ast_grep_py-0.25.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4bce532dcc58ecc375daa81daae61281fbf01b4dd13fff880b89655b9618fce5 |
|
MD5 | 0c21131ea38c3f41efc9b0c730f13814 |
|
BLAKE2b-256 | cb279d3cca57dd09b3b11b466c50361c38d80c23aa2594bf53c2a951e3bc53c4 |
Close
Hashes for ast_grep_py-0.25.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba95ba6dd9cb0c63660c38ccc95d0b8689eca14db680c3350a0024371312eeb9 |
|
MD5 | 8d241c24539b83719ed6f6b3339b3b19 |
|
BLAKE2b-256 | 650aa9e4eaa9cf8a247e2808bcb4951268fc13f4820b846405d43372f7d67453 |
Close
Hashes for ast_grep_py-0.25.0-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a62a7ab1fee430330262e94ad2af2530e6a4ccf87377fe6d50dc79770fd67357 |
|
MD5 | fef25e36500199204a8f15ef7487e455 |
|
BLAKE2b-256 | db240c264cec43711e1115810018cb57461bb3be69008b1e156715ef7b8ec40c |
Close
Hashes for ast_grep_py-0.25.0-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fc02365615d17d99d049eee1d62cdd8a61dbcf2ee1f019d513cedacc2d5bec8 |
|
MD5 | c10cb412cd7995998348b831c1b0d797 |
|
BLAKE2b-256 | 4cdbadc100e3c3646f3a8c8babc4083907308ed7e4e70547dccf34f587bbce7a |
Close
Hashes for ast_grep_py-0.25.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae80c22344ed01c1d0384be20e8f591b8b9a98ab1de81e04580a2b866096a34c |
|
MD5 | edea29521c66fa0ad2c5f9ab046cc6aa |
|
BLAKE2b-256 | cec1abb819082cc718b1d4160bc8b148daa780a960cef459b257338d582f23a9 |
Close
Hashes for ast_grep_py-0.25.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e17064f475848ecfc7b9e5bf6cb6b1dcd67b6dcb3fb54c7056e3bbf0e87af729 |
|
MD5 | b8c358a5aebfff3e74ebbf47fc7eca99 |
|
BLAKE2b-256 | 89b8ee9b7058f8cd44f92277996c45f32b70224f9a0d486addee4f22a360ac06 |
Close
Hashes for ast_grep_py-0.25.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 085f11bee82d5d1fb65da700bb61f8c4a5bb06d002e38e82fcc5c13f626c4887 |
|
MD5 | 11e60f64c81f661d6afd802efc4b39ed |
|
BLAKE2b-256 | ff6556fafda46e31ae101864f6131f92f8853392af511af380a851544ad80226 |
Close
Hashes for ast_grep_py-0.25.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c16041f5165fcbbbecec302073a45c4df0974d09842f92db236960da3284f1b4 |
|
MD5 | 12009519205fb86762f319d76e69866a |
|
BLAKE2b-256 | 3e6b00fc66699b9fe2ddc314c60627d87b980bcc929cb747c46b363c80e18472 |
Close
Hashes for ast_grep_py-0.25.0-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e322290c23c4a7fa5ac44906142b17ce671f1ab38788d51edc4857945b1264e3 |
|
MD5 | 49acd43fe18f259586d0da17ffb4ad20 |
|
BLAKE2b-256 | 0b15e3e5479097fc5c8e7d3c96469e7eb59a9b9818c3356ed0a5e831d323fa3e |
Close
Hashes for ast_grep_py-0.25.0-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b612fa872e415acb7297e08bb12b82a637f00dfb916433f59592eb7da7ac179 |
|
MD5 | 253bd246c5a350f8c3d28e8c42bffc1d |
|
BLAKE2b-256 | 90d09e4496d7a2c112c6d7608e264a2bbf62268934bec353473e1d3a35fbaf00 |
Close
Hashes for ast_grep_py-0.25.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c012611aeaa51844a2ebc764a6c66805ded73fd50ac5ab9f7afbd4db6ee966f6 |
|
MD5 | 17c4f58fa01e478806dfd2921e660d9f |
|
BLAKE2b-256 | fdc7f311dd37178e9ee2f62f3a0de2ed377eb7df743927978072af88c1f47de9 |
Close
Hashes for ast_grep_py-0.25.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ecb8fa40c06c0b6727192dedf47a1d176690c37652fc337b8a684d489d0fe4e2 |
|
MD5 | 72eb77cdbe7b8963fc11a51a4134dbab |
|
BLAKE2b-256 | 43f6438256ef348b65b3dac18ca5e0077da39819c98c95366af91e91e32e3deb |
Close
Hashes for ast_grep_py-0.25.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e094f00e3457f6e7e73f9484bcde08d7f0aa876b0d9d6ecf19b2a3dafda9483 |
|
MD5 | 633401bb84588eafbc122f9e54bf78a0 |
|
BLAKE2b-256 | af61970839e4ce27b87bc43f6ff41ccb64f4bd7d21e066fda0ab4e27dad52bb6 |
Close
Hashes for ast_grep_py-0.25.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2863a2f24f2eece4b73f6cd921cceafe56ce4d26414e02d19af462da5ccf372b |
|
MD5 | 865e25a9586051d2cf33cae35b4f2fa6 |
|
BLAKE2b-256 | b350f4c6e55320d8b450d687ad6786efd84041e860d2e6c7dcab6a4a00149b8a |
Close
Hashes for ast_grep_py-0.25.0-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b5c32c4edfe55b882a3b372b0f3c8e11b54c572d2b0d3820470ae94ed749391 |
|
MD5 | e9f6a06c3753b206e69c228a831dffa7 |
|
BLAKE2b-256 | 26748ff6a5987a81f2e324cbcb6378d5e5526a912038ecddd0d68caea8267fa0 |
Close
Hashes for ast_grep_py-0.25.0-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7819fc0c8fb1bca5408c8ebc0c0adff1367b3061378c45c8530561c66929ddb4 |
|
MD5 | cc464ed1e213fbf4cc8494705dbd1c46 |
|
BLAKE2b-256 | dbc3b6fc98d9cc7bde63a846051096e715426c9f0f12f002dec503a1ca8aa815 |
Close
Hashes for ast_grep_py-0.25.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11bec70b92a98ea6bb0bf7f571b6d8886f3b4c54dae6b77e489fd1735c0cced0 |
|
MD5 | f313da222b42411ebb78813baf8faec2 |
|
BLAKE2b-256 | 3396f9653887328095ece51e675f41290cd8450f70e4c5aeddde1a7c1e431821 |
Close
Hashes for ast_grep_py-0.25.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78e187d7f7a8fbb2e9578a57fcd6b2f8eb20b9d6e3538983483e01571f5d9b31 |
|
MD5 | aa26c86fd75e0996923b7154df67c44e |
|
BLAKE2b-256 | 01d32124588e9a284656709ac9d129d99814334698f46a626ab7fd04e752fb1d |
Close
Hashes for ast_grep_py-0.25.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e40bb6424d8d974485c6e73240c4949c19444951bcd1379e1dffbb05640d1fd |
|
MD5 | d5774ec005459e58be23750f5ac90a2c |
|
BLAKE2b-256 | 470b3e823a8f7bfd045949ce02c9c251fe1ce99c9ad328dd0fcc18991c0678a6 |
Close
Hashes for ast_grep_py-0.25.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffd6ee3ceaba1ecfea06c6c6ac21ad4734415a2e3bf3419bd97702c12578a5d5 |
|
MD5 | 133ac9e67c3db311d46ff5d851ec26da |
|
BLAKE2b-256 | cf09aa30d48f393867cfb2e0484fa0bc1044ed6a007680802d48fd50cc4c76f2 |
Close
Hashes for ast_grep_py-0.25.0-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 056dfe82a66afbea3be19b9df12891b36368f30d814426274faf5b1eb63b9bff |
|
MD5 | 13ca64c7e087d4ae381d6552e51c094c |
|
BLAKE2b-256 | dc79faf2deea55ef74b3ebf62b4960d3c7749199b6de21572e8ed5cbebf285d2 |
Close
Hashes for ast_grep_py-0.25.0-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6c8265a13286dff938e2af18a3b22855ca8b486c172e61f369c7d287c8c33dd |
|
MD5 | d508dc9d40ac700aadaf19d370ca8b32 |
|
BLAKE2b-256 | 38d38aa3ecfc23134db5a8d91ee54ada0d40363a4f5e8e3da6e372b54ffac528 |
Close
Hashes for ast_grep_py-0.25.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0c11c45294788c55730857816f5a0a85e121cbab0a3db991fa49136e3e70360 |
|
MD5 | 7590c8257a15e9297037e68daf950a01 |
|
BLAKE2b-256 | d073f97be9ad6b6fdfc53686fa39a3476109c859288ba20fc769d5bcc490867a |
Close
Hashes for ast_grep_py-0.25.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b661fbfd558a779758fa29f03040aa310dc787d93d98c9373a161dda18807062 |
|
MD5 | 859330e41d29f9fbfb260dc22678673e |
|
BLAKE2b-256 | 718704987ecc6a3b7669044db2f7769b9cafe0477533e3f3713f098bdd965a6f |
Close
Hashes for ast_grep_py-0.25.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f098c176ac2f7be16c93f20cfac313c52f870458f60c0cdf79d0e5c4d31a06f6 |
|
MD5 | 97acf1051eaaa2b909966dcf536d8cf2 |
|
BLAKE2b-256 | e2be10cc34c9f15a27c8b85dcacf9deca02ac8bd7832626139a8fed08f8f01bc |
Close
Hashes for ast_grep_py-0.25.0-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c4825f51995fadc9927fa4bb69581bd05dde85f4c3938f6a4db9792017c0da4 |
|
MD5 | 82c51f1939a636991828673dd344f30f |
|
BLAKE2b-256 | c063c120f471432985d2c67b0bec005a03cd7c85c4bdb1db70f96866da61a9db |
Close
Hashes for ast_grep_py-0.25.0-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6dbced97e08fae9714c0989148e37488d0ea8c1c36bc984836b59d84ff90eec |
|
MD5 | e530f7fc6c23e1ba95c3f6fb65315e8d |
|
BLAKE2b-256 | 5854136870fb841abb67dae42ad0300588cca650c31f1c66da955899c91162b2 |
Close
Hashes for ast_grep_py-0.25.0-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c30e4464f0c8f9b4167df4c3a04da651e081653b4fa64352ad78a2750cad2be4 |
|
MD5 | e6089d905dece904077d3899d0dfc974 |
|
BLAKE2b-256 | 3bf6d122b53aab5376bc8b4a54d5bbe066019dcea803174572524b797db8bd8a |
Close
Hashes for ast_grep_py-0.25.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0a0c3c473f39dcea16b4bdc9df2b34ca788aa2931d28f45849ef9d8c87e2aaf |
|
MD5 | b0be959f6e891191c05826a2e14a445b |
|
BLAKE2b-256 | 0c23c7419b13e1fa7704f764ae0f7de365ee187cbce8a16f6f73dd4143bea9de |
Close
Hashes for ast_grep_py-0.25.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb7f3124f00d9740aebc3c868606ad0e7ef9e7af2abc1ff49737f710568649e1 |
|
MD5 | c8e2f1f54392d4eaa2ab620a3f67c77d |
|
BLAKE2b-256 | 9ecb09f2344329956ae7f896c21c0693ae67548d4351c42c33a4dd9ccd6f7a82 |
Close
Hashes for ast_grep_py-0.25.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3b116578259c4181222edf983cae4d87ff7314610a99ad9bd756b4fcfe2237f |
|
MD5 | a80b57d6599863588710a4075f9752e1 |
|
BLAKE2b-256 | ac6a641dcc0ce9838dd573d0e6895cd503b2b19857780a88bacc4771efa96506 |
Close
Hashes for ast_grep_py-0.25.0-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7aacd4818723f1a107461513d7e2e3ceaafb08286f4bc2bc838552d5b41786d |
|
MD5 | b2d067ba9686a1235f1944a7c2eae4b1 |
|
BLAKE2b-256 | b942baab9bda35d011699bd00a80f5783c4a811cbd700a1d14e46f2e3c8b85ac |