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_py.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_py.grapheme_indices(text, is_extended=True)
print(indices)  # [(0, 'H'), (1, 'e'), ...]

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

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

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

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

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

# Character width
print(unicode_segmentation_py.text_width('A'))    # Some(1)
print(unicode_segmentation_py.text_width('世'))   # Some(2)
print(unicode_segmentation_py.text_width('\t'))   # None (control character)

Examples

Grapheme Cluster Segmentation

import unicode_segmentation_rs

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

# With indices
print("Grapheme indices:")
for idx, cluster in unicode_segmentation_py.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_py.split_word_bounds(text)}")
print(f"Unicode words: {unicode_segmentation_py.unicode_words(text)}")

# With indices
print("Word boundary indices:")
for idx, word in unicode_segmentation_py.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_py.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_py.unicode_sentences(arabic)}")

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

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

Display Width Calculation

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

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

# Character widths
chars = ['a', 'A', '1', ' ', '世', '界', 'あ', '🎉', '\t', '\n']
for c in chars:
    w = unicode_segmentation_py.text_width(c)
    w_cjk = unicode_segmentation_py.text_width_cjk(c)
    w_str = str(w) if w is not None else "None"
    w_cjk_str = str(w_cjk) if w_cjk is not None else "None"
    print(f"  {c!r:6} width: {w_str:4} cjk: {w_cjk_str:4}")

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.0.tar.gz (24.8 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.0-cp314-cp314t-win_amd64.whl (156.1 kB view details)

Uploaded CPython 3.14tWindows x86-64

unicode_segmentation_rs-0.2.0-cp314-cp314t-win32.whl (151.2 kB view details)

Uploaded CPython 3.14tWindows x86

unicode_segmentation_rs-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl (466.6 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

unicode_segmentation_rs-0.2.0-cp314-cp314t-musllinux_1_2_i686.whl (497.1 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ i686

unicode_segmentation_rs-0.2.0-cp314-cp314t-musllinux_1_2_armv7l.whl (569.0 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARMv7l

unicode_segmentation_rs-0.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl (475.2 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

unicode_segmentation_rs-0.2.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (300.0 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

unicode_segmentation_rs-0.2.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl (316.6 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ s390x

unicode_segmentation_rs-0.2.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (425.5 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ppc64le

unicode_segmentation_rs-0.2.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (302.0 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARMv7l

unicode_segmentation_rs-0.2.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (292.2 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

unicode_segmentation_rs-0.2.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl (315.3 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.5+ i686

unicode_segmentation_rs-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl (265.4 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

unicode_segmentation_rs-0.2.0-cp314-cp314t-macosx_10_12_x86_64.whl (269.8 kB view details)

Uploaded CPython 3.14tmacOS 10.12+ x86-64

unicode_segmentation_rs-0.2.0-cp313-cp313t-win_amd64.whl (156.3 kB view details)

Uploaded CPython 3.13tWindows x86-64

unicode_segmentation_rs-0.2.0-cp313-cp313t-win32.whl (151.2 kB view details)

Uploaded CPython 3.13tWindows x86

unicode_segmentation_rs-0.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl (467.1 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

unicode_segmentation_rs-0.2.0-cp313-cp313t-musllinux_1_2_i686.whl (497.3 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

unicode_segmentation_rs-0.2.0-cp313-cp313t-musllinux_1_2_armv7l.whl (568.7 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

unicode_segmentation_rs-0.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl (476.1 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

unicode_segmentation_rs-0.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (301.2 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

unicode_segmentation_rs-0.2.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl (317.1 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ s390x

unicode_segmentation_rs-0.2.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (425.5 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ppc64le

unicode_segmentation_rs-0.2.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (301.6 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARMv7l

unicode_segmentation_rs-0.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (293.2 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

unicode_segmentation_rs-0.2.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl (315.6 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.5+ i686

unicode_segmentation_rs-0.2.0-cp313-cp313t-macosx_11_0_arm64.whl (265.7 kB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

unicode_segmentation_rs-0.2.0-cp313-cp313t-macosx_10_12_x86_64.whl (270.0 kB view details)

Uploaded CPython 3.13tmacOS 10.12+ x86-64

unicode_segmentation_rs-0.2.0-cp310-abi3-win_amd64.whl (158.1 kB view details)

Uploaded CPython 3.10+Windows x86-64

unicode_segmentation_rs-0.2.0-cp310-abi3-win32.whl (154.0 kB view details)

Uploaded CPython 3.10+Windows x86

unicode_segmentation_rs-0.2.0-cp310-abi3-musllinux_1_2_x86_64.whl (470.2 kB view details)

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

unicode_segmentation_rs-0.2.0-cp310-abi3-musllinux_1_2_i686.whl (502.5 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ i686

unicode_segmentation_rs-0.2.0-cp310-abi3-musllinux_1_2_armv7l.whl (573.5 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARMv7l

unicode_segmentation_rs-0.2.0-cp310-abi3-musllinux_1_2_aarch64.whl (480.2 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

unicode_segmentation_rs-0.2.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (304.6 kB view details)

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

unicode_segmentation_rs-0.2.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (320.1 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ s390x

unicode_segmentation_rs-0.2.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (427.8 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ppc64le

unicode_segmentation_rs-0.2.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (305.8 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARMv7l

unicode_segmentation_rs-0.2.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (297.0 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

unicode_segmentation_rs-0.2.0-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl (320.5 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.5+ i686

unicode_segmentation_rs-0.2.0-cp310-abi3-macosx_11_0_arm64.whl (269.5 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

unicode_segmentation_rs-0.2.0-cp310-abi3-macosx_10_12_x86_64.whl (274.1 kB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0.tar.gz
Algorithm Hash digest
SHA256 137246f8ccadf249e4978503a88438de68205d89bf360ddeece340938c33caec
MD5 3534f055ae9a2dc216da25908320099c
BLAKE2b-256 6e47ef80c65deddbbc38ec2806b068430dc5052b906c5cee19cab3013ae631ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 494fd77c6e69b4f214f8e2dce9bce273d8ae114964639be8457580e99381ccbe
MD5 6a3dbac2c1882a3451cd0981ce076b1d
BLAKE2b-256 c2850f4f197668b4df3c9256892f061fdf9f6cbed6fde6c5f9f17dad52f87229

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 c3b5ac47684f3202b67a13a525164104afc551abda8962463473a2613740f7d0
MD5 f455f3aef6006fc903781bc1eaad2dd6
BLAKE2b-256 c02ae5e4d725cab3cb9396a679e6b8af089354120a6071e4722ff3398f520b67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 58eef6814dbd24868edd221d2fa0e7b008b432f0560fb4c10edcb054c9c16508
MD5 ca90ce673fbb4b3ad19e6df5395be8e3
BLAKE2b-256 9ca1e6b5612c38f8ecdda95544e6f3a6e2c0ae0340889de8dff44c4098ffa0f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 6046c0cc14bdd8e2d4c767720b71579fd7c734c365b0a3dd148d106d85b5fff7
MD5 730a421a58f1e6085c49295825ef69fb
BLAKE2b-256 058fbc8cdf21cbc9a69f9add0a8800b619bd658e7ec4473607ab90c64e86f7e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp314-cp314t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 04944d74f5ea69586d491cabc1f525489ab0ee06977f1a59e104919515ce7ece
MD5 0fa2c6f3de7e746e63ac3d2cb2f9b5de
BLAKE2b-256 6d4637e512f4774c509fc0fa492aa1159b8011195faf99e08331356cf4c3f7f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1eb22c8562146dd7a38e928cac3cea61a0a2fcb134246a04c3f6922076eb8ef2
MD5 97092b8f576bbeb55ee238418118fb23
BLAKE2b-256 d24ee27950c6df0789653be2b3754be814d64984896d9d4c9a8166d49ec5fb18

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0c9bb55f623b24fcc957b4b1e5cd8b89cee7d50d6038b858fd1144dd50a9e9c6
MD5 a5fa5a4cefc949b0b6080d7220b9480a
BLAKE2b-256 8a56ebb5fa18ef6bee615c78f2566644bfd157f1e5b1bfd1377d4eaf2ed792cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 17e01b5a07af13bba3d15fbe736b125392567ab658430f094e2a4c65824b749d
MD5 ddb0f074d86f6537f72dd6ad7e374353
BLAKE2b-256 3cb263d6878eba4eb896de7d2b925ada8ae592f807822e603f4ac053a94ea395

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 2432bac6f949604549696520a92a5dd0453f59dd7a1ab641b9fb85a6eeb214c9
MD5 2d30996da48055f4c508e9f6206d29fa
BLAKE2b-256 505e77dca90e2a115f70427f5649fce69a2c575ccba39ce1bb95097f18bf69d6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 2de66eb3b7abc56718e0dfabad2c9e5c81902b290bee2912c1da37735f6953f0
MD5 4c18fa9ffbdbabc85d157248761ba426
BLAKE2b-256 14ca41438eb1d8a427fa5de695953711dc5c20a0eb864804bab94074ff6e344d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c4b9ed07b257f5780b3e3b561e188b8fe9624f1347a7f2dbe173ad6284d2a685
MD5 a2056ec8e8b92e070d85cb31ecc79fd1
BLAKE2b-256 0017a720071402d021cf87cd84e328de88031fe3da56f691daf3e73de3f827ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 9169f6375988ac2b7adb39442c9f45e40ba071ad6bc386e9e36a74629af5a631
MD5 678997f34beac46b69d1436ee503f254
BLAKE2b-256 bdd0f6ff80c4d13562c3e519dc3aa3d755d9e885c2e581ed493ed1d682f6ae97

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d3f53d2531997e03641b919c0359b7db1150729974ae7abed54cdc64945ce819
MD5 68f1fc6037f6977eaf97ad7a9eef2d96
BLAKE2b-256 1d6f00d268dcaa96430127f7e5b3494a7c80021c18573521f5fbcda59368b5ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp314-cp314t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3e7080bc4b777eb7b133198b87b17227f5b055f0f8bf36be1117b7612eb86449
MD5 649f37686499333e782a17f8216c93db
BLAKE2b-256 699d5cc09f2640689c8fb091c40a2908a86aa198611f56695ed31f47730d024b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 5b151de17f46b0689be9374cc0f4a4423a11aea82918c6fd5867192b5a1f6d1a
MD5 951bcceea5c609b39bca8b373b3fec5b
BLAKE2b-256 9550b4873c315a91da6321413dfe15d04bfe3fdf754e0d4a2322115e5edf7c27

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp313-cp313t-win32.whl
Algorithm Hash digest
SHA256 aac2da7e3cbf73de689f35b9b6fdf9e3a35176be4e6d1b3d55f896fd59c0f2e5
MD5 e1b27e14fe2c067bd0f31eafeb97c4ca
BLAKE2b-256 dbb62f15afa9d3be91c5cbe06a53fe55b02cce0dda9e644850081e79f753a156

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a87254c86abf60371ff78a174455f786261a52d13ecbdca6860408e36205290a
MD5 751e923cc9bb6451d6977a3f4f41513e
BLAKE2b-256 b9ce9d6a9d8220c2b0bdc8b9fc63bf810ce0c64aebf63d4277a37fd3a1a1ca6f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 13ebefa5bd1dc8f129328f21532705612d19f2d6787a3ad70ba291ac9251abc9
MD5 0901ae52a846109f18c0f6c565076711
BLAKE2b-256 17dd84870ee539f5f0d60fad85580f25c40a4055804e423b1008c53ea990f93e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 20c6889d401e473240a954496c604e72afc6ef436149174ba664523b010881a9
MD5 d80f88df1acb5126151f570195023083
BLAKE2b-256 ffee74b54d5ff257ef8876b5e8db83157a6206a05d50fa03becd34021fa24dac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d85bb164be8bef73f27a71c4149b757241130b46aae6c7fcb73851049de233f0
MD5 b4bdad4b2057f4d19afa7e62de4402b2
BLAKE2b-256 241a6514b653bdc1136d37bfb7345ad3907da29d843880bf9a70210c83982db3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ffb6b7efc4a99e195d2b6e9654cf52ec5a817de24cfa3d1367896e31a6457d07
MD5 586584acb5b33e3350a968d524dba07a
BLAKE2b-256 6275b4d001765fae739d3fff371b850e29f26637a920aa449ec1a32f34f516e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 25916df09fae7a5b9c82c2531a7f72d8c51dcb9acaabb30f698106e869de3663
MD5 723c8228b80222f0c7e5c6fb8285c2e8
BLAKE2b-256 b8843eb1b277c5f094ea0035af04239b05561d64d7f4f942f3704026db96e86f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 a8460fafc30b1b0a0ffeb89021ed01bcee0f8ab8140c097016c7066bdb3131b4
MD5 d89527541330834588f18fd50c15ece1
BLAKE2b-256 38bae96887eaf0f123ac4a3ba7046d7a8f832abe6db771e61d67313d24220330

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 5af6ed62decb7a0871e3132deb5f228bd8895cc0128d63b02800e61e083ad881
MD5 81afac7ec3561ccd12b3479538bb3251
BLAKE2b-256 1e58a1ada40d7dd55dce34803511eed2530a417ad7aa7f8d8b061c5c03c9a7ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d0ad56b3b55677d8c736dc95e58485c2fb1b7aa73e94b5f8db151fe66e6fff23
MD5 d585ae77d1a2a9810d9b509c67a9256a
BLAKE2b-256 e6360bd3fae977152423043d7a164f1e9ab3dfdeab6666322ae290f7c7efc0e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 59f563ed62693f5dbc8b0e7ef8cef60fbbb834bc4b0cee75efcf34f9690cef78
MD5 5ece63be1d4ba1644f52244c52ab1b58
BLAKE2b-256 deab4dff94ca9e833a65afaf9f0aa4a33969d088bed3a3c2453a1a6a4c40ed6b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ee27fc60c4f7f4cf2b9ea2e0613bf9e12d64ce60032eddcbeb53475e0cf54620
MD5 dc642aff1c91a500ea25f46adf67f19b
BLAKE2b-256 f921148768e8c3a3956e1881442f62680f0142393eb38901fdae0a9524afb468

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2c968eaed826f39237ab34f6e0834ef34dd960bcd0306677188c4e4a7812a87c
MD5 343765c020d916892411cfbc0592e8cc
BLAKE2b-256 21552d957f98c4cb3c64894de655125b5ad47571d6610f80c287df9be8e0d536

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 42d469f47dc619920dcd8be5059da7bc5e91d9616e1d85621d4a85eedfabe524
MD5 3a7cf8bccf37875e5704d59382c3ea90
BLAKE2b-256 3ab1fc70319ab8e41f469b425788640b1d22ce46af0774964509fe8e94b9a9f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 edd3b5bd31118f08e95ca792bb94339082884a6ac76372bda3be6c5b1758d093
MD5 644130fb61002bbde612a058281ef78b
BLAKE2b-256 881058d8ec58d4f89e3844242d11a37417d312e39a4272dfe47d854c5cca21be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ab06b36d0bb561b32b2e0b7f903f1f8c0f8e9db812c27e47be6dd2e5bea15698
MD5 837e4edfbe9f8fc7997f81f9cde51866
BLAKE2b-256 be8cf80b9f74446ef5d226cc01aa7dde7bccecd75ce9d628e24dff59f0d592e6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp310-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 abd4bbe219e4451d5bfa76c61511da7a73d60d4ccd1aeb79dfc05fd59b900e63
MD5 84aef90159df6924bc42ff0a46eab9b3
BLAKE2b-256 0eec3a4e4da25e8457c98c159cfc9dbd95b5fb015c0bf4d71720b2fc00443224

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp310-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 56fc881526e27bb86060c3f54eeabd82f47557a180d0bbda56dca6336f148a0d
MD5 d0b280d515def8c39404896337d3f338
BLAKE2b-256 8bad288c089fa81e1ea1aa6f7cee702bffebd48aa9be092b0023a798fc9d11e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0ba8ad08cc1159f1db7b1f67d4271308091b16e4ead0128e533dae6430b5d9c7
MD5 249ccf2c4b444b6b75f338b9879907c3
BLAKE2b-256 ba6eb92f0adb11d4cdbda4cb87481e4905335e8a75510fff722fae3fc647cbc2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 76320e332c744571cd9a1951b0c2b327f56b152936018b733157b6b599e39a3f
MD5 7840ea669ac76926b7a0160346dec1bf
BLAKE2b-256 66023ec01f9ab44d94f90ac2934f0af13a2206d22de5ffb0216d720b3c1bba32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 0f9c43f3aab17a57b7cc662aee82852a9611f0f43b757b6c9702287f55652096
MD5 87806a876ca5a93d52c3f1ec263b002d
BLAKE2b-256 25d7e28d6cfc20b62acc5e2ccfeeb44f4da8e521fbe47ab21d30c052481eedbc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 d6428510c64373894f47a46f89ae372b6a75b475299cc00c530daa8f5d60daf4
MD5 c3273083f1cd0eca7822833bacf138df
BLAKE2b-256 6e80d47b2835ffd49e6c380c7007e1829de5ace342060001d4394b75abd573cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 c4be2bf10b5db1290f4ca606968f2ba7a03df3c07f728066aed440729cc9d927
MD5 352e627bc3932fcfb7d1f06ee8be59bd
BLAKE2b-256 38dd818c74ab0c39c9822f1c8f09fced18563fb2f6e55d5f3cd32669fe28f7cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 47388f424fcbe4c0b6266ca78d4c50932699902a93d76d72c069957ab4fdcd6b
MD5 22eaf87575813b7bb148d9450f14a3d2
BLAKE2b-256 0d0fe21a064eae43f482da51f481f41701d77c37e211c65305ca413863640bc6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 a8ac2bfc6171519147ba20cbc45c89fb51ecc1ff45326a78acd5db025a6af585
MD5 26eee250a11512d9a8afb108c1348f7b
BLAKE2b-256 c44d34d9cdca3e6859ce8a03d722f4b63b507d092a3dcaaeb5017b1704f8c780

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5c49d37afe314ec03fd6085d2e212738ac9d4d65369fb738471b958d67875f1b
MD5 80c7c40b21229afbdd8b6f0d70fe55d7
BLAKE2b-256 ca1042353b143c934ff8d9359033a82db626e935f64f701020798282a28e687b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 602d44b8842916171ac72f351613c730adf3f2bc5c1955ba618d432c91496cfc
MD5 1d16c184a317533594d19203aea53b77
BLAKE2b-256 e093db89106f5a787dbcb85e2289500c104aa4b067c2c9da79459cde7145be31

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