# Briefcase Python Bindings

Python FFI bindings for Briefcase AI core library. This crate provides the underlying Rust implementation for the `briefcase-ai` Python package.

[![Crates.io](https://img.shields.io/crates/v/briefcase-python.svg)](https://crates.io/crates/briefcase-python)
[![PyPI](https://img.shields.io/pypi/v/briefcase-ai.svg)](https://pypi.org/project/briefcase-ai/)

## Overview

This crate uses [PyO3](https://pyo3.rs/) to create Python bindings for the Briefcase AI core library. It exposes the high-performance Rust implementation to Python developers.

## Features

- **High Performance** - Rust core with minimal Python overhead
- **Memory Efficient** - Zero-copy operations where possible
- **Type Safe** - Full Python type hints and error handling
- **Async Support** - Async/await compatible operations

## For Python Users

If you're a Python developer, you should install the Python package instead:

```bash
pip install briefcase-ai
```

See the [Python documentation](https://pypi.org/project/briefcase-ai/) for usage examples.

## For Rust Developers

This crate is primarily used for building the Python extension. To use Briefcase AI in Rust, use the core library directly:

```toml
[dependencies]
briefcase-core = "2.0.4"
```

## Building

This crate requires:
- Rust 1.70+
- Python 3.10+
- PyO3 dependencies

Build the Python extension:

```bash
cd crates/python
maturin build --release
```

## Development

For development with maturin:

```bash
cd crates/python
maturin develop
```

Then test in Python:

```python
import briefcase_ai
print(briefcase_ai.__version__)
```

## Dependencies

- [`briefcase-core`](https://crates.io/crates/briefcase-core) - Core Rust library
- [`pyo3`](https://crates.io/crates/pyo3) - Python FFI bindings
- [`tokio`](https://crates.io/crates/tokio) - Async runtime

## License

MIT License - see [LICENSE](https://github.com/briefcasebrain/briefcase-ai-core/blob/main/LICENSE) file for details.

## Related Packages

- [`briefcase-ai`](https://pypi.org/project/briefcase-ai/) - Python package (end users)
- [`briefcase-core`](https://crates.io/crates/briefcase-core) - Core Rust library
- [`briefcase-wasm`](https://www.npmjs.com/package/briefcase-wasm) - WebAssembly bindings