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.18, 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 .

Release files for flashlight-text 0.0.6.dev303

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

Built distributions (wheels)

Table of built distributions (wheels) for flashlight-text 0.0.6.dev303
File
flashlight_text-0.0.6.dev303-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl PyPy 3.10 PyPy 3.10 7.3 Linux glibc 2.17+ ARM64 Details
flashlight_text-0.0.6.dev303-pp310-pypy310_pp73-macosx_11_0_arm64.whl PyPy 3.10 PyPy 3.10 7.3 macOS 11.0+ ARM64 Details
flashlight_text-0.0.6.dev303-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl PyPy 3.9 PyPy 3.9 7.3 Linux glibc 2.17+ ARM64 Details
flashlight_text-0.0.6.dev303-pp39-pypy39_pp73-macosx_11_0_arm64.whl PyPy 3.9 PyPy 3.9 7.3 macOS 11.0+ ARM64 Details
flashlight_text-0.0.6.dev303-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl PyPy 3.8 PyPy 3.8 7.3 Linux glibc 2.17+ ARM64 Details
flashlight_text-0.0.6.dev303-pp38-pypy38_pp73-macosx_11_0_arm64.whl PyPy 3.8 PyPy 3.8 7.3 macOS 11.0+ ARM64 Details
flashlight_text-0.0.6.dev303-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl PyPy 3.7 PyPy 3.7 7.3 Linux glibc 2.17+ ARM64 Details
flashlight_text-0.0.6.dev303-cp312-cp312-musllinux_1_1_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.1+ ARM64 Details
flashlight_text-0.0.6.dev303-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
flashlight_text-0.0.6.dev303-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
flashlight_text-0.0.6.dev303-cp311-cp311-musllinux_1_1_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.1+ ARM64 Details
flashlight_text-0.0.6.dev303-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
flashlight_text-0.0.6.dev303-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
flashlight_text-0.0.6.dev303-cp310-cp310-musllinux_1_1_aarch64.whl CPython 3.10 CPython 3.10 Linux musl 1.1+ ARM64 Details
flashlight_text-0.0.6.dev303-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details
flashlight_text-0.0.6.dev303-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
flashlight_text-0.0.6.dev303-cp39-cp39-musllinux_1_1_aarch64.whl CPython 3.9 CPython 3.9 Linux musl 1.1+ ARM64 Details
flashlight_text-0.0.6.dev303-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ ARM64 Details
flashlight_text-0.0.6.dev303-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
flashlight_text-0.0.6.dev303-cp38-cp38-musllinux_1_1_aarch64.whl CPython 3.8 CPython 3.8 Linux musl 1.1+ ARM64 Details
flashlight_text-0.0.6.dev303-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ ARM64 Details
flashlight_text-0.0.6.dev303-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
flashlight_text-0.0.6.dev303-cp37-cp37m-musllinux_1_1_aarch64.whl CPython 3.7 CPython 3.7 pymalloc Linux musl 1.1+ ARM64 Details
flashlight_text-0.0.6.dev303-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ ARM64 Details
flashlight_text-0.0.6.dev303-cp36-cp36m-musllinux_1_1_aarch64.whl CPython 3.6 CPython 3.6 pymalloc Linux musl 1.1+ ARM64 Details
flashlight_text-0.0.6.dev303-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ ARM64 Details

Total release size: 32.4 MB

Release files / flashlight_text-0.0.6.dev303-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL flashlight_text-0.0.6.dev303-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.2 MB
Tags Linux glibc 2.17+ ARM64 PyPy 3.10 PyPy 3.10 7.3
SHA-256 checksum
How to use checksums
d80fb15cb47bd5705c388e71b829044af9a21d32c8a64a0f89068c36f8fb25d7
BLAKE2b-256 checksum
How to use checksums
bba220e5619aa452375f6930c059cc08b2f01ad6a30c1567d35de2d8595442ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.2

Release files / flashlight_text-0.0.6.dev303-pp310-pypy310_pp73-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.6.dev303-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Size 910.6 kB
Tags PyPy 3.10 PyPy 3.10 7.3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8470232b519d0eb88f2bd50dec2cab4f06e9b75b35f9193a1e9da713553c042e
BLAKE2b-256 checksum
How to use checksums
f3e655844303ef59deb03b0559f69ba34a174b6adcf815124149949deaaa0b0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.2

Release files / flashlight_text-0.0.6.dev303-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL flashlight_text-0.0.6.dev303-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.2 MB
Tags Linux glibc 2.17+ ARM64 PyPy 3.9 PyPy 3.9 7.3
SHA-256 checksum
How to use checksums
d8eedee7b1d1e3c75072af98a7553e127d89ac7a69a7080baf62771684b5b706
BLAKE2b-256 checksum
How to use checksums
a9ce468675480ed8fc71955a1c77a1ba5ecd3d94358434f0e2a30472c6b9ef87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.2

Release files / flashlight_text-0.0.6.dev303-pp39-pypy39_pp73-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.6.dev303-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Size 910.6 kB
Tags PyPy 3.9 PyPy 3.9 7.3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b6c6c71b44f2f72d2ea017ff734bbb19e53b472cc2118eaf6f6dd930ff941048
BLAKE2b-256 checksum
How to use checksums
4ff2c9ab8fe35292fc2011cf502a5dad348e7418d327543a11e2b0515405cabc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.2

Release files / flashlight_text-0.0.6.dev303-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL flashlight_text-0.0.6.dev303-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.2 MB
Tags Linux glibc 2.17+ ARM64 PyPy 3.8 PyPy 3.8 7.3
SHA-256 checksum
How to use checksums
4e788df30ab9c094088afe9013591dd0d58bcd713fca6cb86332792296d04f62
BLAKE2b-256 checksum
How to use checksums
0ba6678d6d177e67003f4a70330851830ce5855567a01439630c112014981fe1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.2

Release files / flashlight_text-0.0.6.dev303-pp38-pypy38_pp73-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.6.dev303-pp38-pypy38_pp73-macosx_11_0_arm64.whl
Size 910.6 kB
Tags PyPy 3.8 PyPy 3.8 7.3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b1a42213e08588010e8a847045059047e491cbb342f7ced83cb64425776309e7
BLAKE2b-256 checksum
How to use checksums
c007bc1fa048fd0e5ca041e9983ed82d6fff771ea729f07217a8d859d8c42547
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.2

Release files / flashlight_text-0.0.6.dev303-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL flashlight_text-0.0.6.dev303-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.2 MB
Tags Linux glibc 2.17+ ARM64 PyPy 3.7 PyPy 3.7 7.3
SHA-256 checksum
How to use checksums
f66e65410a02332e0a3f5305774cae8f10284dcd63129b1933db841cbfcdb7c7
BLAKE2b-256 checksum
How to use checksums
c05156aab925a975ff47c30c5b18e8b4470234a898ee08da899898a4e8f3cff7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.2

Release files / flashlight_text-0.0.6.dev303-cp312-cp312-musllinux_1_1_aarch64.whl

Download URL flashlight_text-0.0.6.dev303-cp312-cp312-musllinux_1_1_aarch64.whl
Size 1.6 MB
Tags CPython 3.12 Linux musl 1.1+ ARM64
SHA-256 checksum
How to use checksums
3b616ac309d66647270cf8c114cc939d719e23bc60f5740046af469aa3250673
BLAKE2b-256 checksum
How to use checksums
c190229f83e25ebd55e6f1880ebd97f5ac91a272dd64099059a4658e2583ecd3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.2

Release files / flashlight_text-0.0.6.dev303-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL flashlight_text-0.0.6.dev303-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.2 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
cf2a6dd7c6c25cb1188249d8dea6b50341f1771d260d56fbcb539da8012048e3
BLAKE2b-256 checksum
How to use checksums
74367f3d75ace8b7ba2eee1113938dd08e9f4722e8ec2a40b40422e6aea37543
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.2

Release files / flashlight_text-0.0.6.dev303-cp312-cp312-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.6.dev303-cp312-cp312-macosx_11_0_arm64.whl
Size 914.0 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
120334e52897c75ca901d66764325f769452d82f4afb0a7473d472c6f67dc476
BLAKE2b-256 checksum
How to use checksums
00dc2ed2e6e5f310e0045497d94257a2a08827201fe4f8027a890c725e98824a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.2

Release files / flashlight_text-0.0.6.dev303-cp311-cp311-musllinux_1_1_aarch64.whl

Download URL flashlight_text-0.0.6.dev303-cp311-cp311-musllinux_1_1_aarch64.whl
Size 1.6 MB
Tags CPython 3.11 Linux musl 1.1+ ARM64
SHA-256 checksum
How to use checksums
b74403551687986fb0f1970a78665602f8856ba33c781646ce436584f757b296
BLAKE2b-256 checksum
How to use checksums
cab1b58ca17e5ef5bef879c92e183440e5229d3082f4d7f06c4e33102c78adb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.2

Release files / flashlight_text-0.0.6.dev303-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL flashlight_text-0.0.6.dev303-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.2 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
c3daff9ecaca3ab2de7e4ccd83b62a33801224775b9e2345cbf6140053caef57
BLAKE2b-256 checksum
How to use checksums
08ec4d54fb5ee2d187629269137321a433704a451608b62f7ded8d29ed5e94f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.2

Release files / flashlight_text-0.0.6.dev303-cp311-cp311-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.6.dev303-cp311-cp311-macosx_11_0_arm64.whl
Size 910.8 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
be2719684fc8e4a0079a55a4630ca20779f3502ea4b91b147c6a80e364bcc64f
BLAKE2b-256 checksum
How to use checksums
22beb0793e174dfd3d8b756776ddf03f80b2204385e28f15c8907bd164222cbd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.2

Release files / flashlight_text-0.0.6.dev303-cp310-cp310-musllinux_1_1_aarch64.whl

Download URL flashlight_text-0.0.6.dev303-cp310-cp310-musllinux_1_1_aarch64.whl
Size 1.6 MB
Tags CPython 3.10 Linux musl 1.1+ ARM64
SHA-256 checksum
How to use checksums
3e7c9820f4a90440e5b958deea5f8a27251cee8d6aa9264d0ad60adc60479181
BLAKE2b-256 checksum
How to use checksums
c500f6bc5670ea4263d5115240735382baef994bb443b34f338c82ee839764bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.2

Release files / flashlight_text-0.0.6.dev303-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL flashlight_text-0.0.6.dev303-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.2 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
fa7ef8d366368c9dca428e91d9a0bb56b85a0198bd4da54cd07b44154fa7aa0c
BLAKE2b-256 checksum
How to use checksums
12177319116e1fb56adb244e89d996c0a35a432de35e7eb840c51e24dfbc83e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.2

Release files / flashlight_text-0.0.6.dev303-cp310-cp310-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.6.dev303-cp310-cp310-macosx_11_0_arm64.whl
Size 910.9 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
94b47ed1c2b4d6a6f2c0d7dbf1cdc675f2cac2ca3527d28dd47809d300c64f74
BLAKE2b-256 checksum
How to use checksums
e49e7dc5d851e04ab98c4387d7848a303ab6a1ca3b254820d2b31d6bebd28aea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.2

Release files / flashlight_text-0.0.6.dev303-cp39-cp39-musllinux_1_1_aarch64.whl

Download URL flashlight_text-0.0.6.dev303-cp39-cp39-musllinux_1_1_aarch64.whl
Size 1.6 MB
Tags CPython 3.9 Linux musl 1.1+ ARM64
SHA-256 checksum
How to use checksums
8199f4bbc199c8d3b6fbb3a08986e1a036c54597701208dc2f1c3c26a884e08d
BLAKE2b-256 checksum
How to use checksums
6959b11e6cb8246238dc30b5259015d771dffcf53d397dc4b6843b8f87ace94c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.2

Release files / flashlight_text-0.0.6.dev303-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL flashlight_text-0.0.6.dev303-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.2 MB
Tags CPython 3.9 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
e59a7425e73127e1039df1d4244e0b564be15829b30f6967a9a1b01a6dbfd38a
BLAKE2b-256 checksum
How to use checksums
4eb44556797d9cfe991985c1444df49f6e23245ee46e67b3074bbab9c5a03eac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.2

Release files / flashlight_text-0.0.6.dev303-cp39-cp39-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.6.dev303-cp39-cp39-macosx_11_0_arm64.whl
Size 911.1 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
47eccd9dcc8def6a366cc65e88373e391ec882c96beba7216536fca1e61a8788
BLAKE2b-256 checksum
How to use checksums
38be98028575376ed8723c742059f5e4d84482a386e6b33fc237cbb297a83866
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.2

Release files / flashlight_text-0.0.6.dev303-cp38-cp38-musllinux_1_1_aarch64.whl

Download URL flashlight_text-0.0.6.dev303-cp38-cp38-musllinux_1_1_aarch64.whl
Size 1.6 MB
Tags CPython 3.8 Linux musl 1.1+ ARM64
SHA-256 checksum
How to use checksums
094cd1e6d9a8b9676c152fe75f04d5bc78f76daf3b58dfe4e06dda6c0b2369dd
BLAKE2b-256 checksum
How to use checksums
170e79e52783f3c088a5fdb2432b17ead5dc9c58d6708321b14c3e6d27c75a71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.2

Release files / flashlight_text-0.0.6.dev303-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL flashlight_text-0.0.6.dev303-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.2 MB
Tags CPython 3.8 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
7551207d3a1a5bfe139f0c3464e18b1e8a8e706bef47db99bec64748eac93716
BLAKE2b-256 checksum
How to use checksums
a228f9e06e47d46755b6ed0e33e71e8a893a99fbe214d1e3cc9fe48199c9b70a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.2

Release files / flashlight_text-0.0.6.dev303-cp38-cp38-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.6.dev303-cp38-cp38-macosx_11_0_arm64.whl
Size 910.3 kB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b8bebe7a09c73f105915fc68a93c0619c724439948868cebbd660a89f8b94c31
BLAKE2b-256 checksum
How to use checksums
812ad9931732eaf93df20b03f9fff1e9efa25bb8e48b5a074ec3ac5fcd94e9d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.2

Release files / flashlight_text-0.0.6.dev303-cp37-cp37m-musllinux_1_1_aarch64.whl

Download URL flashlight_text-0.0.6.dev303-cp37-cp37m-musllinux_1_1_aarch64.whl
Size 1.6 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux musl 1.1+ ARM64
SHA-256 checksum
How to use checksums
9c10b7bc183714ec545a864c26d8d6581c3645bc72f113472cd1e159124949fe
BLAKE2b-256 checksum
How to use checksums
b0aabb20cfd8b371730a8923bbf85b8a0e6d2a6476ff0e5bf17869a8bf92e9e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.2

Release files / flashlight_text-0.0.6.dev303-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL flashlight_text-0.0.6.dev303-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.3 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
a2b841f21fab5bff292a1b9d5bfbfc37e08e6f98abbfd845424fcd79b6ae8821
BLAKE2b-256 checksum
How to use checksums
290b680f3d868d184714c50a3d7b10798c8b06f612820f440c7eb063640493e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.2

Release files / flashlight_text-0.0.6.dev303-cp36-cp36m-musllinux_1_1_aarch64.whl

Download URL flashlight_text-0.0.6.dev303-cp36-cp36m-musllinux_1_1_aarch64.whl
Size 1.6 MB
Tags CPython 3.6 CPython 3.6 pymalloc Linux musl 1.1+ ARM64
SHA-256 checksum
How to use checksums
bed02cd7ed0553bea368ce078ae50bb2ac3407111bb2b198adc78a7f61810247
BLAKE2b-256 checksum
How to use checksums
a86e15545fac3d5ef7a94853071698ce57265471f875e397e578ca649434d66a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.2

Release files / flashlight_text-0.0.6.dev303-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL flashlight_text-0.0.6.dev303-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.3 MB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
1a726d986345c99874d2421fadadfe33b87d2333d6df70df0823419a4dd612c8
BLAKE2b-256 checksum
How to use checksums
2cc7a0f6d411af77ce0aac7db3184cc8f96d2aec9152de5592b55caf330cbaa9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.2

Release history Release notifications | RSS feed

0.0.7

67 release files

0.0.6

67 release files

This release

0.0.6.dev303 This release

26 release files

0.0.5

62 release files

0.0.2

40 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