Fast Rust/PyO3 semantic text segmentation
Project description
CharStreamer Python
charstreamer provides Python access to the Rust CharStreamer segmentation
engine through a PyO3 extension module.
This package exposes the Rust model artifact loader and model-backed segmentation runtime. If no supported model is available, annotation fails instead of synthesizing semantic labels from hard-coded rules.
The 0.1.1 vendored model emits only sentence spans. Other schema labels
remain reserved for future trained runtimes.
Install
pip install charstreamer
Example
import charstreamer
text = """# Background
The court reviewed the invoice. The shipment was late. Notice was timely."""
segmenter = charstreamer.Segmenter.default()
print(segmenter.model_info())
annotation = segmenter.annotate(text)
print(annotation["spans"])
print(annotation["tagged"])
If a default model is vendored into the wheel, Segmenter.default() loads it
from package data. If not, it checks the local cache and then the GitHub release
model URL unless CHARSTREAMER_AUTO_DOWNLOAD=0 is set. To assert model
availability during startup:
charstreamer.model_info(allow_download=False, require_model=True)
segmenter = charstreamer.Segmenter.default(require_model=True)
Model-backed release wheels must include
charstreamer/models/default/manifest.json plus the referenced Burn payload.
The vendored 0.1.1 bundle is a sentence-end model. It is useful for sentence
boundary text, but it is not a full semantic span/IOB model for headings,
metadata, lists, or dialogue.
The project is an early development release. APIs may change before a stable
1.0 release.
Full documentation and Rust source are available at:
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file charstreamer-0.1.1-cp39-abi3-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: charstreamer-0.1.1-cp39-abi3-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 15.7 MB
- Tags: CPython 3.9+, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9bb431ad549b972bf9cd4f66c344564430dafb0f22b9e8876085ad0565d230d2
|
|
| MD5 |
4e9539ba725aa7ac9edc743732f238d7
|
|
| BLAKE2b-256 |
20733989f12a035ca376225d7f71d15385c737f70a9f5367aeece8ec379f847b
|