//! PyO3 shim for `crate::filename` (Layer-1).
//!
//! Validates the non-negative `max_length` contract at the boundary (#231);
//! Layer 1 / Layer 2 take an already-checked `usize`. The native
//! [`crate::ErrorRepr`] (unknown `lang`, bad `platform`) converts to a Python
//! exception via `?` (`From<ErrorRepr> for PyErr`).
use *;
/// `sanitize_filename(text, *, separator="_", max_length=255, platform="universal",
/// lang=None, preserve_extension=True) -> str`