Metadata-Version: 2.1
Name: synr
Version: 0.6.0
Summary: A consistent AST for Python
Author: Jared Roesch
Author-email: jroesch@octoml.ai
Requires-Python: >=3.6.2,<4.0.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: attrs
Description-Content-Type: text/markdown

# Synr

Synr is a library that provides a stable Abstract Syntax Tree for Python.

## Features

- The Synr AST does not change between Python versions.
- Every AST node contains line and column information.
- There is a single AST node for assignments (compared to three in Python's ast module).
- Support for returning multiple errors at once.
- Support for custom error reporting.

## Usage

```python
import synr

def test_program(x: int):
  return x + 2

# Parse a Python function into an AST
ast = synr.to_ast(test_program, synr.PrinterDiagnosticContext())
```

## Documentation

Please see [https://synr.readthedocs.io/en/latest/](https://synr.readthedocs.io/en/latest/) for documentation.

