yake
Keyword extraction Python package
What it is and what it does
YAKE is an unsupervised keyword extraction library that identifies important terms and phrases in text by analyzing statistical features like word frequency, position, and co-occurrence patterns. It works on single documents without requiring training, external corpora, or language-specific resources, making it applicable across languages and domains.
The package provides both command-line and Python APIs for keyword extraction, with configurable parameters for n-gram size, deduplication strategies, context window size, and result count. It includes multilingual support, lemmatization to normalize morphological variants, and text highlighting capabilities. Dependencies are lightweight: click for CLI, jellyfish and networkx for graph-based deduplication, numpy for numerical operations, segtok for sentence segmentation, and tabulate for formatted output.
Use it for:
- Extract key topics from research papers or articles for indexing and search.
- Identify main concepts in customer feedback or support tickets for categorization.
- Generate tag suggestions for blog posts or documents without manual annotation.
- Analyze multilingual documents to find domain-relevant terms across languages.
- Build automated content summarization pipelines that preserve semantic focus.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
YAKE extracts keywords from text documents using unsupervised statistical methods, requiring no training data, external corpus, or language-specific dictionaries.
Yes, with conditions. YAKE is worth installing if you need unsupervised keyword extraction without training overhead and accept its aging maintenance status (186 days since last release). The copyleft license requires careful review if you plan proprietary use. No known security vulnerabilities, low install friction, and active repository support make it a reasonable choice for single-document keyword analysis across languages.
Install
yake on PyPI
pip
pip install yakeuv
uv add yakepoetry
poetry add yakeInstalling yake
Before you install
Low install friction with a pure Python wheel distribution. Maintenance status is aging—last release was 186 days ago—but the repository remains active with recent commits and a modest user base of 1877 stars.
License in practice
Licensed under LGPLv3 (copyleft). Derivative works and modifications must be released under the same license; proprietary applications using this package may face licensing constraints.
Quickstart
pip install yake
import yake
text = "Your document text here"
kw_extractor = yake.KeywordExtractor()
keywords = kw_extractor.extract_keywords(text)
for kw, score in keywords:
print(f"{kw} ({score})")
Requires Python 3.10 or later.
Verify before relying
- Performance characteristics on very large documents or streaming text.
- Accuracy comparison with other unsupervised keyword extraction methods.
- Memory footprint and scalability with high-dimensional feature sets.
Package facts
| License | LGPLv3 (copyleft) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — click, jellyfish, networkx, numpy, segtok, tabulate |
| Maintenance | aging — 186 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 453,507/month — #6,577 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: yake-0.7.3-py3-none-any.whl
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
keybertKeyBERT extracts keywords and keyphrases from…
permissive · top 15,000 on PyPI
keyphrase-vectorizersExtracts keyphrases from text documents using…
permissive · top 15,000 on PyPI
rake-nltkExtracts keywords and key phrases from text…
permissive · top 15,000 on PyPI
flashtextExtracts or replaces keywords in text using the…
permissive · top 5,000 on PyPI
polyglotPolyglot is a multilingual natural language…
copyleft · top 15,000 on PyPI
textractExtracts text from documents in multiple…
permissive · top 15,000 on PyPI
bertopicBERTopic performs topic modeling on text…
permissive · top 15,000 on PyPI
simplemmaSimplemma converts inflected word forms to…
permissive · top 15,000 on PyPI
geotextGeotext extracts mentions of countries and…
permissive · top 15,000 on PyPI
goose3Extracts article text, metadata, images, and…
permissive · top 15,000 on PyPI