Metadata-Version: 2.4
Name: charset-normalizer-rust
Version: 3.5.1
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Text Processing :: Linguistic
License-File: LICENSE
License-File: NOTICE
Summary: Pure-Rust charset detection (rustsmith Stage-1 mirror of Ousret/charset_normalizer)
Keywords: charset,encoding,detection,rust
Home-Page: https://github.com/Ousret/charset_normalizer
Author: Ahmed R. TAHRI
License-Expression: MIT
Requires-Python: >=3.11, <4.0
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Homepage, https://github.com/John-Cusack/charset_normalizer-rust
Project-URL: Upstream, https://github.com/Ousret/charset_normalizer

# charset-normalizer-rust (Rust mirror of Ousret/charset_normalizer)

Stage-1 Rust mirror of [`Ousret/charset_normalizer`](https://github.com/Ousret/charset_normalizer)
(MIT). Behavior-identical port exposed as the `charset_normalizer._charset_normalizer`
extension module via PyO3, with `charset_normalizer/__init__.py` re-export shim.

## Layout (publishable)

One implementation, two distributions:

- `charset_normalizer-core/` — reusable pure-Rust core crate
  `charset-normalizer-core` (crates.io). No Python dependency: `rlib`,
  `cargo test` clean. Rust consumers depend on this crate directly.
- `src/lib.rs` — thin PyO3 binding crate `charset-normalizer-rust` calling
  that same core. Ships on PyPI as distribution **`charset-normalizer-rust`**;
  the import name is unchanged (`import charset_normalizer`), so users swap
  the install with zero code changes.
- `charset_normalizer/` — Python shims (`__init__.py`, `__main__.py`).
- `release.toml` — release configuration (names, version, platforms, Python
  versions, publishing repo + workflow identity, license, upstream
  attribution). Read by `rustsmith release-prep`; see `docs/RELEASE.md`.

<!-- RUSTSMITH-PERF:BEGIN (generated by `rustsmith release-prep`; do not hand-edit) -->
## Measured performance
No accepted optimizations yet (mirror baseline); re-run `release-prep` after `run --stage optimize` merges winners.
Artifact hashes are intentionally absent here; see `release-manifest.json`.
<!-- RUSTSMITH-PERF:END -->

