bertopic
BERTopic performs topic Modeling with state-of-the-art transformer models.
Decision gist · record as of 2026-08-14
Yes. BERTopic is actively maintained, has low install friction, carries permissive MIT licensing, and no known vulnerabilities. It is well-suited for anyone needing interpretable topic discovery from text—from research prototyping to production systems. The dependency set is standard in data science workflows and adds no unusual risk. Start with it if you need flexible, modern topic modeling.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- First run downloads transformer models and may consume significant memory for large document collections.
- Low friction install with a pure-Python wheel.
License · maintenance · safety
permissive license (permissive) — MIT License permits unrestricted use, modification, and distribution with minimal restrictions—suitable for commercial and open-source projects alike.
last release 2025-12-03 (254 days) · last repo commit 2026-08-02 · 7,784 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 529,219 downloads/mo, #6,161 on PyPI
Alternatives
Verify before relying
pip install bertopic
from bertopic import BERTopic
docs = ["document one", "document two", "document three"]
topic_model = BERTopic()
topics, probs = topic_model.fit_transform(docs)
print(topic_model.get_topic_info())- Whether the package supports GPU acceleration for large-scale topic modeling.
- Performance characteristics and scalability limits for document collections of various sizes.
- Memory footprint and computational cost compared to alternative topic modeling approaches.
What it is and what it does
BERTopic is a topic modeling library that combines transformer-based embeddings with density-based clustering to discover and label topics in text collections. It uses sentence-transformers to encode documents into dense vectors, applies umap-learn for dimensionality reduction, and hdbscan for clustering, then generates interpretable topic descriptions using c-TF-IDF. The library supports multiple modeling variants including supervised, semi-supervised, hierarchical, dynamic, and multimodal approaches, making it flexible for different use cases from exploratory analysis to production systems.
The package integrates with pandas, numpy, and plotly for data handling and visualization. It can work with custom embedding models and supports fine-tuning topic representations through pluggable representation strategies, including integration with LLMs for generating human-readable topic summaries. Installation is straightforward with optional extras for alternative embedding backends or vision capabilities.
Use it for
- Discover latent topics in large document collections to understand content themes without manual labeling.
- Track how topics evolve over time in streaming or time-series text data using dynamic topic modeling.
- Build supervised or semi-supervised topic models when partial labels or guidance are available for training.
- Generate automatic topic summaries and labels using LLM integration for business intelligence.
- Cluster and organize multimodal data to find cross-modal semantic patterns.
- Extract interpretable topics from domain-specific corpora with custom embedding models.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
BERTopic is actively maintained, has low install friction, carries permissive MIT licensing, and no known vulnerabilities. It is well-suited for anyone needing interpretable topic discovery from text—from research prototyping to production systems. The dependency set is standard in data science workflows and adds no unusual risk. Start with it if you need flexible, modern topic modeling.
Install
bertopic on PyPI
Before you install
Low friction install with a pure-Python wheel. Depends on 9 runtime packages including hdbscan, umap-learn, sentence-transformers, pandas, numpy, and plotly—all standard data science libraries. Maintenance is active with recent commits and 7784 repository stars.
Requires Python 3.10 or later. First run downloads transformer models and may consume significant memory for large document collections.
License in practice
MIT License permits unrestricted use, modification, and distribution with minimal restrictions—suitable for commercial and open-source projects alike.
Quickstart
pip install bertopic
from bertopic import BERTopic
docs = ["document one", "document two", "document three"]
topic_model = BERTopic()
topics, probs = topic_model.fit_transform(docs)
print(topic_model.get_topic_info())
Verify before relying
- Whether the package supports GPU acceleration for large-scale topic modeling.
- Performance characteristics and scalability limits for document collections of various sizes.
- Memory footprint and computational cost compared to alternative topic modeling approaches.
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 9 packageshdbscanumap-learnnumpypandasplotlyscikit-learnsentence-transformerstqdmllvmlite |
| Maintenance | Actively maintained 254 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 529,219 / month, #6,161 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIXOperating System :: UnixProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Topic :: Scientific/EngineeringTopic :: Scientific/Engineering :: Artificial Intelligence |
Evidence: bertopic-0.17.4-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “topic modeling nlp”
- bertopicBERTopic performs topic modeling on text documents using transformer…
- textacytextacy extends spaCy's NLP capabilities with pre- and…
- gensimGensim is a Python library for topic modeling, document indexing, and…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also keybert · hdbscan · pytorch-pretrained-bert · bert-score · rake-nltk · sentence-transformers · spacy-curated-transformers · model2vec · spacy-transformers · keyphrase-vectorizers