Skip to main content

Rustfst

License: MIT/Apache-2.0 Maintenance 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 1.0.1

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 1.0.1
File
rustfst_python-1.0.1-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-1.0.1-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-1.0.1-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-1.0.1-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-1.0.1-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-1.0.1-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-1.0.1-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-1.0.1-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-1.0.1-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-1.0.1-cp311-cp311-musllinux_1_1_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.1+ x86-64 Details
rustfst_python-1.0.1-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-1.0.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-32, Linux glibc 2.5+ x86-32 Details
rustfst_python-1.0.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
rustfst_python-1.0.1-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
rustfst_python-1.0.1-cp311-cp311-macosx_10_9_universal2.whl CPython 3.11 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) Details
rustfst_python-1.0.1-cp310-cp310-musllinux_1_1_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.1+ x86-64 Details
rustfst_python-1.0.1-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-1.0.1-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-1.0.1-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
rustfst_python-1.0.1-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
rustfst_python-1.0.1-cp310-cp310-macosx_10_9_universal2.whl CPython 3.10 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) Details
rustfst_python-1.0.1-cp39-cp39-musllinux_1_1_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.1+ x86-64 Details
rustfst_python-1.0.1-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-1.0.1-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-1.0.1-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
rustfst_python-1.0.1-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details
rustfst_python-1.0.1-cp39-cp39-macosx_10_9_universal2.whl CPython 3.9 CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64) Details
rustfst_python-1.0.1-cp38-cp38-musllinux_1_1_x86_64.whl CPython 3.8 CPython 3.8 Linux musl 1.1+ x86-64 Details
rustfst_python-1.0.1-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-1.0.1-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-1.0.1-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
rustfst_python-1.0.1-cp38-cp38-macosx_10_9_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.9+ x86-64 Details
rustfst_python-1.0.1-cp38-cp38-macosx_10_9_universal2.whl CPython 3.8 CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64) Details
rustfst_python-1.0.1-cp37-cp37m-musllinux_1_1_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux musl 1.1+ x86-64 Details
rustfst_python-1.0.1-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-1.0.1-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-1.0.1-cp37-cp37m-macosx_10_9_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64 Details

Total release size: 30.3 MB

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

Download URL rustfst_python-1.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 762.1 kB
Tags Linux glibc 2.17+ x86-64 PyPy 3.9 PyPy 3.9 7.3
SHA-256 checksum
How to use checksums
9b01b2bd614ea238d3ec622090eb8dbbe924f3e8a6d4d1fef04d86d461d5fa08
BLAKE2b-256 checksum
How to use checksums
18bae726d031c225169b0cdf598835cadffb40d2ca0a8be700456f42dac1a94b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 763.0 kB
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
10a9a8a217ea080e8e14f5847d48b6d2ce097967bbfec44e74b15a5f1c263be7
BLAKE2b-256 checksum
How to use checksums
14fad566383e4e4b5361db741eb5df7df9640d7a231d17c81bb54152c8960f10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Size 747.0 kB
Tags PyPy 3.9 PyPy 3.9 7.3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
ade32c1b5aded6f3ef19a326c022fbbcfe8b73c824f52c93f5a5c01d9aef47e4
BLAKE2b-256 checksum
How to use checksums
744badd5aa7b32e877caf758f8b8f8901e59cbb9449607470f1c4ff38a780ec2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 762.1 kB
Tags Linux glibc 2.17+ x86-64 PyPy 3.8 PyPy 3.8 7.3
SHA-256 checksum
How to use checksums
f688813cf33f0477befef739b33be1d77edc0febf2178ca49738d1db656d419c
BLAKE2b-256 checksum
How to use checksums
758a9b1f881e1bb4539ae04b5f02ece46feeec294a1658c3d783239025a00aa7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 763.0 kB
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
6abb8181fd82ff7ed0a055162bb2d30a5c60f80b2a190b7e31cdb240a1e29dfb
BLAKE2b-256 checksum
How to use checksums
f31075ba9cdb894526e6ad7d1571f532c93e3aa9114d817c5bbb42d7b15c4ca8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Size 747.0 kB
Tags PyPy 3.8 PyPy 3.8 7.3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
04adaacb6addcb9773c6d344ce7d77ae229d0d9e4fdfd5c44dc53ce38a3ee089
BLAKE2b-256 checksum
How to use checksums
55f21c7eb2c5333122ff60c56433ca6e4c109b3e23c8dc8c228d70effea0083b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 762.1 kB
Tags Linux glibc 2.17+ x86-64 PyPy 3.7 PyPy 3.7 7.3
SHA-256 checksum
How to use checksums
028b2c682aa88a878e97e17938a871ecb89f79ab8426134b05800b808e0ba459
BLAKE2b-256 checksum
How to use checksums
e9bb1c389acecd5efb58a910ac1a6c4193cad405e00995f5c90c9d818789fd28
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 763.0 kB
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
2e4312ce7a2cb7d749caab848d7e914c22cce913104632b8e1aaa4731824c71f
BLAKE2b-256 checksum
How to use checksums
2c565805b85d47e1f021f02944d6481b01983f405bc7b48ea282fcd586dca362
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Size 724.4 kB
Tags PyPy 3.7 PyPy 3.7 7.3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
47f551a80984aefa8f1280902be59d026583a5e88d1bde8df88ce19219e79962
BLAKE2b-256 checksum
How to use checksums
3eca51d6410c96b98c7b04b03cb62afac899c6e06090f65b618bf2ab8f905003
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-cp311-cp311-musllinux_1_1_x86_64.whl
Size 792.6 kB
Tags CPython 3.11 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
ec6ca16c59231a375d4a5ac5363938cb52f7e245fc34b33a1b1dc5fd121bf8c4
BLAKE2b-256 checksum
How to use checksums
3e9741c1d6f37ed2424c40dc4c27467dd369064677fa1ca7a9bb359793c3cd92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 762.1 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
88152343b825762d778373f73db44c94167a8bf3764e4795ddb648e6d4c27d97
BLAKE2b-256 checksum
How to use checksums
1c97bef8b9e814cfb452b637642629e78936ffeb495976338386e1da707644f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 763.0 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
e655c12da7f953e38a628604e317c368ded228e1f7be574a6710e5ca6b2a7418
BLAKE2b-256 checksum
How to use checksums
ef4a6617e4477ff4bd472fd0e7226183e791cca584cf1428786764f6b981078b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-cp311-cp311-macosx_11_0_arm64.whl
Size 670.7 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
cd8800ce3d9402d024133b98992ed6694d72c8910fd1ac111812b3c35dcf9d7a
BLAKE2b-256 checksum
How to use checksums
4365605a97285efd0f3b317f5aec4f32513be16c46174a7273b33d44ec36f80c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-cp311-cp311-macosx_10_9_x86_64.whl
Size 747.0 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
9d99f0fe2b11dd580cb4211812e902b125f496c853d95dd9b7864bcb94374751
BLAKE2b-256 checksum
How to use checksums
10cb183ad2254d9dee0edffc34f734567c0ab42ac63b48572a01f61e145668ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-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
8354d9640a8e15b1b11a30b189a5e9700b3e15b740eac80ef2a29521306e422e
BLAKE2b-256 checksum
How to use checksums
05b6fff76c651991571891a001957fda80f02e026c24361c1a8fb526e0ad5dc1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-cp310-cp310-musllinux_1_1_x86_64.whl
Size 792.6 kB
Tags CPython 3.10 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
5d0de82051c79d7ccb0fcc852dfcadf3b7cb689dc15f39f40bd1b5fde5a22482
BLAKE2b-256 checksum
How to use checksums
66903b3436f50bff36c5dd23e1197ee949d4f652734d2f24fc9cd1d5c90349fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 762.1 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
2a81733d0005979eebc24bacdd1768101a88dd8046998f0fd163c4d392e265e7
BLAKE2b-256 checksum
How to use checksums
7c87e95c173418957250baeb5090221f27fe2c61e15e23cb04ca9d8ecf21b34e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 763.0 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
f6382712b2cc28236a3aa1b5c27256604c9f14912ab8f27817d60cc30a605c76
BLAKE2b-256 checksum
How to use checksums
dbf880a9cf7a67e3936739e4153c56d81c462e51d9239dfa1c4ebb4d813f9981
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-cp310-cp310-macosx_11_0_arm64.whl
Size 670.7 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9b83c2696f582943f512a6c466cbe7feb8273f59444e0bbb87b48f54868b684f
BLAKE2b-256 checksum
How to use checksums
a0981af6bb7e97a47a34e5c300e04f5a7add1430e193002137f8800960346517
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-cp310-cp310-macosx_10_9_x86_64.whl
Size 747.0 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
668dfb94a2204466c62fd726025cbc9b74cb677d2c62a90734e644840704a06d
BLAKE2b-256 checksum
How to use checksums
9f7dcd6efd7c4c405d0a74c65cf709466f950f18d8a84f6e500020e70b053015
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-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
00e56d47b3be1e0e6e874bcee9cfdc3621ee3f0e5226afce7835f775e3e07a08
BLAKE2b-256 checksum
How to use checksums
45b6b2fd974e16b5987c16573b6951fb7f0fd6e9e5401489141c43cb5d27a0ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-cp39-cp39-musllinux_1_1_x86_64.whl
Size 792.6 kB
Tags CPython 3.9 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
43efbf912e19a8b1d037f016bbe36e133b0d5d10d980061e7e11a52842b08b21
BLAKE2b-256 checksum
How to use checksums
b8f9dd32ef130c5536975d169ceb6b4d6f9427e5a2f4f90ac9054cc024e16ffc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 762.1 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
907a7a4428c7a49c64816da414a5802be01d47ee61ec96fab4a1710f10b104bb
BLAKE2b-256 checksum
How to use checksums
b2f2df7b3ab3316a4b4281996fc06288fd8f48c209a38d6c5bbaa7eff67eddb2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 763.0 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
eb1d3f9441a6f60f6591314c3f08be936a1620264cd55d714f0e923ed6cf0b45
BLAKE2b-256 checksum
How to use checksums
65bfb4877c3b1b3c7452894d85be29ca5efa97291c2d9beba77141ec0f68fa3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-cp39-cp39-macosx_11_0_arm64.whl
Size 670.7 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
89c62837c2891e8fd93a3f2b1e3dc6733dd95513e9d4567015062442f79ee1e9
BLAKE2b-256 checksum
How to use checksums
35e1b9dfd40901ec66636c01e2d8301cd3c6276081022aba7f4e99428cc711a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-cp39-cp39-macosx_10_9_x86_64.whl
Size 747.0 kB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
9b9264589c1f2803cccdebe12df603bc33037d2068942fe65a2b966de578eaf1
BLAKE2b-256 checksum
How to use checksums
9b60cef7ad384b69cc48dab6b98faab8372124f1d053798b3baeba5636185fb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-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
5a1135f98d072e1281cd8794b50a2ba5b5efe9f16c14f7261b3cf22ddfe112bf
BLAKE2b-256 checksum
How to use checksums
4576b6618a0487959ad80c0ff4b6c097d5662a9230df369d445138314876d66a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-cp38-cp38-musllinux_1_1_x86_64.whl
Size 792.6 kB
Tags CPython 3.8 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
89e795473e5d762b582fe75b1971c60f436e528ccddecb91b51037f92079165e
BLAKE2b-256 checksum
How to use checksums
6977b9e66d570a4a57ca05ab2ca944a0e4ae02ae14e83d25407f44f818b9dcc5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 762.1 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f0cb411470f60021b1f6d3738bf3d0ee071336d09485b7689fdc59b534f37931
BLAKE2b-256 checksum
How to use checksums
38d25f92772816f87e1dbe136257d98bd40bf6f3bf84a12fe98534766c3e5e4e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 763.0 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
b86e269d88aa487edfa5581801f581acd495425e80a9b3e48ac5c40a58615489
BLAKE2b-256 checksum
How to use checksums
9f602af3cc636c044e9accf11c9d9f95aee07a4a6044a587433b83fbf50d4832
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-cp38-cp38-macosx_11_0_arm64.whl
Size 670.7 kB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8c297a58034b58ed17ece681f1ebce68fee503b1bda81d0cad174f33a8afe98f
BLAKE2b-256 checksum
How to use checksums
4db2b067250a8010ae4512a214dde762325b57451dbe510265cb683ae197dc4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-cp38-cp38-macosx_10_9_x86_64.whl
Size 747.0 kB
Tags CPython 3.8 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
fe32633bbbd8dbf1e874e3cb7cc39f68e1fb78fc341f6f3cfc18f50277f7ef6a
BLAKE2b-256 checksum
How to use checksums
b584998e01ec91ffd92cc83c977b3e228ec1f897a2382e75af849e8b9f0816d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-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
58e7e5db7b98cb30da981b60c35d2e32fc3c42db85b534835f667799dc56d21e
BLAKE2b-256 checksum
How to use checksums
420223f17ea4f6b662851f77d00f5045af6bfc97f17848b20757ca2c3d75db52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-cp37-cp37m-musllinux_1_1_x86_64.whl
Size 792.6 kB
Tags CPython 3.7 CPython 3.7 pymalloc Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
7688c1e9b3d3bf6e4d27c876726dbf69097de3adc6a8bb8ae6f3966cb47ddcbe
BLAKE2b-256 checksum
How to use checksums
21b6201dba546d1306b0cffba8241b5598280adeb73e48ca7de2a3a30feae92b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 762.1 kB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
00bd1c4102d768fec50d7db9e44bd7846d36d9e1d51f1c4437d1ffa3b9e7348d
BLAKE2b-256 checksum
How to use checksums
9e206f932a7298fd470f7a7638a3d52bce2e1a2f53cb0ad71f5d01698f514881
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

Download URL rustfst_python-1.0.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 763.0 kB
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
49945a7c8dc6fd42d2cfd98f94e0a246153d43d62587bd4bc06eff3c89b2ae37
BLAKE2b-256 checksum
How to use checksums
272aff5611ab826d258f9f183a3ebf2ef2cd84bac08416d3c3015fa28fec9d7f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

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

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