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.1.tar.gz (25.0 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.1-cp314-cp314t-win_amd64.whl (156.2 kB view details)

Uploaded CPython 3.14tWindows x86-64

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

Uploaded CPython 3.14tWindows x86

unicode_segmentation_rs-0.2.1-cp314-cp314t-musllinux_1_2_x86_64.whl (467.1 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

unicode_segmentation_rs-0.2.1-cp314-cp314t-musllinux_1_2_i686.whl (497.5 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ i686

unicode_segmentation_rs-0.2.1-cp314-cp314t-musllinux_1_2_armv7l.whl (568.1 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARMv7l

unicode_segmentation_rs-0.2.1-cp314-cp314t-musllinux_1_2_aarch64.whl (475.6 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

unicode_segmentation_rs-0.2.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (300.7 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

unicode_segmentation_rs-0.2.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl (316.7 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ s390x

unicode_segmentation_rs-0.2.1-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.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (301.1 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARMv7l

unicode_segmentation_rs-0.2.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (292.5 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

unicode_segmentation_rs-0.2.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl (315.8 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.5+ i686

unicode_segmentation_rs-0.2.1-cp314-cp314t-macosx_11_0_arm64.whl (265.6 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

unicode_segmentation_rs-0.2.1-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.1-cp313-cp313t-win_amd64.whl (156.3 kB view details)

Uploaded CPython 3.13tWindows x86-64

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

Uploaded CPython 3.13tWindows x86

unicode_segmentation_rs-0.2.1-cp313-cp313t-musllinux_1_2_x86_64.whl (466.9 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

unicode_segmentation_rs-0.2.1-cp313-cp313t-musllinux_1_2_i686.whl (497.2 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

unicode_segmentation_rs-0.2.1-cp313-cp313t-musllinux_1_2_armv7l.whl (567.8 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

unicode_segmentation_rs-0.2.1-cp313-cp313t-musllinux_1_2_aarch64.whl (475.5 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

unicode_segmentation_rs-0.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (300.6 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

unicode_segmentation_rs-0.2.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl (316.1 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ s390x

unicode_segmentation_rs-0.2.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (426.9 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ppc64le

unicode_segmentation_rs-0.2.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (300.8 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARMv7l

unicode_segmentation_rs-0.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (292.4 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

unicode_segmentation_rs-0.2.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl (315.7 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.5+ i686

unicode_segmentation_rs-0.2.1-cp313-cp313t-macosx_11_0_arm64.whl (265.8 kB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

unicode_segmentation_rs-0.2.1-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.1-cp310-abi3-win_amd64.whl (158.2 kB view details)

Uploaded CPython 3.10+Windows x86-64

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

Uploaded CPython 3.10+Windows x86

unicode_segmentation_rs-0.2.1-cp310-abi3-musllinux_1_2_x86_64.whl (470.7 kB view details)

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

unicode_segmentation_rs-0.2.1-cp310-abi3-musllinux_1_2_i686.whl (501.5 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ i686

unicode_segmentation_rs-0.2.1-cp310-abi3-musllinux_1_2_armv7l.whl (571.9 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARMv7l

unicode_segmentation_rs-0.2.1-cp310-abi3-musllinux_1_2_aarch64.whl (480.0 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

unicode_segmentation_rs-0.2.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (305.1 kB view details)

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

unicode_segmentation_rs-0.2.1-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.1-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (430.0 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ppc64le

unicode_segmentation_rs-0.2.1-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (304.5 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARMv7l

unicode_segmentation_rs-0.2.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (296.7 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

unicode_segmentation_rs-0.2.1-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl (320.4 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.5+ i686

unicode_segmentation_rs-0.2.1-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.1-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.1.tar.gz.

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1.tar.gz
Algorithm Hash digest
SHA256 ca01aa024a6580960bdab8e4a1a0f1287e9592e66dfdae9e51a1d05f43768e78
MD5 ad00e19dc8a4e7c3f533ffd944e1def6
BLAKE2b-256 a364009d1e74801a5a38158c11bdb350e7417eb01ed9b1eb45f236154cfa77ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 9354cb95434ceab27e1a0003585d612905d49db8c56e5f75011ccdbaff63ccc5
MD5 54b21193e3deadb06f96395f7dfdf522
BLAKE2b-256 95a854f51c496c124b7dcf7b914677ff1b03b80203ee5a73398ff87e665c912c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 2c29de5e99c784017abc201eb56c2969b7ff8b5f20c53e4ec649d00365049f92
MD5 9b20af4bb21dc4e51e8449c078d5add2
BLAKE2b-256 ad5e1948ee78e672d80cd6169e515b28366c17341b06b408328363fb94d65f59

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 56d14e0fa4472aa50657fdd2b56acf1a4e0f64cfdb6f2e673534596e3be3d991
MD5 66ee5c2beaa89ad182fc93224764e506
BLAKE2b-256 b22e2d80b3b734507f6fdc19b2d07d41a679bee433a25179269f6e5abe587985

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 b3d409df6f673f526ac315541ca35ecfae09c8de1c11f41eac040e734538db03
MD5 3a77a319978981534f58c470bf4859a3
BLAKE2b-256 528ecef514b3749e73eaeb18fba4747a15d0475c17b744dca2a05a7c141da3b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp314-cp314t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 159a417377e375d9c3165ab59527c5d08f90451a48eba862e95ef008fb28d43d
MD5 cfa5f0436082eac9115271d67d1797f8
BLAKE2b-256 e118ba7c93103dfad9a0676baf33b664c2d0adf614b750866362c4bfebe4e126

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 74aa2ce62c5e383c7533a52b1b23cf5f87e08338a88563036984f52cf3422ec3
MD5 84ea8fa7c94b9e5c2fb039b6fa72fe0a
BLAKE2b-256 0f14e069612f51e4a65014d7c1807e9550f7d2f603055d038c7c45554beb2fe8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2f676c82e5ce0b742f0c12c7455df11da6d016353c0bc54aaddfeb3fef0434f5
MD5 5359151539499d736e8e0d09e766c67e
BLAKE2b-256 1402c746befc9e7c06f996d677f10a8b52d01d1e427b909df37d46aa9a7cf5fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 10905f748ae042287f095f5ec0c2986ae003166475b2bd37d47fffbeaba61f49
MD5 85300725e04638d441bbdf3a3b6823d4
BLAKE2b-256 9cd26211e3597463e4e278d0466f98c3d83d2d1686d9697b7462abfee8cf26a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 8d3d15b7f80efe32d9bee8bf4b10400840dbbb75c0e472a89229430c0a18915b
MD5 8da00430d08f0de92e62c92c52a13165
BLAKE2b-256 cae070cb4dae31a4847786905b94a2f6240189f4c3e0879af0dcae0e1179e1cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 d7814a1e7c6af6bb91a9739f5578374033c76916cc14c00d7d3ead8f7a6d235b
MD5 6fc72ff1898dbbb9bcdd9c412b956c47
BLAKE2b-256 fbb27894ae959a2ff3029b88ecc893286de3c3c551d067104b63a63620cfbf37

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5e1973bb90366f14b6fdf4e78b9adcd0909f3a766294804f289f9443a2cec65d
MD5 021145a174d65d228fe84f5b4befaa40
BLAKE2b-256 a18700884ee37fdf3c1e77fb90e46184a59ee5d52f72c641685cfe76ba52a8ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 7a71a65d16a532167da786ee6d0afca83cf99fe12be324c7eaacbf7289c2c052
MD5 962cd5d94fd91b6f69d8aa07bca6c808
BLAKE2b-256 3c8959a5604c198146d25a97f00a7378b06ab0b042bb6fb688acf67aa5e069f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 41d76c52066a026c525e800163c08de3b2a740e23b0f8c39237d82e54f7a807e
MD5 c02820c2197e32cf288d99398f49b258
BLAKE2b-256 73057f195e336d91b815c18744ed64e0458d383a27bc7faf403d26075bc3a5ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp314-cp314t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ce7df559e63d877f2648f829a1805af37ca104b69d06441c2e3b9b2513e9c40f
MD5 153b62b930aac1776d258d81433191bf
BLAKE2b-256 ea7af88635430d157c0237d8cc312d1c42fe57d0ccb593085ed193e2532948ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 f9e950f1a6344b354321564d49a44839f5c874aa8c312968510b261ceb5029d2
MD5 2deefec0b5eb30ca8ecb0096b000b398
BLAKE2b-256 495736f187aee5f4fe0d4ddd7a4c273d347454f1b84b75af120120115a095c0b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp313-cp313t-win32.whl
Algorithm Hash digest
SHA256 e0759468998ef029c85dfd61dbae0f6f3f4d61a8c906d339b30970c7fade30ad
MD5 3f2a9c65477abefebbcdd9b538afdd60
BLAKE2b-256 824574588ac812bb3ca7900d1b222d452835833f04e185a836c9102bf13b20ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6642a3e025676bfe6e22467457148f75cfd266bbd805c9c1f60973f9a98aaec0
MD5 8ee8c3b23777850cacfaaf53e02f090d
BLAKE2b-256 5fef08929a3ff9e75509579c60b6db3002b7432b328b487572eeef6625a66c89

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 422d56e580705dd079c44faee7fb2bf315dd4b99b7f5dc584f5177100a3f33c0
MD5 78a2104d3b709f79703575daec5bce38
BLAKE2b-256 8787526f1b7a88c18f55c4f1a72d31f298161d4e14b9cd8121cbdef6e217c900

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 aee792ae932f31fa8df8dec47837cd5b2221b1df4e12b4cc8bcc6eff66baffca
MD5 25366f53c8adb5e3ccc616ef7dd113fa
BLAKE2b-256 77620a2602525da4326ebd2c6fe5a8079d21af1b90f28f95f85f3af22c7b2b54

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 43109903d4dbea4a6982bd3cbe1c43b852d30848dbef1ef0176c637ebdaed281
MD5 996f33e3f3fb02d84ddef02d85f98eca
BLAKE2b-256 a570ff75d4b93f546e9456871c6c2915aabd8998db76748ea471c4feb64e170b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aa2c7fcbc7e2107b29ad753aa238851918f2c8ea5167822057601c361cdc0f1e
MD5 2e73f59bb6eb0960eba6e8319ea7074d
BLAKE2b-256 6469be481270cffcddc073d7a5c8bbb4e8ad929772fc95dc437d4f66ac7743e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 960279448386c15b2c99e8d000a60f77439db574f099cd965e3f2920160c1633
MD5 891902a060d4e7dbe4d05d0350270aab
BLAKE2b-256 967594231170beb56fcd5356179ce512954dbf97c8d79627465788e7a479502a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 38c31fa94d9fbd4a8309d975b13acaae517524db21449abd704049ba86ce1e58
MD5 197405b0ff06fc0ff88ce337eb170c14
BLAKE2b-256 7306318c8ea6d4fe81627d114d35260b0a0707b855c108891bf2f82ccca93ae2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 b3fb7b2074723be8d99e79400d24e4f6995f985d139ced0a88a605b972b11033
MD5 bc6ffbd2fc016a129e55282926953cba
BLAKE2b-256 335fbde99c06c53e282db68c7ab8e4835ea60cd85025e598693bcccd6101f034

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 562447370a88e1b2e5ae3f67b69b771abe2c2cb25eca1e66f830a56ee9c1eba5
MD5 871fe50f9bf012686feb77331d071a81
BLAKE2b-256 13b5c47ab23b987aace0ffad5833196cbd0db0118c746faabd12ac5eccf7a782

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 0e6ee10a2c7ee76a81b9aef2a13cbd199b3613adc5e7f865b1a9d212d3928f1b
MD5 7f6f8afb397b5f4a9e4394562312c660
BLAKE2b-256 4545cf36dbc442649c8d674131bebdbfba1b48880f3573582cc1e10cba66a8f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a7f0f47cbb62188de66fe154ee1d0e866b00c638d97ba55165dc12ea82a1b946
MD5 574b71bf07e437dd5e194a147f004773
BLAKE2b-256 380f96cd08c5d17e3f4de4bbfa4ca9160d01ed59c4985bf4289abe10576b1586

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 fc5038bfbebd8d699e2372417eed88f0082dae064762c8ef8157c13b5f369860
MD5 f5aa5bcd64c0931d11edb4bb43de7f34
BLAKE2b-256 1c9eb099320cae636e94c0a01292b83910a6274553ab4301b58c128141e7e44f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8c795d731a438f62f6cf2a032415f54e880275f1394a94de4595a76c261a49bc
MD5 e9e5b07a7652f1f1d2ca7edcd99bee75
BLAKE2b-256 45456aed68bb9d0d77e53e555d0b3a7ff408a984766cf73d4548c7694a167eed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 731a69c850318ec93f48f76901411c47d6b47c082289f83830d125f78e54fb98
MD5 b5e19fdfbd88ba7acd24d0e38e04c5e7
BLAKE2b-256 0bc042c4b2a9495f3b0ba815efba60e36d3685a02eac7c005f71d253eaaf428e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 198c9e27cad370dabbed91ff07dc6e21c7cf781547ae2d45306fea18213c4583
MD5 b98dec6efc6ec10a1e0d31fd5c27d769
BLAKE2b-256 4d5cda3a5e76da5a4c9e890af4e1b8d2f0f6d84b724c410a0e370ce59bd4f4e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp310-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 abc6afd1947d16d9dc31734c2f711d5107ba42230f8db1d1762c16a40942a361
MD5 28e4afb55b155b8912f639ba76cfe795
BLAKE2b-256 dfed77f6c5c026b776d88c3cf558194aec049dd18ad7aca86305aff4ea3a56eb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp310-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 2bca524b99cd3a97e4cb3d2e61a525b6b6b5b89acb5d35685fbf98b1ac26f47d
MD5 8567fa294ec12c888569134abd58e4de
BLAKE2b-256 ba970567f92f2befcab9fde60e8bbf37f6b34ef4cfbea92d7ce5fab4eefe8389

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 bc4e3bcde1091ac450699d6830f6c7f60edd77ae64a46ece730b660e91dfd6fa
MD5 251c2b787c51c6fcc38acfd44c5f22d3
BLAKE2b-256 35f344928e72e7e7f02d9be9c6be01fa203a6410d27ef4c807d6dfdacf2c92c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2da63242583a932f5f25b9e86ef273ea53f8125dd5378c94832ea370e0837a86
MD5 7b6cfcfd1c230cf1d3ba3ee60fca4aa8
BLAKE2b-256 b0b6f62c8fef5c56a01277caa6e96a00fc41a53fa3134afda46aed54330eace7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 99198a50ad329eb942fbcc390050788f174b58fd42569a0e418326ec883b87c6
MD5 1d4b9f6a37140c52c11a96bd96ca1847
BLAKE2b-256 2d4c98485f83295c27fa19be5a982a1eaa00102552ead6ecd89312005832bda9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 c19a737f11d47b53bc8bf95b3f822818533381ab4343c86bc51b41a84bd0da3d
MD5 6148a07eb515d3cb21315f810506105f
BLAKE2b-256 e52092d6946f3bc31246d9aee978bafc8cc8290a22d5744ee841eec245366231

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 931daca70d48f874d80fbdb2e04fd3886c43b8f5a44b90e9ec86dd69b9ae9653
MD5 865cdce50c1c4d706471e111c5002a38
BLAKE2b-256 e5f05b849fa68b296f126e578c2d794c33788905da25fb4255539b41a3420275

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c5f2a4523410746f2cba2711affe4d497e5f8ef43615d78872f9fa6cfe2b8ff5
MD5 c2a54b821a47b10bd4d0792138c9b730
BLAKE2b-256 29064c817f8e55fdda1640742c34ddaee86bad9c1f8fd66dd726cef2a6c290ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 133390d3045f5fc51d908602c442315f7d608f0c95a98982b11235046531798a
MD5 a9583ee0e67f8b6e8c776602b219c84c
BLAKE2b-256 a7d197f724cd655f0739270f86cca3fbb9f593200427715b5faee49e9af4abcc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ac3ea72e7cca2943e84a9de99a48574ce0653c87e0970c9762c4eab7239f19e2
MD5 f3a6c69d23c71ebf46fae9d153ed32be
BLAKE2b-256 9f4c58c40e383f22bdb2fdf84bc9054c209b2a320de348dc21e2f76dc16527ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_segmentation_rs-0.2.1-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d3c4961433182df13469ab92b4c3b6548f45632d8de571b15e97f9aae31292ad
MD5 555b02bfb0363481aa32ceebb34514e2
BLAKE2b-256 f186e245306dc3f76f3cf8b1b91de8046bc78cf9966ca7371b9f99311bc06244

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