Skip to main content

PyPI Python Build Documentation

k-means-constrained

K-means clustering implementation whereby a minimum and/or maximum size for each cluster can be specified.

This K-means implementation modifies the cluster assignment step (E in EM) by formulating it as a Minimum Cost Flow (MCF) linear network optimisation problem. This is then solved using a cost-scaling push-relabel algorithm and uses Google's Operations Research tools's SimpleMinCostFlow which is a fast C++ implementation.

This package is inspired by Bradley et al.. The original Minimum Cost Flow (MCF) network proposed by Bradley et al. has been modified so maximum cluster sizes can also be specified along with minimum cluster size.

The code is based on scikit-lean's KMeans and implements the same API with modifications.

Ref:

  1. Bradley, P. S., K. P. Bennett, and Ayhan Demiriz. "Constrained k-means clustering." Microsoft Research, Redmond (2000): 1-8.
  2. Google's SimpleMinCostFlow C++ implementation

Installation

You can install the k-means-constrained from PyPI:

pip install k-means-constrained

It is supported on Python 3.10, 3.11, 3.12, 3.13 and 3.14. Previous versions of k-means-constrained support older versions of Python and Numpy.

Example

More details can be found in the API documentation.

>>> from k_means_constrained import KMeansConstrained
>>> import numpy as np
>>> X = np.array([[1, 2], [1, 4], [1, 0],
...                [4, 2], [4, 4], [4, 0]])
>>> clf = KMeansConstrained(
...     n_clusters=2,
...     size_min=2,
...     size_max=5,
...     random_state=0
... )
>>> clf.fit_predict(X)
array([0, 0, 0, 1, 1, 1], dtype=int32)
>>> clf.cluster_centers_
array([[ 1.,  2.],
       [ 4.,  2.]])
>>> clf.labels_
array([0, 0, 0, 1, 1, 1], dtype=int32)
Code only
from k_means_constrained import KMeansConstrained
import numpy as np
X = np.array([[1, 2], [1, 4], [1, 0],
                [4, 2], [4, 4], [4, 0]])
clf = KMeansConstrained(
     n_clusters=2,
     size_min=2,
     size_max=5,
     random_state=0
 )
clf.fit_predict(X)
clf.cluster_centers_
clf.labels_

Time complexity and runtime

k-means-constrained is a more complex algorithm than vanilla k-means and therefore will take longer to execute and has worse scaling characteristics.

Given a number of data points $n$ and clusters $c$, the time complexity of:

  • k-means: $\mathcal{O}(nc)$
  • k-means-constrained1: $\mathcal{O}((n^3c+n^2c^2+nc^3)\log(n+c)))$

This assumes a constant number of algorithm iterations and data-point features/dimensions.

If you consider the case where $n$ is the same order as $c$ ($n \backsim c$) then:

  • k-means: $\mathcal{O}(n^2)$
  • k-means-constrained1: $\mathcal{O}(n^4\log(n)))$

Below is a runtime comparison between k-means and k-means-constrained whereby the number of iterations, initializations, multi-process pool size and dimension size are fixed. The number of clusters is also always one-tenth the number of data points $n=10c$. It is shown above that the runtime is independent of the minimum or maximum cluster size, and so none is included below.

Data-points vs execution time for k-means vs k-means-constrained. Data-points=10*clusters. No min/max constraints

System details
  • OS: Linux-5.15.0-75-generic-x86_64-with-glibc2.35
  • CPU: AMD EPYC 7763 64-Core Processor
  • CPU cores: 120
  • k-means-constrained version: 0.7.3
  • numpy version: 1.24.2
  • scipy version: 1.11.1
  • ortools version: 9.6.2534
  • joblib version: 1.3.1
  • sklearn version: 1.3.0
---

1: Ortools states the time complexity of their cost-scaling push-relabel algorithm for the min-cost flow problem as $\mathcal{O}(n^2m\log(nC))$ where $n$ is the number of nodes, $m$ is the number of edges and $C$ is the maximum absolute edge cost.

Change log

  • v0.9.1 (2026-07-05) Free-threaded Python (no-GIL) support. cp314t wheels for Linux. (Note that ortools provides a free-threading build 3.14t but doesn't declare "GIL-not-used" and re-enables the GIL. You can force no GIL by using PYTHON_GIL=0. ortools PR to fix this)
  • v0.9.0 (2026-01-27) Added Python 3.14 support. Bumped ortools to >= 9.15.6755.
  • v0.8.0 (2025-11-26) Fixed IndexError due to imprecision in _k_init centroid selection. Ported fix from scikit-learn: scikit-learn#11756
  • v0.7.6 (2025-06-30) Add Python v3.13 and Linux ARM support.
  • v0.7.5 fix comment in README on Python version that is supported
  • v0.7.4 compatible with Numpy +v2.1.1. Added Python 3.12 support and dropped Python 3.8 and 3.9 support (due to Numpy). Linux ARM support has been dropped as we use GitHub runners to build the package and ARM machines was being emulated using QEMU. This however was producing numerical errors. GitHub should natively support Ubuntu ARM images soon and then we can start to re-build them.
  • v0.7.3 compatible with Numpy v1.23.0 to 1.26.4

Citations

If you use this software in your research, please use the following citation:

@software{Levy-Kramer_k-means-constrained_2018,
  author = {Levy-Kramer, Josh},
  month = apr,
  title = {{k-means-constrained}},
  url = {https://github.com/joshlk/k-means-constrained},
  year = {2018}
}

Release files for k-means-constrained 0.9.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for k-means-constrained 0.9.1
File
k_means_constrained-0.9.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
k_means_constrained-0.9.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
k_means_constrained-0.9.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
k_means_constrained-0.9.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
k_means_constrained-0.9.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
k_means_constrained-0.9.1-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
k_means_constrained-0.9.1-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details
k_means_constrained-0.9.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
k_means_constrained-0.9.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
k_means_constrained-0.9.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
k_means_constrained-0.9.1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
k_means_constrained-0.9.1-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
k_means_constrained-0.9.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
k_means_constrained-0.9.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
k_means_constrained-0.9.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
k_means_constrained-0.9.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
k_means_constrained-0.9.1-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
k_means_constrained-0.9.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
k_means_constrained-0.9.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
k_means_constrained-0.9.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
k_means_constrained-0.9.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
k_means_constrained-0.9.1-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
k_means_constrained-0.9.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
k_means_constrained-0.9.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
k_means_constrained-0.9.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
k_means_constrained-0.9.1-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
k_means_constrained-0.9.1-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details

Total release size: 31.7 MB

Release files / k_means_constrained-0.9.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL k_means_constrained-0.9.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 2.2 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
fd284485d5b1b312e7624ce322c5bab77cc1750b917448e35b153c68e8a851a8
BLAKE2b-256 checksum
How to use checksums
2ea197f09ae20071f603372dd288b99c8eba0c43d3ea888aca1dae3ffcbb0337
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / k_means_constrained-0.9.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL k_means_constrained-0.9.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 2.2 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
eaebf63e2854f58ef66f5b5bd20d83ef6937a3b19adcd63a6bf8bf4d4eacc397
BLAKE2b-256 checksum
How to use checksums
f63f10627390ad35c974e2b742c93577aae20a02a5c38511c44893d388287ebe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / k_means_constrained-0.9.1-cp314-cp314-win_amd64.whl

Download URL k_means_constrained-0.9.1-cp314-cp314-win_amd64.whl
Size 330.3 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
968b15033cb0fcd8a6895cfcc2b1081f02845e7c15f6e50c3547cda0deb87710
BLAKE2b-256 checksum
How to use checksums
209c618220ab6822bdea076364483044d114d31f2c26eb10ed7e3a52b61204da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / k_means_constrained-0.9.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL k_means_constrained-0.9.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 2.2 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
47d125579a9b9742c53dd9d3dae00c2745b55b2616459daa9b6d7aeda53f7c35
BLAKE2b-256 checksum
How to use checksums
ddaf33a8661c313057ae4eb03e86fc87265ac94111f4f1400a60f774797111d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / k_means_constrained-0.9.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL k_means_constrained-0.9.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 2.2 MB
Tags CPython 3.14 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
e1b5e4b482b185e22dcf39aa28e4741ec9d808a4f7a669537ca6a60f56e32372
BLAKE2b-256 checksum
How to use checksums
4d966e5f6f39790ae114532ca1aee4fb889b989cb709961aad89505cfd7f97b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / k_means_constrained-0.9.1-cp314-cp314-macosx_11_0_arm64.whl

Download URL k_means_constrained-0.9.1-cp314-cp314-macosx_11_0_arm64.whl
Size 369.1 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1d6f61e639c4809da49100a8be05aa3dcca34e31bdd8ca9f8b55bcbd9f312abe
BLAKE2b-256 checksum
How to use checksums
839f815173ef3279e1e8ca66c8ba69b2e2565a35c23160387822855c3940de79
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / k_means_constrained-0.9.1-cp314-cp314-macosx_10_15_x86_64.whl

Download URL k_means_constrained-0.9.1-cp314-cp314-macosx_10_15_x86_64.whl
Size 378.8 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
2aedda0fbc9eda8a3baa4ad4b1eadb24f27d86b03abae5917b90504c775cc222
BLAKE2b-256 checksum
How to use checksums
5bf035ed33b441481a607bae343783d13c61c11e8519485332d39ab963e4911d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / k_means_constrained-0.9.1-cp313-cp313-win_amd64.whl

Download URL k_means_constrained-0.9.1-cp313-cp313-win_amd64.whl
Size 321.9 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
ddc5cb77eee500a61ef6053e5b3e3b701c027aa3c3e0af2c1a6adb9dbcb9196c
BLAKE2b-256 checksum
How to use checksums
71a12a08d1d79a81421af35a6b40aea8ebaafdeee65f88c57d8e3d59f35f5d70
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / k_means_constrained-0.9.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL k_means_constrained-0.9.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 2.2 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0349cdf06191dc81ae11605b1f015a205ec4e28abc3d3543c1ffda68d349d8da
BLAKE2b-256 checksum
How to use checksums
d224f6becb92d2c1a41fb711943fb0dff1971a73a9d27c7540d913a316bafb5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / k_means_constrained-0.9.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL k_means_constrained-0.9.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 2.2 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
a2791d523ea783b3816a4a14d198d5fa93b2901b8c11c884695479e8cbd7d1fc
BLAKE2b-256 checksum
How to use checksums
911c9c1c80b736c043a9309495e072b03fe2b53af45df1b14ede56d8f33b4fe3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / k_means_constrained-0.9.1-cp313-cp313-macosx_11_0_arm64.whl

Download URL k_means_constrained-0.9.1-cp313-cp313-macosx_11_0_arm64.whl
Size 367.7 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f3abbccb40c856e9882c74f249316923d75038de978f15604b6b3303dcffbde3
BLAKE2b-256 checksum
How to use checksums
b078321fc073c892285bb1a761208826e503422c5373b5d91e040f64d00a3066
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / k_means_constrained-0.9.1-cp313-cp313-macosx_10_13_x86_64.whl

Download URL k_means_constrained-0.9.1-cp313-cp313-macosx_10_13_x86_64.whl
Size 379.1 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
09609b99e0a2882a488ff39a8020660c800113669f6fc7cd22160f6715342baf
BLAKE2b-256 checksum
How to use checksums
31c491eaeb1eb64e708d5d9b1d88e486eca184f12ee25aabd37019c68d51b09d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / k_means_constrained-0.9.1-cp312-cp312-win_amd64.whl

Download URL k_means_constrained-0.9.1-cp312-cp312-win_amd64.whl
Size 322.1 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
d12b7b347cc37bca83cd07364b591f6f9c001cd95781e73d06dcd688d05068d9
BLAKE2b-256 checksum
How to use checksums
347e2ae1a5ed9c10dfb4f71027f5287d7bbadf97983452a50b094b2813991fa1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / k_means_constrained-0.9.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL k_means_constrained-0.9.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 2.2 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4526eb9597812127e880928f8a396cd8d36e18b236b3e1a3689418175d3adc3a
BLAKE2b-256 checksum
How to use checksums
1d7cc4158b9e37c1e1e7cce192c6c1768e1ff50e7b44fa6240c0df889471712d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / k_means_constrained-0.9.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL k_means_constrained-0.9.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 2.2 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
cfa74d61adf330ce2ff02ac994dc574bbac7ead8fe778e9d986e8d88d2b9b1a3
BLAKE2b-256 checksum
How to use checksums
c9cea9c8b7526f90da2abc660b37b0b675aa884aa464dc62be16d348a6f60c6f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / k_means_constrained-0.9.1-cp312-cp312-macosx_11_0_arm64.whl

Download URL k_means_constrained-0.9.1-cp312-cp312-macosx_11_0_arm64.whl
Size 369.9 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5457d4463fb6f1179a094b713e15264917cf00490d0238b2fa8f4f021c5982ff
BLAKE2b-256 checksum
How to use checksums
05765f1c483ca38df508868dd5163f71a6863196bb0ee47aba0f42ac29906c1e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / k_means_constrained-0.9.1-cp312-cp312-macosx_10_13_x86_64.whl

Download URL k_means_constrained-0.9.1-cp312-cp312-macosx_10_13_x86_64.whl
Size 381.0 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
eccc1aa14652a7f6d01366828c584acbea6ed97fa4b6640221d6840b182baed5
BLAKE2b-256 checksum
How to use checksums
f7063a63cff4fabb94e2354da7335b0b0c21a8fb061a428bb497b9b08ea67392
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / k_means_constrained-0.9.1-cp311-cp311-win_amd64.whl

Download URL k_means_constrained-0.9.1-cp311-cp311-win_amd64.whl
Size 325.3 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
4fefc9b8fcfc5f256ec21001850dc25f1064748b78951ecbe57db8fe3247a5b1
BLAKE2b-256 checksum
How to use checksums
f8ea54f135793fa1ead09e1e49a15f45b68428ae8cee7758c107a350e04806ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / k_means_constrained-0.9.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL k_means_constrained-0.9.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 2.2 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0d238879a096798e222e1d5340c2a497c16955793eae48595828a5a05de56b1f
BLAKE2b-256 checksum
How to use checksums
73c8fd0b10f1254ca25d8c32ed7d429f89576ad1cc9586d2490da9f1d263f33c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / k_means_constrained-0.9.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL k_means_constrained-0.9.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 2.2 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
21437824e3b6a9aed6f07d18efdb7821bcb2e00b10289ef03f41ec865f88b9e8
BLAKE2b-256 checksum
How to use checksums
4a5e5311ca77361fd52a266caf62fc2b39db8536e1267f6f3eed0925a9fae586
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / k_means_constrained-0.9.1-cp311-cp311-macosx_11_0_arm64.whl

Download URL k_means_constrained-0.9.1-cp311-cp311-macosx_11_0_arm64.whl
Size 365.1 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
18215f7d36aca1bdbf6e1bb859d95af160e998f47f62005935bff7cd9a3b236e
BLAKE2b-256 checksum
How to use checksums
09eece480ddde5c98b38b6852f73b6016cdc1fcd0f0d3918d9d8c9ad54f311bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / k_means_constrained-0.9.1-cp311-cp311-macosx_10_9_x86_64.whl

Download URL k_means_constrained-0.9.1-cp311-cp311-macosx_10_9_x86_64.whl
Size 378.1 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
e3575903035ae9a40dc6f8fe39064f60c8a2c221584d00ffd43fe3a6cb96053b
BLAKE2b-256 checksum
How to use checksums
fca324702fef770530fcd66ec7fe9a36a49c771984ae7c2dee904eb168b9c285
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / k_means_constrained-0.9.1-cp310-cp310-win_amd64.whl

Download URL k_means_constrained-0.9.1-cp310-cp310-win_amd64.whl
Size 325.2 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
33105639a4fc85e4fc72ada4c1d912bdbac4b5391cf88ca6bd207ff045833930
BLAKE2b-256 checksum
How to use checksums
a3ebc34a12de689ab758ac0cf2f6b2d5f7544c7982fc73507220659729b2d7ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / k_means_constrained-0.9.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL k_means_constrained-0.9.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 2.1 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2ad7463cc56b972335f48e981e86093bac9a8441f0e82185fec77abcc34a7534
BLAKE2b-256 checksum
How to use checksums
e76ae22f49406345aeeb980336ab06881d49fd71ed86ce4834bceb3dce9c51a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / k_means_constrained-0.9.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL k_means_constrained-0.9.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 2.1 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
8ffa233cca25bb8ee71c4a3c5d0737b6a4d3ec8dd3703211ddb13f51d2189222
BLAKE2b-256 checksum
How to use checksums
7169cb97ddeea0fdea2f558c5f5f5eb9c1aa43b022af0ed86a4dba54349a0295
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / k_means_constrained-0.9.1-cp310-cp310-macosx_11_0_arm64.whl

Download URL k_means_constrained-0.9.1-cp310-cp310-macosx_11_0_arm64.whl
Size 369.0 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
33ed20fcc3f67df86efd26113eb956861292ddce7c92f976952e85ed94ccd95a
BLAKE2b-256 checksum
How to use checksums
6b255cafd9b96eee94d8378dca02fd075b71c15247ca6514a1285daaa15d3699
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / k_means_constrained-0.9.1-cp310-cp310-macosx_10_9_x86_64.whl

Download URL k_means_constrained-0.9.1-cp310-cp310-macosx_10_9_x86_64.whl
Size 382.0 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
01b61eba9ba67e77a33eeadb5507449ca5fa375c6626c458df0c5577f7870f45
BLAKE2b-256 checksum
How to use checksums
c3ca5b97510d1ff76ced3d56eeb02b7ff00554cc941ad9132e3a7df4bd206b46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release history Release notifications | RSS feed

This release

0.9.1 This release

27 release files

0.9.0

25 release files

0.8.0

20 release files

0.7.6

20 release files

0.7.3

21 release files

0.7.2

7 release files

0.7.1

5 release files

0.7.0

7 release files

0.6.0

7 release files

0.5.2

9 release files

0.5.1

9 release files

0.5.0

9 release files

0.4.3

7 release files

0.4.2

7 release files

0.3.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page