Skip to main content

Rustfst

License: MIT/Apache-2.0 Maintenance macOS Linux Github tag

Rust

rustc >= 1.51.0 Native Linux test status Documentation

Python

PyPI version PyPI download month PyPI pyversions

Rust implementation of Weighted Finite States Transducers.

Rustfst is a library for constructing, combining, optimizing, and searching weighted finite-state transducers (FSTs). Weighted finite-state transducers are automata where each transition has an input label, an output label, and a weight. The more familiar finite-state acceptor is represented as a transducer with each transition's input and output label equal. Finite-state acceptors are used to represent sets of strings (specifically, regular or rational sets); finite-state transducers are used to represent binary relations between pairs of strings (specifically, rational transductions). The weights can be used to represent the cost of taking a particular transition.

FSTs have key applications in speech recognition and synthesis, machine translation, optical character recognition, pattern matching, string processing, machine learning, information extraction and retrieval among others. Often a weighted transducer is used to represent a probabilistic model (e.g., an n-gram model, pronunciation model). FSTs can be optimized by determinization and minimization, models can be applied to hypothesis sets (also represented as automata) or cascaded by finite-state composition, and the best results can be selected by shortest-path algorithms.

fst

Overview

For a basic example see the section below.

Some simple and commonly encountered types of FSTs can be easily created with the macro [fst] or the functions acceptor and transducer.

For more complex cases you will likely start with the VectorFst type, which will be imported in the [prelude] along with most everything else you need. VectorFst<TropicalWeight> corresponds directly to the OpenFST StdVectorFst, and can be used to load its files using read or read_text.

Because "iteration" over an FST can mean many different things, there are a variety of different iterators. To iterate over state IDs you may use states_iter, while to iterate over transitions out of a state, you may use get_trs. Since it is common to iterate over both, this can be done using fst_iter or fst_into_iter. It is also very common to iterate over paths accepted by an FST, which can be done with paths_iter, and as a convenience for generating text, string_paths_iter. Alternately, in the case of a linear FST, you may retrieve the only possible path with decode_linear_fst.

Note that iterating over paths is not the same thing as finding the shortest path or paths, which is done with shortest_path (for a single path) or shortest_path_with_config (for N-shortest paths).

For the complete list of algorithms, see the [algorithms] module.

You may now be wondering, especially if you have previously used such linguist-friendly tools as pyfoma, "what if I just want to transduce some text???" The unfriendly answer is that rustfst is a somewhat lower-level library, designed for implementing things like speech recognizers. The somewhat more helpful answer is that you would do this by constructing an acceptor for your input, which you will compose with a transducer, then project the result to itsoutput, and finally iterate over the paths in the resulting FST.

References

Implementation heavily inspired from Mehryar Mohri's, Cyril Allauzen's and Michael Riley's work :

The API closely resembles that of OpenFST, with some simplifications and changes to make it more idiomatic in Rust, notably the use of Tr instead of Arc. See Differences fromOpenFST for more information.

Example

use anyhow::Result;
use rustfst::prelude::*;
use rustfst::algorithms::determinize::{DeterminizeType, determinize};
use rustfst::algorithms::rm_epsilon::rm_epsilon;

fn main() -> Result<()> {
    // Creates a empty wFST
    let mut fst = VectorFst::<TropicalWeight>::new();

    // Add some states
    let s0 = fst.add_state();
    let s1 = fst.add_state();
    let s2 = fst.add_state();

    // Set s0 as the start state
    fst.set_start(s0)?;

    // Add a transition from s0 to s1
    fst.add_tr(s0, Tr::new(3, 5, 10.0, s1))?;

    // Add a transition from s0 to s2
    fst.add_tr(s0, Tr::new(5, 7, 18.0, s2))?;

    // Set s1 and s2 as final states
    fst.set_final(s1, 31.0)?;
    fst.set_final(s2, 45.0)?;

    // Iter over all the paths in the wFST
    for p in fst.paths_iter() {
         println!("{:?}", p);
    }

    // A lot of operations are available to modify/optimize the FST.
    // Here are a few examples :

    // - Remove useless states.
    connect(&mut fst)?;

    // - Optimize the FST by merging states with the same behaviour.
    minimize(&mut fst)?;

    // - Copy all the input labels in the output.
    project(&mut fst, ProjectType::ProjectInput);

    // - Remove epsilon transitions.
    rm_epsilon(&mut fst)?;

    // - Compute an equivalent FST but deterministic.
    fst = determinize(&fst)?;

    Ok(())
}

Differences from OpenFST

Here is a non-exhaustive list of ways in which Rustfst's API differs from OpenFST:

  • The default epsilon symbol is <eps> and not <epsilon>.
  • Functions and methods follow Rust naming conventions, e.g. add_state rather than AddState, but are otherwise mostly equivalent, except that:
  • Transitions are called Tr and not Arc, because Arc has a rather different and well-established meaning in Rust, and rustfst uses it (std::sync::Arc, that is) to reference-count symbol tables. All associated functions also use tr.
  • Final states are not indicated by a final weight of zero. You can test for finality using is_final, and final_weight returns an [Option]. This requires some care when converting OpenFST code.
  • Transitions can be accessed directly as a slice rather than requiring an iterator.
  • Semiring operations are expressed as plain old methods rather than strange C++ things. So write w1.plus(w2) rather than Plus(w1, w2), for instance.
  • Weights have in-place operations for ⊕ (plus_assign) and ⊗ (times_assign).
  • Most of the type aliases (which would be trait aliases in Rust) such as StdArc, StdFst, and so forth, are missing, but type inference allows us to avoid explicit type arguments in most cases, such as when calling [Tr::new], for instance.
  • State IDs are unsigned, with [NO_STATE_ID] used for a missing value. They are also 32 bits by default (presumably, 4 billion states is enough for most applications). This means you must take care to cast them to [usize] when using them as indices, and vice-versa, preferably checking for overflows
  • Symbol IDs are also unsigned and 32-bits, with [NO_LABEL] used for a missing value.
  • Floating-point weights are not generic, so are always single-precision.

Benchmark with OpenFST

I did a benchmark some time ago on almost every linear fst algorithm and compared the results with OpenFst. You can find the results here :

Spoiler alert: Rustfst is faster on all those algorithms 😅

Documentation

The documentation of the last released version is available here : https://docs.rs/rustfst

Release process

  1. Use the script update_version.sh to update the version of every package.
  2. Push
  3. Push a new tag with the prefix rustfst-v

Example :

./update_version.sh 0.9.1-alpha.6
git commit -am "Release 0.9.1-alpha.6"
git push
git tag -a rustfst-v0.9.1-alpha.6 -m "Release rustfst 0.9.1-alpha.6"  
git push --tags

Optionally, if this is a major release, create a GitHub release in the UI.

Projects contained in this repository

This repository contains two main projects:

  • rustfst is the Rust re-implementation.
    • Crate available on crates.io here
    • Documentation available on docs.rs here
  • rustfst-python is the python binding of rustfst.
    • Package available on Pypi here
    • Documentation available on Github Pages here

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Metadata

Release files for rustfst-python 0.13.6

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 rustfst-python 0.13.6
File
rustfst_python-0.13.6-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
rustfst_python-0.13.6-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl PyPy 3.9 PyPy 3.9 7.3 Linux glibc 2.5+ x86-32, Linux glibc 2.17+ x86-32 Details
rustfst_python-0.13.6-pp39-pypy39_pp73-macosx_10_9_x86_64.whl PyPy 3.9 PyPy 3.9 7.3 macOS 10.9+ x86-64 Details
rustfst_python-0.13.6-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
rustfst_python-0.13.6-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl PyPy 3.8 PyPy 3.8 7.3 Linux glibc 2.5+ x86-32, Linux glibc 2.17+ x86-32 Details
rustfst_python-0.13.6-pp38-pypy38_pp73-macosx_10_9_x86_64.whl PyPy 3.8 PyPy 3.8 7.3 macOS 10.9+ x86-64 Details
rustfst_python-0.13.6-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
rustfst_python-0.13.6-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl PyPy 3.7 PyPy 3.7 7.3 Linux glibc 2.17+ x86-32, Linux glibc 2.5+ x86-32 Details
rustfst_python-0.13.6-pp37-pypy37_pp73-macosx_10_9_x86_64.whl PyPy 3.7 PyPy 3.7 7.3 macOS 10.9+ x86-64 Details
rustfst_python-0.13.6-cp311-cp311-musllinux_1_1_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.1+ x86-64 Details
rustfst_python-0.13.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
rustfst_python-0.13.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.11 CPython 3.11 Linux glibc 2.5+ x86-32, Linux glibc 2.17+ x86-32 Details
rustfst_python-0.13.6-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
rustfst_python-0.13.6-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
rustfst_python-0.13.6-cp311-cp311-macosx_10_9_universal2.whl CPython 3.11 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) Details
rustfst_python-0.13.6-cp310-cp310-musllinux_1_1_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.1+ x86-64 Details
rustfst_python-0.13.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
rustfst_python-0.13.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.10 CPython 3.10 Linux glibc 2.5+ x86-32, Linux glibc 2.17+ x86-32 Details
rustfst_python-0.13.6-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
rustfst_python-0.13.6-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
rustfst_python-0.13.6-cp310-cp310-macosx_10_9_universal2.whl CPython 3.10 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) Details
rustfst_python-0.13.6-cp39-cp39-musllinux_1_1_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.1+ x86-64 Details
rustfst_python-0.13.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
rustfst_python-0.13.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-32, Linux glibc 2.5+ x86-32 Details
rustfst_python-0.13.6-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
rustfst_python-0.13.6-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details
rustfst_python-0.13.6-cp39-cp39-macosx_10_9_universal2.whl CPython 3.9 CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64) Details
rustfst_python-0.13.6-cp38-cp38-musllinux_1_1_x86_64.whl CPython 3.8 CPython 3.8 Linux musl 1.1+ x86-64 Details
rustfst_python-0.13.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
rustfst_python-0.13.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.8 CPython 3.8 Linux glibc 2.5+ x86-32, Linux glibc 2.17+ x86-32 Details
rustfst_python-0.13.6-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
rustfst_python-0.13.6-cp38-cp38-macosx_10_9_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.9+ x86-64 Details
rustfst_python-0.13.6-cp38-cp38-macosx_10_9_universal2.whl CPython 3.8 CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64) Details
rustfst_python-0.13.6-cp37-cp37m-musllinux_1_1_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux musl 1.1+ x86-64 Details
rustfst_python-0.13.6-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
rustfst_python-0.13.6-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-32, Linux glibc 2.5+ x86-32 Details
rustfst_python-0.13.6-cp37-cp37m-macosx_10_9_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64 Details

Total release size: 39.1 MB

Release files / rustfst_python-0.13.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rustfst_python-0.13.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.1 MB
Tags Linux glibc 2.17+ x86-64 PyPy 3.9 PyPy 3.9 7.3
SHA-256 checksum
How to use checksums
2189b619141a5a7dbcc913f70513a37464364f21c90419e36bcd8725ff383861
BLAKE2b-256 checksum
How to use checksums
02ba4fe25915459e996bc2a4477477967325acb8205a2b3f43bf53e5413ce998
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Download URL rustfst_python-0.13.6-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 1.2 MB
Tags Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32 PyPy 3.9 PyPy 3.9 7.3
SHA-256 checksum
How to use checksums
9e543fcf790cc7ac53e68c625da3870635f4aa04176c05b1b361fcf09cd5ef0c
BLAKE2b-256 checksum
How to use checksums
9ba20fd6caa80c6dd64a44b80790cb5a00b5a86cd6ab1b661a71a81d37f2dc24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-pp39-pypy39_pp73-macosx_10_9_x86_64.whl

Download URL rustfst_python-0.13.6-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Size 773.8 kB
Tags PyPy 3.9 PyPy 3.9 7.3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
fcfa0bb75ebf4e0349114b84961cc36a0a19681afc5f891b32d405df54a2840d
BLAKE2b-256 checksum
How to use checksums
05f06b2e5856c4a4dc07c65f3a686dd19c7ef3c56796fa8c0742ec4008a438a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rustfst_python-0.13.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.1 MB
Tags Linux glibc 2.17+ x86-64 PyPy 3.8 PyPy 3.8 7.3
SHA-256 checksum
How to use checksums
1726d608af1a872b608ad391c4b943961fab00e938fe0d81f35e02b097b6c821
BLAKE2b-256 checksum
How to use checksums
f9847887d814d77cae928cc362d2ad99ff44ba669c3fcbc090da3a48cc8d7beb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Download URL rustfst_python-0.13.6-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 1.2 MB
Tags Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32 PyPy 3.8 PyPy 3.8 7.3
SHA-256 checksum
How to use checksums
02889570733c78add6e14db3477c173cb2aa0b28711f811863ffa875a4e2db68
BLAKE2b-256 checksum
How to use checksums
fd0ced619ec3d3575f634b933dd0009e1cdbe5357307c9aa2f13c81a9253040c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-pp38-pypy38_pp73-macosx_10_9_x86_64.whl

Download URL rustfst_python-0.13.6-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Size 773.8 kB
Tags PyPy 3.8 PyPy 3.8 7.3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
8f810b1cc997cb25171b7d2a994cf9e159812a59a6d0ece26c5973f451514205
BLAKE2b-256 checksum
How to use checksums
0cf6ff93b06b4c1611c7402388a1583cd8502c827f1f60fbab852a020a3a720a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rustfst_python-0.13.6-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.1 MB
Tags Linux glibc 2.17+ x86-64 PyPy 3.7 PyPy 3.7 7.3
SHA-256 checksum
How to use checksums
f084f096f9d06588cb83848a3a87ec8c3973b69ab72dac88a8e3561a59d8cc92
BLAKE2b-256 checksum
How to use checksums
4d338089ef6347e101bf882d8627c05d16923e06a279417bb4d6591485a28294
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Download URL rustfst_python-0.13.6-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 1.2 MB
Tags Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32 PyPy 3.7 PyPy 3.7 7.3
SHA-256 checksum
How to use checksums
abb6c3b50b027d2f7e5fbfbb6d5c45d9b05e21be451ed45fb2fea64c35afb4d7
BLAKE2b-256 checksum
How to use checksums
5a0c1fe3189adfe9e985b8ca8cb6087673783ef6bc6efe7fc96658c45bf3ec45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-pp37-pypy37_pp73-macosx_10_9_x86_64.whl

Download URL rustfst_python-0.13.6-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Size 765.0 kB
Tags PyPy 3.7 PyPy 3.7 7.3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
759c39fbad7570b2ffbffc8189aa5ad9061a5805aba7b8d71e661711d72b16ca
BLAKE2b-256 checksum
How to use checksums
a0ee7cf55943e37c1330fccf7cd61d8b8a959a616a8eee7e67276a322e2cc854
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp311-cp311-musllinux_1_1_x86_64.whl

Download URL rustfst_python-0.13.6-cp311-cp311-musllinux_1_1_x86_64.whl
Size 1.2 MB
Tags CPython 3.11 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
fa82021f21536e6aed0696e22c3f5e89c00dd01f901a3241e46afbf744143aa1
BLAKE2b-256 checksum
How to use checksums
6cf25b2ffdb2b1fa12503cf1c9b7df132c57c3234362d621fea243cd89440ef1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rustfst_python-0.13.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.1 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ec8d7ef3157e33968d27807c46d9df35749a688d43f51ae753d13598664cbae7
BLAKE2b-256 checksum
How to use checksums
2ff39d6d7750386f2210a277f8e16726e9dd1dd5e7d8d0c6685e6f61c1c48d1a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Download URL rustfst_python-0.13.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 1.2 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
950f8a93076bbb0f16f135b2249973643b72eef7d1260932ce51c7a1e5988422
BLAKE2b-256 checksum
How to use checksums
40c2314397aa5ee54514ea616ad2b0d6cf991b8c676f78c2afbdca650f37ea09
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp311-cp311-macosx_11_0_arm64.whl

Download URL rustfst_python-0.13.6-cp311-cp311-macosx_11_0_arm64.whl
Size 706.0 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d537a43a7fc973155deb6b17d1c1d4247e89f2555cbca75d5ca91deb5a19f928
BLAKE2b-256 checksum
How to use checksums
fddafac025746062bc36a6a9bf069269c1981d07239ffde0e1bbda1d04764846
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp311-cp311-macosx_10_9_x86_64.whl

Download URL rustfst_python-0.13.6-cp311-cp311-macosx_10_9_x86_64.whl
Size 773.7 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
88c29abaa35d7860d4f61077f4a468b059b2828adbace4f32f08388bd443cb1c
BLAKE2b-256 checksum
How to use checksums
8715ee09466c980b4ecd8fa67816bfdac540e5d0c69a25a891dfe9a09165d91e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp311-cp311-macosx_10_9_universal2.whl

Download URL rustfst_python-0.13.6-cp311-cp311-macosx_10_9_universal2.whl
Size 1.4 MB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
858ab629c15c955e4d1a81238f973869941224d1d5bc3479cddf5e3e088db7b1
BLAKE2b-256 checksum
How to use checksums
b939103d0d1aab1665c4c7c1fe189c65ce40b1a22c4d8d2274b74a0c76cef735
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp310-cp310-musllinux_1_1_x86_64.whl

Download URL rustfst_python-0.13.6-cp310-cp310-musllinux_1_1_x86_64.whl
Size 1.2 MB
Tags CPython 3.10 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
433eb8972d483713edac8d28faa49f41cb91de9c3dfc64790f820a3790277881
BLAKE2b-256 checksum
How to use checksums
cc2dcc5e34a09b41e3459227f705423f42b1a9d4c8c041a53504cf5af52e9ec3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rustfst_python-0.13.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.1 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
8054375c92841b8affd04af68935891de32bbeb654970e2146a02572c9e3245c
BLAKE2b-256 checksum
How to use checksums
94d77168b2778e45f9a303b2c6a44addda0d3090b2b282f88230d91d3d80f0da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Download URL rustfst_python-0.13.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 1.2 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
1b54a3cef537f38042056d7538cb61a828a84509a997ad2bf70f16d8c789b0bd
BLAKE2b-256 checksum
How to use checksums
629c0c8dd53ae3e38694459519971486bfeee0a878c75c3a10576648ffeb35c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp310-cp310-macosx_11_0_arm64.whl

Download URL rustfst_python-0.13.6-cp310-cp310-macosx_11_0_arm64.whl
Size 706.0 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3f89075e3b0f664b1b12404e3075aca137777fa641563e84490397603836f405
BLAKE2b-256 checksum
How to use checksums
13fa7c45b3fab5ac08ae301004c72cfa14acbee12a66f71366371000d43f8fed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp310-cp310-macosx_10_9_x86_64.whl

Download URL rustfst_python-0.13.6-cp310-cp310-macosx_10_9_x86_64.whl
Size 773.8 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
8682ea056596bb81b18ba1222a28d7e1114172b620ba3c9528be55023209c6e9
BLAKE2b-256 checksum
How to use checksums
3b4b560af4467e0ae03d4b753eac8f992faa7942d0c7feea066f23ac98ef4a7f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp310-cp310-macosx_10_9_universal2.whl

Download URL rustfst_python-0.13.6-cp310-cp310-macosx_10_9_universal2.whl
Size 1.4 MB
Tags CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
211d31ce4eb423133622c592f6649e009e65d48b136cadb57693276f99183d93
BLAKE2b-256 checksum
How to use checksums
9aaa3388ad2e840da8772e3b031261256fdf1c5c956e35a504ff610c5a55795f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp39-cp39-musllinux_1_1_x86_64.whl

Download URL rustfst_python-0.13.6-cp39-cp39-musllinux_1_1_x86_64.whl
Size 1.2 MB
Tags CPython 3.9 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
e2d68b53ff1bd9a58652aa5a657db71049093a1feca71767d7cfd894cd7ee3d6
BLAKE2b-256 checksum
How to use checksums
baa16dde26f054d632982786f0408912b2057ff98d4c856792a31df0d67062f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rustfst_python-0.13.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.1 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
89dd966ecb2ba168da0bb9b348ca5ceb61cfce5a16a436136115743ec3c094de
BLAKE2b-256 checksum
How to use checksums
895759b6ac5752dbb7b6f3b74a4e6fb74523e1568f35e800e53047e407e72eb6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Download URL rustfst_python-0.13.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 1.2 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
d0200b24e47c24ece68c6e79c05a43e59191a22cc111e7c47f04f1fda1b2173c
BLAKE2b-256 checksum
How to use checksums
ff25cc091303bab9b146a28684b30b14df3e7c74451de12bf3983bb431e1cd8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp39-cp39-macosx_11_0_arm64.whl

Download URL rustfst_python-0.13.6-cp39-cp39-macosx_11_0_arm64.whl
Size 706.0 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
05789cc88736dc1e12e31a7000de5072505a1dad8f7decd88c34f39e56546717
BLAKE2b-256 checksum
How to use checksums
355c81c5eb7ea7fe82c17840e2772af6deba046f76fa7dd6f9c1c3fc3015cfa3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp39-cp39-macosx_10_9_x86_64.whl

Download URL rustfst_python-0.13.6-cp39-cp39-macosx_10_9_x86_64.whl
Size 773.7 kB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
3b2b1ed8f221a5d4b890e1fdd60d685a4bfaade2f9aa69815cf574ee074b4c10
BLAKE2b-256 checksum
How to use checksums
3c7dced75e38399c9ee1404e8270e33910431afeb6fb5e1e807ae5262270d0d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp39-cp39-macosx_10_9_universal2.whl

Download URL rustfst_python-0.13.6-cp39-cp39-macosx_10_9_universal2.whl
Size 1.4 MB
Tags CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
c94026927ee93d01c3e81b6f49311a4319514f793e54bce628e564ef13dc9d7a
BLAKE2b-256 checksum
How to use checksums
c7974f5ebd3d0a3b2c378b2dc64022a9384af487fd198ec54daf6aa6c41f167f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp38-cp38-musllinux_1_1_x86_64.whl

Download URL rustfst_python-0.13.6-cp38-cp38-musllinux_1_1_x86_64.whl
Size 1.2 MB
Tags CPython 3.8 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
90b86123e631125bd44aab6be8dfcf6aed257213a3743511552419c642322916
BLAKE2b-256 checksum
How to use checksums
f0f8bef8bbeb0aa51dcfe6ee6af04e16823f9a2a953ebef8ab46388cfeeae6b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rustfst_python-0.13.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.1 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
9149ed82953f9f2253cf4e84f14aa0ccba35596b3379e7be563b2de448564dd0
BLAKE2b-256 checksum
How to use checksums
e81a8409ba212ad5a10540b906f62110ba88a80768333d03e012c66cc0188b53
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Download URL rustfst_python-0.13.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 1.2 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
b106e58f54f52f67644993da0e4530c9f478bcaa84608b3e6e635f7c023fdeb5
BLAKE2b-256 checksum
How to use checksums
7fddb217b61bfbc2050b98752e1d1fe722f3d5f9e6329826b06014ab61e67e21
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp38-cp38-macosx_11_0_arm64.whl

Download URL rustfst_python-0.13.6-cp38-cp38-macosx_11_0_arm64.whl
Size 706.0 kB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1075053258e39c8e3c80c8633c39a53bc741b9c3bf6e2d4cfaa948a0c7492e6d
BLAKE2b-256 checksum
How to use checksums
62c3ed51115539190dcee093f14422ecd85f6b8318a7ccf856e0f41a09b591e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp38-cp38-macosx_10_9_x86_64.whl

Download URL rustfst_python-0.13.6-cp38-cp38-macosx_10_9_x86_64.whl
Size 773.7 kB
Tags CPython 3.8 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
82af8b3240fe3f425d753b2b42a4fb14cf4db37fd70eb2c90bc364976d4ed75e
BLAKE2b-256 checksum
How to use checksums
7a3d6af5a216ac93bd07f8933e03289c28721fbbbc223711db89a1bccc92a22d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp38-cp38-macosx_10_9_universal2.whl

Download URL rustfst_python-0.13.6-cp38-cp38-macosx_10_9_universal2.whl
Size 1.4 MB
Tags CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
562a27db6deb2c81002475942a35ac2eb1f91c5a621640ab117106427ba76681
BLAKE2b-256 checksum
How to use checksums
f203b993265e6c3d3f5409506163b59c2a4da6c962c14b4c6ac22b7151b4fe4e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp37-cp37m-musllinux_1_1_x86_64.whl

Download URL rustfst_python-0.13.6-cp37-cp37m-musllinux_1_1_x86_64.whl
Size 1.2 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
993fad2d8bcb709cf0d8f98b4d192c3a775ea2f49e152731bcf6bded77cd5659
BLAKE2b-256 checksum
How to use checksums
c7a8d95d4a96bdc68fe2afbf627207d929c49a46bacc28ceb3a3fb149e7a3a8e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rustfst_python-0.13.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.1 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
fa063a2bc1de8a4678f70e82a0c9a340167663a946341f563de9bac781c2ddbb
BLAKE2b-256 checksum
How to use checksums
abff962758922733799842f75501b869ae114c23d9fd3bb37335a95a4f7c6aeb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Download URL rustfst_python-0.13.6-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 1.2 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
c7426dea5b420fa1ce49ca70eccf3667e2efca9eb674b13b4194384f793204be
BLAKE2b-256 checksum
How to use checksums
41718a1323d77388ca3712ee28d44765d15d1478ca5af36e3934b9bc28cf1854
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / rustfst_python-0.13.6-cp37-cp37m-macosx_10_9_x86_64.whl

Download URL rustfst_python-0.13.6-cp37-cp37m-macosx_10_9_x86_64.whl
Size 765.0 kB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
fcb6d595db58e88f6aa3fb8435583af757d17afccf15be4c88057b01ea433869
BLAKE2b-256 checksum
How to use checksums
96672983a7283abc74211681a10b80c4d4a687cff640d53ea71a38e317cd8d2b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18
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