Skip to main content

Unicode segmentation and width for Python using Rust

Project description

unicode-segmentation-rs

Python bindings for the Rust unicode-segmentation and unicode-width crates, providing Unicode text segmentation and width calculation according to Unicode standards.

Features

  • Grapheme Cluster Segmentation: Split text into user-perceived characters
  • Word Segmentation: Split text into words according to Unicode rules
  • Sentence Segmentation: Split text into sentences
  • Display Width Calculation: Get the display width of text (for terminal/monospace display)
  • Gettext PO Wrapping: Wrap text for gettext PO files with proper handling of escape sequences and CJK characters

Installation

From PyPI

uv pip install unicode-segmentation-rs

From source

# Install maturin
pip install maturin

# Build and install the package
maturin develop --release

Usage

import unicode_segmentation_rs

# Grapheme clusters (user-perceived characters)
text = "Hello 👨‍👩‍👧‍👦 World"
clusters = unicode_segmentation_rs.graphemes(text, is_extended=True)
print(clusters)  # ['H', 'e', 'l', 'l', 'o', ' ', '👨‍👩‍👧‍👦', ' ', 'W', 'o', 'r', 'l', 'd']

# Get grapheme clusters with their byte indices
indices = unicode_segmentation_rs.grapheme_indices(text, is_extended=True)
print(indices)  # [(0, 'H'), (1, 'e'), ...]

# Word boundaries (includes punctuation and whitespace)
text = "Hello, world!"
words = unicode_segmentation_rs.split_word_bounds(text)
print(words)  # ['Hello', ',', ' ', 'world', '!']

# Unicode words (excludes punctuation and whitespace)
words = unicode_segmentation_rs.unicode_words(text)
print(words)  # ['Hello', 'world']

# Word indices
indices = unicode_segmentation_rs.split_word_bound_indices(text)
print(indices)  # [(0, 'Hello'), (5, ','), ...]

# Sentence segmentation
text = "Hello world. How are you? I'm fine."
sentences = unicode_segmentation_rs.unicode_sentences(text)
print(sentences)  # ['Hello world. ', 'How are you? ', "I'm fine."]

# Display width calculation
text = "Hello 世界"
width = unicode_segmentation_rs.text_width(text)
print(width)  # 10 (Hello=5, space=1, 世=2, 界=2, but depends on terminal)

# Character width
print(unicode_segmentation_rs.text_width('A'))    # 1
print(unicode_segmentation_rs.text_width('世'))   # 2
print(unicode_segmentation_rs.text_width('\t'))   # 1

Examples

Grapheme Cluster Segmentation

import unicode_segmentation_rs

# Complex emojis and combining characters
text = "Hello 👨‍👩‍👧‍👦 नमस्ते"
print(f"Text: {text}")
print(f"Graphemes: {unicode_segmentation_rs.graphemes(text, is_extended=True)}")
print(f"Length (graphemes): {len(unicode_segmentation_rs.graphemes(text, is_extended=True))}")
print(f"Length (chars): {len(text)}")

# With indices
print("Grapheme indices:")
for idx, cluster in unicode_segmentation_rs.grapheme_indices(text, is_extended=True):
    print(f"  {idx:3d}: {cluster!r}")

Word Segmentation

text = "Hello, world! How are you?"
print(f"Text: {text}")
print(f"Word bounds: {unicode_segmentation_rs.split_word_bounds(text)}")
print(f"Unicode words: {unicode_segmentation_rs.unicode_words(text)}")

# With indices
print("Word boundary indices:")
for idx, word in unicode_segmentation_rs.split_word_bound_indices(text):
    print(f"  {idx:3d}: {word!r}")

Sentence Segmentation

text = "Hello world. How are you? I'm fine, thanks! What about you?"
print(f"Text: {text}")
sentences = unicode_segmentation_rs.unicode_sentences(text)
print("Sentences:")
for i, sentence in enumerate(sentences, 1):
    print(f"  {i}. {sentence!r}")

Multilingual Examples

# Arabic
arabic = "مرحبا بك. كيف حالك؟"
print(f"Arabic: {arabic}")
print(f"Sentences: {unicode_segmentation_rs.unicode_sentences(arabic)}")

# Japanese
japanese = "こんにちは。お元気ですか?"
print(f"Japanese: {japanese}")
print(f"Sentences: {unicode_segmentation_rs.unicode_sentences(japanese)}")

# Mixed languages
mixed = "Hello世界! This is a test文章."
print(f"Mixed: {mixed}")
print(f"Words: {unicode_segmentation_rs.unicode_words(mixed)}")

Display Width Calculation

examples = [
    "Hello",
    "世界",
    "Hello 世界",
    "こんにちは",
    "🎉🎊",
    "Tab\there",
]

for text in examples:
    width = unicode_segmentation_rs.text_width(text)
    print(f"Text: {text!r:20} Width: {width:2} Chars: {len(text):2}")

# Character widths
chars = ['a', 'A', '1', ' ', '世', '界', 'あ', '🎉', '\t', '\n']
for c in chars:
    w = unicode_segmentation_rs.text_width(c)
    print(f"  {c!r:6} width: {w:2}")

Gettext PO File Wrapping

# Wrap text for PO files (default width is 77 characters)
text = "This is a long translation string that needs to be wrapped appropriately for a gettext PO file"
lines = unicode_segmentation_rs.gettext_wrap(text, 77)
for i, line in enumerate(lines, 1):
    print(f"Line {i}: {line}")

# Wrapping with CJK characters
text = "This translation contains 中文字符 (Chinese characters) and should wrap correctly"
lines = unicode_segmentation_rs.gettext_wrap(text, 40)
for line in lines:
    width = unicode_segmentation_rs.text_width(line)
    print(f"[{width:2d} cols] {line}")

# Escape sequences are preserved
text = "This has\\nline breaks\\tand tabs"
lines = unicode_segmentation_rs.gettext_wrap(text, 20)
print(lines)

API Reference

graphemes(text: str, is_extended: bool) -> list[str]

Split a string into grapheme clusters. Set is_extended=True for extended grapheme clusters (recommended).

grapheme_indices(text: str, is_extended: bool) -> list[tuple[int, str]]

Split a string into grapheme clusters with their byte indices.

split_word_bounds(text: str) -> list[str]

Split a string at word boundaries (includes punctuation and whitespace).

split_word_bound_indices(text: str) -> list[tuple[int, str]]

Split a string at word boundaries with byte indices.

unicode_words(text: str) -> list[str]

Get Unicode words from a string (excludes punctuation and whitespace).

unicode_sentences(text: str) -> list[str]

Split a string into sentences according to Unicode rules.

text_width(text: str) -> int

Get the display width of a string in columns (as it would appear in a terminal). East Asian characters typically take 2 columns.

gettext_wrap(text: str, width: int) -> list[str]

Wrap text for gettext PO files. This function follows gettext's wrapping behavior:

  • Never breaks escape sequences (\n, \", etc.)
  • Prefers breaking after spaces
  • Handles CJK characters with proper width calculation
  • Breaks long words only when necessary

Building for Distribution

# Build wheel
maturin build --release

# Build and publish to PyPI
maturin publish

Running Tests

# Install test dependencies
pip install pytest

# Run tests
pytest tests/

License

This project follows the same license as the underlying unicode-segmentation crate.

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

unicode_segmentation_rs-0.2.2.tar.gz (27.1 kB view details)

Uploaded Source

Built Distributions

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

unicode_segmentation_rs-0.2.2-cp314-cp314t-win_amd64.whl (157.5 kB view details)

Uploaded CPython 3.14tWindows x86-64

unicode_segmentation_rs-0.2.2-cp314-cp314t-win32.whl (152.8 kB view details)

Uploaded CPython 3.14tWindows x86

unicode_segmentation_rs-0.2.2-cp314-cp314t-musllinux_1_2_x86_64.whl (501.7 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

unicode_segmentation_rs-0.2.2-cp314-cp314t-musllinux_1_2_i686.whl (532.7 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ i686

unicode_segmentation_rs-0.2.2-cp314-cp314t-musllinux_1_2_armv7l.whl (573.3 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARMv7l

unicode_segmentation_rs-0.2.2-cp314-cp314t-musllinux_1_2_aarch64.whl (467.6 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

unicode_segmentation_rs-0.2.2-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (297.4 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

unicode_segmentation_rs-0.2.2-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl (312.1 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ s390x

unicode_segmentation_rs-0.2.2-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (414.5 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ppc64le

unicode_segmentation_rs-0.2.2-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (297.2 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARMv7l

unicode_segmentation_rs-0.2.2-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (289.9 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

unicode_segmentation_rs-0.2.2-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl (312.6 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.5+ i686

unicode_segmentation_rs-0.2.2-cp314-cp314t-macosx_11_0_arm64.whl (264.5 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

unicode_segmentation_rs-0.2.2-cp314-cp314t-macosx_10_12_x86_64.whl (266.7 kB view details)

Uploaded CPython 3.14tmacOS 10.12+ x86-64

unicode_segmentation_rs-0.2.2-cp313-cp313t-win_amd64.whl (157.4 kB view details)

Uploaded CPython 3.13tWindows x86-64

unicode_segmentation_rs-0.2.2-cp313-cp313t-win32.whl (152.8 kB view details)

Uploaded CPython 3.13tWindows x86

unicode_segmentation_rs-0.2.2-cp313-cp313t-musllinux_1_2_x86_64.whl (501.8 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

unicode_segmentation_rs-0.2.2-cp313-cp313t-musllinux_1_2_i686.whl (532.9 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

unicode_segmentation_rs-0.2.2-cp313-cp313t-musllinux_1_2_armv7l.whl (573.4 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

unicode_segmentation_rs-0.2.2-cp313-cp313t-musllinux_1_2_aarch64.whl (467.8 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

unicode_segmentation_rs-0.2.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (297.7 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

unicode_segmentation_rs-0.2.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl (312.1 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ s390x

unicode_segmentation_rs-0.2.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (414.6 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ppc64le

unicode_segmentation_rs-0.2.2-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (297.7 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARMv7l

unicode_segmentation_rs-0.2.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (290.0 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

unicode_segmentation_rs-0.2.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl (312.7 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.5+ i686

unicode_segmentation_rs-0.2.2-cp313-cp313t-macosx_11_0_arm64.whl (264.6 kB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

unicode_segmentation_rs-0.2.2-cp313-cp313t-macosx_10_12_x86_64.whl (266.7 kB view details)

Uploaded CPython 3.13tmacOS 10.12+ x86-64

unicode_segmentation_rs-0.2.2-cp310-abi3-win_amd64.whl (160.5 kB view details)

Uploaded CPython 3.10+Windows x86-64

unicode_segmentation_rs-0.2.2-cp310-abi3-win32.whl (156.2 kB view details)

Uploaded CPython 3.10+Windows x86

unicode_segmentation_rs-0.2.2-cp310-abi3-musllinux_1_2_x86_64.whl (505.2 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ x86-64

unicode_segmentation_rs-0.2.2-cp310-abi3-musllinux_1_2_i686.whl (537.2 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ i686

unicode_segmentation_rs-0.2.2-cp310-abi3-musllinux_1_2_armv7l.whl (576.5 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARMv7l

unicode_segmentation_rs-0.2.2-cp310-abi3-musllinux_1_2_aarch64.whl (470.7 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

unicode_segmentation_rs-0.2.2-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (315.0 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ s390x

unicode_segmentation_rs-0.2.2-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (416.2 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ppc64le

unicode_segmentation_rs-0.2.2-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (300.7 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARMv7l

unicode_segmentation_rs-0.2.2-cp310-abi3-macosx_11_0_arm64.whl (267.2 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

unicode_segmentation_rs-0.2.2-cp310-abi3-macosx_10_12_x86_64.whl (270.4 kB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

unicode_segmentation_rs-0.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (303.1 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

unicode_segmentation_rs-0.2.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (293.8 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

unicode_segmentation_rs-0.2.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl (318.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.5+ i686

File details

Details for the file unicode_segmentation_rs-0.2.2.tar.gz.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2.tar.gz
Algorithm Hash digest
SHA256 381fc095be217a6ba08384afbf115fa48735bed66e99a3f5c1130ab43508ef5b
MD5 d8a6a3837f5fe80c173febd1e5862f76
BLAKE2b-256 51f1a72fa6016d11a186830796b63bee66260be6dfe0a5f4c09f46f6d086fd07

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp314-cp314t-win_amd64.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 8d2498823b08595dca414370095844cbcd439d05b1e8db705ab08dd84bf25e7c
MD5 181e0c59ce3a4d3c0c51322567764b2d
BLAKE2b-256 1b3919a62e023469e0541eb17240da3239864c4927253efa1b13419426fc55c1

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp314-cp314t-win32.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 ed8e85f2feb70292098758a4c85633c3c48182fd3722797c5110ab4e4be20c51
MD5 95a2f9ce284818b8d152bac2f27359a1
BLAKE2b-256 ceff50ee25c162150101676c0fe775dcd9e00869248f13b456776fad5324e01f

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7b39af11db226769832f03ef70e7910c188d8ea6868e904a005c71b70fda72d4
MD5 2b3ff3dbc141ceea3c7e2a6bc9660a13
BLAKE2b-256 044be0638b2f1a0bb528d3fe351369d92ed0ade12390c500ee4765c661fd7059

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp314-cp314t-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 53a546a1753c2829997122692c5d746114231617c83f317a4a86840a6ac82907
MD5 44b9b59e0b6dd0e4bc2e2cf38d0578b7
BLAKE2b-256 e4071ed23426396b03ef859a23a266d3ed25e8c0c04c6ed49d97458328f39ced

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp314-cp314t-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp314-cp314t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 640df848f3283ab433e57a7231eed17007059259fe0545f25e009311fe613e61
MD5 eda3f0bde7015fffa1d1da5c7cbb4faa
BLAKE2b-256 45b187b711f652aa8825016e6e56541dc1ccceb787fdb9ebe39b284da9003966

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e2d0a00be0a03ed8eb97d3cc3e15c3fa829c7a7f98fc3044666855ffedc28060
MD5 9187076dea574737d502ede7d1f816d7
BLAKE2b-256 35a56954c7f7dfe81c3411aa180a5dd881de0acd28da1f62a4483a5448ccf0a1

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 96333861b43e44f2be58d516a6ceecb25f1ef576aa149f2779e9d2620f02fb88
MD5 6cfb8a67a2e2f60ae52b5f963888ee0f
BLAKE2b-256 b75567f6017432c21af42d4c117b603c970071df91fb81d004cd3617ebd2669f

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 5f1e89f5acd9e473014a6c3aab18c0503e0e3c6d69a544e8b93a49a9ffd99720
MD5 72af3f08c76a4cbd2a955d41b67c7708
BLAKE2b-256 00a3303dfcdafee321cb129aea0f5105bc1b1d9e36997d0a4af49d546170d1b8

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 f67fc354ddbbbc0daa15ca9de4b3a31d3f14f9ae50e3f8677901e5cecf055197
MD5 0f8bf0bcfb4042ef9fbf08062ed69c8b
BLAKE2b-256 3c2cdb059b734ae1a41857f0f5649b2eebe8a68176d8fafd2669482a9ea0afc2

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 4e72432315b0cb792aed6b9bd1eb81a37dbcca6e7129cb35b6e1194411a200fd
MD5 02eee401cda3c0b9f5a2b3786a537462
BLAKE2b-256 155882d0004d9f64d152072951d36dbd03645bf049c57c357c905c4d813d1d1e

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c6c9ef7da7ddf83365b26b9fab9e26702b83950434a5bc3bb62e59d1ff9a8343
MD5 3e7df06643d956b9983c803fb141d234
BLAKE2b-256 e145bb3f07cc3b68dfa5a4d228c0ca43b766989517dd0ad907ab7405f0426611

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 b7da9522b7247e166f6c387c2a627a98100884d226907ea0e743b72f9b541d8c
MD5 df579d8556157020f98fa46894c4c9c1
BLAKE2b-256 f5d2873d1dc758bd183a9429a9e6ca75231aca09a39f537556204a8c46ba3fe0

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b066a1d380d74d64189364b1f883f3c3d213ead4bbca034861239692894d21f9
MD5 5d7e03c491958ac0b02f2b3669497ed0
BLAKE2b-256 c8c67ac4662e742a3f5f5234fc28882637107d8f30ddebe44c55a60ff08d20a3

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp314-cp314t-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp314-cp314t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c71d35fdc3df9de6c42d0023ac8a3c5f2b1b793fa4c9f316f126a9c486d25bab
MD5 08f13acfe8666fd2112f9da80784e4d5
BLAKE2b-256 5a9a2356a20ba40e52b0f89e4a458cbbdf40cb420b64ca9ed7cabab024b0ae06

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp313-cp313t-win_amd64.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 7fe41f35b7b485f4db917ea19429acf850d3fe1a871636aa75b7f25f94f1c5a3
MD5 d791b1bf7aed244d76725f26ceed93e8
BLAKE2b-256 7c50959d18f7621277cbf931bd524690b5ee4e3a7332adc6c9e1e77b422e81d2

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp313-cp313t-win32.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp313-cp313t-win32.whl
Algorithm Hash digest
SHA256 abfdcf6f6e6d48d10b64c8d2717347d0c57aa38af3ec1260d3620f33f93a6ec1
MD5 b41f8a99316ae3cb3e304d8b0a36b0fd
BLAKE2b-256 c514b50fddaca5bee5a9c2945d519289e51f811fca27bda6ddfac42f0f343cfa

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp313-cp313t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fa412072c70637e05356b93e4cf93c94a5e957a96868d1780ebc0761e2de9867
MD5 8ad7f518da3c06dedb8e66efd084a9c6
BLAKE2b-256 abe2437c7224fe58b15bc8b41c868cc63ee7b89ba5151a935e52db414af03cd0

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp313-cp313t-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 503beb879247320cb4052a117e7585030a497915216b7ac2620f1201c89198f5
MD5 7ed3cd3975fed7ec4fec6a0a1ac358bd
BLAKE2b-256 9efb3a76443865c70f5d33fb1319ba6b842bf0f42bce60e6038d4e45da3581cf

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp313-cp313t-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 f15e53de618a4bd4e9d722db0e4d1fce965a447656ec40fa6b304bcfd699ddcc
MD5 ff27366b29fe3178576d4e0ba7871ebb
BLAKE2b-256 d1a35ad2bd00d784d5865a38d842e28b00c16455254236748230bbd4114ceea2

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp313-cp313t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5d4c735579f1b3ffec3ac005528764f628bff404a590da9070a92cf88b051c00
MD5 80f613af0b6b5e355678b10ab49352ca
BLAKE2b-256 449d7ebd0f653b4f96dd517a15dc2f1c1486d9ca0d38756c0fc85b7625f86a9e

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a0c941c876fa4f58fb2f53a740288655818e3a195276ac3dc6ebe3ddb1e1d262
MD5 6df12a9f189ed0b8efc3788b2ad3aa98
BLAKE2b-256 142b4c8774af2dd0f81f3b2d5c3be8bd3afcdf6688c7bff67734e054a6212dc7

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 5638d39883f53b4fc2d9a6a45fa0d82a544a4c7f3e69d74cc7850ef65e5bc1ff
MD5 275853671d9f4b09e4474c9ae01b9fd0
BLAKE2b-256 5a7c0ce55fb7199ced6bd53c8efc59944848bbdde8ee7b784d46e00ce61bdfe5

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 c50145a2b8a23a5ec29c9b0ad7483b4ed0aa9a7f644bfef524b09e6f767cd9d6
MD5 f225974541824b63791e9435b5635d33
BLAKE2b-256 8d8b14babd9939e30a777f81c8d2bba17ee5f1c938d05e8145c4335185cb2bc5

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 7cf5c9bb1ef54e85352544fa44d7a7fc7a6396b3c02050a140bc4113c9f63e96
MD5 0fa12b4cb0bcf03f4047ab856b7010fd
BLAKE2b-256 e915302ec1c89560a3b80fb319d35355b70d30394784e0d20da47b330e95172c

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1d9e23a94999034b648d2087ce98c3559b4c76e26d9ff85de75dd5fe7111f170
MD5 b91b737142ae0549b46bec49c8f7d067
BLAKE2b-256 2e0b321807f2567f2481bf20e0c9f95d119dc9103acf0b1f05e1b9aeb41c6a24

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 ff6a936b883ff68668335d3d2774aea92919e9a456a12990cbd7ecab024410b9
MD5 6e8690693760c4772f81ef248adced00
BLAKE2b-256 d051f55d9978bf1c8688da9b6fd66fccf354d2098a4fd78f1b7d580d830d55ac

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp313-cp313t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7033ace4a462ebbb126bed6ac709cb8466194887c66061ce71f4fb772c0d51f9
MD5 c99f03fa6b61cf76b6ee14e763c1fdd9
BLAKE2b-256 e140263fcb4b845e1cb45e357608e823f9d488e514aece1f0cb7558d2fd212f0

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp313-cp313t-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5a2750a8dd62176bbc938274d97791dd29d4a585329326f0a81a145cbb77c194
MD5 3419e3c3f2ddb04b12a76c829c851469
BLAKE2b-256 83864c8612509a4a2a9b0c306388b2b372dc96dd07f454c435b3c0a3e7cbd356

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp310-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b5dd632fc06ebdd7e5e46a1c5a319ea93870c901806c536316c4ba7bb2bca23a
MD5 950adb3b5626c89c25191b2ad1c560fd
BLAKE2b-256 eaa73b039ae51a33d954ea97282d5c083fcf2613848a6af8b3002f9ca2be776e

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp310-abi3-win32.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 8ab01653b3b4d30fa8aff2530fa25e8c7a8a7e4c9a12acbc2eedcd989b45c7fa
MD5 e9341c5f733b6988248807d9654f685b
BLAKE2b-256 6b4e70fd32c1ee03ab13d73c6a2331a26121c41efda90fbcbbe129f3dfde062f

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp310-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 02a8e4f55bc829ecdec46d51a42947e308bc9611f2c8d4a169dafe15921e1da1
MD5 fdd928a8e00f9b3c80d1fa91146c6fdc
BLAKE2b-256 70b195985c9f70e65f19b0ad325c0e50bb254c2997908ce076bfcf36f728b783

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp310-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp310-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 d34baadb65dc1a90572215c7f123149e6c508d03210485975b4dbae569878cad
MD5 93dc550e5c83113741385b9f68ffe998
BLAKE2b-256 8c3bc52b560dbb2258229e71b1f9aea8d5b547c891320721e741f9ca10b1ba8c

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp310-abi3-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp310-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 e782f15ee500d8dc3664e9dec8b76ac78945d58cde7cb5e996b616a32e179be0
MD5 0e70d33001bd83c3df220a7961fd56f1
BLAKE2b-256 9ce5f04554d6d417d29fe9b2dd4d7b76e3b5b22831438f4733ebe99700586441

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp310-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 cf8def869dff84b84de126266f58907b4813f1102aad16edb7d836d4a10a2aba
MD5 1318928058e11dc950e170f920e0d9a3
BLAKE2b-256 36d292f42c521d73f63bf29bd133a73b00c37609ae716882c3d85eccafefee6a

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 437b54800c84e9aa8ad432e0d0a28b17168898c36371177e7781ffd715cd34c5
MD5 f8d6fff7d04921721aab8b4cde782716
BLAKE2b-256 fb258596d976ac40fdf618bc751dfc894ed2d9b0566090d0e49e4e9c901935ca

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 44e5ab657b74debe6caad3a05fcd51f080ad0625c9cfc5726f077cfab62589b4
MD5 eef47b829e6f8375ea628f9e8698be75
BLAKE2b-256 5e92b568bfe7b66af426f0582f5217dc78a28ad2d41b1bd7f56927d15e4b9d54

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 36b42f60450d0946b0eb1fabdfb194769ff2650647b056d5e5bfed79948474a0
MD5 2c47258491bdc021da5125c726d80c4b
BLAKE2b-256 cbc422c9c51cdb62ebdb661621358bf56152fdf8d469e8219550dfe78e5903bf

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 08f21569f3cee103c20d56be57805643d974838871a7723cb7819cd9c5696e25
MD5 34746b1f756271db398097e5103672a1
BLAKE2b-256 8fe17daf51565fd454910b49ae041955b2b5f6e3d1a4e0106ea90ddd3e17dcf4

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bc6b2992894b984917fcbccbbc46e2a044ed98c5abe1dd0cd9be1f75e4e0bbd9
MD5 966be2d4718f1faa6091aa42cfb29739
BLAKE2b-256 65e5ff7c6cb0f5f7900364d314cc2bb7fc9d421cbd252767358e316317e2f32c

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 01bf5e30ddc644f2de48f4a6c1449e2bdcd7d823edbe7a3f5c066b59306ab145
MD5 994ef5b668502d55d8db91c7f303e602
BLAKE2b-256 ee12ab214633a6f3c3573edc992195636e0c561887aaf646032439484e8091b7

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 510da780ec6b2668d57b6f927008838370fb2003b5ddea7363a23511785ca0ff
MD5 73665a66f3ac18833067f1955dd7fe19
BLAKE2b-256 263e29b06a033b76c3305ca0f6639d39cf1c3612946b68f6e4e1d8f58366ae61

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.2.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 76c25ad69f400ce1556a94acfe446cabe4d8db3c52ad2fe942a7c7f02a729b52
MD5 9d484dd1ec02f4698de5987766c6e128
BLAKE2b-256 3b986328f0c97fb87c667ba78f87c7881afc20c2071bfebd28be6c1d5a4fa20e

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