Metadata-Version: 2.4
Name: aam-py
Version: 2.0.3
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
License-File: LICENSE-MIT
License-File: LICENSE-APACHE
License-File: CREDITS.html
Summary: Python bindings for the aam-rs AAML configuration parser
License: MIT OR Apache-2.0
Requires-Python: >=3.8
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM

# aam-rs Python bindings

Python bindings for `aam-rs` with support for parsing, merging, reverse lookups, and deep alias resolution.

## Install

```bash
pip install aam-py
```

## Quick start

```python
from aam_py import AAML

doc = AAML.parse("host = localhost\nport = 8080")
print(doc.find_obj("host"))
```

## More examples

```python
from aam_py import AAML

doc = AAML.parse("""
root = /srv/app
active = root
env = production
""")

print(doc.find_deep("active"))      # /srv/app
print(doc.find_key("production"))   # env
print(doc.find_obj("production"))   # env (reverse lookup fallback)
```

```python
doc = AAML.parse("a = 1")
doc.merge_content("b = 2\na = 3")
print(doc.find_obj("a"))  # 3
print(doc.find_obj("b"))  # 2
```

## AAML syntax refresher

```aam
# comments
host = localhost
port = 8080

@import common.aam

base = /srv
current = base
```

## Local development checks

```bash
cargo test
```

If you work on packaging/bindings, also run the relevant CI matrix jobs from this repository.

