Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Flashlight Text Python Bindings

Quickstart

The Flashlight Text Python package containing beam search decoder and Dictionary components is available on PyPI:

pip install flashlight-text

To enable optional KenLM support in Python with the decoder, KenLM must be installed via pip:

pip install git+https://github.com.kpu/kenlm.git

Contents

Installation

Dependencies

We require python >= 3.6 with the following packages installed:

  • cmake >= 3.16, and make (installable via pip install cmake)
  • KenLM (must be installed pip install git+https://github.com/kpu/kenlm.git)

Build Instructions

Once the dependencies are satisfied, from the project root, use:

pip install .

Using the environment variable USE_KENLM=0 removes the KenLM dependency but precludes using the decoder with a language model unless you write C++/pybind11 bindings for your own language model.

Install in editable mode for development:

pip install -e .

(pypi installation coming soon)

Note: if you encounter errors, you'll probably have to rm -rf build dist before retrying the install.

Python API Documentation

Beam Search Decoder

Bindings for the lexicon and lexicon-free beam search decoders are supported for CTC/ASG models only (no seq2seq model support). Out-of-the-box language model support includes KenLM; users can define custom a language model in Python and use it for decoding; see the documentation below.

To run decoder one first should define options:

    from flashlight.lib.text.decoder import LexiconDecoderOptions, LexiconFreeDecoderOptions

    # for lexicon-based decoder
    options = LexiconDecoderOptions(
        beam_size, # number of top hypothesis to preserve at each decoding step
        token_beam_size, # restrict number of tokens by top am scores (if you have a huge token set)
        beam_threshold, # preserve a hypothesis only if its score is not far away from the current best hypothesis score
        lm_weight, # language model weight for LM score
        word_score, # score for words appearance in the transcription
        unk_score, # score for unknown word appearance in the transcription
        sil_score, # score for silence appearance in the transcription
        log_add, # the way how to combine scores during hypotheses merging (log add operation, max)
        criterion_type # supports only CriterionType.ASG or CriterionType.CTC
    )
    # for lexicon free-based decoder
    options = LexiconFreeDecoderOptions(
        beam_size, # number of top hypothesis to preserve at each decoding step
        token_beam_size, # restrict number of tokens by top am scores (if you have a huge token set)
        beam_threshold, # preserve a hypothesis only if its score is not far away from the current best hypothesis score
        lm_weight, # language model weight for LM score
        sil_score, # score for silence appearance in the transcription
        log_add, # the way how to combine scores during hypotheses merging (log add operation, max)
        criterion_type # supports only CriterionType.ASG or CriterionType.CTC
    )

Now, prepare a tokens dictionary (tokens for which a model returns probability for each frame) and a lexicon (mapping between words and their spellings within a tokens set).

For further details on tokens and lexicon file formats, see the Data Preparation documentation in Flashlight.

from flashlight.lib.text.dictionary import Dictionary, load_words, create_word_dict

tokens_dict = Dictionary("path/tokens.txt")
# for ASG add used repetition symbols, for example
# token_dict.add_entry("1")
# token_dict.add_entry("2")

lexicon = load_words("path/lexicon.txt") # returns LexiconMap
word_dict = create_word_dict(lexicon) # returns Dictionary

To create a KenLM language model, use:

from flashlight.lib.text.decoder import KenLM
lm = KenLM("path/lm.arpa", word_dict) # or "path/lm.bin"

Get the unknown and silence token indices from the token and word dictionaries to pass to the decoder:

sil_idx = token_dict.get_index("|")
unk_idx = word_dict.get_index("<unk>")

Now, define the lexicon Trie to restrict the beam search decoder search:

from flashlight.lib.text.decoder import Trie, SmearingMode
from flashlight.lib.text.dictionary import pack_replabels

trie = Trie(token_dict.index_size(), sil_idx)
start_state = lm.start(False)

def tkn_to_idx(spelling: list, token_dict : Dictionary, maxReps : int = 0):
    result = []
    for token in spelling:
        result.append(token_dict.get_index(token))
    return pack_replabels(result, token_dict, maxReps)


for word, spellings in lexicon.items():
    usr_idx = word_dict.get_index(word)
    _, score = lm.score(start_state, usr_idx)
    for spelling in spellings:
        # convert spelling string into vector of indices
        spelling_idxs = tkn_to_idx(spelling, token_dict, 1)
        trie.insert(spelling_idxs, usr_idx, score)

    trie.smear(SmearingMode.MAX) # propagate word score to each spelling node to have some lm proxy score in each node.

Finally, we can run lexicon-based decoder:

import numpy
from flashlight.lib.text.decoder import LexiconDecoder


blank_idx = token_dict.get_index("#") # for CTC
transitions = numpy.zeros((token_dict.index_size(), token_dict.index_size()) # for ASG fill up with correct values
is_token_lm = False # we use word-level LM
decoder = LexiconDecoder(options, trie, lm, sil_idx, blank_idx, unk_idx, transitions, is_token_lm)
# emissions is numpy.array of emitting model predictions with shape [T, N], where T is time, N is number of tokens
results = decoder.decode(emissions.ctypes.data, T, N)
# results[i].tokens contains tokens sequence (with length T)
# results[i].score contains score of the hypothesis
# results is sorted array with the best hypothesis stored with index=0.

Decoding with your own language model

One can define custom language model in python and use it for beam search decoding.

To store language model state, derive from the LMState base class and define additional data corresponding to each state by creating dict(LMState, info) inside the language model class:

import numpy
from flashlight.lib.text.decoder import LM


class MyPyLM(LM):
    mapping_states = dict() # store simple additional int for each state

    def __init__(self):
        LM.__init__(self)

    def start(self, start_with_nothing):
        state = LMState()
        self.mapping_states[state] = 0
        return state

    def score(self, state : LMState, token_index : int):
        """
        Evaluate language model based on the current lm state and new word
        Parameters:
        -----------
        state: current lm state
        token_index: index of the word
                    (can be lexicon index then you should store inside LM the
                    mapping between indices of lexicon and lm, or lm index of a word)

        Returns:
        --------
        (LMState, float): pair of (new state, score for the current word)
        """
        outstate = state.child(token_index)
        if outstate not in self.mapping_states:
            self.mapping_states[outstate] = self.mapping_states[state] + 1
        return (outstate, -numpy.random.random())

    def finish(self, state: LMState):
        """
        Evaluate eos for language model based on the current lm state

        Returns:
        --------
        (LMState, float): pair of (new state, score for the current word)
        """
        outstate = state.child(-1)
        if outstate not in self.mapping_states:
            self.mapping_states[outstate] = self.mapping_states[state] + 1
        return (outstate, -1)

LMState is a C++ base class for language model state. Its compare method (for comparing one state with another) is used inside the beam search decoder. It also has a LMState child(int index) method which returns a state obtained by following the token with this index from current state.

All LM states are organized as a trie. We use the child method in python to properly create this trie (which will be used inside the decoder to compare states) and can store additional state data in mapping_states.

This language model can be used as follows. Here, we print the state and its additional stored info inside lm.mapping_states:

custom_lm = MyLM()

state = custom_lm.start(True)
print(state, custom_lm.mapping_states[state])

for i in range(5):
    state, score = custom_lm.score(state, i)
    print(state, custom_lm.mapping_states[state], score)

state, score = custom_lm.finish(state)
print(state, custom_lm.mapping_states[state], score)

and for the decoder:

decoder = LexiconDecoder(options, trie, custom_lm, sil_idx, blank_inx, unk_idx, transitions, False)

Tests and Examples

An integration test for Python decoder bindings can be found in bindings/python/test/test_decoder.py. To run, use:

cd bindings/python/test
python3 -m unittest discover -v .

Metadata

Release files for flashlight-text 0.0.2.dev275

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for flashlight-text 0.0.2.dev275
File Size Uploaded
flashlight-text-0.0.2.dev275.tar.gz 65.8 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for flashlight-text 0.0.2.dev275
File
flashlight_text-0.0.2.dev275-pp39-pypy39_pp73-win_amd64.whl PyPy 3.9 PyPy 3.9 7.3 Windows x86-64 Details
flashlight_text-0.0.2.dev275-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.9 PyPy 3.9 7.3 Linux glibc 2.17+ x86-64 Details
flashlight_text-0.0.2.dev275-pp39-pypy39_pp73-macosx_10_9_x86_64.whl PyPy 3.9 PyPy 3.9 7.3 macOS 10.9+ x86-64 Details
flashlight_text-0.0.2.dev275-pp38-pypy38_pp73-win_amd64.whl PyPy 3.8 PyPy 3.8 7.3 Windows x86-64 Details
flashlight_text-0.0.2.dev275-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.8 PyPy 3.8 7.3 Linux glibc 2.17+ x86-64 Details
flashlight_text-0.0.2.dev275-pp38-pypy38_pp73-macosx_10_9_x86_64.whl PyPy 3.8 PyPy 3.8 7.3 macOS 10.9+ x86-64 Details
flashlight_text-0.0.2.dev275-pp37-pypy37_pp73-win_amd64.whl PyPy 3.7 PyPy 3.7 7.3 Windows x86-64 Details
flashlight_text-0.0.2.dev275-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.7 PyPy 3.7 7.3 Linux glibc 2.17+ x86-64 Details
flashlight_text-0.0.2.dev275-pp37-pypy37_pp73-macosx_10_9_x86_64.whl PyPy 3.7 PyPy 3.7 7.3 macOS 10.9+ x86-64 Details
flashlight_text-0.0.2.dev275-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
flashlight_text-0.0.2.dev275-cp311-cp311-musllinux_1_1_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.1+ x86-64 Details
flashlight_text-0.0.2.dev275-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
flashlight_text-0.0.2.dev275-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
flashlight_text-0.0.2.dev275-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
flashlight_text-0.0.2.dev275-cp310-cp310-musllinux_1_1_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.1+ x86-64 Details
flashlight_text-0.0.2.dev275-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
flashlight_text-0.0.2.dev275-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
flashlight_text-0.0.2.dev275-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
flashlight_text-0.0.2.dev275-cp39-cp39-musllinux_1_1_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.1+ x86-64 Details
flashlight_text-0.0.2.dev275-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
flashlight_text-0.0.2.dev275-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details
flashlight_text-0.0.2.dev275-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
flashlight_text-0.0.2.dev275-cp38-cp38-musllinux_1_1_x86_64.whl CPython 3.8 CPython 3.8 Linux musl 1.1+ x86-64 Details
flashlight_text-0.0.2.dev275-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
flashlight_text-0.0.2.dev275-cp38-cp38-macosx_10_9_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.9+ x86-64 Details
flashlight_text-0.0.2.dev275-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
flashlight_text-0.0.2.dev275-cp37-cp37m-musllinux_1_1_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux musl 1.1+ x86-64 Details
flashlight_text-0.0.2.dev275-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 Details
flashlight_text-0.0.2.dev275-cp37-cp37m-macosx_10_9_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64 Details
flashlight_text-0.0.2.dev275-cp36-cp36m-win_amd64.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-64 Details
flashlight_text-0.0.2.dev275-cp36-cp36m-musllinux_1_1_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux musl 1.1+ x86-64 Details
flashlight_text-0.0.2.dev275-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ x86-64 Details
flashlight_text-0.0.2.dev275-cp36-cp36m-macosx_10_9_x86_64.whl CPython 3.6 CPython 3.6 pymalloc macOS 10.9+ x86-64 Details

Total release size: 36.1 MB

Release files / flashlight-text-0.0.2.dev275.tar.gz

Download URL flashlight-text-0.0.2.dev275.tar.gz
Size 65.8 kB
Tags Source
SHA-256 checksum
How to use checksums
888ce4aefe5ddf2d18dd7391bf207d0c2dfec10760cf0d37d13fc59528ec9240
BLAKE2b-256 checksum
How to use checksums
72786ed02b4196cef0d94820b2b2b1338032f173052f9b8d586c5859df323500
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-pp39-pypy39_pp73-win_amd64.whl

Download URL flashlight_text-0.0.2.dev275-pp39-pypy39_pp73-win_amd64.whl
Size 616.6 kB
Tags PyPy 3.9 PyPy 3.9 7.3 Windows x86-64
SHA-256 checksum
How to use checksums
035cdbcf3de25cb3aa1e1ea88f265d5f209954f12decaf361afcf68172a69b4f
BLAKE2b-256 checksum
How to use checksums
98709cb798e8240fd3c62163d671f00a5112e3240ad056ea852ff7b86161371c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.2.dev275-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags Linux glibc 2.17+ x86-64 PyPy 3.9 PyPy 3.9 7.3
SHA-256 checksum
How to use checksums
7900c432aa1f1d906f09cf0af89ff36697c3e18fddece85a2c54c1f49f2af5b8
BLAKE2b-256 checksum
How to use checksums
4489208ef29e141b287a44dfb20bc533e7d2934bd72a3f736c5acfa70f3f1ea3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-pp39-pypy39_pp73-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.2.dev275-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Size 993.1 kB
Tags PyPy 3.9 PyPy 3.9 7.3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
c15d12cf95a183907cd1d63eb3380f95da89f2280ed02d3be93fe77437eac1be
BLAKE2b-256 checksum
How to use checksums
fad6808cd425fc0dd3e9092f8bcae842bbd56861079f9ccd291a8412e7409aad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-pp38-pypy38_pp73-win_amd64.whl

Download URL flashlight_text-0.0.2.dev275-pp38-pypy38_pp73-win_amd64.whl
Size 616.4 kB
Tags PyPy 3.8 PyPy 3.8 7.3 Windows x86-64
SHA-256 checksum
How to use checksums
2b6d1ae70d8a28478b6b87dfd1bf43aa50f44ffaba79961825e1debfe627f8ab
BLAKE2b-256 checksum
How to use checksums
e1cb4fb0be810a772f6da571eb2ba5f6d77656f4c6833aa6a0aa80e270570f3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.2.dev275-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags Linux glibc 2.17+ x86-64 PyPy 3.8 PyPy 3.8 7.3
SHA-256 checksum
How to use checksums
fee8c943ea5d724dc0423dbcf320915f4b102257bd2069b3edadf4966b991b40
BLAKE2b-256 checksum
How to use checksums
6a01e7627f6488eb35d7c4cfc12f43fc5dc5c33185d538eca60409344f19ce8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-pp38-pypy38_pp73-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.2.dev275-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Size 993.2 kB
Tags PyPy 3.8 PyPy 3.8 7.3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
43e9dcdbdc8fcbcfff11cd14f9b683d41f78930668d7d40e12531f73328e2f6f
BLAKE2b-256 checksum
How to use checksums
84f05b692d24e984b265a976f9f322bdcc0f26769b339531f08ae5b0bac2be03
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-pp37-pypy37_pp73-win_amd64.whl

Download URL flashlight_text-0.0.2.dev275-pp37-pypy37_pp73-win_amd64.whl
Size 616.4 kB
Tags PyPy 3.7 PyPy 3.7 7.3 Windows x86-64
SHA-256 checksum
How to use checksums
58b520e13f8219f8c91f5e53ca7f3a3584d0862d1ff43f39f6f4aa47bc0740c7
BLAKE2b-256 checksum
How to use checksums
554a9384785923258012d713da58febe4ce2a9d1525502fb3af4fa3b768e19b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.2.dev275-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags Linux glibc 2.17+ x86-64 PyPy 3.7 PyPy 3.7 7.3
SHA-256 checksum
How to use checksums
4c3f1503a2c685c62d24f98cf7938828465b7a70bc9d1cd85f2daf4f87982e71
BLAKE2b-256 checksum
How to use checksums
3efcf8bd28bd92b4fc135591567079b01e2398f7ef1c3f0244dd4bb301a6c891
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-pp37-pypy37_pp73-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.2.dev275-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Size 993.0 kB
Tags PyPy 3.7 PyPy 3.7 7.3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
27f80fb2f10e81c5747fdfb716d71a4d1a1f5b0408a6ab885eeb4fbb8e0137df
BLAKE2b-256 checksum
How to use checksums
5a3d0bce0dc59b0ce23640b1e2c0da757846196f7a3f66fd71090d858182e5ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-cp311-cp311-win_amd64.whl

Download URL flashlight_text-0.0.2.dev275-cp311-cp311-win_amd64.whl
Size 617.3 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
65a865cd9967eeb433eed34888f434cddf225879ae70ede69c7d5ac83877cdd1
BLAKE2b-256 checksum
How to use checksums
3b67d22a3b618333a8245aae251c10d2718ad438868c1ab193a6b4633e872396
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-cp311-cp311-musllinux_1_1_x86_64.whl

Download URL flashlight_text-0.0.2.dev275-cp311-cp311-musllinux_1_1_x86_64.whl
Size 1.7 MB
Tags CPython 3.11 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
741302f5d6e908696eda2a39e3f819ab44abc90d27875dcbd1af502e6d35fb96
BLAKE2b-256 checksum
How to use checksums
3228742870338ef186dbffa53fe799d105e5c3b270e6f3c332a4e3b77593521a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.2.dev275-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
16f3209e006a5f3550ceaac4e26960a6a1ab4c4aa7d7b0f427a00ef0978ec0bb
BLAKE2b-256 checksum
How to use checksums
bffca21b4a30ff6de940ccbc216a568aef86e70ac3396611f6dc489ecc046cf0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-cp311-cp311-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.2.dev275-cp311-cp311-macosx_10_9_x86_64.whl
Size 993.2 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
d71dcf465e133ad15b1ab70f31be8f8cca1c95360918f978aa1713e41640ee1c
BLAKE2b-256 checksum
How to use checksums
202c2a7d9b965d9d042e052d757f68e14cc74b4e1fa40b6ebafc37b68c85d1e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-cp310-cp310-win_amd64.whl

Download URL flashlight_text-0.0.2.dev275-cp310-cp310-win_amd64.whl
Size 617.6 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
dbea60eaeb2437dde4cf9f3d895f94f7bd3a3eb8a9656b35529cd232ac787e82
BLAKE2b-256 checksum
How to use checksums
d19886df0f4dfaed21cd4b26112bc7d2b84677ed8c1a5db029a691b4dc8531a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-cp310-cp310-musllinux_1_1_x86_64.whl

Download URL flashlight_text-0.0.2.dev275-cp310-cp310-musllinux_1_1_x86_64.whl
Size 1.7 MB
Tags CPython 3.10 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
05c741ccf9d851a74c9540e73821d93f1ff13a31051f35ee099e69ac71531a30
BLAKE2b-256 checksum
How to use checksums
b2348ba040f1e32529ee92f48d236599e62fcd3e86813073c707220ac74f0738
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.2.dev275-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
befe86c4f3f384e34001953d9a5a4ff57cc298001ea18d6934f6feddea0eb88d
BLAKE2b-256 checksum
How to use checksums
98a51fc4ff9d25c6f1cf1e0b2675bcfb8a7de36d05c2ab7c714542194db931f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-cp310-cp310-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.2.dev275-cp310-cp310-macosx_10_9_x86_64.whl
Size 993.3 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
e6835e8548cf01878e2dc987929cf4a80525b62846fcfd7f7eb65daf0b396366
BLAKE2b-256 checksum
How to use checksums
731c20e9e62c13768bba8e8c32379125a0e06d57ba81333c5076558693e4fa3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-cp39-cp39-win_amd64.whl

Download URL flashlight_text-0.0.2.dev275-cp39-cp39-win_amd64.whl
Size 617.9 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
a789cb76246d7e52255d5701c45bd5d64509c544c37e28aa24f45d2aed0a9fbb
BLAKE2b-256 checksum
How to use checksums
70fe2d2ade45c486627ace1d675a0c19bc0a827fc40942df9ad40be70e76ecdd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-cp39-cp39-musllinux_1_1_x86_64.whl

Download URL flashlight_text-0.0.2.dev275-cp39-cp39-musllinux_1_1_x86_64.whl
Size 1.7 MB
Tags CPython 3.9 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
e30e47e5894fd904b8ba2b03edaf7dcd8962e38ed5b5c935314e9e943eb85500
BLAKE2b-256 checksum
How to use checksums
bacbdc3b207a0505604491b8926c4602526ae08c5001ba1cd54dac74b34d4f1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.2.dev275-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
3f4f2ebacb66ab18f576a66b416b8bc7eb2d5096d00730d5287e01e1f3891e4c
BLAKE2b-256 checksum
How to use checksums
a429cfb421b5b7ee44912116f1d2f912337f11300248bc080e266fb9155555fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-cp39-cp39-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.2.dev275-cp39-cp39-macosx_10_9_x86_64.whl
Size 993.7 kB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
0e478023422ef5721cef643f435ba1b6f2096c7267d3ac34d108dfb4115ad225
BLAKE2b-256 checksum
How to use checksums
2d0a0fe5a6f17e085ad6c384d9bcea67ddf5625517c8240626d85169e4217ed4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-cp38-cp38-win_amd64.whl

Download URL flashlight_text-0.0.2.dev275-cp38-cp38-win_amd64.whl
Size 617.2 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
b4572b1f20bca40a22773a6d39b72c3fe621d0d1525e8b3816d6b11615766087
BLAKE2b-256 checksum
How to use checksums
06d67629bc5b2e6e1bc2eb3ab454b221f73987987659e92b9a649f64b6806718
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-cp38-cp38-musllinux_1_1_x86_64.whl

Download URL flashlight_text-0.0.2.dev275-cp38-cp38-musllinux_1_1_x86_64.whl
Size 1.7 MB
Tags CPython 3.8 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
32e22aeff12b616f2013019ea9acab980e961977495acd5a748d8b2e5349b85a
BLAKE2b-256 checksum
How to use checksums
f23121ad57bf2c611e7d6796eb7bb5249f679eae6a98f7f63f48f7b76eace329
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.2.dev275-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
000468c36ed1986cc5fa3e198f3191713c6b12e9ba8365ee12cea32f4a73797c
BLAKE2b-256 checksum
How to use checksums
9b07e0dc282798ceabf516436dc8ff5b21bd02a4f113a7c9664b896d78875a37
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-cp38-cp38-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.2.dev275-cp38-cp38-macosx_10_9_x86_64.whl
Size 993.1 kB
Tags CPython 3.8 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
2aedefe90d5229ce6d4c751fd167c8ad359c566c2a3a05b88197099d52ac0d9d
BLAKE2b-256 checksum
How to use checksums
2e87a2d284d34f084c78fdf178248de1ca40fd6b5867b32a9b81b632d7d06d4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-cp37-cp37m-win_amd64.whl

Download URL flashlight_text-0.0.2.dev275-cp37-cp37m-win_amd64.whl
Size 615.8 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
3cdec5fddf3932a457204a9c5b5ee3a0db15d7accd3bafc1c45844db24d4909c
BLAKE2b-256 checksum
How to use checksums
d80878565149ad960ad16b7cd53d8633d6c9d8a2bb4128ca16eae146decdebac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-cp37-cp37m-musllinux_1_1_x86_64.whl

Download URL flashlight_text-0.0.2.dev275-cp37-cp37m-musllinux_1_1_x86_64.whl
Size 1.7 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
91cc9897722341fd8d27ff9941348a93e8da5b4012822d02c9a3d05d43dbb06e
BLAKE2b-256 checksum
How to use checksums
12b4a5e92f40746cdaef4e789a36a717655b0be2893a333a78277702b84fe551
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.2.dev275-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d57ff214ba06ac847222fb0ad3e224bf91ac1e4c181e73ef40b6cc4d8b6ed561
BLAKE2b-256 checksum
How to use checksums
76b37b8f169d2131f03b0c3c8070c5b1aa987bc51f015c4864b089a863c05fd8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-cp37-cp37m-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.2.dev275-cp37-cp37m-macosx_10_9_x86_64.whl
Size 987.4 kB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
585bb9027564d11932ef59a4a35638710e37c861a7bc319616f2ce1535051452
BLAKE2b-256 checksum
How to use checksums
243fbdc3c86a3c74830c256cfcd778eb3191b0e930359dc30c8751ea76cd3f7c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-cp36-cp36m-win_amd64.whl

Download URL flashlight_text-0.0.2.dev275-cp36-cp36m-win_amd64.whl
Size 615.7 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
3a4aa07280c7e8d502d0bf01d210259ba6f1263bff9dc6f3f2d21866e8bb24bf
BLAKE2b-256 checksum
How to use checksums
a612839cfe420480e10181527322c8efdfcf18b3c6742e7d6c44e966c8c73fd2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-cp36-cp36m-musllinux_1_1_x86_64.whl

Download URL flashlight_text-0.0.2.dev275-cp36-cp36m-musllinux_1_1_x86_64.whl
Size 1.7 MB
Tags CPython 3.6 CPython 3.6 pymalloc Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
e4e1090473f6d876044f801d2cb6fd1c84c78d8877c7bb7c183ebab7aba46834
BLAKE2b-256 checksum
How to use checksums
510630c53c1df2d1546b3aa8d85fd55736771727fcb68bcb43a400d686758cc4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.2.dev275-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
0ca4de62b9a4e8eba30b8228843b5793d89a2789c08dabeeba442071b105f2e4
BLAKE2b-256 checksum
How to use checksums
a1b914d727b347f0abb8d73db93b29db01553ceecbcd02a1c6c4fad051bfce8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev275-cp36-cp36m-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.2.dev275-cp36-cp36m-macosx_10_9_x86_64.whl
Size 987.5 kB
Tags CPython 3.6 CPython 3.6 pymalloc macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
6aebdf1c1961d480e06d5d6b0443380b5a0787ab9882120619539dc1d7a04b3c
BLAKE2b-256 checksum
How to use checksums
8364c091ba55a7d6b9901f8d9d083560a567ae83240537365036ae52dd4dd349
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release history Release notifications | RSS feed

0.0.7

67 release files

0.0.6

67 release files

0.0.5

62 release files

0.0.2

40 release files

This release

0.0.2.dev275 This release

34 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page