Skip to main content

PySET - Python Sentence Extraction Toolkit. High-performance, zero-dependency sentence boundary detection.

Project description

PySET - Python Sentence Extraction Toolkit

PyPI Version Python Versions License

Logo A high-performance, zero-dependency sentence boundary detection library.

Features

  • 85 intelligent rules for accurate sentence splitting
  • 52 languages supported
  • Zero dependencies (pure Python standard library)
  • 2-3x faster than comparable libraries
  • More accurate on complex legal documents
  • Extensible design for custom rules

Installation

pip install pyset

Quick Start

from pyset import TokenBoundaryDetector

detector = TokenBoundaryDetector()

# Simple usage
text = "Hello world. How are you? I'm doing great!"
sentences = detector.split(text)

print(sentences)
# ['Hello world.', 'How are you?', "I'm doing great!"]

Performance

Based on internal benchmarks vs PySBD:

Text Size Words PySET PySBD Speedup
Sentences ~5 0.05ms 0.10ms 2.0x
Paragraph ~104 0.60ms 1.37ms 2.3x
Article ~484 2.41ms 5.25ms 2.2x
Document ~1400 5.68ms 21.95ms 3.9x

PySET processes 158,000+ words/second vs 63,000 for PySBD.

chart chart

Why PySET?

  • Zero dependencies - No external packages required
  • 85 rules handling edge cases like abbreviations, URLs, emails, decimals, quotes
  • Accurate - Priority-based rule evaluation for correct decisions
  • Fast - Pre-compiled patterns and optimized algorithms
  • Extensible - Easy to add custom rules
  • Well tested - 100% accuracy on 52 languages

Configuration Options

Parameter Type Default Description
language str 'en' Language code
min_sentence_length int 1 Minimum sentence length
aggressive_abbreviations bool False Stricter abbreviation handling
merge_short_sentences bool False Merge short sentences
include_rules List[int] None Use specific rules
exclude_rules List[int] None Exclude specific rules
debug bool False Enable debug logging

Use Cases

  • Document chunking for LLMs and RAG systems
  • Text preprocessing for NLP pipelines
  • Legal document analysis
  • News article segmentation
  • Academic paper processing
  • Content extraction and cleaning

Documentation

Development

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest tests/

# Run with coverage
pytest tests/ --cov=pyset

License

MIT License - See LICENSE file for details.


PySET - Python Sentence Extraction Toolkit Accurate. Fast. Zero Dependencies.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysentence_extraction_toolkit-1.0.0.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pysentence_extraction_toolkit-1.0.0-py3-none-any.whl (44.6 kB view details)

Uploaded Python 3

File details

Details for the file pysentence_extraction_toolkit-1.0.0.tar.gz.

File metadata

File hashes

Hashes for pysentence_extraction_toolkit-1.0.0.tar.gz
Algorithm Hash digest
SHA256 00e7a811fb4c5f73c6a8f756fe59aa90ccdd9676f20206d013c8b6178c6ec883
MD5 58b71376db509fc3d19a8db705d55cd4
BLAKE2b-256 98a7f59039d63938454dd96e98b14178373fcc1310fa7e6c2efea99c3313836d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysentence_extraction_toolkit-1.0.0.tar.gz:

Publisher: build.yml on CosmonautCode/PySentence-Extraction-Toolkit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pysentence_extraction_toolkit-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pysentence_extraction_toolkit-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 73b8d36481409390a9079961d5ee2e129511c2121afb14411f76a08f11d7d735
MD5 7ee0a1d07aee284bd652513994cdfac5
BLAKE2b-256 a91748f1979be47e8129506b68b7f0d38b3f21534b6228c6448c1a9a2328b11f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysentence_extraction_toolkit-1.0.0-py3-none-any.whl:

Publisher: build.yml on CosmonautCode/PySentence-Extraction-Toolkit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page