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.1.tar.gz
(114.8 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | afb94dab7f2c0daa9c1efa8fa3b4c60e7a59cc064cb50cad2e4b32efc7aa08be |
|
MD5 | 716447ba53a95b49e174cef27cabbc57 |
|
BLAKE2b-256 | 41868d5b87385c00fbd8ffe39ee7d7205799a19a0d6fd99e923400f95684cfdc |
Close
Hashes for ast_grep_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b08fb7194b43ee7e08eafd7bf33953671e44ffe6a1d638403fe6ab8e1373b27 |
|
MD5 | 321ed599419e0c16448045ffda659116 |
|
BLAKE2b-256 | bf6640bd9e17280d88b672d97c9210006aea212d94fc20a8fb95eda3777becbd |
Close
Hashes for ast_grep_py-0.25.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb23c97e3c3b07f3b0e90735d80dc6052500cea6d4a14a9e6b09899c74574965 |
|
MD5 | d900ccb1416ba45d60ca9393efc143fa |
|
BLAKE2b-256 | 62ebff14f962fe0a4ca24aa9a7cc9904bc73ae4b98bc4e3c53f6547d588b4b0e |
Close
Hashes for ast_grep_py-0.25.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d87fb76d04a3d1ca7019f49a97620ced431cabb7c70322da4b91aefd6ce51009 |
|
MD5 | 034bbcadb92cbb7f1397061bb07ccba7 |
|
BLAKE2b-256 | bc19a68af9b527e4d5e594561e734c31df7b5e3eb4ad260cae11c3a5844e3d56 |
Close
Hashes for ast_grep_py-0.25.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f4a76f5b21b46d71102135e07e2e6db9eda7e6c8b90fdc651fc12b77b380ec4 |
|
MD5 | 020dc624062f1e07d426f6889e3ade0a |
|
BLAKE2b-256 | b271d68aa20eee209a4bae2b8d61a6b21d9858d792b0a4c86a14515d05130d73 |
Close
Hashes for ast_grep_py-0.25.1-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8456317a7a23917ec4b36100c71931f811677a3bbca5ed6af07ac26d022fbcd9 |
|
MD5 | e71ae564730d1fbf5df47364ae6c7e2c |
|
BLAKE2b-256 | aa0256cdc99346c6096af8346b8dcfd9588be97a4c99fc76076a3132b3af070e |
Close
Hashes for ast_grep_py-0.25.1-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 785dafecf5017f4ab51fb9038836a9f4674259612bd9c9e422b66f04920deb6d |
|
MD5 | b75169f7be7a0fe9c40162400b521327 |
|
BLAKE2b-256 | ae93b7d787f1a816cbbeb5d94b53bc9d549c22a90a8842214dfde3e6ced97886 |
Close
Hashes for ast_grep_py-0.25.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43bf764686436a0c696a939993cfa88a36a8d3d45b3d633048a5023456b3bbb4 |
|
MD5 | 0266ae039644bb3ba32ab172b30229d2 |
|
BLAKE2b-256 | f83dd3a6c923d48e85ce1c4c4b0e825ff55d442f4b0978ad3d722601a9211b79 |
Close
Hashes for ast_grep_py-0.25.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 424ad64b827220f934f46741a895279a98c3d7b98ca93cbdcdcba49cfd55d28e |
|
MD5 | 61ba518cb6d45061167fd3caa7d77abc |
|
BLAKE2b-256 | b653c3930ef4755532103531759c4fcbe2a8a5aa0a2f77c5087f384807d77c15 |
Close
Hashes for ast_grep_py-0.25.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d117d77ba865060c026266bb12577befd9f2bd8ece761d824f43c0fd81f4a096 |
|
MD5 | 4b94c63c04baa62780dfd13dfdb3cad6 |
|
BLAKE2b-256 | 3d551f87b7c9ccc16283868f8b979b307ebd45c7cbb1f37a4a8edcce11a5b237 |
Close
Hashes for ast_grep_py-0.25.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60a64694f431293be1de36d7b17c7e9d8b2cdd8357dd42f9526ef330557f7cb8 |
|
MD5 | 89b4a592894b8b247220ee63a3910a5f |
|
BLAKE2b-256 | bee83d47f17ead4fd453f5bb34cd9fa8d35a3c8fac4e2f7372c596f1806bfb98 |
Close
Hashes for ast_grep_py-0.25.1-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f80bf58e63702b9087d99853b77c1ec0b7ff0ac55822128583fbeac74256c641 |
|
MD5 | 845e57a84eb9a96ca68af4d293dc5290 |
|
BLAKE2b-256 | b916ba4cd252d5a024bb7f35ef5ba4cb4935424df1bc246b1ec43492dc190e8f |
Close
Hashes for ast_grep_py-0.25.1-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4509f2a325b28d02009eb656c48b4a84c315e19acd5a459bdc6d029f62a67d57 |
|
MD5 | 9ac2a18528b0948aee26676733cf6ced |
|
BLAKE2b-256 | e0ae9094bdb43823918361e6b26d91f6ee06741c975636f9f6083e46ad907c04 |
Close
Hashes for ast_grep_py-0.25.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d42d6767b75d8bb3bce07a3d1444dbe993376880dad26cb729a786a9a654d3e5 |
|
MD5 | bd0c3b2cee4e9b3dfc0b4ffadab1f134 |
|
BLAKE2b-256 | 06a0cf0135985062a8fc4f69e42f7f621eae4f72f9557e15b816d4a30be2001f |
Close
Hashes for ast_grep_py-0.25.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d54852b8878b119e0135fd6cf6f7649f660e00b7a4793e57f71b7d2638ac152 |
|
MD5 | 9ef32c77ed251b3480cb45692a0a097e |
|
BLAKE2b-256 | f5b4d13f1a70bebc87cf34bbad0983bcc104e9bc5f6a7dea819906f206d5c2ea |
Close
Hashes for ast_grep_py-0.25.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47110a6f1fd8a734f3e913d8da7bb93821a59ba9022b841de65bdec1c99f5f26 |
|
MD5 | a0aa27e3ee2c1a1cf631889dc4c6baf8 |
|
BLAKE2b-256 | 2f31d8dc593ce50dbedf15b08698fdc0d82d0b44bca98caa8b62a414bd368708 |
Close
Hashes for ast_grep_py-0.25.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01f18c3acba6075247eeac2b1fe7923d9849f6fe8889749c365d447db65f5e8d |
|
MD5 | 99b0b346effbc1e10fc528ee6480248a |
|
BLAKE2b-256 | e77a7980d6bfd23dc29b888941b8aa33a8f65d187b2763d38084592b88b8f943 |
Close
Hashes for ast_grep_py-0.25.1-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20cf37535bb18e13de8588cf997697f54b75131ae2a24e1080151a110e655f6b |
|
MD5 | 48719edeebffa41a1a6987f6f81b0dfa |
|
BLAKE2b-256 | 554c9384523d17add94352c3308841dd0566543537dec0bde6b704e359076088 |
Close
Hashes for ast_grep_py-0.25.1-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5499d43eb9f8ac48e7ada555944986525b22556e9fcaf387de55d1ac05023d10 |
|
MD5 | d097a14a43f383b9ec19fc5b02334324 |
|
BLAKE2b-256 | 445ea2320525158f08325dc6944d7defed3fcacce03c5b2134905e0624fd46d6 |
Close
Hashes for ast_grep_py-0.25.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3299d072497d6e0b03552c000f0063b1d8ffbea43e5955d9f97101d557f99698 |
|
MD5 | 2823d56a8760216ae109464c916be31b |
|
BLAKE2b-256 | 183e2f969d32a82212e557ca0ef68f7e2b493a329abe5eabfdeaa5551923c2cd |
Close
Hashes for ast_grep_py-0.25.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3eed0b12aeeb6521a51df4e891103f707588113563bd18f5c48ed6faab69a13f |
|
MD5 | d718bd41339d3b79e249d4660f5f2240 |
|
BLAKE2b-256 | 0d9bad30f2d2abf60727f4be4fbce1b560f59e3ffd38ef9b9775f4b894055e83 |
Close
Hashes for ast_grep_py-0.25.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df26b6c51bcea63488cc4a2d6436f89c4813a0e6de3a137ee98996e93533deb8 |
|
MD5 | 2459be3c7c7267aebb2ea09cb4eedc5e |
|
BLAKE2b-256 | 0addc42f6fbf1b9271e8f73e754493f1ac4ab7eec7210c61a7f6afb34b2abc27 |
Close
Hashes for ast_grep_py-0.25.1-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63bb10eaa1536591254992032d0ba2fd5de8799e85e8116b05bf4ec7dc6da599 |
|
MD5 | eca4bac1e77c3f29e0fe3770097d74b2 |
|
BLAKE2b-256 | d0428310155cf6d6eec4399ed40c8a0970a5c8e81eb87fa59e8e65c6c1f606eb |
Close
Hashes for ast_grep_py-0.25.1-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35a5067e7a85bb088caeb5ff48874a0431cae6fe94b701cf1f3d79d7d07c163c |
|
MD5 | cbe1754c37aee6bf12cb538030690c7c |
|
BLAKE2b-256 | c85d7fd8d00e3fd0495e9789a4d9f1b92c71b3e89dda024747043799fb3145f2 |
Close
Hashes for ast_grep_py-0.25.1-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea6b64f13c84adee085eb1b1ca210b0ab25555ca5f741fa3d0a0e27b96da7e21 |
|
MD5 | c245430551fdb413271da6da9e4b11b2 |
|
BLAKE2b-256 | 60637fe9094507885e81f7839454c29443faabe1bff9fe535d0324573e1cec67 |
Close
Hashes for ast_grep_py-0.25.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 681e2d7d231075e0e2fee94c190674b39b7a5fb68312e04cf43021793b697aac |
|
MD5 | 4c5093426d41dc7b9bf5a090562dba0b |
|
BLAKE2b-256 | 122223e18e6b941bd9466551e2a1d46db13338e31293f92fbfcdd3e0ff9845f9 |
Close
Hashes for ast_grep_py-0.25.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ce936e8bf121df9146af56fa8b7092ac52f3e32db035987eb1d626cefd6ba9a |
|
MD5 | 46ee877d9c6c04c7b0a50ee24e91a85d |
|
BLAKE2b-256 | 0e3ca60c74289393da87d769936c70558532239ea826687ac7aec82326f3f9e3 |
Close
Hashes for ast_grep_py-0.25.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ef4f2945bb61232bcaa4f0d78ad7119e297c9d43e9cdb092ca5473072186592 |
|
MD5 | 73b491bd2f085b4a09bb6f721f196d56 |
|
BLAKE2b-256 | 89e3f45b7691fc9c4b9d1bf096df1b5f75424f469b812c6479e7b08711c02435 |
Close
Hashes for ast_grep_py-0.25.1-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb3cac7a8f4eec4f702464d35537acc49196093c6afbf98f76ba41e3a383fd2a |
|
MD5 | 2a6c0d61ed0bf47929a36a5cbccfac35 |
|
BLAKE2b-256 | ccf7db1232078124ee33cca213f8fb78a5d2a7a00dbc3b2c44636aaea628a1c1 |
Close
Hashes for ast_grep_py-0.25.1-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d83368541e1e2b05596dd6e52cdce693fab9fb933fdddfda698a1de42005a68 |
|
MD5 | f23b8e1b12427c203c10780e51b52536 |
|
BLAKE2b-256 | a55cc1b35d2837fefc744c8f93cdda6cec3501669e75880f4534da9618849bd4 |
Close
Hashes for ast_grep_py-0.25.1-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbfcb036aef171c454f0e2ab494edd19c2bb016823edd0a0aa2456dc3160112a |
|
MD5 | c211cfcccd4eddc0b932016a21d48aaa |
|
BLAKE2b-256 | afcc2256d7f020b3bbbc5a2096066e3b044b9fcd24e173b5c1f1557828e3445c |
Close
Hashes for ast_grep_py-0.25.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ce6c46e721e27c96980033584a84fe4e3936468466e59c70c02ff1d61ea615f |
|
MD5 | 7f60ebf029a1d37b830ba04e7b2d653f |
|
BLAKE2b-256 | d50f1e854b328a12120e9cb05d406e92ce1ef83e9d6b4b6256f4f47dbea4bf47 |
Close
Hashes for ast_grep_py-0.25.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a27e12fc0290987a906db585db5174b44a71e41447f662e1bf958bcc952846e1 |
|
MD5 | a14f194fa2b83be4f27859a2e06a64d4 |
|
BLAKE2b-256 | e602ef7e9df86fa0ad343e6d7b715dc9dbb614e8cfadd63612aa0e6f56fc4847 |
Close
Hashes for ast_grep_py-0.25.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd32647a4106900a0abff716f75731dced63b6b299d6536c4fa8e51f5c748b44 |
|
MD5 | 401984c6fdd738d9098e744483bac48f |
|
BLAKE2b-256 | 5b64c290f94bf3224c6e1ab0c91d8ed3fc437dd19d478c290e3f990b33fec9eb |
Close
Hashes for ast_grep_py-0.25.1-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e71d6cadb1c68f2c940a4d18ccbfae769b52e072fb4dc05c0811a0760b1ebe2 |
|
MD5 | 4081399513c5086295cb091199b86b97 |
|
BLAKE2b-256 | 1acc13f37f182d6dc133c2b1fcee5e38d3313b2dcabd1d4cb0932c98c63b1738 |