Freedom251 › Statistical Analysis Software
pycvi

What pycvi is
pycvi is a free, MIT-licensed Python package for evaluating precomputed clusterings when labels or other external information are unavailable. It calculates 12 internal clustering validity indices, including Silhouette, Dunn, and Davies-Bouldin, and uses the results to help select a clustering. Given a scikit-learn-like clustering class, it can generate clusterings for evaluation. Time-series workflows can use distances and averages such as DTW, MSM, DBA, and MBA. Users may define custom validity indices and combine several indices, selecting by majority vote. The package also implements Variation of Information as a distance between clusterings. Documentation lists compatibility with scikit-learn, scikit-learn-extra, kmedoids, aeon, and sktime. It runs on Linux as a desktop package and provides scripting support. Installation is documented for uv, Poetry, pip, and pip within Conda. Example scripts may need extra dependencies such as matplotlib. The documentation warns that scikit-learn-extra 0.3.0 is incompatible with NumPy 2.0 and later.
Who it suits
pycvi suits Python users evaluating clustering results, including time-series clustering workflows. It is intended for Linux desktop use and supports scripting-based analysis.
What it does well
- Implements 12 internal clustering validity indices
- Supports DTW, MSM, DBA, and MBA
- Allows custom indices and majority-vote selection
- Provides Variation of Information distances
- Works with several listed clustering libraries
What to know first
- Linux desktop package only
- No statistical tests or regression models
- Example scripts may require extra dependencies
- scikit-learn-extra 0.3.0 conflicts with NumPy 2.0+
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| MIT-licensed package | Python package; 12 internal clustering validity indices | Free |
| PyCVI | Open-source Python package · MIT license | Free |
As pycvi.readthedocs.io lists them, read 11 Oct 2026. The maker's own page has the final word.
Verdict
pycvi provides a focused toolkit for comparing and selecting clusterings without external labels. Its free MIT license and multiple installation methods suit Python workflows, but dependency compatibility needs attention.
Facts from pycvi's own pages
- Additional capability
- PyCVI implements Variation of Information to measure distance between clusterings. · pycvi.readthedocs.io, 11 Oct 2026
- Bayesian analysis
- No · pycvi.readthedocs.io, 23 Sept 2026
- Clustering input
- It can generate clusterings when given a sklearn-like clustering class. · pycvi.readthedocs.io, 11 Oct 2026
- Clustering selection
- It computes index values and selects the best clustering based on the results. · pycvi.readthedocs.io, 11 Oct 2026
- Compatibility note
- The documentation warns that scikit-learn-extra 0.3.0 is incompatible with NumPy 2.0 and later, so users combining them must select a compatible NumPy version. · pycvi.readthedocs.io, 11 Oct 2026
- Custom indices
- Users can define custom CVIs and combine multiple CVIs to select a clustering by majority vote. · pycvi.readthedocs.io, 11 Oct 2026
- Dependency limitation
- The documentation warns that scikit-learn-extra 0.3.0 is incompatible with numpy versions 2.0.0 and later. · pycvi.readthedocs.io, 11 Oct 2026
- Deployment
- desktop · pycvi.readthedocs.io, 23 Sept 2026
- Example requirements
- Running example scripts requires extra dependencies, with matplotlib listed as an example dependency. · pycvi.readthedocs.io, 11 Oct 2026
- Free plan
- Yes · pycvi.readthedocs.io, 23 Sept 2026
- Indices
- It implements 12 internal clustering validity indices, including Silhouette, Dunn, and Davies-Bouldin. · pycvi.readthedocs.io, 11 Oct 2026
- Install
- The package can be installed with uv, Poetry, pip, or through pip in a conda environment. · pycvi.readthedocs.io, 11 Oct 2026
- Installation
- The project documents installation through uv, Poetry, pip, or pip within a Conda environment. · pycvi.readthedocs.io, 11 Oct 2026
- Integrations
- The documentation lists compatibility with scikit-learn, scikit-learn-extra, kmedoids, aeon, and sktime. · pycvi.readthedocs.io, 11 Oct 2026
- Intended users
- The project describes itself as a Python package for evaluating clustering, including time-series clustering workflows. · pycvi.readthedocs.io, 11 Oct 2026
- License
- The GitHub repository states that the project is licensed under the MIT license. · github.com, 11 Oct 2026
- Purpose
- PyCVI evaluates precomputed clusterings and helps select the best one when datapoint labels or other external information are unavailable. · pycvi.readthedocs.io, 11 Oct 2026
- Regression models
- No · pycvi.readthedocs.io, 23 Sept 2026
- Scripting support
- Yes · pycvi.readthedocs.io, 23 Sept 2026
- Security
- The project documentation does not state security certifications or compliance claims. · pycvi.readthedocs.io, 11 Oct 2026
- Statistical tests
- No · pycvi.readthedocs.io, 23 Sept 2026
- Support
- The documentation directs users with issues to contact the maintainer or create a GitHub issue. · pycvi.readthedocs.io, 11 Oct 2026
- Time series
- PyCVI supports time-series distances and averages including DTW, MSM, DBA, and MBA. · pycvi.readthedocs.io, 11 Oct 2026
- Validity indices
- The package implements 12 internal clustering validity indices, including Silhouette, Dunn, and Davies-Bouldin. · pycvi.readthedocs.io, 11 Oct 2026
Where pycvi stands on Freedom251
- Statistical Analysis Software#64 of 106