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.14.3.tar.gz
(92.4 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.14.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1f10b88151aecb3b1b0b940c6c4fdeb81ee6b67f22aec64ba6dc0f406e63751 |
|
MD5 | c9958448fc30168d4fa673e6e499e2e2 |
|
BLAKE2b-256 | 9b8db12a0dbd9db5551228000802b865f367f76da0b3106cce00c084e6e1109f |
Close
Hashes for ast_grep_py-0.14.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aae376ae08c7333b8734a081e4b8e712e08a0f06a855703e98769d709e32861f |
|
MD5 | e28861a8b3d09b2f84a6167c5699fdb5 |
|
BLAKE2b-256 | e2a89d184f8740b23290ee4e40cd38b692ee4e4be323b0111a464b29c3a00935 |
Close
Hashes for ast_grep_py-0.14.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c9141fa82e9926deda4688a743599ad798c63493748163b1892bfa420c0c6ca |
|
MD5 | 4ed36fb5d2b9a7b26f3eaece82a49263 |
|
BLAKE2b-256 | 8eb4916052a5a7e482801b0a1c8772d1d157c1871bf91862e869bb1ce9238f8e |
Close
Hashes for ast_grep_py-0.14.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06a7d6c8673afce424214a31b96ac47374d74df45e18a1de90ef49d67ed31719 |
|
MD5 | 93db3edfa90ca0ba1ef1bb1ef8c5a3d3 |
|
BLAKE2b-256 | d5e68ab162b55ce0972286c165e2e5ba7a673cb6e78a79247e2276cf7623c128 |
Close
Hashes for ast_grep_py-0.14.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7e73a6ce818017bc4a2a45d20225f7acce841e66cba4d8ee133cfa9f5b72391 |
|
MD5 | 82dc6e9b2d15ddbc08ee94360e326930 |
|
BLAKE2b-256 | 00e50bdd3f6bd4f1efefacc644541ac6c67507dedc5b47bdc62bc0b8b9f79955 |
Close
Hashes for ast_grep_py-0.14.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95b7b626f2c4eeccf6fd01d4b295912542746345f1cef0492600b018278964bd |
|
MD5 | 2bf540b59bca8891e3a66724f2a515a1 |
|
BLAKE2b-256 | c171e98eeab3a616fd8e7f862e963c7b842e0622c1181398fd5cacc75be1890a |
Close
Hashes for ast_grep_py-0.14.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dda6bf77225ba4eaef3b31f5674e030fdabe8db49674d2c9950feb9711d95571 |
|
MD5 | 3e8a29fb2a070b8cc17addb69da71024 |
|
BLAKE2b-256 | 46063c2de95beced513964dc54ab94f2b57e186b75921255a2629931e2ed1938 |
Close
Hashes for ast_grep_py-0.14.3-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1185109f29e7c6966160da69da6889cd9f00d539428ae73b6f1ce610e17d540c |
|
MD5 | 46ec5b5b193c54d0f373882bdcc9d997 |
|
BLAKE2b-256 | d4bdab0783046e186bc498a50fbd60b30c6f76ae470d51bf966c89f9af0363e8 |
Close
Hashes for ast_grep_py-0.14.3-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef4e808d2feca8e1aa8acd25973b094257c61c295d56b5a7e72e1e002e3756fd |
|
MD5 | b126e1a50a390298f25d5154869669a9 |
|
BLAKE2b-256 | 598bba3b5ea4e35380e4f3a756427d3f38751b44bd35e40e5ea47c4f5e4144b5 |
Close
Hashes for ast_grep_py-0.14.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e55aaea788650d95b1375674c2dd0ca59edfcad3e9bdb824631bf93c35a155b4 |
|
MD5 | 3ab52699f198994442d5e34fb13591a7 |
|
BLAKE2b-256 | af6b8074927f79979dc33aa6df6d672a9a4725ef593750703438809d01d4f6fc |
Close
Hashes for ast_grep_py-0.14.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 188243efe546fa9dc24689ca9e7b5516ead297e72cdf0514008baffc10b97bd8 |
|
MD5 | 28f139a4a3f1da6af7f3d049707c87da |
|
BLAKE2b-256 | 36865f87038ea78166ef981888533823ed141db654e795259bc215aa93b5c517 |
Close
Hashes for ast_grep_py-0.14.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2e7f473c76d9804e4752e66a50c4bc928f522b1e1cb434c3bf409e9f1fa4c48 |
|
MD5 | b475f24da4cbf5df7844a004f2ab0c5e |
|
BLAKE2b-256 | a2527f2205ec8f905b4f21ed740d7c7cd563881d236c996b96c1d10bf55d754a |
Close
Hashes for ast_grep_py-0.14.3-cp312-cp312-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1897e60733999771921312e87d28f9c14af1f5731ea87ae26a36057f4447e46e |
|
MD5 | 6d8bc65c55de77471fad7696d6c6a12e |
|
BLAKE2b-256 | da8c8a1a0e796fa1ae2170093244038da48df08a024ebe45a404013b44659b16 |
Close
Hashes for ast_grep_py-0.14.3-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7debd1a930a9729d71ebc830261bc2292f7d809fa9db5758e9506d0c3c49b530 |
|
MD5 | 6e5b319a4570dcc56740390b66bba035 |
|
BLAKE2b-256 | 3791c607d931e0f9dc365cbdef5f3685c01cff986c9c77b31ba9377f4b69e0df |
Close
Hashes for ast_grep_py-0.14.3-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d23cf0e3badae827fe4a62190186631fafa9b7262c17ce9b319d5f45a6287418 |
|
MD5 | fe272401734f486f370397784e78dcdd |
|
BLAKE2b-256 | 78a13f9307d0e48f5de95bb3cc1140993b06df148126510a6ac2222973f78ae8 |
Close
Hashes for ast_grep_py-0.14.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 712210e699f18222141bb7b9951a4dd937b43127b8116093ca91adff171aa6dd |
|
MD5 | 6749224548d7333bc2faa38dc92156a5 |
|
BLAKE2b-256 | cd3a49bb9d130de445e7a63c9f644d65705df9ea88ae8148d228be4c998e4ad5 |
Close
Hashes for ast_grep_py-0.14.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b77e2ec02625e8bca56c07cf08dd5ae6b3d746533671beccb2394763136deff |
|
MD5 | 8fd2394d2e2e7324ae07522eaebf0da2 |
|
BLAKE2b-256 | cd85c49ec023a59b83bd1660a0edd17ff456e37cea384ae6d968d1440851e976 |
Close
Hashes for ast_grep_py-0.14.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 45524e75961845747efdfc56981dabffad19906ba98a65ced95cdeb76a13c578 |
|
MD5 | db1a9a1d30244409f4281e188a4d5f66 |
|
BLAKE2b-256 | 1078ae9f814a3e43a381c963407aad3b9f8fe055179c30a5760aa7d315da9f23 |
Close
Hashes for ast_grep_py-0.14.3-cp311-cp311-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf3b931e35dc3024065fb71235622dc5e29eeac446c37223679c584353c5d966 |
|
MD5 | d377f77b1934c95c0fab3f0387b9132e |
|
BLAKE2b-256 | 1aa525c7e3aa748d950d739c8d7008880a3ff665e9314785a3d7d9002578c091 |
Close
Hashes for ast_grep_py-0.14.3-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f739328c0265b3ce789e133431f42cd783b10494e0e2668212ad35dbcce6fca |
|
MD5 | 1ad6155903690db03d2d7539d5a0e223 |
|
BLAKE2b-256 | 086182f9698367fbcc2dcf423d146da0b4c51066a2330b15f2826aa0f26d4229 |
Close
Hashes for ast_grep_py-0.14.3-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c75ba58e5c84a3b8a5bb2fa2d4512ea1946928e79b4855f902206b3976814227 |
|
MD5 | e11ff4d214ae5ae68ec9c60087f1a2d0 |
|
BLAKE2b-256 | 872cd282b9817ad609dc1820be27c398785eb9d2e55f31344a095597c71d89a8 |
Close
Hashes for ast_grep_py-0.14.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e94e1fd75da421fd007b34032f5d0227d6f3edc71864dcb02d75a155055bd887 |
|
MD5 | 79a8cde2a84715e281621d8d0eee4cb6 |
|
BLAKE2b-256 | b19104b92bc3a8a26cb213eaa90a11173e49212296c7ea64dcc434bb9255cb31 |
Close
Hashes for ast_grep_py-0.14.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8956534add033cae89b0fa2b47c833dbca0d941c42dcd2eb3c393d7aea58b61a |
|
MD5 | 917840fb9cba340be565710b79e72255 |
|
BLAKE2b-256 | 41a1d61b6c840710d2c99305edec39d121323fb09540e0ac43788e8c8f148b11 |
Close
Hashes for ast_grep_py-0.14.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 965db0c557adb8d460987683032805762a923848cef59cc73ee55405f96e4e33 |
|
MD5 | d1d87916e3f8d7b7158554fa30676d32 |
|
BLAKE2b-256 | 882d015bd0d9ba8587f6a0142e79453ea1acc65a509e1cf6614d70abba60da90 |
Close
Hashes for ast_grep_py-0.14.3-cp310-cp310-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ff7cd8e33a2313cb886a1ba454ea5a6c2da8be62cc3c0fb402b10ebfcc41f16 |
|
MD5 | 1934becd1a86ecf28dc0b3da9f111652 |
|
BLAKE2b-256 | 5345c4996e035ca281fc64d511ae1cc6154c616c84bd84079ecf2a88bc3a77fd |
Close
Hashes for ast_grep_py-0.14.3-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27a3e4abe8d1b1d7db564c057e795791d0bc86538c67e7de3a7ecbf408ffa5b3 |
|
MD5 | 21e47fd6839c7846800348566174d08d |
|
BLAKE2b-256 | b82def6b621405fdf7527ae258fe0c908ae07364aba69f10176c3687e2df4617 |
Close
Hashes for ast_grep_py-0.14.3-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16b65f25600f57b0a1685f9c2d42b613445150a2c9e8404955043b3bb2c6a456 |
|
MD5 | 2dc82cef603881385e98491253c6fbd1 |
|
BLAKE2b-256 | 731849742225a981c52a4a4663dc354431b20a4e79f881c79a74e8513675cab2 |
Close
Hashes for ast_grep_py-0.14.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25de6388a02d16c13dc4bd947245f16574e95d03de043a63a1e7e70bd06a35dd |
|
MD5 | 73d8617290bd9fe1b56aa304727dbcae |
|
BLAKE2b-256 | ddfd6838d8284f0c4390d44585b39a65ca1b6dc8fa39af25d0fa8f1399124897 |
Close
Hashes for ast_grep_py-0.14.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6771668fd85f81b966a1643a0a197edcdf017c0a233fc54504ecd26dd77ec14 |
|
MD5 | eb7cc5cf02b7c2b47121d602ff1ac674 |
|
BLAKE2b-256 | e1928d7ab79041e9fb566478d132470c156761116b4088f30e498ac81aba9ed9 |
Close
Hashes for ast_grep_py-0.14.3-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3617e0316c65de652aac435b8f5df05ebe6472d88e706093f861562eb7803be7 |
|
MD5 | 33bea140eaefa5f975908ebcde23ecca |
|
BLAKE2b-256 | 8dc72f7e8c24a7fb963fb71e39fcacda5756595a8dab810ed097b254fcf9c583 |
Close
Hashes for ast_grep_py-0.14.3-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 925c61e1876820fe1a96f28355e9070e7f4bcced45a9a074fc0e05c21b0ea883 |
|
MD5 | 574e2390c4a740439950f4562a15c696 |
|
BLAKE2b-256 | 9e5bee6b3287852704c508a8e0967ec7372ac0d99aa798904888213a038458b3 |
Close
Hashes for ast_grep_py-0.14.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0610429d11dea57e380363b300c2766da12ddcd100f19d36c5a26a4227e55f69 |
|
MD5 | 18fa2dc932b294d4ea6e84c55cfd2c92 |
|
BLAKE2b-256 | 6153a1850ee2abd48717fa15ade3fad870a8116333c400c7af5b4785d4892494 |
Close
Hashes for ast_grep_py-0.14.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc3adfa521a90f0aa9a08980bb67c19641c5f9af05c330b71a5d2fd9bb02810b |
|
MD5 | 5354fe9118571ae782dae4fcbcd4450f |
|
BLAKE2b-256 | b8a3b72d8503710234b5efab8ce2522a963edf9af37177afb57a26f749afa953 |
Close
Hashes for ast_grep_py-0.14.3-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 159d0695f5e53ee835bffb85d6e76639daac2ec052653526f38d010765a40375 |
|
MD5 | 377000d6aa8e01806a25e52644fd6213 |
|
BLAKE2b-256 | c8b53e52e17ee2ff91a4ae1eb6df71d36bb9a29f2f7d4d12d2e08485cdbe1cba |
Close
Hashes for ast_grep_py-0.14.3-cp38-cp38-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f532ed87370b4bab7afa67302ea07f9b9133dd96055f677ed8a1c9bceb6df116 |
|
MD5 | 202328bc47ec9a08290ccb9d93989755 |
|
BLAKE2b-256 | 7ccdd04cbb8d8ba6b6efee301574d877963b2e98818eb896e596c003bf05e068 |