Metadata-Version: 2.4
Name: rust-sasa-python
Version: 0.2.2
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Dist: pytest>=8.4.1 ; extra == 'dev'
Requires-Dist: maturin>=1.5,<2.0 ; extra == 'dev'
Provides-Extra: dev
License-File: LICENSE.md
Summary: An ultra-fast package for computing Solvent Accessible Surface Area (SASA/ASA) for proteins
**46X** faster than Biopython, **7X** faster than Freesasa
Author: Max Campbell
Requires-Python: >=3.11
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM

# rust-sasa-python

A high-performance **Python library** for computing SASA (Solvent Accessible Surface Area) using Rust as the backend. This library provides a clean, Pythonic interface to the fast RustSASA calculation engine.

## Features

- 🦀 **Pure Rust Backend**: Leverages Rust's performance and safety.
- ⚡️ **Ludicrous Speed**: **46X** faster than Biopython, **7X** faster than Freesasa.
- 🐍 **Pythonic Interface**: Clean, intuitive API.
- 🔧 **Configurable**: Customizable probe radius and sampling points.
- 📁 **PDB and mmCIF SUPPORT**: Supports both PDB and mmCIF files.

## Installation

```bash
pip install rust-sasa-python
```

## Quick Start

```python
import rust_sasa_python as sasa

# Simple calculation - use convenience function
result = sasa.calculate_protein_sasa("protein.pdb")
print(f"Total SASA: {result.total:.2f}")

# Builder pattern for more control
calculator = (sasa.SASACalculator("protein.pdb")
              .with_probe_radius(1.2)
              .with_n_points(2000))
result = calculator.calculate_protein()
print(f"Total SASA: {result.total:.2f}")
print(f"Polar SASA: {result.polar:.2f}")
print(f"Non-polar SASA: {result.non_polar:.2f}")
```

See [DOCS](DOCS.md) for more information and API reference.

## Contributing

Contributions are welcome! Please feel free to submit issues and pull requests.

## License

This project is licensed under the MIT License.

## Related Projects

- [RustSASA](https://github.com/maxall41/RustSASA) - The core Rust library.
- [DPXRust](https://github.com/maxall41/DPXRust) - Rust library for DPX calculations.

