Metadata-Version: 2.4
Name: ast-grep-py
Version: 0.38.2
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Rust
Classifier: Topic :: Security
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Topic :: Software Development
Classifier: Topic :: Text Processing
Requires-Dist: pytest>=7 ; extra == 'test'
Provides-Extra: test
Summary: Structural Search and Rewrite code at large scale using precise AST pattern.
Keywords: ast,pattern,codemod,structural search,rewrite
Author: Herrington Darkholme <2883231+HerringtonDarkholme@users.noreply.github.com>
Author-email: Herrington Darkholme <2883231+HerringtonDarkholme@users.noreply.github.com>
Maintainer-email: Herrington Darkholme <2883231+HerringtonDarkholme@users.noreply.github.com>
License: MIT
Requires-Python: >=3.8
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Repository, https://github.com/ast-grep/ast-grep
Project-URL: Documentation, https://ast-grep.github.io/
Project-URL: Changelog, https://github.com/ast-grep/ast-grep/blob/main/CHANGELOG.md

# ast-grep python binding

[![PyPI](https://img.shields.io/pypi/v/ast-grep-py.svg?logo=PyPI)](https://pypi.org/project/ast-grep-py/)
[![Website](https://img.shields.io/badge/ast--grep-Ast--Grep_Website-red?logoColor=red)](https://ast-grep.github.io/)

<p align=center>
  <img src="https://ast-grep.github.io/logo.svg" alt="ast-grep"/>
</p>

## 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

```bash
pip install ast-grep-py
```

## Usage

You can take our tests as examples. For example, [test_simple.py](./tests/test_simple.py) shows how to use ast-grep to search for a pattern in a file.

Please see the [API usage guide](https://ast-grep.github.io/guide/api-usage.html) and [API reference](https://ast-grep.github.io/reference/api.html) for more details.

Other resources include [ast-grep's official site](https://ast-grep.github.io/) and [repository](https://github.com/ast-grep/ast-grep).

## Development

### Setup virtualenv

```shell
python -m venv venv
```

### Activate venv

```shell
source venv/bin/activate
```

### Install `maturin`

```shell
pip install maturin[patchelf]
```

### MacOS: Install `patchelf` and `maturin`

```shell
brew install patchelf
pip install maturin
```

### Build bindings

```shell
maturin develop
```

### Run tests

```shell
pytest
```

All tests files are under [tests](./tests) directory.

## License

This project is licensed under the MIT license.

