Metadata-Version: 2.4
Name: sosaku
Version: 0.4.0
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Software Development :: Libraries
Classifier: Natural Language :: English
Home-Page: https://github.com/hypergonial/sosaku
Author-email: hypergonial <git@hypergonial.com>
Maintainer-email: hypergonial <git@hypergonial.com>
License-Expression: MIT
Requires-Python: >=3.11
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Homepage, https://github.com/hypergonial/sosaku
Project-URL: Issues, https://github.com/hypergonial/sosaku/issues
Project-URL: Repository, https://github.com/hypergonial/sosaku

# sosaku

Python bindings for [sosaku](https://github.com/hypergonial/sosaku).

## Installation

```bash
pip install sosaku
```

Or in a `pyproject.toml`:

```toml
[project]
dependencies = [
    "sosaku>=0.1.0"
]
```

Or in a `requirements.txt`:

```txt
sosaku-py>=0.1.0
```

## Usage

```python
import sosaku

exp = sosaku.Exp("test.var == 5 && startsWith(test.var2, 'hello')")
bindings = {"test": {"var": 5, "var2": "hello world"}}

print(exp.eval(bindings))
```

## Development

Create a new virtual environment and install the package in editable mode:

```bash
uv venv
source .venv/bin/activate
```

Install maturin:

```bash
uv tool install maturin
```

Then, you can build the package in editable mode:

```bash
maturin develop
```

