Skip to main content

Fast and customizable text tokenization library with BPE and SentencePiece support

Project description

pyonmttok

pyonmttok is the Python wrapper for OpenNMT/Tokenizer, a fast and customizable text tokenization library with BPE and SentencePiece support.

Installation:

pip install pyonmttok

Requirements:

  • OS: Linux, macOS, Windows
  • Python version: >= 3.5
  • pip version: >= 19.0

Table of contents

  1. Tokenization
  2. Subword learning
  3. Token API
  4. Utilities

Tokenization

Example

>>> import pyonmtok
>>> tokenizer = pyonmttok.Tokenizer("aggressive", joiner_annotate=True)
>>> tokens, _ = tokenizer.tokenize("Hello World!")
>>> tokens
['Hello', 'World', '■!']
>>> tokenizer.detokenize(tokens)
'Hello World!'

Interface

Constructor

tokenizer = pyonmttok.Tokenizer(
    mode: str,
    *,
    lang: Optional[str] = None,
    bpe_model_path: Optional[str] = None,
    bpe_dropout: float = 0,
    vocabulary_path: Optional[str] = None,
    vocabulary_threshold: int = 0,
    sp_model_path: Optional[str] = None,
    sp_nbest_size: int = 0,
    sp_alpha: float = 0.1,
    joiner: str = "■",
    joiner_annotate: bool = False,
    joiner_new: bool = False,
    support_prior_joiners: bool = False,
    spacer_annotate: bool = False,
    spacer_new: bool = False,
    case_feature: bool = False,
    case_markup: bool = False,
    soft_case_regions: bool = False,
    no_substitution: bool = False,
    with_separators: bool = False,
    preserve_placeholders: bool = False,
    preserve_segmented_tokens: bool = False,
    segment_case: bool = False,
    segment_numbers: bool = False,
    segment_alphabet_change: bool = False,
    segment_alphabet: Optional[List[str]] = None,
)

# SentencePiece-compatible tokenizer.
tokenizer = pyonmttok.SentencePieceTokenizer(
    model_path: str,
    vocabulary_path: Optional[str] = None,
    vocabulary_threshold: int = 0,
    nbest_size: int = 0,
    alpha: float = 0.1,
)

# Copy constructor.
tokenizer = pyonmttok.Tokenizer(tokenizer: pyonmttok.Tokenizer)

# Return the tokenization options (excluding options related to subword).
tokenizer.options

See the documentation for a description of each tokenization option.

Tokenization

# By default, tokenize returns the tokens and features.
# When as_token_objects=True, the method returns Token objects (see below).
# When training=False, subword regularization such as BPE dropout is disabled.
tokenizer.tokenize(
    text: str,
    as_token_objects: bool = False,
    training: bool = True,
) -> Union[Tuple[List[str], Optional[List[List[str]]]], List[pyonmttok.Token]]

# Tokenize a file.
tokenizer.tokenize_file(
    input_path: str,
    output_path: str,
    num_threads: int = 1,
    verbose: bool = False,
    training: bool = True,
    tokens_delimiter: str = " ",
)

Detokenization

# The detokenize method converts a list of tokens back to a string.
tokenizer.detokenize(
    tokens: List[str],
    features: Optional[List[List[str]]] = None,
) -> str
tokenizer.detokenize(tokens: List[pyonmttok.Token]) -> str

# The detokenize_with_ranges method also returns a dictionary mapping a token
# index to a range in the detokenized text.
# Set merge_ranges=True to merge consecutive ranges, e.g. subwords of the same
# token in case of subword tokenization.
# Set unicode_ranges=True to return ranges over Unicode characters instead of bytes.
tokenizer.detokenize_with_ranges(
    tokens: Union[List[str], List[pyonmttok.Token]],
    merge_ranges: bool = False,
    unicode_ranges: bool = False,
) -> Tuple[str, Dict[int, Tuple[int, int]]]

# Detokenize a file.
tokenizer.detokenize_file(
    input_path: str,
    output_path: str,
    tokens_delimiter: str = " ",
)

Subword learning

Example

The Python wrapper supports BPE and SentencePiece subword learning through a common interface:

1. Create the subword learner with the tokenization you want to apply, e.g.:

# BPE is trained and applied on the tokenization output before joiner (or spacer) annotations.
tokenizer = pyonmttok.Tokenizer("aggressive", joiner_annotate=True, segment_numbers=True)
learner = pyonmttok.BPELearner(tokenizer=tokenizer, symbols=32000)

# SentencePiece can learn from raw sentences so a tokenizer in not required.
learner = pyonmttok.SentencePieceLearner(vocab_size=32000, character_coverage=0.98)

2. Feed some raw data:

# Feed detokenized sentences:
learner.ingest("Hello world!")
learner.ingest("How are you?")

# or detokenized text files:
learner.ingest_file("/data/train1.en")
learner.ingest_file("/data/train2.en")

3. Start the learning process:

tokenizer = learner.learn("/data/model-32k")

The returned tokenizer instance can be used to apply subword tokenization on new data.

Interface

# See https://github.com/rsennrich/subword-nmt/blob/master/subword_nmt/learn_bpe.py
# for argument documentation.
learner = pyonmttok.BPELearner(
    tokenizer: Optional[pyonmttok.Tokenizer] = None,  # Defaults to tokenization mode "space".
    symbols: int = 10000,
    min_frequency: int = 2,
    total_symbols: bool = False,
)

# See https://github.com/google/sentencepiece/blob/master/src/spm_train_main.cc
# for available training options.
learner = pyonmttok.SentencePieceLearner(
    tokenizer: Optional[pyonmttok.Tokenizer] = None,  # Defaults to tokenization mode "none".
    keep_vocab: bool = False,  # Keep the generated vocabulary (model_path will act like model_prefix in spm_train)
    **training_options,
)

learner.ingest(text: str)
learner.ingest_file(path: str)
learner.ingest_token(token: Union[str, pyonmttok.Token])

learner.learn(model_path: str, verbose: bool = False) -> pyonmttok.Tokenizer

Token API

The Token API allows to tokenize text into pyonmttok.Token objects. This API can be useful to apply some logics at the token level but still retain enough information to write the tokenization on disk or detokenize.

Example

>>> tokenizer = pyonmttok.Tokenizer("aggressive", joiner_annotate=True)
>>> tokens = tokenizer.tokenize("Hello World!", as_token_objects=True)
>>> tokens
[Token('Hello'), Token('World'), Token('!', join_left=True)]
>>> tokens[-1].surface
'!'
>>> tokenizer.serialize_tokens(tokens)[0]
['Hello', 'World', '■!']
>>> tokens[-1].surface = '.'
>>> tokenizer.serialize_tokens(tokens)[0]
['Hello', 'World', '■.']
>>> tokenizer.detokenize(tokens)
'Hello World.'

Interface

The pyonmttok.Token class has the following attributes:

  • surface: a string, the token value
  • type: a pyonmttok.TokenType value, the type of the token
  • join_left: a boolean, whether the token should be joined to the token on the left or not
  • join_right: a boolean, whether the token should be joined to the token on the right or not
  • preserve: a boolean, whether joiners and spacers can be attached to this token or not
  • features: a list of string, the features attached to the token
  • spacer: a boolean, whether the token is prefixed by a SentencePiece spacer or not (only set when using SentencePiece)
  • casing: a pyonmttok.Casing value, the casing of the token (only set when tokenizing with case_feature or case_markup)

The pyonmttok.TokenType enumeration is used to identify tokens that were split by a subword tokenization. The enumeration has the following values:

  • TokenType.WORD
  • TokenType.LEADING_SUBWORD
  • TokenType.TRAILING_SUBWORD

The pyonmttok.Casing enumeration is used to identify the original casing of a token that was lowercased by the case_feature or case_markup tokenization options. The enumeration has the following values:

  • Casing.LOWERCASE
  • Casing.UPPERCASE
  • Casing.MIXED
  • Casing.CAPITALIZED
  • Casing.NONE

The Tokenizer instances provide methods to serialize or deserialize Token objects:

# Serialize Token objects to strings that can be saved on disk.
tokenizer.serialize_tokens(
    tokens: List[pyonmttok.Token],
) -> Tuple[List[str], Optional[List[List[str]]]]

# Deserialize strings into Token objects.
tokenizer.deserialize_tokens(
    tokens: List[str],
    features: Optional[List[List[str]]] = None,
) -> List[pyonmttok.Token]

Utilities

Interface

# Returns True if the string has the placeholder format.
pyonmttok.is_placeholder(token: str)

# Sets the random seed for reproducible tokenization.
pyonmttok.set_random_seed(seed: int)

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

pyonmttok-1.28.1-cp39-cp39-win_amd64.whl (13.5 MB view details)

Uploaded CPython 3.9Windows x86-64

pyonmttok-1.28.1-cp39-cp39-manylinux2010_x86_64.whl (15.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.12+ x86-64

pyonmttok-1.28.1-cp39-cp39-macosx_10_9_x86_64.whl (13.3 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

pyonmttok-1.28.1-cp38-cp38-win_amd64.whl (13.5 MB view details)

Uploaded CPython 3.8Windows x86-64

pyonmttok-1.28.1-cp38-cp38-manylinux2010_x86_64.whl (15.7 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64

pyonmttok-1.28.1-cp38-cp38-macosx_10_9_x86_64.whl (13.3 MB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

pyonmttok-1.28.1-cp37-cp37m-win_amd64.whl (13.5 MB view details)

Uploaded CPython 3.7mWindows x86-64

pyonmttok-1.28.1-cp37-cp37m-manylinux2010_x86_64.whl (15.8 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64

pyonmttok-1.28.1-cp37-cp37m-macosx_10_9_x86_64.whl (13.3 MB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

pyonmttok-1.28.1-cp36-cp36m-win_amd64.whl (13.5 MB view details)

Uploaded CPython 3.6mWindows x86-64

pyonmttok-1.28.1-cp36-cp36m-manylinux2010_x86_64.whl (15.8 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.12+ x86-64

pyonmttok-1.28.1-cp36-cp36m-macosx_10_9_x86_64.whl (13.3 MB view details)

Uploaded CPython 3.6mmacOS 10.9+ x86-64

pyonmttok-1.28.1-cp35-cp35m-win_amd64.whl (13.5 MB view details)

Uploaded CPython 3.5mWindows x86-64

pyonmttok-1.28.1-cp35-cp35m-manylinux2010_x86_64.whl (15.8 MB view details)

Uploaded CPython 3.5mmanylinux: glibc 2.12+ x86-64

pyonmttok-1.28.1-cp35-cp35m-macosx_10_9_x86_64.whl (13.3 MB view details)

Uploaded CPython 3.5mmacOS 10.9+ x86-64

File details

Details for the file pyonmttok-1.28.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pyonmttok-1.28.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 13.5 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyonmttok-1.28.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 fc0f6b9bdae5169a9ee8d1c9412fe9f1b1128ddd0954d585fc3c3b2576f86887
MD5 c43bac7fda9e7c98e4c167b678982e81
BLAKE2b-256 9422c55fb710887f206e93a51b49540e1e32272469a43d27cc156f65ef93422b

See more details on using hashes here.

File details

Details for the file pyonmttok-1.28.1-cp39-cp39-manylinux2010_x86_64.whl.

File metadata

  • Download URL: pyonmttok-1.28.1-cp39-cp39-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 15.7 MB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyonmttok-1.28.1-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 97c6926cd158f236a535f222d8e2a991231676fa0be746b4e94004962e94f6d0
MD5 1e45cc31c34f1329ebd0c45eb123f57d
BLAKE2b-256 0c6da83671444e571b09c7b1e2ad261c5799e635d2429e3bd7d078defa2bb218

See more details on using hashes here.

File details

Details for the file pyonmttok-1.28.1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: pyonmttok-1.28.1-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 13.3 MB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyonmttok-1.28.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 07dc3aa215d1cc21623658ed0c86f8f7ae696c1a363de6c250562124868274d6
MD5 855d0cdccb57ba9faa2c4ac7ac7e9fe9
BLAKE2b-256 0951e748919deb6d4e00d0856a5072251b845814aa1daf29f54af83427a8fe25

See more details on using hashes here.

File details

Details for the file pyonmttok-1.28.1-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: pyonmttok-1.28.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 13.5 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyonmttok-1.28.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 87be5b7755e163c6a6043e48e4e87d2d9d10d516003af6e58a5e1566c810e289
MD5 5fc020f67d91894a20c1875ec53fedda
BLAKE2b-256 0e91f1baa05b386761cd8e2efbafd43da05f0d3a5287b25b8d32a5e89e6b918d

See more details on using hashes here.

File details

Details for the file pyonmttok-1.28.1-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: pyonmttok-1.28.1-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 15.7 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyonmttok-1.28.1-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 bf6000dbb0e140e9ab0f95bef65178e06565ed1e68c4ec868c78e1945ebc0ea8
MD5 2b6118a0ffba2984b0fdf55681e72e00
BLAKE2b-256 154d8aa3b33f63d41e527d7397b479fa402fbfaaa5e8a2f2ceb1e0005078cd6b

See more details on using hashes here.

File details

Details for the file pyonmttok-1.28.1-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: pyonmttok-1.28.1-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 13.3 MB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyonmttok-1.28.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 999dcec37767b34674ea4640e12bd324a1fdc51629b4ecd3974f8487f961f715
MD5 9c35413ca14cb72018462c65d9aed3d2
BLAKE2b-256 71b848aa19aed35af27e7ce5269da09c1f02eacde525ddf3a188f2d4b5937f51

See more details on using hashes here.

File details

Details for the file pyonmttok-1.28.1-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: pyonmttok-1.28.1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 13.5 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyonmttok-1.28.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 880d7dfb1b03f505e368e3b4ac4edcaf997d3560df143e856a1c3d27e26c5795
MD5 8d5b7ced4aaccfbf4e84a14759a05668
BLAKE2b-256 63c1838953e251168c0609b7916c6c61c61caccb0823df24c24eea34b3ccbcf5

See more details on using hashes here.

File details

Details for the file pyonmttok-1.28.1-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: pyonmttok-1.28.1-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 15.8 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyonmttok-1.28.1-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 3bca84ac75c56668b88fa85e8ea04b90d5715de9e408df0267422a9ec2314853
MD5 c341801a90ecf9569ebdf3692a295c1c
BLAKE2b-256 870d8dead3039f3fd7fc4c211c595acd47c53ae7e4271e0453e557b539a4a4e2

See more details on using hashes here.

File details

Details for the file pyonmttok-1.28.1-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: pyonmttok-1.28.1-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 13.3 MB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyonmttok-1.28.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7875c22994a78e5740edc02ed551e8db1e5f29837d628f31828c370a4ad1c3e3
MD5 138863cde1424d92bd99d25b7c61fa12
BLAKE2b-256 f9b1476f3bf57be361819d948614856a739c037b50a853882b486291db286e20

See more details on using hashes here.

File details

Details for the file pyonmttok-1.28.1-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: pyonmttok-1.28.1-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 13.5 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyonmttok-1.28.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 648bf6ec54da06db9ecb68e61a30a6044c735145dc3805d7d04d596ae7e274b6
MD5 6ce3188dec7b74b7f452f3d29fe096ff
BLAKE2b-256 e443a72a925d25ab25b16ed2ca06c5ca92054ca48f7cf8b9ee71f094488433e0

See more details on using hashes here.

File details

Details for the file pyonmttok-1.28.1-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: pyonmttok-1.28.1-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 15.8 MB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyonmttok-1.28.1-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 eee3d2f136dfde718614bc37868d7826aaff5b67990859265a19fffc10829e4b
MD5 960f066ce0a6e9f455863771ae5d387d
BLAKE2b-256 3df07feea0fa53fc33fc4c5b7bf1ca157a66eb8f4b614de6821069e6d0dd0c4f

See more details on using hashes here.

File details

Details for the file pyonmttok-1.28.1-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: pyonmttok-1.28.1-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 13.3 MB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyonmttok-1.28.1-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6614d7516e5a3300f7b131eac423e23929d07d14b38f1d7edd8ddc280d6a409d
MD5 95b8234c181bef72d2fbb420c56460cc
BLAKE2b-256 ec9ce51ce366b2414a332383e129560659b82a05c44a43a5b7175d24fc54306d

See more details on using hashes here.

File details

Details for the file pyonmttok-1.28.1-cp35-cp35m-win_amd64.whl.

File metadata

  • Download URL: pyonmttok-1.28.1-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 13.5 MB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyonmttok-1.28.1-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 920dda73d160a882333c22f6aeadc1c034c53441cc8b270347203d4802611575
MD5 9874f95300ddebaffd9cc5acdec4447b
BLAKE2b-256 d0b23702fc53857f10981c3ea5331d3d1b3beea72cd4c277025bdb484d3988a1

See more details on using hashes here.

File details

Details for the file pyonmttok-1.28.1-cp35-cp35m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: pyonmttok-1.28.1-cp35-cp35m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 15.8 MB
  • Tags: CPython 3.5m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyonmttok-1.28.1-cp35-cp35m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 c65a0a3e89c36afeada623a7263899381909f30528f9945db36e9d21a9fcd169
MD5 0ba2b4556dd4c398b1d2644a61bc8541
BLAKE2b-256 40a5fcbf9ceb1fbe114225d469509561e6ff0688f2d5b809e9e6ea4e9d6010b6

See more details on using hashes here.

File details

Details for the file pyonmttok-1.28.1-cp35-cp35m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: pyonmttok-1.28.1-cp35-cp35m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 13.3 MB
  • Tags: CPython 3.5m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyonmttok-1.28.1-cp35-cp35m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 12dfa034eb14c64b23dac35ccf1c65ae6dcf9210b8e302373e7b448d2aceeef1
MD5 9f9d0204d48bc38bee66bd9c607cd330
BLAKE2b-256 7e66ed7dc739b9e8bf56b15262e4edf2207a4719788f7ccafe37cfc8f05573aa

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