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.6.tar.gz
(115.5 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.25.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 592d653cf37ba8835fd8ada71f9ec0f11cab486fffb0a79ba357f2dc28f0f251 |
|
MD5 | a7cfd7390cbb0219efcdef2b421d85ee |
|
BLAKE2b-256 | 028c92a640b9ba95c467668d4342d1fdee9f5224d60dbe727d49acab90cc6ebf |
Close
Hashes for ast_grep_py-0.25.6-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13a86f9b0d210a469fcf703c1d6112fc9d81528169312028914721bdd5367c60 |
|
MD5 | 590fe8182188918037cd8cb83f930d7f |
|
BLAKE2b-256 | 886b6b1ea03e9388add0e9d432404dc395c0dd1ae0eb382b92a34a884592f921 |
Close
Hashes for ast_grep_py-0.25.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 771f21bdef72ce38c9b420e8caeef70d248c27fb4d701327c5cc94c5985c57c1 |
|
MD5 | 0fef76e7b292d7a418ebe9e9498455ca |
|
BLAKE2b-256 | 8b3fc8cba4c1851b5b8db0c6e2739f8800df01deb23751363c588639541dfcef |
Close
Hashes for ast_grep_py-0.25.6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 845386f6d68a0168be46082db5299b85f56fdaba00ed393a3184693104341f7a |
|
MD5 | 1fa7500eb696b725e69c7beabfa3db44 |
|
BLAKE2b-256 | 4fdc662033729c8f8bb092fb6374f490fe8b33141802ec60a63de7e84daae285 |
Close
Hashes for ast_grep_py-0.25.6-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25b7a981a10be7c62d49de9c333a608278c76b257fe0fc2ab5bffe4047f4a750 |
|
MD5 | 644f35a580ac5c2c3c0cb16860b172e8 |
|
BLAKE2b-256 | f69491cf6f1cfb4fd4db031b5cdc9265a4c923f72ff4918d1efc82358dfe1f64 |
Close
Hashes for ast_grep_py-0.25.6-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fdd741bc0799d2f4754b73654da681d308ae441a6ca17a3c9f46ec1734ef93b |
|
MD5 | 6fd749ac79476eb26cce2dccc2b2feea |
|
BLAKE2b-256 | 1133d1f611aa109f73558bf7c929f2c2f3d11a5e0668c7e3aa0989a8163ce453 |
Close
Hashes for ast_grep_py-0.25.6-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1efef5b9e1b264804dd7c18a78c52d5e0d88762e315fab029c8c47ab4c8fb874 |
|
MD5 | 2124be6b220d6eb2ee9a03ba1383bbb2 |
|
BLAKE2b-256 | 35e92fc970e655468256625b13209208529b7e1b9c8d12306dbfce51ee9e74c6 |
Close
Hashes for ast_grep_py-0.25.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05585d25f96b7e12d7d1ac8713b2bc7d352d961d9ea091cf6c90cd82240510ee |
|
MD5 | 3ac9504fb9f85e4fa188972c0d0dfcf3 |
|
BLAKE2b-256 | af3510b4107eb08443cc0c1ea768e6eeb642a600a450d4b96ebb20b112981de7 |
Close
Hashes for ast_grep_py-0.25.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4248c7378e639528b02eb3bbe591e5d541bc78a08b85fc5aa1a1ee3f9b12b9a1 |
|
MD5 | d347fcb7c0bc7e797e1381ce8fa37eb3 |
|
BLAKE2b-256 | 72332ad6ec6cb2b34f18a9049c33d03e4db8004b99fb7a0c0d2c9e8656b0c07b |
Close
Hashes for ast_grep_py-0.25.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 843f826077e06069243dad4c7a10c8c7998b18c3d608b99da78b188eea66cf9b |
|
MD5 | 07070f6336c81ff10d37dd66fc4f3b4c |
|
BLAKE2b-256 | 3f9e78092050efdda91af1f1250704c9ab42a5dde03cfb33101fb4c78f674bb6 |
Close
Hashes for ast_grep_py-0.25.6-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c505287344befb53bcb93c293fd2ab9038024f769d45fff9db5a2ffa29a03d43 |
|
MD5 | 1375940a362b6e991a4454974d0cf12a |
|
BLAKE2b-256 | 6f1c13db36530f25775c2bc415ba5587433b7e9ced72070bb5ecab6aff4d270f |
Close
Hashes for ast_grep_py-0.25.6-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb2abc4a056b47610fd7625d3da9314dff76016b065bfe12cf7599ee18eeffbe |
|
MD5 | 3be1286ef3bc8af09533581d039341b3 |
|
BLAKE2b-256 | 293e423a810daa4eb4894a9a1d519d59cf619738e391e91824e2088e9f566841 |
Close
Hashes for ast_grep_py-0.25.6-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e74f06ecbe7ad9cbe440271096f01bc4844fb249648f5ee8af5e867ac3fbf090 |
|
MD5 | ce1e51e2547e3a9fd71cbd9123e66aae |
|
BLAKE2b-256 | 821ab44f8a4730019eeccdfa502978cb65390faf313f0456ea5d2d4e4c3fc7dd |
Close
Hashes for ast_grep_py-0.25.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | afa3527581dd67d8bc0a92bf639b5c8b7f3fe7001f99e07b0242b89cc28f0ba9 |
|
MD5 | ea98f9d6eb6dfd70c2d577935180da60 |
|
BLAKE2b-256 | 9c49937436ec2416c3ddf964a63b75bdf23c24ace92847378cb60c15186356db |
Close
Hashes for ast_grep_py-0.25.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee0b88131c57dcd538aa236b4e82d78880669ff1f036877f53d81106661eff3e |
|
MD5 | 60a26c333f6d5f1a13e762b88d53209e |
|
BLAKE2b-256 | 820f1477a2d6a59e6615803e8e52d2c58fb3429ce1616329046c8d6ff70f1557 |
Close
Hashes for ast_grep_py-0.25.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6aa645f2c6bcd80477e4634b86af5ef836a9566779017c081322f20f6a9a81f8 |
|
MD5 | 8b4185b808f7d94945bfd44a8e670bc9 |
|
BLAKE2b-256 | 9cdbb0f37717e145a45edd58d66d7c7c5fdb0eacdb50290b5118eb4144e78d55 |
Close
Hashes for ast_grep_py-0.25.6-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef9c3ff1cbc08900ae8a1852d8d9e65da9f428baf71e21db78b5c8e9d0ccef71 |
|
MD5 | c60b4162092d3c3ddf26504d933dbdf1 |
|
BLAKE2b-256 | 8e846f866f0502354e612ee2948bae73050ef483d134b82f46e041739188507a |
Close
Hashes for ast_grep_py-0.25.6-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf2cafbf84c05da67bc37c062d1958ded3d0dbd76da08c6f7e4ed19273c8facd |
|
MD5 | 4b3d48f2d14af383fdf13bc88844f6bd |
|
BLAKE2b-256 | b5e75a7dd9597ed01b40f814d761bece18f4d847a9d3aba72187ed3a989fdf73 |
Close
Hashes for ast_grep_py-0.25.6-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32c2ea980082baef0055b3c0a5c95e6d9a158aa1423bd2bf8d8feb0d7458b132 |
|
MD5 | f036b9de7c791df68b32e9b1a9f5abaa |
|
BLAKE2b-256 | 880809da96a6cb2ec9c803e804937cba376a7cebee1d4a3cb196dd680b30bd74 |
Close
Hashes for ast_grep_py-0.25.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68bd6d200f7fe01b57cc7eb7da196f2cbbd13aa958b2b74a885f88a781663ac0 |
|
MD5 | 5bca52f5b07b7ae59c64a0d95f0331f1 |
|
BLAKE2b-256 | 613170a8ee48da610b2bbd7cb2654c9acb8bedf0d2aa99416cc6bf5e744d7a01 |
Close
Hashes for ast_grep_py-0.25.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92e595889ec733fb5057b542fe558ff930bed4f7cbb8af7085a3952edce58eda |
|
MD5 | 062b1e59d995459ffda16db86e973b01 |
|
BLAKE2b-256 | b49aa9f9e16fd660f3a2c09dc7f5cf633ba28808a01dca741c0f72495e7e71a7 |
Close
Hashes for ast_grep_py-0.25.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 158fdb0257e220027219a32fb731b78f32e9cb6ddb118076aeecc3b58faa9d21 |
|
MD5 | ae00ee382df451b7c2dd614e31fac625 |
|
BLAKE2b-256 | 6510e4f14750321ba8daae405595be45be2154c42c66804f2730ea6f7ec86cd4 |
Close
Hashes for ast_grep_py-0.25.6-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8af383823eb565a82d92b8568e3e58bfe77221d35f6ca105d0477d8969ba7093 |
|
MD5 | b25b59ef592aceb107d3d5131dedd09d |
|
BLAKE2b-256 | e6a3e8f9d581f7f2a6e4e15a289a4abcf44c28b62359f887a3c53ebab07b702a |
Close
Hashes for ast_grep_py-0.25.6-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d98fd350d8a62398f77eceff41c022641a3fc795ff2a193661de852b9ee71734 |
|
MD5 | ac6cda8d9a7a7c46c627776247ed6e9b |
|
BLAKE2b-256 | d2985a6cb37de70221dca1458a7c6e87704fd425e07982f95ab2d0fd08789e2a |
Close
Hashes for ast_grep_py-0.25.6-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9bc072db62df464b643123010939e01113b3b1304db30934ea9fedf5a6967546 |
|
MD5 | 93f488fbc88f79079d47084444162ffc |
|
BLAKE2b-256 | e2a1b5d26cf16fc2d3a9099b01074cfa3391552ee2c31ab2f111285126e2b93e |
Close
Hashes for ast_grep_py-0.25.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f2d34811eb76006639ebea0f10d51b20acab577453863570524cfef929a5ddf |
|
MD5 | 29949e3ef4871bc7e36ed6dd6f9df1c7 |
|
BLAKE2b-256 | aa7d63841ce3e430f3f8f6657163ab29698b0dda9fb8ee42526719a1b12fad5e |
Close
Hashes for ast_grep_py-0.25.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a871d06e43b552e37f4f3e1182e0c3f3762906dd428db98b4bcdd58fb5a8692 |
|
MD5 | e787750dacfadbe91ce3a4cbab9883fb |
|
BLAKE2b-256 | fdd29a3f908855a34cfe0b2b081e5c30398ba8355e75bc8dbd700b83f07b18ae |
Close
Hashes for ast_grep_py-0.25.6-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 244e31ce9e5580671aa4d1badd91d487b55eb5a3110b0fd8a1c42cfa15a45e68 |
|
MD5 | 1367ee2c6d334d904e803c6e8d8c38d9 |
|
BLAKE2b-256 | dfc783cbef0bf271fd5fe2b68be9232fcc47bd4568c936efef6876590aa840aa |
Close
Hashes for ast_grep_py-0.25.6-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9956104a81458d00019c76b350e590b52d4b83805ab6dcc9ae903021b530bac |
|
MD5 | c0351b81533cc7f4378e223164142808 |
|
BLAKE2b-256 | 0b3f2061384d2bc57691cc8fcb4c9d796fe3f1fedcb04ab15015bf19ee851aa8 |
Close
Hashes for ast_grep_py-0.25.6-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 866df6a79712b5d2756f006de3e5c08ffc2a1845e77096652369b3888f64dea3 |
|
MD5 | 6f9f97a6f3b314393c805b23378c6241 |
|
BLAKE2b-256 | a874feb08563de32a77f3c00e9c0994b340d8dd46f589a570bfc4e251cfb3b03 |
Close
Hashes for ast_grep_py-0.25.6-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bda90f65ee791e6aa0be71b1500e342af86f16bb690e9d14899c257029687731 |
|
MD5 | 634984b9896d67d84490ddaea6b16b33 |
|
BLAKE2b-256 | ef5f0bf6c1ab4bb5e8b452cd1b05a7e7678f77b30eb9ae9b7221c0dc17fd5273 |
Close
Hashes for ast_grep_py-0.25.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | afa5a2a6151a81bebe3338bd977fb8fa37a637e33e5fd5fdd2c48f8a28e8505e |
|
MD5 | 0c59ea2b8a4495c3f97e071bfe3fe9c1 |
|
BLAKE2b-256 | 6b24ee241c35acffb84cd31e24232d2066ab92aafd897bc9d873df69bfc6213f |
Close
Hashes for ast_grep_py-0.25.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c04e7438701a2165a8ad49bedc4f9c9afc05f86c8ef768c72d71bb2f17087bd |
|
MD5 | ac707b5a36f56a336d4010ead4afda0e |
|
BLAKE2b-256 | 09c11dfc60f9812d647b99cb187321ca2df86de12f51a8ba4d40c87a3afc327c |
Close
Hashes for ast_grep_py-0.25.6-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 819d38aa0640f19e2562c451db07bd04395aa05d7395acf6684dbdc321b7ee0a |
|
MD5 | 32e276156c7d5255816ff1f6c983a80f |
|
BLAKE2b-256 | c2541cb174f43f18fde08d7feb7e43f0fde54571335deda42342a7e101824128 |
Close
Hashes for ast_grep_py-0.25.6-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 050903a1e79edfeabe594371f5ae38022759a08ca23a8d12f3a9a099e313f384 |
|
MD5 | 5d6f34ad9a030fff22e20a1bcc246ed2 |
|
BLAKE2b-256 | 36e202f4f5bd0fff08c297fd6fb45bee861197d735a1733236bf2585506cf23c |