Kiwisolver
raw JSON → 1.5.0 verified Tue May 12 auth: no python install: verified quickstart: stale
Kiwisolver is a fast implementation of the Cassowary constraint solver, designed to be lightweight and efficient. The current version is 1.5.0, released on March 9, 2026. The library is actively maintained and follows a regular release cadence, with updates approximately every few months.
pip install kiwisolver Common errors
error error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/ ↓
cause On Windows, kiwisolver requires the Microsoft Visual C++ Build Tools to compile its C++ extensions during installation.
fix
Download and install the "Build Tools for Visual Studio" from Microsoft's website, ensuring the "Desktop development with C++" workload is selected during installation.
error fatal error: Python.h: No such file or directory ↓
cause On Unix-like systems, kiwisolver requires the Python development headers to compile its C++ extension, but these headers (specifically Python.h) are missing.
fix
Install the Python development package for your specific Python version using your system's package manager (e.g.,
sudo apt-get install python3-dev on Debian/Ubuntu, or sudo yum install python3-devel on CentOS/Fedora). error ModuleNotFoundError: No module named 'kiwisolver' ↓
cause The kiwisolver package is either not installed in the current Python environment, or the environment in which it was installed is not the one being used.
fix
Install the package using pip:
pip install kiwisolver, and ensure you are running your script in the correct virtual environment if one was used during installation. Warnings
breaking Kiwisolver requires Python 3.10 or higher. ↓
fix Upgrade your Python installation to version 3.10 or later.
gotcha Ensure that the 'cppy' package is installed for Python bindings. ↓
fix Install the 'cppy' package using pip.
breaking The `kiwisolver.Solver` object does not have an `update` method. This often indicates an incorrect API usage or an expectation of a method that is not part of the `kiwisolver` library's standard interface. ↓
fix Consult the `kiwisolver` documentation for available methods and correct API usage. Common methods for solving or updating variables include `solve()` or `updateVariables()`.
Install compatibility verified last tested: 2026-05-12
python os / libc status wheel install import disk
3.10 alpine (musl) - - 0.00s 24.8M
3.10 slim (glibc) - - 0.00s 25M
3.11 alpine (musl) - - 0.00s 26.6M
3.11 slim (glibc) - - 0.00s 25M
3.12 alpine (musl) - - 0.00s 18.6M
3.12 slim (glibc) - - 0.00s 18M
3.13 alpine (musl) - - 0.00s 18.2M
3.13 slim (glibc) - - 0.00s 17M
3.9 alpine (musl) - - 0.00s 24.3M
3.9 slim (glibc) - - 0.00s 24M
Imports
- Solver
from kiwisolver import Solver
Quickstart stale last tested: 2026-04-23
import os
from kiwisolver import Solver
solver = Solver()
# Define variables and constraints here
solver.update()
# Solve the system
solution = solver.solve()
print(solution)