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

Python Sentence Extraction Toolkit is a high-performance, zero-dependency, sentence boundary detection library designed to break down any provided text into indivdual sentences to be used as required. It was intially buildt to fill the need for a efficient modern system to break down sentences in text for form co-hearent chunks when indexing into a vector database but it has a wide range of applicaitons.

Built for Python 3.14

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 pysentence-extraction-toolkit

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-2.0.0.tar.gz (1.9 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-2.0.0-py3-none-any.whl (841.5 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for pysentence_extraction_toolkit-2.0.0.tar.gz
Algorithm Hash digest
SHA256 ec66c77ae080b68cb5c413d65a03f7d7058ebab3d6390cf81dbb3ec91a9ae1a1
MD5 cdbe5933c36b2426ace636a23d1be098
BLAKE2b-256 3db2ef3cc3b0fc32506b06ca8a718cf21b46ecd16322b62c9cec6fe0438c8aff

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysentence_extraction_toolkit-2.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-2.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pysentence_extraction_toolkit-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e8d64a20095be28574a8c46c8b41175e48b684a65251d7d11ef2b8a9a8b6040b
MD5 da46a644994eccb15ed001f1754d7600
BLAKE2b-256 823b518a4bbe33781402dad4e8065f914f481becd6d3702a0e2c38e41a64a9a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysentence_extraction_toolkit-2.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