Sumy is a Python library and command-line tool for automatic text summarization of documents and HTML pages.
The tool addresses the need to extract concise summaries from longer text sources. It works by implementing multiple summarization algorithms, including LSA and PageRank-based approaches, which analyze document structure and content to identify and extract the most relevant sentences. The library can process both plain text and HTML input, with built-in HTML parsing capabilities. It also includes an evaluation framework for assessing summary quality.
Sumy suits projects that need programmatic text summarization without heavy dependencies or complex setup. It works well for batch processing of documents, integration into larger NLP pipelines, or quick command-line summarization tasks. The tool supports multiple natural languages through a pluggable tokenizer system, and adding support for new languages is documented as straightforward. Users can interact with it either through a Python API for embedding in applications, a command-line interface for one-off summarization, or a browser-based interface without local installation.
The project maintains active engagement with its user base, responding to questions and tracking how the tool is applied in downstream projects. Development includes regular updates to dependencies and tooling, with modern Python packaging practices reflected in support for contemporary installation methods. The maintainer actively documents the project's capabilities and limitations, including maintaining a curated list of alternative summarization implementations in other languages.