.. _spkg_kiwisolver:

kiwisolver: An implementation of the Cassowary constraint solving algorithm
===========================================================================

Description
-----------

From https://pypi.org/project/kiwisolver/

A fast implementation of the Cassowary constraint solver

Kiwi is an efficient C++ implementation of the Cassowary constraint
solving algorithm. Kiwi is an implementation of the algorithm based on
the seminal Cassowary paper. It is not a refactoring of the original C++
solver. Kiwi has been designed from the ground up to be lightweight and
fast. Kiwi ranges from 10x to 500x faster than the original Cassowary
solver with typical use cases gaining a 40x improvement. Memory savings
are consistently > 5x.

In addition to the C++ solver, Kiwi ships with hand-rolled Python
bindings.

License
-------

Modified BSD License


Upstream Contact
----------------

https://github.com/nucleic/kiwi

Type
----

standard


Dependencies
------------

- $(PYTHON)
- :ref:`spkg_cppy`
- $(PYTHON_TOOLCHAIN)

Version Information
-------------------

package-version.txt::

    1.3.2

install-requires.txt::

    kiwisolver >=1.0.1


Equivalent System Packages
--------------------------

conda:

.. CODE-BLOCK:: bash

    $ conda install  kiwisolver


macports:
install the following packages: py-kiwisolver

void:

.. CODE-BLOCK:: bash

    $ sudo xbps-install  python3-kiwisolver


See https://repology.org/project/python:kiwisolver/versions


However, these system packages will not be used for building Sage
because using Python site-packages is not supported by the Sage distribution;
see :trac:`29023`

