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.20.5.tar.gz
(99.6 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.20.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d23a18d8d39595755939c0ef6973e0594c9d8f79c3c936ca0c741dda3f9c2386 |
|
MD5 | 0849698f86b6f47f76390dccc214acab |
|
BLAKE2b-256 | c1f7a33a8090992f4a30c696bb04fe208cbfcc5aef3b64d23acd991bb59dc32e |
Close
Hashes for ast_grep_py-0.20.5-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a08090253b63a6a4a2deffb784d61f37677df296de1135de42affbc45d3091f |
|
MD5 | 0405c5e7668a2d395b6ddb678eee3995 |
|
BLAKE2b-256 | 92fcb9202df0f37acab045613a417fa384aba7d5ba59059167c312a9372831d8 |
Close
Hashes for ast_grep_py-0.20.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5f14d2426d4eb2d6e79614f8db2290cc2b5444786a026aef2755f366db46b05 |
|
MD5 | 7b04248367208c5004970b0eeaf4b333 |
|
BLAKE2b-256 | 2ebeb8570b8a0a10edd91d72e7adb37468b7eae7d61b797b7b35d0b0aa610f43 |
Close
Hashes for ast_grep_py-0.20.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e301e810b021a64e847180ef7da5a8e0f7165b01aae23d63cc13649d3f0c4d92 |
|
MD5 | 64037a4c1e3eaf2634b02d2a1ca9e899 |
|
BLAKE2b-256 | fe6540bbf47e3967d37f5885fbd6a79f4f5fc35e4182b70fb457e45c5b0cee03 |
Close
Hashes for ast_grep_py-0.20.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d58576a6959303eaaa44e04b2acf72eb8987f5b4695dab65e9aa3449debb47c0 |
|
MD5 | 378ef87fe71b55efe21e0014ce8e47cb |
|
BLAKE2b-256 | ba95b87281fdfdd6e28b80dd1d8db7047df4780f0ab7daef8f86a188d24883cb |
Close
Hashes for ast_grep_py-0.20.5-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3336f851845250031b37ff04729cd7369eb46f43e61806aa33dcb02c843bfece |
|
MD5 | 87d71205df021ab2d862d04ab94f1acd |
|
BLAKE2b-256 | 48df9f8a84326e0bba9b61f32bba48ed440eac9ce66398dd4ed2a6c85ff393aa |
Close
Hashes for ast_grep_py-0.20.5-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92050191dc2a56082c768779c78c4fcf9b51303de0dcc3f5fc1be71edc9b7aee |
|
MD5 | 78223b78bec105b7e4f680c4d6eb27d9 |
|
BLAKE2b-256 | f4bdbb31173b071573b4208309eb6f231486468b644df7857ee89b30706a2e32 |
Close
Hashes for ast_grep_py-0.20.5-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70503006a60f48eea29a9f545f53b73d02d77700d3b4da3072c196b855f05264 |
|
MD5 | 4fda972f3a41cf703880a4eb512c2d50 |
|
BLAKE2b-256 | eb9eda91550caf41e7145b0d6b85aefe45dcc2c67e84aef27aa60f9caaec90c1 |
Close
Hashes for ast_grep_py-0.20.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a6737b4a55d31c803b1ee2df8a58e0197936f63a9d3f6a2c3c8440d9c17a10d0 |
|
MD5 | 0dd2239f103b40d91924fca55bdf0886 |
|
BLAKE2b-256 | 73b1f9120a80ec25d5a402a83d8ad9df1ec6d1937257c4093de7a41fac6cc24b |
Close
Hashes for ast_grep_py-0.20.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 552d4664e361f385805a0e268d87302ff73b1cbffe9da5b3364af9a815da1ae6 |
|
MD5 | 48c6f8a7114702d6e8d76ad041dba10a |
|
BLAKE2b-256 | 3f4169bc5db95d637a49eb89731e2c27e26abbb68f1363af5140800b878e9e43 |
Close
Hashes for ast_grep_py-0.20.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d23e42a80b63a44b1695e6205f8e8d688b08755d9dfd9dbbfeae1d750236816 |
|
MD5 | b16ae68c687fceab2e266f85e4678c45 |
|
BLAKE2b-256 | 719bd28290341d4a3b8a4e0c510ac8bb6548525781bf2abaa90a37b25daa7be3 |
Close
Hashes for ast_grep_py-0.20.5-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ebfea07cfb8e3f52825b8bee64712333f0c9d436891328833b59fdc7869f4f6 |
|
MD5 | 1774f9c5b0b9e0a01910e2910edf72db |
|
BLAKE2b-256 | 9fe0664ef1da2c33eb6cfcf10a0e6de6d1b49be1f3f13e2c31a7a15e7f557171 |
Close
Hashes for ast_grep_py-0.20.5-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4cdeae94fdd9ca9898fa74778545548b5081a83c04cd389567d45bc625ff36e2 |
|
MD5 | fa9ac1eed026b7f67edd61bfeddc600d |
|
BLAKE2b-256 | 1567af65f883af802ad5ba9933adb10bc1cc431fbe3276c641481834fd004fa9 |
Close
Hashes for ast_grep_py-0.20.5-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 211843ac57b7f4238830ab0cd1dd6834499120a0d06178fde53b9e78a3f36869 |
|
MD5 | 078fe679bf0cd98f00575f5c297c7512 |
|
BLAKE2b-256 | 6a0300213d7532f80bad7837c1e212f928a6a73048b53dd1cfa536cb5b45c626 |
Close
Hashes for ast_grep_py-0.20.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a36d9ca5cc85cb12c53c231c19d11c08c47a5fda07aab7b1fa656a4143108a2 |
|
MD5 | 563e1218383f5a29a52d983ebd835683 |
|
BLAKE2b-256 | 4167ca10f173d47370599f37620cb0d3a8b4a867c01f699542f1f773b6b92c73 |
Close
Hashes for ast_grep_py-0.20.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa061b4e7c2a45cf1c960dfa7ba7779f233562bf24d76080e27c3d12a6e71db3 |
|
MD5 | f72de1186d587a77120d6e61a618555d |
|
BLAKE2b-256 | 44244a53c0eb4db87cfba02cdb480eec5c972bd2927492142f34f3be0284f867 |
Close
Hashes for ast_grep_py-0.20.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ecea7b17120dbc30dd3b4682581f06ee36d06cb6df58a3024f7f44d99e354909 |
|
MD5 | 869085e70aa3c43271e6efecd7443113 |
|
BLAKE2b-256 | 4cae5b8dbae60b3701f9d26094ca38ebb3981937f4cbdf47740e5cc242421dce |
Close
Hashes for ast_grep_py-0.20.5-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 987ed77b55fc4ce31cdd70d484f080f7420405a2c97b455e2c431e79f03e09ea |
|
MD5 | f7b85c77b8119f60b4931f02e92670cc |
|
BLAKE2b-256 | 9b07d0893d9de75500f97f89118da553319492e5e120c3a988da3578482cdb68 |
Close
Hashes for ast_grep_py-0.20.5-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a84e715768f2b9460dc8325eed05bb152e6bab8a1b2aa1681de3d2236c6d43d8 |
|
MD5 | 7996ef86f84de9819f17bd856c3248e6 |
|
BLAKE2b-256 | d49b95fcae4d14bc9b98e277f7e51cd86b7081bd83bd20bcc49b84be18026684 |
Close
Hashes for ast_grep_py-0.20.5-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2745a7e66a5a4143e5b7bd386a76a23a3626734eeb9b2646087dd13b61fc820c |
|
MD5 | cebaa0ee31a53947543fd58d9f72cec4 |
|
BLAKE2b-256 | 6d2d248db48316a17f88416752bb101927f8e7d5b520c2987f817b8af51bc529 |
Close
Hashes for ast_grep_py-0.20.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 017bfba1b56a90331dc8164eb6537738c6e596801d068fa6b469a382ebe7d112 |
|
MD5 | ecfc1218fea7c74f9f43c8daf673b05f |
|
BLAKE2b-256 | 315c28984b72c4f76795b0efba014ccc25af39ebd6bb83b80662ded61c12b11e |
Close
Hashes for ast_grep_py-0.20.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82db53fbbeaef7377e84f74ad5650ea02a6dec9bec6e7cb8163fdda151e701f1 |
|
MD5 | 76899c8e132443b92ab21dda4775fa4e |
|
BLAKE2b-256 | 2bdd491a73f453acb0aabea44ac5001c4613a5dc13f82e4037a7dd222c589988 |
Close
Hashes for ast_grep_py-0.20.5-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c80104e2f87e3e5ec623b2e22a74bd06cac5fe1dc27d758894736e7a3ce8039 |
|
MD5 | 5f8299103624add0af60b9d41b83b78d |
|
BLAKE2b-256 | 2c6e6bc732a83942844e7bd19954178d57d2de90ed0ee48c1f9da81d61e21a18 |
Close
Hashes for ast_grep_py-0.20.5-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 888725345efc06fbeec359425b82e255d5ffd50ed8eacb1966a9d31b72dd3841 |
|
MD5 | f1479a74a6c997f6b7a2187eb84ff9cf |
|
BLAKE2b-256 | 601ab901ad1c6db0f2a353874dfc138dd039fcb099328a9ef763b01130ed7307 |
Close
Hashes for ast_grep_py-0.20.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4a4ad42427e0a2a1d845d24252f2232e8cb574fe6522b02232b60154a10c9a9 |
|
MD5 | 6adf0235168649af412477db58b3a90a |
|
BLAKE2b-256 | 92e220980a6eda1de08e7f4c8d00850c909ad4b5b23813dedcf411c3af41e4c0 |
Close
Hashes for ast_grep_py-0.20.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60ec4d09930e0c18f1e60f3302d8a79ff7225c22e8977e1cbea4406e394bb932 |
|
MD5 | 2bb7821da58f6976c169c9076695b0fe |
|
BLAKE2b-256 | 6d41fd381c4fc7e3c63fb0263d6952de1b6c9974d03005f14a836284680c8805 |
Close
Hashes for ast_grep_py-0.20.5-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51a408414912b1db5ac50b4af1997b87d03695a9a2d446553b52c5e56fe75a71 |
|
MD5 | 2f53d1dc9adaa2c6df20a82c003b750a |
|
BLAKE2b-256 | f9ef934a075ebbe1ffb393b3027bf857e1cb0f89bbc1955c1c4d4a62790c5bd5 |
Close
Hashes for ast_grep_py-0.20.5-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9a3f110484c77041bff239bc4c3d18cf310d0cf0e0ab633c3b7e86dd150bead |
|
MD5 | 0b1d09bfa244e53431c8826e054e4501 |
|
BLAKE2b-256 | 799683800bb6beb8c4d109e40a07ebe68d81b15cb98e8ab88243b1fcf06bbd49 |
Close
Hashes for ast_grep_py-0.20.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3a52ce3398b217f5664d5cf716675c548f37325f7efafb30d48132f553417ee |
|
MD5 | bd37a10ba6c35ba8a877f889f49a8a43 |
|
BLAKE2b-256 | e78d24e0b1790155ffcb9c07c9850a6d40bf27a784a681e02022db2be2400e79 |
Close
Hashes for ast_grep_py-0.20.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6b4b3faf373ef2ed592070cebf8a4225a16e62d721d89a3b7680d4addcc369b |
|
MD5 | ce8bd44397c6ee8a54fe291597c69950 |
|
BLAKE2b-256 | e04c369cf4d9ab7319865c3b20910df487adefe8bc9763fc45337460c1b43d68 |
Close
Hashes for ast_grep_py-0.20.5-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f82b6dd5e4772e795d63e4c07655c039102b12ab4be3c3c352e162a5bc4f7a28 |
|
MD5 | 3ee3cb82a5f4bfab8f98a88ffac9435b |
|
BLAKE2b-256 | 3153e6b5483dd90cccaa95e36202389aa24c9ab3356076c7c95a710d116e32f2 |
Close
Hashes for ast_grep_py-0.20.5-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f40a261f3ee98c70051d2504cc89300ba4c871cfa3d94d4e020a4fe0960de5be |
|
MD5 | 47c0c1d8087507df6aa29471c12f9120 |
|
BLAKE2b-256 | 89e6f49ac559808bbefb803b3197f83c5a11fd4c4e6283c4d5fb5b9d96ca8167 |