A fast implementation of the Cassowary constraint solver
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
kiwisolver-1.0.1.tar.gz
(31.6 kB
view hashes)
Built Distributions
Close
Hashes for kiwisolver-1.0.1-cp37-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c595693de998461bcd49b8d20568c8870b3209b8ea323b2a7b0ea86d85864694 |
|
MD5 | 4c131aefcf9cf9973777f5b039c59ef9 |
|
BLAKE2b-256 | 7cbe7ae355b45699460e369ebf88d86058fca26827933974cc3f6b6b7800a324 |
Close
Hashes for kiwisolver-1.0.1-cp37-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a424f048bebc4476620e77f3e4d1f282920cef9bc376ba16d0b8fe97eec87cde |
|
MD5 | f637742edbbfb35b8f89b1a7c68446df |
|
BLAKE2b-256 | 63956e03c1e40776851eda7af2e9b014bcf510e3205033c33b604c2ee36687a1 |
Close
Hashes for kiwisolver-1.0.1-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83410258eb886f3456714eea4d4304db3a1fc8624623fc3f38a487ab36c0f653 |
|
MD5 | 6d87875b049a80cc273303c890b706f2 |
|
BLAKE2b-256 | 5c7ed6cae2f241ba474a2665f24b480bf4e247036d63939dda2bbc4d2ee5069d |
Close
Hashes for kiwisolver-1.0.1-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | efabbcd4f406b532206b8801058c8bab9e79645b9880329253ae3322b7b02cd5 |
|
MD5 | 0bd4ca87eb80c3e09a9a82932b06cc12 |
|
BLAKE2b-256 | b0fb9747e8c691385716e0805d49eb1413ba693234dd5641836fdc55e5da712e |
Close
Hashes for kiwisolver-1.0.1-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 574f24b9805cb1c72d02b9f7749aa0cc0b81aa82571be5201aa1453190390ae5 |
|
MD5 | 36c4e6ecb7991cc63a775c62413a4bc2 |
|
BLAKE2b-256 | 68f221ec13269a420c063a3d7d8c87dac030da7b00fc6b27fa88cfb1c72a645b |
Close
Hashes for kiwisolver-1.0.1-cp36-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 45813e0873bbb679334a161b28cb9606d9665e70561fd6caa8863e279b5e464b |
|
MD5 | a5852c7993d1d2fd0c584f24636ec848 |
|
BLAKE2b-256 | 447216630c3392eba03788ad87949390516bbc488e8e118047a3b824631d21a6 |
Close
Hashes for kiwisolver-1.0.1-cp36-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b15bc8d2c2848a4a7c04f76c9b3dc3561e95d4dabc6b4f24bfabe5fd81a0b14f |
|
MD5 | 275d8da5463a1b33febed2b5dc30a87a |
|
BLAKE2b-256 | fd598742e2c77c852e09f0d409af42ccc4165120943ba3b52d57a3ddc56cb0ca |
Close
Hashes for kiwisolver-1.0.1-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | acb673eecbae089ea3be3dcf75bfe45fc8d4dcdc951e27d8691887963cf421c7 |
|
MD5 | 4b59d7142c837281aeb8a312ee48e799 |
|
BLAKE2b-256 | 69a788719d132b18300b4369fbffa741841cfd36d1e637e1990f27929945b538 |
Close
Hashes for kiwisolver-1.0.1-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53a5b27e6b5717bdc0125338a822605084054c80f382051fb945d2c0e6899a20 |
|
MD5 | 8bd432d3e923d19d04ecc6432919b608 |
|
BLAKE2b-256 | 9854d08ccb019eb407dc5d6af69356d48bdf6d99096ae83944087cfca24623d4 |
Close
Hashes for kiwisolver-1.0.1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1c240d565e977d80c0083404c01e4d59c5772c977fae2c483f100567f50847b |
|
MD5 | 143d3b01e4041d5effacf636058ae1bd |
|
BLAKE2b-256 | fb96619db9bf08f652790fa9f3c3884a67dc43da4bdaa185a5aa2117eb4651e1 |
Close
Hashes for kiwisolver-1.0.1-cp35-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66f82819ff47fa67a11540da96966fb9245504b7f496034f534b81cacf333861 |
|
MD5 | fee8a04ca0381b4a42ab4832d287f56d |
|
BLAKE2b-256 | 6757834881c80cd1361792a18b467ac8c1638c224a484956582e51d2f9e16e30 |
Close
Hashes for kiwisolver-1.0.1-cp35-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ee4ed8b3ae8f5f712b0aa9ebd2858b5b232f1b9a96b0943dceb34df2a223bc3 |
|
MD5 | e3376fb9ed89f9de2140a67a7b21bee4 |
|
BLAKE2b-256 | 0b78cab95f791d437bc2951ead6d7b4964b8cc578c149048161f49a6d8dfe336 |
Close
Hashes for kiwisolver-1.0.1-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9576cb63897fbfa69df60f994082c3f4b8e6adb49cccb60efb2a80a208e6f996 |
|
MD5 | f501e71b2b5ee00249d70858401075b3 |
|
BLAKE2b-256 | 7e31d6fedd4fb2c94755cd101191e581af30e1650ccce7a35bddb7930fed6574 |
Close
Hashes for kiwisolver-1.0.1-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79e5fe3ccd5144ae80777e12973027bd2f4f5e3ae8eb286cabe787bed9780138 |
|
MD5 | 51c46ed3e424233f7c1819470e29d77e |
|
BLAKE2b-256 | e5f288f7aa42c7ed3b0c42dc0fde239f7492e400ab56e769c2b4d25fdeed37a2 |
Close
Hashes for kiwisolver-1.0.1-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95a25d9f3449046ecbe9065be8f8380c03c56081bc5d41fe0fb964aaa30b2195 |
|
MD5 | 66859cb27e74e5865539e27a7152f993 |
|
BLAKE2b-256 | 69a2421afa75b6470f34dd8129b6e86f9983d83381e907cea86da616502eedad |
Close
Hashes for kiwisolver-1.0.1-cp34-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2874060b91e131ceeff00574b7c2140749c9355817a4ed498e82a4ffa308ecbc |
|
MD5 | 407a9408ac8fff74ee6d7da9c8819096 |
|
BLAKE2b-256 | 4fa317999c1209a5ac59fe9ca9750916baec77c8fd25a8af8cd2071ef99f007c |
Close
Hashes for kiwisolver-1.0.1-cp34-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f7f532f3c94e99545a29f4c3f05637f4d2713e7fd91b4dd8abfc18340b86cd5 |
|
MD5 | cb817afee326056f19bedac127e284a5 |
|
BLAKE2b-256 | 1d6510ff40db250c84095363a3deb3e3fd9b7011597f9a45ff78ea2f05ecaa71 |
Close
Hashes for kiwisolver-1.0.1-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea36e19ac0a483eea239320aef0bd40702404ff8c7e42179a2d9d36c5afcb55c |
|
MD5 | 0d5fbfae5543072275447679595e0faf |
|
BLAKE2b-256 | 1251019f130533d1561c07a5e9877bed100bafca9864a52eaddc0db1d40da0b8 |
Close
Hashes for kiwisolver-1.0.1-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1aa0b55a0eb1bd3fa82e704f44fb8f16e26702af1a073cc5030eea399e617b56 |
|
MD5 | cd3a0905e0eb065cf4036b5dd23e4136 |
|
BLAKE2b-256 | 77e284c4c103135d25f6969cc560212b3c44ece5fa8888cdf63068572d1661ea |
Close
Hashes for kiwisolver-1.0.1-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 379d97783ba8d2934d52221c833407f20ca287b36d949b4bba6c75274bcf6363 |
|
MD5 | 0119f76c6fe53c2f833449067e822062 |
|
BLAKE2b-256 | cc9bce187dfd3b15c099e2a690bd27dc9056bbfabf170818592c12737bf938d0 |
Close
Hashes for kiwisolver-1.0.1-cp27-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b791ddf2aefc56382aadc26ea5b352e86a2921e4e85c31c1f770f527eb06ce4 |
|
MD5 | d28454aaf3ad635502defcfc75924d42 |
|
BLAKE2b-256 | e03a2fda27dacdfafcf8f40cce2be09890b1443af3e65c3ab8f7294216a2946b |
Close
Hashes for kiwisolver-1.0.1-cp27-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4329008a167fac233e398e8a600d1b91539dc33c5a3eadee84c0d4b04d4494fa |
|
MD5 | 3b4f9b3a1e7a0aab79a575c6d4ce63cf |
|
BLAKE2b-256 | 6dc5ca9bbf1249119900e53996ed1530f073a7ada3946495231eb92a6f1f737c |
Close
Hashes for kiwisolver-1.0.1-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f923406e6b32c86309261b8195e24e18b6a8801df0cfc7814ac44017bfcb3939 |
|
MD5 | b4fedb08c22ae2e0253100d5936639dd |
|
BLAKE2b-256 | 3a62a8c9bef3059d55ab38e41fe9cba4fad773bfc04e47290bab84db1c18262e |
Close
Hashes for kiwisolver-1.0.1-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aaec1cfd94f4f3e9a25e144d5b0ed1eb8a9596ec36d7318a504d813412563a85 |
|
MD5 | 91256cd96f199ee4a8d5fc64ee0bcf8b |
|
BLAKE2b-256 | 4514f7c87a0a03959d7a95ac6fbc70307991c3059cd53398f5479f955ec7778b |
Close
Hashes for kiwisolver-1.0.1-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0f910f84b35c36a3513b96d816e6442ae138862257ae18a0019d2fc67b041dc |
|
MD5 | a9d8b9cbd7469603c7327caed4caf28a |
|
BLAKE2b-256 | 398d6c1a955dd402e306e55e6c63b9ae8edf618f8530ccc8979290dbb84022db |
Close
Hashes for kiwisolver-1.0.1-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a078f5dd7e99317098f0e0d490257fd0349d79363e8c923d5bb76428f318421 |
|
MD5 | 4a86a55f34b3a0909a67434ccb19cadc |
|
BLAKE2b-256 | 1554e1580f6f1cd7ab9253ca63d051c0c0ee13fc8fa3203c0bdb320f569bde8e |
Close
Hashes for kiwisolver-1.0.1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b6a7b596ce1d2a6d93c3562f1178ebd3b7bb445b3b0dd33b09f9255e312a965 |
|
MD5 | e59e4bfb4d2b20c4473f0ce1face72be |
|
BLAKE2b-256 | 79d894633718f3f77dcb638687a77ba199325a1cb158d2d4b00c9dc17f2b5c72 |