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.1.tar.gz
(102.8 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.21.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aae2df065eb0e440963f5b4e3e0b22bfc3c82d14bdf85b62e098154049985346 |
|
MD5 | 667a1d5500bba12865ad6428a77971f0 |
|
BLAKE2b-256 | 0550f4c129c18d4a30b8a2b9b9e156f7e02379f5dc4048c6698ffd4248d214b1 |
Close
Hashes for ast_grep_py-0.21.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | baf59303ff7e775422fe36413483056b801d347f7d25f84fbaadd68390ea3642 |
|
MD5 | b4df841532451e2b7e3827b96cb7270a |
|
BLAKE2b-256 | 53a2af8a4f304a8bbd75166195100d0d03bdb8c7ac7dfc051a426d2f0565107c |
Close
Hashes for ast_grep_py-0.21.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 997d03e8f1ee4758f37d04f93b12de966368870c87d1dbd26d950ec9ed42dd5c |
|
MD5 | d058dff2494e04a8ba5624279587cfc3 |
|
BLAKE2b-256 | 0509f49172c835873b2e3aa82595f5222de54eff588e42321a129abece22881e |
Close
Hashes for ast_grep_py-0.21.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 248ef97c196b16f6c64069d5f4e0c02402d4fae77613352f07a0eafe665f9303 |
|
MD5 | d7082668ae4a0615e3992aa8d7cf72cc |
|
BLAKE2b-256 | bc80c3eb3ddc6dcd749520e9d91dd14c5bc6edb53ad88f757eb68440fa776ea1 |
Close
Hashes for ast_grep_py-0.21.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 042e2332d7b59f55ccf88157ae5f57aa04536bf46e8665477df32e9bbf243418 |
|
MD5 | 158b1871f281f7d6ed673419d1bc2388 |
|
BLAKE2b-256 | 3ed19280127e876bb5763b30786743129634ea578dfa3a7a9139cfe9654855aa |
Close
Hashes for ast_grep_py-0.21.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 005af852043c447129a57ac36a5a9fd10fcd3e6e17b20200f90f89d3654263bb |
|
MD5 | dd5576cebb99bc141b56d4a22b50ac99 |
|
BLAKE2b-256 | a59fcd4c31975da9c6a03bbc2b54443ba3437df6ca95db7688d3cd883e0fb574 |
Close
Hashes for ast_grep_py-0.21.1-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4fe2c4d8ca22a902ef9312348eaa2838916a768b0236c1f660ba02b0b8d51090 |
|
MD5 | 467b1215362db3ee4bc0463048e2fc97 |
|
BLAKE2b-256 | a74e9b9dfeee3303fccfa1f20c28ca4382d8a1da87064e73f46cbda670a6a67c |
Close
Hashes for ast_grep_py-0.21.1-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | caaee19ba1672bcba36aba146b2a9810051467593ff1b73ab8508e119c1515d4 |
|
MD5 | dcb130838ef1da7908d309f1b4be9bd8 |
|
BLAKE2b-256 | a4125b7e3db66884f770dae56d0dba99a1c150b751ec10c1f70732505b081e53 |
Close
Hashes for ast_grep_py-0.21.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 755bbffa8b773cf185f9f96aeefcc43480176952b03c4b1d7b8cbb0665e26934 |
|
MD5 | 93d441d625a86867d317b438594e0718 |
|
BLAKE2b-256 | 987003d6141e63f7c5805b862fb856b7eb1f006bae4d2f95666346d40ae9398f |
Close
Hashes for ast_grep_py-0.21.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1103ab1ebb55bc57840c1bf4855974b7e2b7269ead8f38973480686acf4b22bf |
|
MD5 | 34bf0b37ea6f5f63c0f15e6aed533bc8 |
|
BLAKE2b-256 | 26c7618898ef43eb6ce9c2b513d402c1fb9181cf5b4edf40b04dc33702fe8cb0 |
Close
Hashes for ast_grep_py-0.21.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36fb1ee76f4c89bce641e14b8a379959df05a40bd1dc600bdd3293f5f4ee2041 |
|
MD5 | 936e5444fcb63e6721b84a3e57404724 |
|
BLAKE2b-256 | f81946e40b9df91f987a95508669edb9bd79187d19566542c0b0e1350163b3fb |
Close
Hashes for ast_grep_py-0.21.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb8b2847095ed766e2db9bc89c26e977c83383e675785daeea49c6f0b3dd986d |
|
MD5 | fd61f6feba67236d9f08047e6e80e7ea |
|
BLAKE2b-256 | 96c56f02f926d9a7d2dd376782bc2354cf727bec5e94ba997da7aed00091db27 |
Close
Hashes for ast_grep_py-0.21.1-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b0f9c8ff873dedc44cf8c7e604f19e57394e08eec525e20dc929c21ee5e0b55 |
|
MD5 | 15efedcc45e6706418a9e1b6b5b7910b |
|
BLAKE2b-256 | e13a7923a3efe8ae6beead55fc606493ce0b7ff1de72fefc4387d781be6c048b |
Close
Hashes for ast_grep_py-0.21.1-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 531e1d9c8835194ac26e834f1e38c530eaa63bc5395a6fca6d53ba29f9dd3917 |
|
MD5 | 80bfec539b29bff9a8e59c74d8051c1f |
|
BLAKE2b-256 | 33fff83b1c17aca7af10cc32e8ed03f0f8d4aa1334a9dfdde0cb806906e8144d |
Close
Hashes for ast_grep_py-0.21.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07a8c5f28908707921575c868870a6aba3f20a5c20d6386bd80b72b141677735 |
|
MD5 | a893b87dcb994dc3484c6f0277374a3f |
|
BLAKE2b-256 | fff5d4e50fb57cc335118d96000bee4741fcad80d1728f6062e5cbf4db78ceda |
Close
Hashes for ast_grep_py-0.21.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1972df77f2b77eeaa957c19fac071f3f8d0e2f9d0534d91b3367eacab786ec7 |
|
MD5 | 7a7302606f4cf7a6ee0dafa209b6b20f |
|
BLAKE2b-256 | 31fa60083f39011ed3e6fb25092f9dfe10cfd4fbd88b90041b30b30419b9c93b |
Close
Hashes for ast_grep_py-0.21.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e666a855dc4dd981137d059c8f2124abd8b56dfa53b0c6aec45bf11ea4b6f296 |
|
MD5 | 24e5f08bae122b686eb737c4559c7c7e |
|
BLAKE2b-256 | bdca3bd6eb59be08cc01ee71be6856a9f12ae264555c2f77c8eb8e6f189067ce |
Close
Hashes for ast_grep_py-0.21.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 203a412b79144c98efe61bd517481cfe2d0a3ac4d6f476f23e26b278355c00be |
|
MD5 | 978357453b6f814877ff8f1ce712d10d |
|
BLAKE2b-256 | a09701c1f1f705238ca641d031ecaa307d091f81bc60aeee0e5a5a863f407c3a |
Close
Hashes for ast_grep_py-0.21.1-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f36838245cbcf3bec2feec47e94d420588b85cbfd2bd3a32899d8d3d5c0b928 |
|
MD5 | b5cbe8633be722a32172d6ebceb06d11 |
|
BLAKE2b-256 | 991ffaf53949fb71b048bc2609e73b19abad027acd90483d3170bf76862c7424 |
Close
Hashes for ast_grep_py-0.21.1-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e20069c991a32f0fe1ab1ceccaf70f232e3f30987b3200bf776182085ae875d8 |
|
MD5 | 805f9b6e42766f5cdb3701858a4f74fe |
|
BLAKE2b-256 | b9ad02b86608ce52c071ee2ab89f8c434af523c4d549e0d3888ae297f1e69eac |
Close
Hashes for ast_grep_py-0.21.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 824ff12d1ac8ef25530d8589bbefb1953fe014faf2d1a8e8893d914a62115bd3 |
|
MD5 | 1808c314e2dfc2af19beef6f77b35875 |
|
BLAKE2b-256 | afeb2d44d82b4092b957465109ae16ab4e342155ddbbd12a8be40cebe358077d |
Close
Hashes for ast_grep_py-0.21.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f1f4f2b66b4bd68bd088e09979c00b96df21535d6945ea5bff29e9f422e0f7e4 |
|
MD5 | 79665e3e951b3401fcb69a97a59ace66 |
|
BLAKE2b-256 | 097ba17b3a3a1725084698c5a4115d54c47483cdc04a4267c390d6d48a9d40d8 |
Close
Hashes for ast_grep_py-0.21.1-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 867c0ec3bbfa7128331585a5c04f0a33c1ae261c7cee990be80644d4b13a2d6c |
|
MD5 | 6b49fac025458c687a52ed3fa8fc0dfb |
|
BLAKE2b-256 | 1c6109ec211fe1ac4df2c3d931e70310cf420f9ed818062e13c1fcf6b29bac56 |
Close
Hashes for ast_grep_py-0.21.1-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7d4ba11046558b15c10e40cff8dfbfdfea64246fb5630431d531137368fb21f |
|
MD5 | 547dd85d1affb82d9a671ac9255cb8f1 |
|
BLAKE2b-256 | e38b047259ebde8d71906731cdf494d0a091b22df6612d0c6ac52737f702e127 |
Close
Hashes for ast_grep_py-0.21.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a3554dcbbe573c16dd8c82fe71dee5bf021e70b36cb6c04585fad63234ca3a7 |
|
MD5 | a296fdeaa56cc699aad6ce1d8b63f7e6 |
|
BLAKE2b-256 | 89a455b30470ea7450583f6ecda398a7eaf8458e3b235180a3fa2ce5499d9231 |
Close
Hashes for ast_grep_py-0.21.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c3da98410ce1bb2ba1dd038adedc94457ab4e6821b0bbfd93cd64aa2ca62ff6 |
|
MD5 | b60b674f4141586bc062de01a8537608 |
|
BLAKE2b-256 | 2b5d09fe8fc321a22de9a63a2e2d2aef8656b672ee63407c744b6925769f9a8c |
Close
Hashes for ast_grep_py-0.21.1-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29b7091bac23951ddc9119a4e3b5c773c91aa5ec7fd3d7ff3aabd7d35df6ed1b |
|
MD5 | 1c49328b4c02134aaaa4ad699cba7804 |
|
BLAKE2b-256 | 9e33de52b0096c811bff9f229c9233f60b9ec91344533d055b3a8b2952a0d276 |
Close
Hashes for ast_grep_py-0.21.1-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | abb39d8e2409487a667e048d6686e03e65bbe026318212625335a1246680b09a |
|
MD5 | 3d19635c207a75972bbd75ba0e185b2a |
|
BLAKE2b-256 | 8e8995aba254cfbed6d7f9f6779d52e2c163844558074f0c1adfa5401259e30f |
Close
Hashes for ast_grep_py-0.21.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73401e9d2eed9dcc31f5e2c238981865b8b1c3ec5f3220c46388939e4ca879f5 |
|
MD5 | cbbf5a95315b3cb9fff7702fe64f203a |
|
BLAKE2b-256 | 30a27ca4b399053abc480d744f63d933871f57c03db02a6f6d53ff2ac6e5e079 |
Close
Hashes for ast_grep_py-0.21.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df128bae9fa5a67ea2f41eb1ed756b4c24e37185bd8aba04029121b049b17264 |
|
MD5 | cc7a45af598dc79391dc0709898ca48d |
|
BLAKE2b-256 | 667883ac8f7f1033d8c6d8d5e18d3bc855c45436a7474a14d31f9238662e6451 |
Close
Hashes for ast_grep_py-0.21.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 111d0f8c8d224a26f2fdebc10615bff0ada8528d4ec399c68aa1aa9b707cc223 |
|
MD5 | 3a3be0c0c59333b98fa2b83c6e553e9b |
|
BLAKE2b-256 | 6d2028b0ce7a4ff7bc5d59aa227134eedaf2e90f354c5f6df86b502fd3fcba5c |
Close
Hashes for ast_grep_py-0.21.1-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ef67e2c3ac66de7e380a743673d59bb25e50cf16622033b7e32b0fc045a1bb5 |
|
MD5 | 7cfccc3c2dedd68de56aa40a24478f8e |
|
BLAKE2b-256 | b24af9ddd0f21a8434a6770508a485b3f3d63da3b8d3e3b6f097da2d4b04a159 |