//! Python interoperability helpers.
//!
//! Defines the `BraheError` Python exception type and the `From` conversion that
//! lets core `Result<T, BraheError>` values propagate into PyO3 return types.
//! Living in the core `brahe` crate (rather than the bindings crate) satisfies
//! Rust's orphan rule: both the trait (`From`) and the foreign type (`PyErr`)
//! sit outside `brahe-py`, so the impl must co-locate with `BraheError`.
use create_exception;
use BraheError as RustBraheError;
create_exception!;