Python bindings for wc(s)width
Project description
Python bindings for wc(s)width
cwcwidth
provides Python bindings for wcwidth
and wcswidth
functions defined in POSIX.1-2001
and POSIX.1-2008 based on Cython. These functions compute the printable
length of a unicode character/string on a terminal. The module provides the same functions as
wcwidth and its behavior is compatible.
On systems not conforming to POSIX.1-2001 and POSIX.1-2008, Markus Kuhn's implementation is used to provide the functionality.
Dependencies
Cython >= 0.28
(optional, only for building). If Cython is not available, the C files are not regenerated from their source.
Quick installation guide
cwcwidth
can be installed via pip
:
pip install cwcwidth
or by running:
python3 setup.py install
Usage
>>> import cwcwidth
>>> cwcwidth.wcwidth("a")
1
>>> cwcwidth.wcswidth("コ")
2
>>> cwcwidth.wcswidth("コンニチハ, セカイ!")
19
>>> cwcwidth.wcswidth("コンニチハ, セカイ!", 5)
10
Comparison with wcwidth
>>> import wcwidth, cwcwidth, timeit
>>> timeit.timeit(lambda: wcwidth.wcswidth("コンニチハ, セカイ!"))
19.14463168097427
>>> timeit.timeit(lambda: cwcwidth.wcswidth("コンニチハ, セカイ!"))
0.16294104099506512
License
The code is licensed under the MIT license.
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
cwcwidth-0.1.7.tar.gz
(38.1 kB
view hashes)
Built Distributions
Close
Hashes for cwcwidth-0.1.7-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 54b7dd4830753dfa3cc272a76bbcea87a9ccf87f4e40a155e0d4974da3d7aff4 |
|
MD5 | fb5aed55c2943fc0bc01a7fa21037be2 |
|
BLAKE2b-256 | 9650d5d03847f89f376025cbf62efd12634e28aef1bb17a352cb79d814d98ff5 |
Close
Hashes for cwcwidth-0.1.7-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c798850df8bcdb500b179e42dd83f2d7a3adbdf30b06f8e06883096c8f50e85 |
|
MD5 | afc0057da6ffe7dfcd30b08f8357a103 |
|
BLAKE2b-256 | 9d569e2c4d14315ebe303ab50c49f7fa8d7d1fa71486647af193a1c9b5b7231a |
Close
Hashes for cwcwidth-0.1.7-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22ddd632fe3c66f3fdef3dc4e3439db926a7f4e22994df66beccbe3751ddd044 |
|
MD5 | aac729e4736d0f9a2c33531e55e6b70d |
|
BLAKE2b-256 | ce1f1da557e87a48ce3c865d59885759b241f9a0e814d2ad8c2cb35c0d31c5f8 |
Close
Hashes for cwcwidth-0.1.7-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e906520a3e325288825e4e5605ee8214b66311872de1649f5060e5afaa93674 |
|
MD5 | 51c58f696ef461852b67dd1441b90e4f |
|
BLAKE2b-256 | c241eab58a42688ea5ebc320f43cc958a59e4a8130099b259190e4ca67e78b52 |
Close
Hashes for cwcwidth-0.1.7-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2abc8f1917f82b89a3a54f51f810728f939924a725d7b6237bc3d0fe96c4331a |
|
MD5 | 1a120acadfe2e73a93c70c446f997375 |
|
BLAKE2b-256 | 64e855a41fedc57dcdaf5c1c6ad11b69e96de80f01c403a4ab29643451817619 |
Close
Hashes for cwcwidth-0.1.7-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5fdf7e8b24b1a8575ab1c61ffcc8c4a5bd9e5445a882f0fe7475cd3a43f7e287 |
|
MD5 | ecf0e033df8faba2901ba880475434de |
|
BLAKE2b-256 | 4afbb9a36cb1599ebee1801f7b48fbed00c6adb8c340d322cc4da0b944afdf6f |
Close
Hashes for cwcwidth-0.1.7-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40988ea1d79330c8283e8831f574b6bcc6fe2cc92718e563d8ca0f9eaaa71648 |
|
MD5 | 35edf3f55dd643fbbf905cf47e43c050 |
|
BLAKE2b-256 | a83c0f92bcda7a77cca58089e1f01d1a1f2a89b2128db7f6c6b1bc057600124b |
Close
Hashes for cwcwidth-0.1.7-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d664e2805b54a81b591fe1edaddfb2c86ad3446139e3de439c431f06bbdfe4d |
|
MD5 | 8d84bc68359d0dd7154f39c3910d03ba |
|
BLAKE2b-256 | b2f6c62fbeffeb4b9623d623a1113356dedf785fc8aa3d0e8ef1fdf973f3eab5 |
Close
Hashes for cwcwidth-0.1.7-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 359a44ecb6cabea8aa677a81804f056df99ae3173ca81d02789c5081f4dfe12b |
|
MD5 | c07246c34bf29a6ea07dfca43224dbb0 |
|
BLAKE2b-256 | 5d4b4e41fee99f97c8279c7d7ad570f0c7ce261829ccfc62b5a9cfca1be1e385 |
Close
Hashes for cwcwidth-0.1.7-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 403768aedcfc9f23c2f47f2ab78997ea7f7f251cd0e1e19a8e0ef3c49258c1de |
|
MD5 | e21e6d5d027287e27e4617f2e28cb018 |
|
BLAKE2b-256 | 3924b9caf38709b434628ab73adb04942571091f972bebd9215d8d5ddd3d10df |
Close
Hashes for cwcwidth-0.1.7-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60d7b0cb1e5f7b243c9afe4394c7a60b519c65a9e33c2e125fdb4af37b812701 |
|
MD5 | c6ae856e5dff77150a38d1715516d6ef |
|
BLAKE2b-256 | 7c414d12015180405cba3709d83569f31b1e49104f5b51748e26b76fa6dfc881 |
Close
Hashes for cwcwidth-0.1.7-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9c2ebd17a0e939621acc23d8306e6760528470566c89c3f34c3ab22ea18602a |
|
MD5 | 9d66c75f5d445c1b5f76ed3117c2dad1 |
|
BLAKE2b-256 | cadee0549111ba290916119305edc428532e1c93d4adb34239a6907a47f8b3c3 |
Close
Hashes for cwcwidth-0.1.7-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | de752d2c3105e914eddeb6601ef8340716e96eacd07f38a118424430850ef829 |
|
MD5 | 1cc9b9a66249945920ff7858def789f7 |
|
BLAKE2b-256 | a71fa973511b638ab603a32030a105aeda163fd8816110543300b1f809b394b3 |
Close
Hashes for cwcwidth-0.1.7-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbd6c27d16b90dc9f06c0958ac03cc7eba7187ae1aaa2ca34716960f77f321a8 |
|
MD5 | 5baea50f0e0ce270701ec4845157c2e1 |
|
BLAKE2b-256 | 2973f7fd545d0e6df347b387efd324475eefcf90acddef664ad473e80efc7235 |
Close
Hashes for cwcwidth-0.1.7-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 163ace31c3b42d6f8c4ec26d4b1ca93c854914c097ce6592e7bbcfafd7b6820d |
|
MD5 | f324acea03421a268b5b9acf08b6ac40 |
|
BLAKE2b-256 | 88e7cc9ddcd275481d4e54c4cf11b61c4b8bbaf4ea7c200d14808ff4b576f187 |
Close
Hashes for cwcwidth-0.1.7-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d2bc7b02a071d37313b665d2d9b0728832be23d914fe2d424b4d24c5270e52e |
|
MD5 | 626d8c85e97987f68ab945ef3010b5d9 |
|
BLAKE2b-256 | 44bb00d1ede4be8a7c80220098ac17f56df1ff0ac2c4f215ee8cdef7d0196b5b |
Close
Hashes for cwcwidth-0.1.7-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff273f2d38afbead290c86a673c519020adfdfc33009e813ea00c9836e7891a4 |
|
MD5 | bdbf4d61650ffd5157bfa9bc637f6523 |
|
BLAKE2b-256 | 096860dc1f1ec32f84586f269482ffb6ef43dcd29fc1a63dcff427388c751924 |
Close
Hashes for cwcwidth-0.1.7-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07cecd5ed9e463706926871c08f284ea46669a56f059aff8d4cebf8a6f9949a1 |
|
MD5 | 98627117d516da733b6814e2cf5e4078 |
|
BLAKE2b-256 | c9db363f521f9a2a1fa922a7b39daf08f7dff2b88fec98543574f5ad80ff4e58 |
Close
Hashes for cwcwidth-0.1.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a158173b537325369033093ce4e5738f88f0d1bd718d22f095d5bd959cd08907 |
|
MD5 | 1e9bb7eeb1e0642a45c945e95373c412 |
|
BLAKE2b-256 | b5c4c6ba45d50c72973c888beb43664a603923d6f84a44b60edcbb6865e57397 |
Close
Hashes for cwcwidth-0.1.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64eafa51cf4c0bba2a392d5edad82edf35dc89c1823415cdf1e11eed27084af2 |
|
MD5 | c72cd3502825a4511e424bcc0954da0b |
|
BLAKE2b-256 | 9f195ab815c32178a0eb50c264e3437757f58c84e513127ff00afcc84b0b85ec |
Close
Hashes for cwcwidth-0.1.7-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4741cd7a227c1ce48b248979cb4d93c1b3719df46400eec870afb423f3e934fe |
|
MD5 | e522f026896747754c1f35c35fcd198c |
|
BLAKE2b-256 | cdab18cbaadfea10cade8477bde49467316c4d2b71954d9d6cfc102f83523c3d |
Close
Hashes for cwcwidth-0.1.7-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ba166203108e196a9a13c394fa6799d8f3f18dad69a1b98cf7105fcb064194f |
|
MD5 | edf7d2f984ecc4d2fc416914ad47692c |
|
BLAKE2b-256 | 3c1241cb63d1af124dad11e8eca5a6bd8b5530508dbef45f11e3c24142e75e91 |
Close
Hashes for cwcwidth-0.1.7-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06d84670b94bef8e2f37aaf7c1803b9d0ffb22488a9745c68ad23f5ce2e487ea |
|
MD5 | fc7e89996c6ffcd98a7a1f3e2ffb8d8e |
|
BLAKE2b-256 | 1fea1c3cafab810f4af118afca6b3b16fd98f92b312f261c878144d2d749d36e |
Close
Hashes for cwcwidth-0.1.7-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52692915ebedb8d1f42809318cb254318552e0f87cd7884c2908654a5b8fe5f9 |
|
MD5 | 8c3b53138afcf65e506b085e92bba5e5 |
|
BLAKE2b-256 | c9691caf0f91d22199c48c4d869ff89a96f1fe8bb792fe8b311b69b6d6a0536e |
Close
Hashes for cwcwidth-0.1.7-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff675be51cb5815190384659dbcd16a4e7018df8ca0fcd922d313f1ff68634e4 |
|
MD5 | e6ff97cd505db6e38a647acc1b1bdc2a |
|
BLAKE2b-256 | 857772c4552fd480558b3872c286cbb480a94d63f10b240e3f3ff8f54c9b051f |
Close
Hashes for cwcwidth-0.1.7-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7228a3f795ae703e4c58fda119e6fab63e47449c88255a387547ab0530343cb |
|
MD5 | 829a497eb592a37045130ab2fddb934e |
|
BLAKE2b-256 | 68d61241dcc7e57ec246e93627f189e27d40f447b7ce304b3f8fafcc139043a5 |
Close
Hashes for cwcwidth-0.1.7-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2887e87582f5d983f95c5884f4a5a541ddbe0625d7254153fd570f5392493085 |
|
MD5 | e10ca59a6c78781ebbdef580e30658be |
|
BLAKE2b-256 | 5c22b501f9fee1c10713bed5a738c5fe5bcc72e20b8ff38dbf88917c3da0f6d1 |
Close
Hashes for cwcwidth-0.1.7-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c05106b2c5ac83fa6c525811ad25b6e6ff5a9ee5dc8c886cf7a71a08e08087b3 |
|
MD5 | 409e1297f5c4dd142365c632147a0398 |
|
BLAKE2b-256 | 81338bc89e0b270eb60dd4cd62315bca7783b2f8b086680cdeab9caf5cca7cb9 |