Skip to main content

search for chinese pinyin and wrap it with HTML.

Project description

search for chinese pinyin and wrap it with HTML.

colorize pinyin

search for chinese pinyin and wrap it with HTML.

module provides some useful functions for working with Chinese pinyin, “phonetic system for transcribing the Mandarin pronunciations of Chinese characters into the Latin alphabet” (c) wikipedia .

usage sample

>>> colorized_HTML_string_from_string('nǐ hǎo')
'<span class="pinYinWrapper"><span class="t3">nǐ</span> <span class="t3">hǎo</span></span>'
>>> ranges_of_pinyin_in_string('nǐ hǎo')
[Range(location=0, length=2), Range(location=3, length=3)]  # == [(0, 2), (3, 3)]


lxml is only required if you want to work with DOM. but it does not listed in requirements because if you want to use them, surely you already have lxml on the board; for other cases we don’t need additional third-party libs.

functions that designed to work with lxml marked with [*].


modify given DOM by replacing children text nodes containing pinyin with wrapper element:

colorize_DOM [*]

undo colorize:

uncolorize_DOM [*]

detect and wrap pinyin with HTML in plain text string:


do the same, but returns a wrapper – DOM element:

colorized_HTML_element_from_string [*]

searching for pinyin in string of text:


finding out what tone has some pinyin word:


remove tones (diacritics) from pinyin string:



PINYIN_LIST – specially sorted list of all possible pinyin words.

PINYIN_LIST_BY_LEN – same as PINYIN_LIST but grouped by len descending.

PINYIN_WRAPPER_CLASS – default class used by [un]colorize_DOM.


Range – 2-named-tuple with [0] location and [1] length.

Project details

Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
colorize_pinyin-2.1.1.macosx-10.8-x86_64.tar.gz (11.5 kB) Copy SHA256 hash SHA256 Source None
colorize_pinyin-2.1.1-py2-none-any.whl (11.2 kB) Copy SHA256 hash SHA256 Wheel py2
colorize_pinyin-2.1.1-py3-none-any.whl (11.2 kB) Copy SHA256 hash SHA256 Wheel py3
colorize_pinyin-2.1.1.tar.gz (7.9 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page