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.27.2.tar.gz
(121.9 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.27.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc1a96bf7d6e878c8776fcd5b264cca6a5e12b0da9d8a581a4fd06bd591fbef3 |
|
MD5 | 12ca42121e88a27846d0cd0c0d5ff8de |
|
BLAKE2b-256 | 320b8d0420c21b809c87e64ba78b32608ea53e8598ddeccd9529161536fb10a1 |
Close
Hashes for ast_grep_py-0.27.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4864787ab3fe2cb78989033eb64626be067100c41f774fd69d9c7e2f57ccd1bc |
|
MD5 | 66e377579452e277b4d5b9fffa918b10 |
|
BLAKE2b-256 | 3fb236e06a8d2f68cc491682c3e0d469b80ac8efc5a8e2f76bfffd0333e5c563 |
Close
Hashes for ast_grep_py-0.27.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2deee9157cea304cdfeb3d3973a4ca7959503db72440c14949c15f477de1871e |
|
MD5 | eddb2573f000336ebced47acc8457947 |
|
BLAKE2b-256 | d165ec5639b0907067adf16f3340d367776263d081dc3faf03c6031c478630d1 |
Close
Hashes for ast_grep_py-0.27.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03ee359131709c805eb14f52c3dab1dad7918a3455ce5a6a21dad4cbdd5b7aec |
|
MD5 | 65b677db5196e709f8094c5ad950f580 |
|
BLAKE2b-256 | 30664866d1069a07ee66d2bbae09fac8027beecf1cde91380dce620f31ee7774 |
Close
Hashes for ast_grep_py-0.27.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8c5717e986b0b2df0ec0c810168445ede619c2135db719920e52e33dcfd1f0d |
|
MD5 | 8f0956ea64d5410c13b01adea0e8567d |
|
BLAKE2b-256 | 404413566b5728b95c166d68d595638051f1871b6d26653a78470900c27a21b4 |
Close
Hashes for ast_grep_py-0.27.2-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37121caaee8c6ab9fdb0380d784864882f825510800a21d1235661ed94dd1808 |
|
MD5 | 42995133e27e75da87f2a22f75f5d6e6 |
|
BLAKE2b-256 | 43bcc914b5d8fb017de9263722d83851376ef67a45602b72c91952e7643c7612 |
Close
Hashes for ast_grep_py-0.27.2-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 072acfb6b9396c8da532c9917c013f00ba5fa729f57f96b060431b906ad85902 |
|
MD5 | 60b55eb21154d8e5eb056dc89792db0b |
|
BLAKE2b-256 | ccc722ed8a74519e6b48e274e61a31560e7d0c1a452f73ce7cff3fea63b22a11 |
Close
Hashes for ast_grep_py-0.27.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a6b739f7c2f747ced881c1ec285815908e93e43978a7587e53aa44d6ea668059 |
|
MD5 | 1d6b93fb23451e849986bf1b6bc86f6c |
|
BLAKE2b-256 | a529c6dce3e680226000320b681323941e6a901ae7045d3d782dff97ead3b08b |
Close
Hashes for ast_grep_py-0.27.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df22ad19cbc3870e3d7f6d632b30624a17b409aec2d9c8d63c340e7e2c812e92 |
|
MD5 | 0338dfc048c1ca60f7500a5d22ee1871 |
|
BLAKE2b-256 | 67d20b3379e2a7c89d8a763d230529e7f3a58161c12144829937697a9ec0b609 |
Close
Hashes for ast_grep_py-0.27.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5a1cae718bfba45d07823acf7cf5b39527edf49bd2f5b87e1c0f89a598c0445 |
|
MD5 | 329d2d5e705555adf4dd5b2db08eab4a |
|
BLAKE2b-256 | 5c35cbde7217cfe5f578ec79fd06513e1cf31890b6456d9a0f8121d6993c0023 |
Close
Hashes for ast_grep_py-0.27.2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30a67d247872ffaf6244e880c31058e2d879c563185aff35594d5bd320304173 |
|
MD5 | d2b34d9124e0e224904d9b7dc6c0e5fa |
|
BLAKE2b-256 | 5912a6f15e7a607664e9bf78f214c074438bcf64ac91d0e091475b07b95aef6a |
Close
Hashes for ast_grep_py-0.27.2-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f79f26dbde6e79647888cbb0f1977859ea831cee7c583093a4fc3f144e741cb1 |
|
MD5 | 8b60705933f6f9fde18e7acba86afd8d |
|
BLAKE2b-256 | 3221bdd3d2eb73422848e49d826e69613e01317d9a603319383b95d40d808482 |
Close
Hashes for ast_grep_py-0.27.2-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15ba04b3f4e2bde59901a50324e264a706bf531842f72a1b356a4abf28530d89 |
|
MD5 | 2bc9abb8b052d39353e55e01bd7ff368 |
|
BLAKE2b-256 | ccc04279cd7a6ac9a390464e507afbb1dd5b5006a9145b52a63403139c1f6b77 |
Close
Hashes for ast_grep_py-0.27.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d6670c680bd3cab0c023c4a206cb7bedce1fea7ac7467823cd2f9dc5385a8a0 |
|
MD5 | f74e8bd19049d618fc944e6f1ee9bd73 |
|
BLAKE2b-256 | 9d87cbe160a7ae0cb2ca73ad159631779c119648bcd794f64b09eb78f086b1b1 |
Close
Hashes for ast_grep_py-0.27.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 803c638adcd687d2d6ca48910012785e63a5f1ed399a9604a2e4ed9c510aed63 |
|
MD5 | f2cfeb0c6fab6907398cf01be44fac3c |
|
BLAKE2b-256 | 134980478c720c04d34bbe17e6344634db07755652a75cac8e3907241bc5a846 |
Close
Hashes for ast_grep_py-0.27.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aadd9e0397ed912c1e8577508c020b6cc428d28ccd3fd630b5acb8a5a9a8108f |
|
MD5 | 48d186c7a00fdde985b1478d73e7e8da |
|
BLAKE2b-256 | fb287ccf60c502947ce71ef2428aca43cd9ad80b5f47a217883f11a7c3321765 |
Close
Hashes for ast_grep_py-0.27.2-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d7c038a2d9627c01b64b4bf9c223eb9c9d991d2664c059519a2abda5644b6e6 |
|
MD5 | 6ded0666a3a8447fdd4571a0f6bebdfa |
|
BLAKE2b-256 | 05aafa903332d2742d6f7b1187b6e129e8c6d917f8aa52272aa0aa834796ab49 |
Close
Hashes for ast_grep_py-0.27.2-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 431f9f1260f381527ae0c6e5e824c2c33e73c6a5413e30a466dbf46090d40e27 |
|
MD5 | c03add4f7679e7c95c2c917c5488057d |
|
BLAKE2b-256 | ef77ae0de0637d0bb075db55b5b0f2a8198e6d38358345523cd025aa1eb83c70 |
Close
Hashes for ast_grep_py-0.27.2-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81f00f2d9eed81dc8ebb1acab3f0e892ae3d9d5d7cd1ad3ed539035f07617b3d |
|
MD5 | d623069ebad43adb751e56733c2126cf |
|
BLAKE2b-256 | f7d10e5a6854bfd0640d35d67abfca7eb6f718e670ba1dece5f0bb73e0bbf791 |
Close
Hashes for ast_grep_py-0.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 941b4bc34bca4d994bce8d91b52760ea8e09d9a3bdb21ee93b62df2aa73a7beb |
|
MD5 | 2a356d6e8d919400a39f225aee620138 |
|
BLAKE2b-256 | d674225af0a4a7fa201b80b5ac8f875e3db947f40ed3cb945cc924fb63865606 |
Close
Hashes for ast_grep_py-0.27.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2dc793f0522215297313a455beadf679a1f7c4f5a7c0728b652e781b33cc8ffb |
|
MD5 | 7866fcbfdd58405a9132e66009203762 |
|
BLAKE2b-256 | 0c59cad015893aaef6bc6c231d4b5a6eafb490ed0c16ec3b636cdc0055e4d5a8 |
Close
Hashes for ast_grep_py-0.27.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 035c00449fb992ef9c80b3ca82306c5244ddf1e0dd7f4f90554dbb06bfbd1a0f |
|
MD5 | ad335622b1af31e96f5f56da9e02e51e |
|
BLAKE2b-256 | fbf123c5da076c5d0d8017872af0f8f8ac7f4e56a68358ae59526a052661c906 |
Close
Hashes for ast_grep_py-0.27.2-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 703014697d1da00630c64f1aa728204094b213a5495a3bb496aa10f478110837 |
|
MD5 | a4cf3496d0371d33fc68bf5df8935a45 |
|
BLAKE2b-256 | 438d10b162f1ff1bc5c9b9468f24245ead49532018e3cb173fea6825936fac12 |
Close
Hashes for ast_grep_py-0.27.2-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e84d9894c59622bb6719cffd0cc56f6c171f67d5f312b94061e02ebac125701 |
|
MD5 | 0769529270d820774d3a67837de3c58d |
|
BLAKE2b-256 | 6fa77e59d6b21bccf2aeccab684100a71439e46320f1086f0ad0841ca66dfcfb |
Close
Hashes for ast_grep_py-0.27.2-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6a57f88cb32e6174983084a1682cefff82021b4abedb8a4cb66e0aeb13e1666 |
|
MD5 | d63f0eb9e32c788d23f6238e09c4968a |
|
BLAKE2b-256 | e4b49c88d77ddf6fc6c0c27aed35bb6269aaaef9dec3bb6db0af6b92709cdeab |
Close
Hashes for ast_grep_py-0.27.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4861d52bf1de310593ffdc4997a74fe7e9798a332fd2ec03012b3e1cbf6250a |
|
MD5 | bddbada718cc56f5da5cc65115370f21 |
|
BLAKE2b-256 | d0c993401b869446681d11b84fa5c817daf18a7079e27e65d7ada710abbce3bb |
Close
Hashes for ast_grep_py-0.27.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28f181a740037f5d6ebe8e3d3f747a4fd1de41000b128859063ebf24e454c72c |
|
MD5 | 397cadabebead35634e218f3af55c2b4 |
|
BLAKE2b-256 | 7af841e73e631a054d6893ffe5ed5bfadfa1fbadc421fb095d467d01fa36d5d6 |
Close
Hashes for ast_grep_py-0.27.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3009b4dd511d1743e069db9772a5e0156098c250fc63e44fc519a98ffe60ea74 |
|
MD5 | 7b6e4e4f70cf3b5c9b7809ed8862e52b |
|
BLAKE2b-256 | 94bb5b85e2890c4e8b148bfe74ac6dbdbafc2f83b513bcd10a355d13debbd3b3 |
Close
Hashes for ast_grep_py-0.27.2-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1749a4896daee5b5917b8eeb89ba3d1b1e2623da5db227c704b967f75018a283 |
|
MD5 | b9f95a24d31174fccd4577531b1b10d1 |
|
BLAKE2b-256 | b8fec6a373d975eb8ae12717e5d391b8db002a8fa9167b83e1c41d3b8929d82f |
Close
Hashes for ast_grep_py-0.27.2-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1bdf111bd5093a37e914df6fbf5db70f1e0d49aff4fc58cddd4748ccf239d665 |
|
MD5 | 9fb06724b0280d21052c7dda46c2cf67 |
|
BLAKE2b-256 | cc42e5834a3d14d3a3159fb9f194108f6897136ff7a2cec7ff839c6f5cba6b85 |
Close
Hashes for ast_grep_py-0.27.2-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c19275c0216411cfa7b53ba2c6feeead44e6675c417943dc7420325f4a57573a |
|
MD5 | 590f55ce193f976dbf65f021495ef9f6 |
|
BLAKE2b-256 | 69ef4f4316a0cf88e4e776d4585ccb482fa6228f05d285c04759e2245a33b758 |
Close
Hashes for ast_grep_py-0.27.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c48c07eeafcda64155d3456caec4ec49dfff553542b6e55068ffb8014377eec |
|
MD5 | e782389dd5708779fa612f5e0304cc69 |
|
BLAKE2b-256 | 282157551e80e5a8502e33c8c5f89fe2d4f89661557aea430411c5e113e69b29 |
Close
Hashes for ast_grep_py-0.27.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f58a498310daef2bec8f2ebd1c3b8046d745d7cbceb387d5a186ccd4b578ce2 |
|
MD5 | 4d5cc223ca95a58df378cfb22805e7cb |
|
BLAKE2b-256 | 79da81ff86eb20a3044453c1f18e592078f5ad616ec8918f61e9768a64518812 |
Close
Hashes for ast_grep_py-0.27.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f4048326ad095cff9484b59233ed62c75cbaf8210d92c557dc4f0b4f65f3218 |
|
MD5 | 1ed2dbc248ea22d78f3b9791897d3e6c |
|
BLAKE2b-256 | 74ed54f37f93f5223c6c6e8362d4339dd2dfa34e64ec54131920e3ac430b54c8 |
Close
Hashes for ast_grep_py-0.27.2-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7f4954c11033c0527f6eb9b992750f00843df254b28a3c3a63b4e4c45f77169 |
|
MD5 | 07a3da2acd335344fe63f400f77c8b4b |
|
BLAKE2b-256 | 54fa15b441c76d7ea33f3cb3c76931501b0047daaa1a4bc3a3a4c77ab64aa973 |