by brodderickrodriguez

brodderickrodriguez / cassowary

A pure python implementation of the Cassowary constraint solving algorithm.

132 Stars 25 Forks Last release: 9 months ago (v0.5.2) Other 39 Commits 3 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

This project is being dusted off

| This project was transferred to Brodderick Rodriguez in February 2020 who will oversee its development from here on out. | A big thanks to Russell for his original authorship of this project.


A pure Python implementation of the

Cassowary constraint-solving algorithm
_. Cassowary is the algorithm that forms the core of the OS X and iOS visual layout mechanism.

.. _Cassowary constraint-solving algorithm:


Cassowary is compatible with both Python 2 or Python 3. To install Cassowary in your virtualenv, run::

$ pip install cassowary

Then, in your Python code, you can create and solve constraint systems. See

the documentation
_ for examples of what this looks like in practice.

.. _the documentation:


Documentation for Cassowary can be found on

Read The Docs


| Notice: Cassowary is no longer part of the BeeWare suite. | You can talk to the community through:

  • Tweet Brodderick on Twitter:


If you experience problems with Cassowary,

log them on GitHub
. If you want to contribute code, please
fork the code
submit a pull request

Project Administration

| This project was transferred to Brodderick Rodriguez in February 2020 who will continue to oversee its development from here on out. | Russell Keith-Magee is the original author of this work. A big thanks to him for his work! Check out

Russell's GitHub

.. Russell's GitHub: .. [email protected]: .. _homepage: .. _Read The Docs:

.. _log them on Github: .. _fork the code: .. _submit a pull request:

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.