Metadata-Version: 2.4
Name: cjm-capability-pysbd
Version: 0.0.1
Summary: A pySBD-based sentence-segmentation capability for the cjm-substrate runtime — rule-based Golden-Rules sentence boundaries as character spans over the original text.
Author-email: "Christian J. Mills" <9126128+cj-mills@users.noreply.github.com>
License: Apache-2.0
Project-URL: Repository, https://github.com/cj-mills/cjm-capability-pysbd
Classifier: Natural Language :: English
Classifier: Intended Audience :: Developers
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: cjm-substrate>=0.0.58
Requires-Dist: cjm-capability-primitives>=0.0.11
Requires-Dist: pysbd
Provides-Extra: test
Requires-Dist: cjm-sentence-segmentation-adapter-interface>=0.0.1; extra == "test"
Requires-Dist: pytest; extra == "test"
Dynamic: license-file

# cjm-capability-pysbd

<!-- generated from the context graph by `cjm-context-graph readme` — do not edit by hand; edit the graph (the urge to hand-edit = move it on-graph) -->

pySBD-based sentence-segmentation tool capability for the cjm-substrate runtime — rule-based Golden-Rules sentence boundaries delivered as character spans over the ORIGINAL text, trimmed to non-whitespace extents. Implements the sentence_segmentation task (cjm-sentence-segmentation-adapter-interface): pure compute, pure-pip, no model download, CPU-cheap — the segmenter behind the transcript decomposition pipeline's sentence-split stage (--sentence-split), chosen (DEC cc904eee) for the abbreviation/initial/honorific class ('Mr. Gorbachev', '3 p.m.', 'U.S.') that end-of-token heuristics mis-split. Config is a single language knob (Golden-Rules set selection, reload-triggered); clean=False + char_span=True are contract invariants, not knobs — spans must index into exactly the string the caller passed. Its effective-config hash joins the decomp skeleton-identity composite, so spines cut by different segmenter configs can never share node ids.

## Modules

- **`cjm_capability_pysbd.__init__`**
- **`cjm_capability_pysbd.capability`** — Pure-compute sentence-segmentation tool capability using pySBD (Option C; B.5 work item 81e43606).

## API

### `cjm_capability_pysbd.capability`

- `PySBDConfig` _class_ — Configuration for the pySBD segmenter.
- `PySBDSegmentationCapability` _class_ — Sentence-segmentation tool capability using pySBD (pure compute).

## Dependencies

**Depends on:** `cjm-capability-primitives`, `cjm-substrate`, `pysbd`
