Skip to main content

A fast implementation of the Cassowary constraint solver

Project description

https://travis-ci.org/nucleic/kiwi.svg?branch=master

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


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 details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

kiwisolver-1.0.1-cp37-none-win_amd64.whl (57.1 kB view details)

Uploaded CPython 3.7Windows x86-64

kiwisolver-1.0.1-cp37-none-win32.whl (44.1 kB view details)

Uploaded CPython 3.7Windows x86

kiwisolver-1.0.1-cp37-cp37m-manylinux1_x86_64.whl (89.5 kB view details)

Uploaded CPython 3.7m

kiwisolver-1.0.1-cp37-cp37m-manylinux1_i686.whl (88.2 kB view details)

Uploaded CPython 3.7m

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 (107.3 kB view details)

Uploaded CPython 3.7mmacOS 10.10+ Intel (x86-64, i386)macOS 10.10+ x86-64macOS 10.6+ Intel (x86-64, i386)macOS 10.9+ Intel (x86-64, i386)macOS 10.9+ x86-64

kiwisolver-1.0.1-cp36-none-win_amd64.whl (57.1 kB view details)

Uploaded CPython 3.6Windows x86-64

kiwisolver-1.0.1-cp36-none-win32.whl (44.1 kB view details)

Uploaded CPython 3.6Windows x86

kiwisolver-1.0.1-cp36-cp36m-manylinux1_x86_64.whl (949.5 kB view details)

Uploaded CPython 3.6m

kiwisolver-1.0.1-cp36-cp36m-manylinux1_i686.whl (890.5 kB view details)

Uploaded CPython 3.6m

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 (108.4 kB view details)

Uploaded CPython 3.6mmacOS 10.10+ Intel (x86-64, i386)macOS 10.10+ x86-64macOS 10.6+ Intel (x86-64, i386)macOS 10.9+ Intel (x86-64, i386)macOS 10.9+ x86-64

kiwisolver-1.0.1-cp35-none-win_amd64.whl (57.1 kB view details)

Uploaded CPython 3.5Windows x86-64

kiwisolver-1.0.1-cp35-none-win32.whl (44.1 kB view details)

Uploaded CPython 3.5Windows x86

kiwisolver-1.0.1-cp35-cp35m-manylinux1_x86_64.whl (949.5 kB view details)

Uploaded CPython 3.5m

kiwisolver-1.0.1-cp35-cp35m-manylinux1_i686.whl (890.0 kB view details)

Uploaded CPython 3.5m

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 (108.4 kB view details)

Uploaded CPython 3.5mmacOS 10.10+ Intel (x86-64, i386)macOS 10.10+ x86-64macOS 10.6+ Intel (x86-64, i386)macOS 10.9+ Intel (x86-64, i386)macOS 10.9+ x86-64

kiwisolver-1.0.1-cp34-none-win_amd64.whl (60.5 kB view details)

Uploaded CPython 3.4Windows x86-64

kiwisolver-1.0.1-cp34-none-win32.whl (45.5 kB view details)

Uploaded CPython 3.4Windows x86

kiwisolver-1.0.1-cp34-cp34m-manylinux1_x86_64.whl (948.7 kB view details)

Uploaded CPython 3.4m

kiwisolver-1.0.1-cp34-cp34m-manylinux1_i686.whl (889.8 kB view details)

Uploaded CPython 3.4m

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 (108.3 kB view details)

Uploaded CPython 3.4mmacOS 10.10+ Intel (x86-64, i386)macOS 10.10+ x86-64macOS 10.6+ Intel (x86-64, i386)macOS 10.9+ Intel (x86-64, i386)macOS 10.9+ x86-64

kiwisolver-1.0.1-cp27-none-win_amd64.whl (64.0 kB view details)

Uploaded CPython 2.7Windows x86-64

kiwisolver-1.0.1-cp27-none-win32.whl (44.3 kB view details)

Uploaded CPython 2.7Windows x86

kiwisolver-1.0.1-cp27-cp27mu-manylinux1_x86_64.whl (951.8 kB view details)

Uploaded CPython 2.7mu

kiwisolver-1.0.1-cp27-cp27mu-manylinux1_i686.whl (884.7 kB view details)

Uploaded CPython 2.7mu

kiwisolver-1.0.1-cp27-cp27m-manylinux1_x86_64.whl (951.9 kB view details)

Uploaded CPython 2.7m

kiwisolver-1.0.1-cp27-cp27m-manylinux1_i686.whl (884.7 kB view details)

Uploaded CPython 2.7m

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 (110.1 kB view details)

Uploaded CPython 2.7mmacOS 10.10+ Intel (x86-64, i386)macOS 10.10+ x86-64macOS 10.6+ Intel (x86-64, i386)macOS 10.9+ Intel (x86-64, i386)macOS 10.9+ x86-64

File details

Details for the file kiwisolver-1.0.1.tar.gz.

File metadata

  • Download URL: kiwisolver-1.0.1.tar.gz
  • Upload date:
  • Size: 31.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for kiwisolver-1.0.1.tar.gz
Algorithm Hash digest
SHA256 ce3be5d520b4d2c3e5eeb4cd2ef62b9b9ab8ac6b6fedbaa0e39cdb6f50644278
MD5 e2a1718b837e2cd001f7c06934616fcd
BLAKE2b-256 3160494fcce70d60a598c32ee00e71542e52e27c978e5f8219fae0d4ac6e2864

See more details on using hashes here.

File details

Details for the file kiwisolver-1.0.1-cp37-none-win_amd64.whl.

File metadata

File hashes

Hashes for kiwisolver-1.0.1-cp37-none-win_amd64.whl
Algorithm Hash digest
SHA256 c595693de998461bcd49b8d20568c8870b3209b8ea323b2a7b0ea86d85864694
MD5 4c131aefcf9cf9973777f5b039c59ef9
BLAKE2b-256 7cbe7ae355b45699460e369ebf88d86058fca26827933974cc3f6b6b7800a324

See more details on using hashes here.

File details

Details for the file kiwisolver-1.0.1-cp37-none-win32.whl.

File metadata

File hashes

Hashes for kiwisolver-1.0.1-cp37-none-win32.whl
Algorithm Hash digest
SHA256 a424f048bebc4476620e77f3e4d1f282920cef9bc376ba16d0b8fe97eec87cde
MD5 f637742edbbfb35b8f89b1a7c68446df
BLAKE2b-256 63956e03c1e40776851eda7af2e9b014bcf510e3205033c33b604c2ee36687a1

See more details on using hashes here.

File details

Details for the file kiwisolver-1.0.1-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for kiwisolver-1.0.1-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 83410258eb886f3456714eea4d4304db3a1fc8624623fc3f38a487ab36c0f653
MD5 6d87875b049a80cc273303c890b706f2
BLAKE2b-256 5c7ed6cae2f241ba474a2665f24b480bf4e247036d63939dda2bbc4d2ee5069d

See more details on using hashes here.

File details

Details for the file kiwisolver-1.0.1-cp37-cp37m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for kiwisolver-1.0.1-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 efabbcd4f406b532206b8801058c8bab9e79645b9880329253ae3322b7b02cd5
MD5 0bd4ca87eb80c3e09a9a82932b06cc12
BLAKE2b-256 b0fb9747e8c691385716e0805d49eb1413ba693234dd5641836fdc55e5da712e

See more details on using hashes here.

File details

Details for the file 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.

File metadata

File hashes

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

See more details on using hashes here.

File details

Details for the file kiwisolver-1.0.1-cp36-none-win_amd64.whl.

File metadata

File hashes

Hashes for kiwisolver-1.0.1-cp36-none-win_amd64.whl
Algorithm Hash digest
SHA256 45813e0873bbb679334a161b28cb9606d9665e70561fd6caa8863e279b5e464b
MD5 a5852c7993d1d2fd0c584f24636ec848
BLAKE2b-256 447216630c3392eba03788ad87949390516bbc488e8e118047a3b824631d21a6

See more details on using hashes here.

File details

Details for the file kiwisolver-1.0.1-cp36-none-win32.whl.

File metadata

File hashes

Hashes for kiwisolver-1.0.1-cp36-none-win32.whl
Algorithm Hash digest
SHA256 b15bc8d2c2848a4a7c04f76c9b3dc3561e95d4dabc6b4f24bfabe5fd81a0b14f
MD5 275d8da5463a1b33febed2b5dc30a87a
BLAKE2b-256 fd598742e2c77c852e09f0d409af42ccc4165120943ba3b52d57a3ddc56cb0ca

See more details on using hashes here.

File details

Details for the file kiwisolver-1.0.1-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for kiwisolver-1.0.1-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 acb673eecbae089ea3be3dcf75bfe45fc8d4dcdc951e27d8691887963cf421c7
MD5 4b59d7142c837281aeb8a312ee48e799
BLAKE2b-256 69a788719d132b18300b4369fbffa741841cfd36d1e637e1990f27929945b538

See more details on using hashes here.

File details

Details for the file kiwisolver-1.0.1-cp36-cp36m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for kiwisolver-1.0.1-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 53a5b27e6b5717bdc0125338a822605084054c80f382051fb945d2c0e6899a20
MD5 8bd432d3e923d19d04ecc6432919b608
BLAKE2b-256 9854d08ccb019eb407dc5d6af69356d48bdf6d99096ae83944087cfca24623d4

See more details on using hashes here.

File details

Details for the file 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.

File metadata

File hashes

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

See more details on using hashes here.

File details

Details for the file kiwisolver-1.0.1-cp35-none-win_amd64.whl.

File metadata

File hashes

Hashes for kiwisolver-1.0.1-cp35-none-win_amd64.whl
Algorithm Hash digest
SHA256 66f82819ff47fa67a11540da96966fb9245504b7f496034f534b81cacf333861
MD5 fee8a04ca0381b4a42ab4832d287f56d
BLAKE2b-256 6757834881c80cd1361792a18b467ac8c1638c224a484956582e51d2f9e16e30

See more details on using hashes here.

File details

Details for the file kiwisolver-1.0.1-cp35-none-win32.whl.

File metadata

File hashes

Hashes for kiwisolver-1.0.1-cp35-none-win32.whl
Algorithm Hash digest
SHA256 0ee4ed8b3ae8f5f712b0aa9ebd2858b5b232f1b9a96b0943dceb34df2a223bc3
MD5 e3376fb9ed89f9de2140a67a7b21bee4
BLAKE2b-256 0b78cab95f791d437bc2951ead6d7b4964b8cc578c149048161f49a6d8dfe336

See more details on using hashes here.

File details

Details for the file kiwisolver-1.0.1-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for kiwisolver-1.0.1-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 9576cb63897fbfa69df60f994082c3f4b8e6adb49cccb60efb2a80a208e6f996
MD5 f501e71b2b5ee00249d70858401075b3
BLAKE2b-256 7e31d6fedd4fb2c94755cd101191e581af30e1650ccce7a35bddb7930fed6574

See more details on using hashes here.

File details

Details for the file kiwisolver-1.0.1-cp35-cp35m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for kiwisolver-1.0.1-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 79e5fe3ccd5144ae80777e12973027bd2f4f5e3ae8eb286cabe787bed9780138
MD5 51c46ed3e424233f7c1819470e29d77e
BLAKE2b-256 e5f288f7aa42c7ed3b0c42dc0fde239f7492e400ab56e769c2b4d25fdeed37a2

See more details on using hashes here.

File details

Details for the file 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.

File metadata

File hashes

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

See more details on using hashes here.

File details

Details for the file kiwisolver-1.0.1-cp34-none-win_amd64.whl.

File metadata

File hashes

Hashes for kiwisolver-1.0.1-cp34-none-win_amd64.whl
Algorithm Hash digest
SHA256 2874060b91e131ceeff00574b7c2140749c9355817a4ed498e82a4ffa308ecbc
MD5 407a9408ac8fff74ee6d7da9c8819096
BLAKE2b-256 4fa317999c1209a5ac59fe9ca9750916baec77c8fd25a8af8cd2071ef99f007c

See more details on using hashes here.

File details

Details for the file kiwisolver-1.0.1-cp34-none-win32.whl.

File metadata

File hashes

Hashes for kiwisolver-1.0.1-cp34-none-win32.whl
Algorithm Hash digest
SHA256 0f7f532f3c94e99545a29f4c3f05637f4d2713e7fd91b4dd8abfc18340b86cd5
MD5 cb817afee326056f19bedac127e284a5
BLAKE2b-256 1d6510ff40db250c84095363a3deb3e3fd9b7011597f9a45ff78ea2f05ecaa71

See more details on using hashes here.

File details

Details for the file kiwisolver-1.0.1-cp34-cp34m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for kiwisolver-1.0.1-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 ea36e19ac0a483eea239320aef0bd40702404ff8c7e42179a2d9d36c5afcb55c
MD5 0d5fbfae5543072275447679595e0faf
BLAKE2b-256 1251019f130533d1561c07a5e9877bed100bafca9864a52eaddc0db1d40da0b8

See more details on using hashes here.

File details

Details for the file kiwisolver-1.0.1-cp34-cp34m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for kiwisolver-1.0.1-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 1aa0b55a0eb1bd3fa82e704f44fb8f16e26702af1a073cc5030eea399e617b56
MD5 cd3a0905e0eb065cf4036b5dd23e4136
BLAKE2b-256 77e284c4c103135d25f6969cc560212b3c44ece5fa8888cdf63068572d1661ea

See more details on using hashes here.

File details

Details for the file 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.

File metadata

File hashes

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

See more details on using hashes here.

File details

Details for the file kiwisolver-1.0.1-cp27-none-win_amd64.whl.

File metadata

File hashes

Hashes for kiwisolver-1.0.1-cp27-none-win_amd64.whl
Algorithm Hash digest
SHA256 3b791ddf2aefc56382aadc26ea5b352e86a2921e4e85c31c1f770f527eb06ce4
MD5 d28454aaf3ad635502defcfc75924d42
BLAKE2b-256 e03a2fda27dacdfafcf8f40cce2be09890b1443af3e65c3ab8f7294216a2946b

See more details on using hashes here.

File details

Details for the file kiwisolver-1.0.1-cp27-none-win32.whl.

File metadata

File hashes

Hashes for kiwisolver-1.0.1-cp27-none-win32.whl
Algorithm Hash digest
SHA256 4329008a167fac233e398e8a600d1b91539dc33c5a3eadee84c0d4b04d4494fa
MD5 3b4f9b3a1e7a0aab79a575c6d4ce63cf
BLAKE2b-256 6dc5ca9bbf1249119900e53996ed1530f073a7ada3946495231eb92a6f1f737c

See more details on using hashes here.

File details

Details for the file kiwisolver-1.0.1-cp27-cp27mu-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for kiwisolver-1.0.1-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 f923406e6b32c86309261b8195e24e18b6a8801df0cfc7814ac44017bfcb3939
MD5 b4fedb08c22ae2e0253100d5936639dd
BLAKE2b-256 3a62a8c9bef3059d55ab38e41fe9cba4fad773bfc04e47290bab84db1c18262e

See more details on using hashes here.

File details

Details for the file kiwisolver-1.0.1-cp27-cp27mu-manylinux1_i686.whl.

File metadata

File hashes

Hashes for kiwisolver-1.0.1-cp27-cp27mu-manylinux1_i686.whl
Algorithm Hash digest
SHA256 aaec1cfd94f4f3e9a25e144d5b0ed1eb8a9596ec36d7318a504d813412563a85
MD5 91256cd96f199ee4a8d5fc64ee0bcf8b
BLAKE2b-256 4514f7c87a0a03959d7a95ac6fbc70307991c3059cd53398f5479f955ec7778b

See more details on using hashes here.

File details

Details for the file kiwisolver-1.0.1-cp27-cp27m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for kiwisolver-1.0.1-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 e0f910f84b35c36a3513b96d816e6442ae138862257ae18a0019d2fc67b041dc
MD5 a9d8b9cbd7469603c7327caed4caf28a
BLAKE2b-256 398d6c1a955dd402e306e55e6c63b9ae8edf618f8530ccc8979290dbb84022db

See more details on using hashes here.

File details

Details for the file kiwisolver-1.0.1-cp27-cp27m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for kiwisolver-1.0.1-cp27-cp27m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 1a078f5dd7e99317098f0e0d490257fd0349d79363e8c923d5bb76428f318421
MD5 4a86a55f34b3a0909a67434ccb19cadc
BLAKE2b-256 1554e1580f6f1cd7ab9253ca63d051c0c0ee13fc8fa3203c0bdb320f569bde8e

See more details on using hashes here.

File details

Details for the file 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.

File metadata

File hashes

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

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page