Skip to main content

unicode-segmentation-rs

Python bindings for the Rust unicode-segmentation, unicode-linebreak, 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
  • Line-Break Segmentation: Find legal wrapping opportunities according to Unicode Standard Annex #14
  • 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."]

# Line-break opportunities use UTF-8 byte offsets
text = "你好世界"
breaks = unicode_segmentation_rs.line_breaks(text)
print(breaks)  # [(3, False), (6, False), (9, False), (12, True)]
units = unicode_segmentation_rs.line_break_units(text)
print(units)  # ['你', '好', '世', '界']

# 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}")

Line-Break Segmentation

# Find legal wrapping opportunities without measuring or reformatting text
text = "Hello 世界"
print(unicode_segmentation_rs.line_breaks(text))
print(unicode_segmentation_rs.line_break_units(text))  # ['Hello ', '世', '界']

# A soft hyphen is preserved in the unit before its discretionary break
text = "foo\u00adbar"
print(unicode_segmentation_rs.line_break_units(text))  # ['foo\u00ad', 'bar']

Line-break segmentation reports opportunities only. The caller remains responsible for measuring widths, trimming whitespace for display, and rendering a visible hyphen when selecting a soft-hyphen break.

The underlying unicode-linebreak crate treats complex-context (SA) characters as ordinary alphabetic characters rather than performing dictionary-based segmentation. Consequently, scripts such as Thai, Lao, and Khmer do not receive language-specific word break opportunities.

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.

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

Return every allowed or mandatory Unicode line-break opportunity as (utf8_byte_offset, mandatory). The boolean is True only for mandatory breaks. Non-empty input includes the mandatory end-of-text opportunity.

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

Split a string at every allowed or mandatory Unicode line-break opportunity. Every input code point is preserved exactly, and the mandatory end-of-text opportunity does not add an empty unit.

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 is licensed under the Apache License 2.0.

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.3.1.tar.gz (33.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.3.1-cp314-cp314t-win_amd64.whl (167.9 kB view details)

Uploaded CPython 3.14tWindows x86-64

unicode_segmentation_rs-0.3.1-cp314-cp314t-win32.whl (163.3 kB view details)

Uploaded CPython 3.14tWindows x86

unicode_segmentation_rs-0.3.1-cp314-cp314t-musllinux_1_2_x86_64.whl (509.0 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

unicode_segmentation_rs-0.3.1-cp314-cp314t-musllinux_1_2_i686.whl (541.0 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ i686

unicode_segmentation_rs-0.3.1-cp314-cp314t-musllinux_1_2_armv7l.whl (580.8 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARMv7l

unicode_segmentation_rs-0.3.1-cp314-cp314t-musllinux_1_2_aarch64.whl (478.2 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

unicode_segmentation_rs-0.3.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (306.3 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

unicode_segmentation_rs-0.3.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl (319.5 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ s390x

unicode_segmentation_rs-0.3.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (423.6 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ppc64le

unicode_segmentation_rs-0.3.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (306.1 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARMv7l

unicode_segmentation_rs-0.3.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (301.0 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

unicode_segmentation_rs-0.3.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl (321.9 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.5+ i686

unicode_segmentation_rs-0.3.1-cp314-cp314t-macosx_11_0_arm64.whl (273.5 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

unicode_segmentation_rs-0.3.1-cp314-cp314t-macosx_10_12_x86_64.whl (274.8 kB view details)

Uploaded CPython 3.14tmacOS 10.12+ x86-64

unicode_segmentation_rs-0.3.1-cp310-abi3-win_amd64.whl (170.8 kB view details)

Uploaded CPython 3.10+Windows x86-64

unicode_segmentation_rs-0.3.1-cp310-abi3-win32.whl (165.9 kB view details)

Uploaded CPython 3.10+Windows x86

unicode_segmentation_rs-0.3.1-cp310-abi3-musllinux_1_2_x86_64.whl (512.0 kB view details)

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

unicode_segmentation_rs-0.3.1-cp310-abi3-musllinux_1_2_i686.whl (545.7 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ i686

unicode_segmentation_rs-0.3.1-cp310-abi3-musllinux_1_2_armv7l.whl (584.2 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARMv7l

unicode_segmentation_rs-0.3.1-cp310-abi3-musllinux_1_2_aarch64.whl (482.4 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

unicode_segmentation_rs-0.3.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (310.0 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

unicode_segmentation_rs-0.3.1-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (322.3 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ s390x

unicode_segmentation_rs-0.3.1-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (427.3 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ppc64le

unicode_segmentation_rs-0.3.1-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (308.9 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARMv7l

unicode_segmentation_rs-0.3.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (304.9 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

unicode_segmentation_rs-0.3.1-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl (326.0 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.5+ i686

unicode_segmentation_rs-0.3.1-cp310-abi3-macosx_11_0_arm64.whl (278.1 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

unicode_segmentation_rs-0.3.1-cp310-abi3-macosx_10_12_x86_64.whl (276.8 kB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1.tar.gz
Algorithm Hash digest
SHA256 f7e852f8bf3dfa9073aec148d13d239fa2597b804a3e6ff51050beb59bb79a6e
MD5 84150763bc3011e9e623005be0461447
BLAKE2b-256 27232b8888406ad5d178edbdb6efcc55740b7c307077800a705632771d34031a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 8bc790debb37c11aa17c8eca3159df73f333f4abdc96e9091d27f73e3bf66495
MD5 31c1ba50ad79f6cfb9f89c67b97b6aae
BLAKE2b-256 18d85183d9791b5f4cf6d72144478a4589c65c4cbea583314122ac754113370c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 7b04591082933765f63e684156b721d15145cb2d280316a97e86344ae74f6d1e
MD5 fb5de71f7b5f16776130233602fa6ace
BLAKE2b-256 cf4c37c5e237dbf2ff245f0b34b235eaa2eff2ca21008058ad60e4772eca67d7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ce8403a43c9b91b4a9007e9c2d3957d7e0eb84db5ce8ef4f56f6631511be34af
MD5 2f05c55d96539efd8c813f48edb91093
BLAKE2b-256 799b991d60b8eed03eed24b5f2cfd56724c05bb3c3fcc8719b7cb5a53118c906

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 d8dc9b5eefc7bc3262df06ac2504679156f501705f861b9cdf8d57f11dbcfb42
MD5 87da4eb363c4b8d8b5839dec29bffe0c
BLAKE2b-256 aa132df6912e5d91ea27aa05879f0740dd2fd7418cb9120e8e1e7b6063b7bef0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp314-cp314t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 cf512c89f5a585616934f77bbccdc1a77a93a8df41a976f12bbb85837632448f
MD5 040107a179c9cdf0637228cde651f67f
BLAKE2b-256 35edf05f1a854cbf8bf0625c4b3b4f0d368a489f245c7cdd35b06e8037a2f7bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9eaf3efc4e02de442b5776e0cf042397452dc43190d6b9903889f5f587a8a518
MD5 43c06ac5df72ff6dd1bc4bd32d967c10
BLAKE2b-256 835c66266b487441c34582de16b66dc23bd40e6764468be2a999a40962ff6329

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c6a09118e6095c8d1aa3c28f56937de0dfc68a6a8877846b59303aa8ba111653
MD5 7ac45e3ca6d09f5a8eb74dbf8d58b454
BLAKE2b-256 f0b055d3e24ae157653437037cacb7bbb31ec8ab80b7fbb4d564fa90c59fa2f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 9e0a67288a92354822e48c85bf0b571993ceee6d7fbe15c32b09698695afa4be
MD5 31aefe6ba37714f3d8206c829c225f64
BLAKE2b-256 4618fd3bff7b2a41c78fc93cb4df5452b029d3beda70a6869f11131ec94774ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 4c55cd46106841cca04fb17ba9322f1739f906d3061d66cc0e62ef7c97d469bf
MD5 85a7d6c751294e536c204989f29148b0
BLAKE2b-256 c81003bb40068ab21a7c87daa33c24e3687e3a7a0774dcc11d1c9ca3250f743d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 17197604334da83e635c71eb20532a977a35c5420a6e856575afde7179eeb53a
MD5 7d85de2af0251bc45685b0aa41b3d829
BLAKE2b-256 a4f329d5f9aa96964e14113831072a856e07372235cc8ccbdaaad693926c9af9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a8bc07029ba589b67e66da9a351013ef2f845a7feed3ac6f34f1dbc626a668d3
MD5 6956e783e6ed868bf1af9f0786f227e5
BLAKE2b-256 1ff535d39323ce89e83cb590aa3bbc8aa4e79ff95e97c86f8d4c6aa48d88a6a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 95db622df62215289d0089c6271e2746ff10ba0c23e0e808523a4c9880d03fa3
MD5 3f38c6091e3c0c57aabe7021a5e3a948
BLAKE2b-256 93874d72d6ce504fc965d406993d722e8043f531497beff904556e4b53438f17

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 15c0f582f8e26af72cebfe1315240dab9648db65d54b947885a4e4f0f39f3039
MD5 a733d031c6303c1cb173d68be1a5bda8
BLAKE2b-256 44d46e16a50dcffde96c5175c5a129b81b442cf8ecbf4c59f1c4e041d39aac2e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp314-cp314t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f95f51a8fcd100c20194cd171622cb7e83dc9f8f725be2c665c250fc2ff8ae91
MD5 f853d949c5a7be58a17f46c1263a7007
BLAKE2b-256 386dd087431717f7d2beb30dcf140899eeaeaa15b17affd3c71e95d5b13bd430

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 271863fc3a44fe96c390764a542f682f21af3b27336a595566bc72b1402161f6
MD5 3327b22f34f7f236cb277553007edf7c
BLAKE2b-256 459b0ced1375cc1f3f13dd814715e9fda63dd2673b80e4c7557ba0344d91aa65

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 98786d1c5f12097a4a0770fb8cc778bad2e0dbbeb491d907012477439155d3de
MD5 37add7a97f0e3d6638716f8682e2a9b1
BLAKE2b-256 dbd98f2db7aac115500d290a2d2d37a75727a598e39cbcad9e4f941187842a57

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 579ae9748f04da20cc34d6468fd53ca29be6c43facefc3ef48f8ced13febcd25
MD5 5a89e26e536a778714b6c41b0354b01c
BLAKE2b-256 e683e509e3d14fe4b5ffeea1dc9937bad37f815f8cb6c48ed59b4756319acb19

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp310-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 f9416adb04de29c10782070a0d2c73a5fa6e6b518c354bb4ee894f00e04406f3
MD5 0d0e2408c05b0ba15cd6000528cc0956
BLAKE2b-256 25cd33a4339d8ad854db536bd82c752afa6b2ce5aa28ed0c3c04313a40e2b2fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp310-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 0d6c5e69901178cf3761ab8847eded05a31a83f1579a9c54e05734a3219e2372
MD5 7ae8960e4259250ebb0ecfa6af31648d
BLAKE2b-256 6d3b5e048cf67c89f304977617c7ab110b671eb578e21ad791d7f930609bead8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5d5cb5709efa1fc1a383a108a28d8e25076aa2d26627b6f116073b1895875317
MD5 99354aa6d70c8d9da9e12301403b6b15
BLAKE2b-256 30c560da3527ad841b54f16fb4958c648a997268bbd5204f50b64a8171bc82dd

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.3.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b31998699ad839aa67bc60a7500c04347c57f1d8b881ce6d9a9c8e720c6e1e47
MD5 01847ef283b7c107ebeaeaf80214691f
BLAKE2b-256 ebc6db2eb151e65448e7c8ef3157c3b43023aaf13bcf3285dc1a7698c5642abe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 c596085577f3f11b3a455cc0e16ccd3d490605b918f3286dd2a2c62e4c1a94c1
MD5 4d7b72dc6ebc3a60484e2b999aa53cbd
BLAKE2b-256 68c087fccde7b7a93a9df945fe18e345d1427bd1719bc506d5512b7904478159

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 7504253b7e625cf37a211d502a577ecc7be68d1f057b47a61019fdd47d9f88fe
MD5 2c8eb10e1d61829758cb53549f756c9e
BLAKE2b-256 ddfd6203a1e8acc8ee5504e1662fab893839e72d00f9514f93c5bf19fedea1a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 58db1c15390e6940ddd05b5d9b2bdb81daefa63b179bb9043894d95a39d90f20
MD5 602fe66a424e1259bc703ed9a618e71f
BLAKE2b-256 5df7ff9b521020eeb7e89af80f5abe4092bb75d0234ae7bb2857d2b29fa024e7

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.3.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fdb660e91a9ef317a1790e1af1a84454f3576c85c58b26097a41781724cf6f86
MD5 67b2381ba905343dca3cbf8674d931ea
BLAKE2b-256 795ad66ac03fbcf46dc0801c74c3b7b6baba32496186393ea0b8e07db8d70d08

See more details on using hashes here.

File details

Details for the file unicode_segmentation_rs-0.3.1-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 1bda597dfcc09f0454ec4e6d105294aaec417a3dee526c99ef4168b0eb3e3db2
MD5 9d661afa06916240df9c55503fb75f4e
BLAKE2b-256 c5d6f99e0efe4e38a32616b4e16cb23092cecdeae2cf733fdbdf0bdd347440d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2246bf9d88650b8e6aa2b2bbf5448c13ffdb1582d454ae4165494456173b8c8c
MD5 39c30b7c0a7e914a051397736046ffea
BLAKE2b-256 fbe92c7c33ca5f8724decfaa0322a902427c1adc91069fd9758d493f8a5db9d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.3.1-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 94215f52fcd00953aa33a521478aba2dc9e5a36838b8c1ea035ade0a63ef9667
MD5 73b2a7e10d0f7d3775bd05c188fcfee8
BLAKE2b-256 e76c58064bb34ea6187c12c77a14f96b2f2d940a5f48992434c2b94bde69f0cd

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 Sentry Error logging StatusPage Status page