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.24.1.tar.gz
(113.7 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.24.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5e442dedfb4ff3866472648e931df824473b8470cfd2af5a8584687045af9b7 |
|
MD5 | 5d7424e2abd5448b595daedfdca2f6ec |
|
BLAKE2b-256 | 1dea5ae444062324eab4fd41f165b9340a0654d3a03c728e0ef8b2d8fe322027 |
Close
Hashes for ast_grep_py-0.24.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e2c240419b12212a80bc23b5f0ee6c3a13344b94c464d6f8736d4e7b68b22a4 |
|
MD5 | 6613fa2b3521bd8fd54f7ac085e5d6f5 |
|
BLAKE2b-256 | 4800a0a4d605ae8fbd81735c1ee12bd2e78eee849555b4f4cf19bbccd39bf9f8 |
Close
Hashes for ast_grep_py-0.24.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffcd26bf196972f53ecfdc414ea9e502b1f39fc1f14807e060225ffab86c3654 |
|
MD5 | 4e27727b7fa700270232edbce127574b |
|
BLAKE2b-256 | 338157ef5cab0d933fa4aed7f2476739c5d4d14760118a627ad0943606780767 |
Close
Hashes for ast_grep_py-0.24.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 039e5ce07229c75c51666f0683ffe38cac3be092ca75b094a9c313fa61b0062e |
|
MD5 | a4b8596ed1d6e60ac17c2d53a9b9a7f3 |
|
BLAKE2b-256 | 30a7cba0ccc32e47428079ef120c9b44ceee4c0f458ec988553cb0aac5554584 |
Close
Hashes for ast_grep_py-0.24.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 752145e3783e6eadd91506a22a27f789ad94259bf1797895733cdaafa64637dd |
|
MD5 | 96c49df030bd58f075284e2f74b2c077 |
|
BLAKE2b-256 | aca975a85081d744123666106361cc707319404b000aaaf36dd7dbf5f1dbcc50 |
Close
Hashes for ast_grep_py-0.24.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6852205f77c29055f03ed5529d0752bb393be35ebb71c1b227af83adab254c54 |
|
MD5 | 6cf4b3462e306297999ff5d86d31867c |
|
BLAKE2b-256 | 5de1df9833bd3e53e4338ef970794238ca1674347f4fe26d8f63375f1fe31f21 |
Close
Hashes for ast_grep_py-0.24.1-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7344ba679fe71581707a531d632bb04ebf993a83ea274ba9fbdc7857ebf7ffcf |
|
MD5 | 16a8d922badd77e7f2df07891d2ebfc8 |
|
BLAKE2b-256 | 4e08497856e24be16aa8c99cf5d7e86f9fe479f869e6e5eb6093cf76dc3e66fa |
Close
Hashes for ast_grep_py-0.24.1-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6659b25b44654a446cfc69f92e11f22f9e381b86085c4a6c2b30e395b59f835a |
|
MD5 | 9ee41cb04618338087250b12469fa9ed |
|
BLAKE2b-256 | f5028a766e93f874d3eed6c81a169db86e759ebd8507353e059c77ea3e833e9a |
Close
Hashes for ast_grep_py-0.24.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90762f695b29a72603bd8ae111e40536564727c5ac1bc5d7e47034bd73999e80 |
|
MD5 | 1ba9976cd9d0023b7149b944259dd6e8 |
|
BLAKE2b-256 | 713773ce4835f18a61d7841b8831432aa3b5c6e84594f8f4a2c7f1c10ed4cc89 |
Close
Hashes for ast_grep_py-0.24.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c44c44c0c4faa389cc80e18102dbfafede13dab356c88f3d481e135fef6ff332 |
|
MD5 | 40c71f102c37ed5d6ed4c3bbf80657db |
|
BLAKE2b-256 | 916f7aeb0cc44e46f486a8ce13881a401e317a4f25ba986cb22b4c0a8b02534c |
Close
Hashes for ast_grep_py-0.24.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70b1b65c27577eae2d7c6ad4edfa4ba876a9237b48afaa473bbf198f563998d1 |
|
MD5 | 2237cc5ab54ae31c833368dc2ca6cba9 |
|
BLAKE2b-256 | 3a650255b8e83f617ead8fb691fc9cabda1b7f4ba9a6355e06e368d845dff40e |
Close
Hashes for ast_grep_py-0.24.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9d6a155b22623dd97eadea8d9562201329d9f7cc2e80bf7e6d55e10c11774f7 |
|
MD5 | fa51321713d43620a90af8dba99b1234 |
|
BLAKE2b-256 | e0675a6c1ff820917bd4e5730f832ea365c0fd59e270788deefe587440adcd05 |
Close
Hashes for ast_grep_py-0.24.1-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a921f989a91baa1000d0364520af3ff947fb1b15680cfe88408ce13450f6675e |
|
MD5 | d4994630f4630a1b0a9211149203359b |
|
BLAKE2b-256 | 31af30b8e430bcf7bcb5d392cd2767ef5f07d79d52fb888cba057aafab37f209 |
Close
Hashes for ast_grep_py-0.24.1-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bf7446b777f3763f125523a4bee37e147ba5f842732ef97896a652cf8ce5184 |
|
MD5 | 80a04e3192d997b5d38ab2d63f3dd7b6 |
|
BLAKE2b-256 | 474b7a9f685f3a23f5c5a4d4581404e433f73805ff0e4e21de347947ccc456ae |
Close
Hashes for ast_grep_py-0.24.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c87f0e6584e38929bd4e9a495d1d0ce50ff27afa6182dea97c63fa7964e88661 |
|
MD5 | 4d77fd8674ade236248f40eec3d4be7f |
|
BLAKE2b-256 | 2d9f2d22f94d212f0798b4a32d2616f97a858a4fa95a0471ed01f85ce5fbec47 |
Close
Hashes for ast_grep_py-0.24.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7324f80a66b915367c39dd6a03698fa26a06b2231d61f2157375a9fd73b82311 |
|
MD5 | f91947ddee7df8670dc584b82c0938e0 |
|
BLAKE2b-256 | 171f6e9896518fdcd3e11b10edb21169f6331e2a196357bf4c9a54b97ae1fc1d |
Close
Hashes for ast_grep_py-0.24.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ba2aaf58ca2d7e97abd214e6f71ebc43ece8a855491d46e2d2f6c71de89b990 |
|
MD5 | 08d21da6507dd1440df1e48b80a0f153 |
|
BLAKE2b-256 | 874b7ab236d516be7216a05f9c79ce286dd0655822ae40e95a13ce9201704dd3 |
Close
Hashes for ast_grep_py-0.24.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ceea17ae4a1ff8bac97901cf1ae173bafa94e81807a3cae97148123494f3ac14 |
|
MD5 | 78cb7736f64baa6236faf080c2b2b326 |
|
BLAKE2b-256 | 92da5085c2b466e150528804d4d529daf5f59d8a8abf71783dca30a6206582ea |
Close
Hashes for ast_grep_py-0.24.1-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | afdad72bb0d9c2d69c3b6e8a31e5cc61f61b0c39cdea9e4734bb578bfe056b76 |
|
MD5 | 636ad65079f90b2bc043e45a73a559b8 |
|
BLAKE2b-256 | 8c39194d599e8f5062f3aad9170d59f4fe790ae53c5d7c0e5d5fbd7801721bd8 |
Close
Hashes for ast_grep_py-0.24.1-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91965b69e63b98aa3043539bcf4ebb936a7f7a3c0f246f19650afafc5ab9dd99 |
|
MD5 | 3ac0d34618e640b51534793eb382db94 |
|
BLAKE2b-256 | 3e765c3ca4aa7d730de555d228628c6a89aed025250606c9d3c01b7220643986 |
Close
Hashes for ast_grep_py-0.24.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 696679a9e825ed78ead582d8c454bfce594e176e5892d7c80ad80e3b16e5d07a |
|
MD5 | 71b49154a81c722ae30453baa14c6719 |
|
BLAKE2b-256 | cddbcdf37d021d26cd92dd9418b390f5c2032c02a154cf490ff970a727b92bc3 |
Close
Hashes for ast_grep_py-0.24.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5fa5ff47f5ed4dac67403e0da1ec65093ced253d6e620ecfca230570c48416dc |
|
MD5 | 9a51def1b99ac03f591b3bafd53d9b42 |
|
BLAKE2b-256 | 58945a0b049040d718d5dc4ac232b674df79a993757631634ce97d14c2c2219e |
Close
Hashes for ast_grep_py-0.24.1-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20c25d3ca2184e10ca37f0b03efdd2bf42465ea07a63018569ae4bcc5158e1c8 |
|
MD5 | 102349c396edccd2d0a32a4bc3efd671 |
|
BLAKE2b-256 | cbf8566d61ecb163f987610e82b3819806c3540824ce480afd6162c82b700907 |
Close
Hashes for ast_grep_py-0.24.1-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a52fa08bed93b087adcb973237e73e07ed163f11beb19888217020539281e950 |
|
MD5 | 4cf2ae4a576f92717f75777f69d5c4f6 |
|
BLAKE2b-256 | 7fc735e598b37a03f6358f00e4f493ff364c9dcfa046462ec687b33099b76689 |
Close
Hashes for ast_grep_py-0.24.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb5f24477cecbd885e96cc7d894a311a3857a64bdb3fac805881b457146a98c2 |
|
MD5 | 98204d0d04d073cdf5e8e8ec4f48359c |
|
BLAKE2b-256 | 343ca4c6ffba850d95ce05d21fb17c4e4dbdc48ab3f0e271a702d974210d5df7 |
Close
Hashes for ast_grep_py-0.24.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df24f7c36f9403a209956f2702600877f3d3cab6415bfa533bec0191b3ce7255 |
|
MD5 | ffe80739f574bbb43c1ddddc4a3a488f |
|
BLAKE2b-256 | 5c207a539a05e47dca5e6affef238b0925918c4e553c9a48e4fb9d7d3cc0741f |
Close
Hashes for ast_grep_py-0.24.1-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd6f9bae8bc4b7e4a39515b2965e264ac36ac46514418e9b79dacb57c00fa26d |
|
MD5 | 30bb421faa21c9e714594fef5767b686 |
|
BLAKE2b-256 | 76d2d505e81c90a83baf783645d7acee0c8747b08ea85b14173982a79ac74133 |
Close
Hashes for ast_grep_py-0.24.1-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb47e992cf1ae7e6b51ee367d2d177e01d2b52204bef467ff2354f44a8858522 |
|
MD5 | 08387744c49320abc08d0030823a50f4 |
|
BLAKE2b-256 | e82a8ae77d4cbe1525d820bfbc66cec0974c1119b892827268ed0d6681273af1 |
Close
Hashes for ast_grep_py-0.24.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9981b68b7a8f9d853855d6af07deb00d4d1e14196c8d4360687f3a6b22272b97 |
|
MD5 | 9fb165fdfd9c5df3c203995969e394d6 |
|
BLAKE2b-256 | b7c01c81876d85d0316e27b2299c6346b0abb42bc9eccea125129be966976016 |
Close
Hashes for ast_grep_py-0.24.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98ed28d4b5a7d7986ff9652cdbafd4f58ebe46428b1f93c2700167e33a9afd3d |
|
MD5 | d25ec2b5099e202f71670627d212a14d |
|
BLAKE2b-256 | 7c174fa5c7ecfd8c9fea6b287160ec5be656e861b0dd91ce92370b7c9fd6c60a |
Close
Hashes for ast_grep_py-0.24.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78ed41a8e1e6b5afd648935e8d0e008af5ae8a7d29f7cfeca2a04d769ff62b14 |
|
MD5 | b5c2fdbfdee5df27953571367716ee17 |
|
BLAKE2b-256 | 0b60399fafc71ce0ffbff5e44062ac9f408ed4431b54de42382d8d66f583123a |
Close
Hashes for ast_grep_py-0.24.1-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb059bafe0a1c870ffffbc5c9a46f47f2acf127fccf0e5c5320ed276182e351b |
|
MD5 | a812831b0fd46c5eff7ca0ed1b20683c |
|
BLAKE2b-256 | 674b5f7872482e06b2cb8168042fc7c5a768499cfb3408ea3e5d1126455590d8 |