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.3

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.3
File
rustfst_python-0.13.3-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.3-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.3-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.3-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.3-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.17+ x86-32, Linux glibc 2.5+ x86-32 Details
rustfst_python-0.13.3-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.3-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.3-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.3-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.3-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.3-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.3-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-0.13.3-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
rustfst_python-0.13.3-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
rustfst_python-0.13.3-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.3-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.3-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.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-32, Linux glibc 2.5+ x86-32 Details
rustfst_python-0.13.3-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
rustfst_python-0.13.3-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
rustfst_python-0.13.3-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.3-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.3-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.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.9 CPython 3.9 Linux glibc 2.5+ x86-32, Linux glibc 2.17+ x86-32 Details
rustfst_python-0.13.3-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
rustfst_python-0.13.3-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details
rustfst_python-0.13.3-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.3-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.3-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.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-32, Linux glibc 2.5+ x86-32 Details
rustfst_python-0.13.3-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
rustfst_python-0.13.3-cp38-cp38-macosx_10_9_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.9+ x86-64 Details
rustfst_python-0.13.3-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.3-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.3-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.3-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.3-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.6 MB

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

Download URL rustfst_python-0.13.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.2 MB
Tags Linux glibc 2.17+ x86-64 PyPy 3.9 PyPy 3.9 7.3
SHA-256 checksum
How to use checksums
6bf9d48e21af9da12a453db205fe172c963c8cde8ae1658f51791bf879d042e7
BLAKE2b-256 checksum
How to use checksums
3489b4ec45d8db5deabd8803637d3cedd91c1d5eafcb78c7a520089c30816a54
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-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
e32f191b43af1bb9ee891219821728aebc76eb363dfa783f2833b644e37fd099
BLAKE2b-256 checksum
How to use checksums
1970bd56139280429d9144a209b9af4fb4511827c6dd9b106d78d9174fbcfc04
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Size 787.1 kB
Tags PyPy 3.9 PyPy 3.9 7.3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
c9c430af5f1d1d4c180809fa320993c37e167e83614817036c27cd409aad7821
BLAKE2b-256 checksum
How to use checksums
ad6dfef03d9eb1cd089a982463511a8c9aadc473b9ca630f9cb37cedd5e89d44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.2 MB
Tags Linux glibc 2.17+ x86-64 PyPy 3.8 PyPy 3.8 7.3
SHA-256 checksum
How to use checksums
5f232723cb238be0dff360764f928ca304eb48ff5a9bc4fad9c00f97fee7e281
BLAKE2b-256 checksum
How to use checksums
2a3766863de91cac42de186819f037c8b1bc45034645b20b92c7580d79dd3c7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-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
567cbd3c08a97ccd8e3ac5504515c96f1b14a23e20c45058d85698e3d122138d
BLAKE2b-256 checksum
How to use checksums
725df9758a4d0f91e3b1b83ae215be3bb0a101cb53af174c5606f7060de3a651
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Size 787.0 kB
Tags PyPy 3.8 PyPy 3.8 7.3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
161cafdc264c4a0d5062c7af8901455130022386537d67cf1656dc5dc9a56a72
BLAKE2b-256 checksum
How to use checksums
1cb8df1402435dc65118d039785f22d356052c52e9a0c4a8956e277cbda03f58
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.2 MB
Tags Linux glibc 2.17+ x86-64 PyPy 3.7 PyPy 3.7 7.3
SHA-256 checksum
How to use checksums
ac73566fbef4ad792210a3b3df800129c27554c8acad457b245a0a430c56fa8c
BLAKE2b-256 checksum
How to use checksums
4c93235dd28296164d514b30d7f4d4664749f4e58e39ec1cfbe92596806d8e73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-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
f8020c82ed75992ecbd9c34a537b4eb217ce96eb9b7be38cd6239ad5677a9573
BLAKE2b-256 checksum
How to use checksums
12b9534a112bb6a7fe73dfa8d7c351b5f2faef025ef35ee5dde2ea5848159c6a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Size 777.7 kB
Tags PyPy 3.7 PyPy 3.7 7.3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
bb0c40bc60c0b88bda32ddac932f5ccd5105f7bb7a6bac890666c0883a7f8cf1
BLAKE2b-256 checksum
How to use checksums
5f54ea55ba67f8b99bd12fecc1337d8bf850b4f5b1c3328e34867e03f42c2c48
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-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
c8e7b86345b45a5f9f04e3a16bd64bbf065c985db06b17316ae819807219608c
BLAKE2b-256 checksum
How to use checksums
e7d9a90ee6eb18099123fea4aadba9de352bbbc289470b26e9afc985c78cc4ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.2 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d7285fbdc742b927e6781a54407d6db89aa476ea86df63881b5f07eb0e5b9f8d
BLAKE2b-256 checksum
How to use checksums
aac480e3ca7c5affed35aa423211bc8210831c302e5c3de972ec0f9052310a17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-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
1dfa822f5ecd305ea011aff637ef09f608f418b7e0db6ed526ecb33f84b4cafd
BLAKE2b-256 checksum
How to use checksums
22a4c899ccc7c0d0ad92ae5ede9d04d785ad9ea728e20dbab5f6b1c35faf36d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-cp311-cp311-macosx_11_0_arm64.whl
Size 720.6 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
80a9739752197f33b169c4f6cd46999ffabcbaaa1ccdb0319990c709e7a6b56a
BLAKE2b-256 checksum
How to use checksums
eafed970ee8f75a5f5a671bbb02ef2a31dab2863f6b9dfb184afa1d2bbe89464
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-cp311-cp311-macosx_10_9_x86_64.whl
Size 787.0 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
fe37356ae5987d00d72b49516ce4b5741bdb9a43427d46b7456c9c6a69a5426f
BLAKE2b-256 checksum
How to use checksums
f4aea19e0a5a5d6ffe60e09cda6218257a8f88fa5e84c3c1aa711615bb505c99
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-cp311-cp311-macosx_10_9_universal2.whl
Size 1.5 MB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
d22eb5628aab0304f1017100e78e128acd08d906f90c8046de7eaa7dc937f7dc
BLAKE2b-256 checksum
How to use checksums
5d14f3c0f49fac821ae1419131220446938187c840b06c31796a98cc365f9f16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-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
cb30c6821436d933c0634621bb9d16f69bd363d874f4b67be1ef60466a287c6d
BLAKE2b-256 checksum
How to use checksums
16afbc77a5a0805fbd47deb19cb789e69a974d9f3275c12d2720986991215956
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.2 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
20ed22549437b9d3fa1d36308c25584e88bab925dd135eba4ddd51e6225b35e0
BLAKE2b-256 checksum
How to use checksums
59c10528b4ac62934bca52c384eabd24b110d03a8e8542457a117dc6ba604fe4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-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
10668a75eaa0c36b0ea147b44cbf22b3aab773ce10bcbb6cb7b0556d5ed89c43
BLAKE2b-256 checksum
How to use checksums
8469eb8881d7b074ccabfcf1ae72a408d97610dd239714ead65951cdf71aed87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-cp310-cp310-macosx_11_0_arm64.whl
Size 720.6 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
002e03c55f02fde636bc4ae37d1e5f83e12fd1c1b864858461c8440e69b79526
BLAKE2b-256 checksum
How to use checksums
34eca38b22b5225505e7f27271ce3ce24b64a3499c503af898472d1dbfed03bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-cp310-cp310-macosx_10_9_x86_64.whl
Size 787.0 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
e07791b60b91696aac2d050b9ee113ea537fe54a81f29bf079212c2a0e7ad32a
BLAKE2b-256 checksum
How to use checksums
beace55d2ec86049bfeb778323cfe9d5e10665c79186718602bffef2ecb00de3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-cp310-cp310-macosx_10_9_universal2.whl
Size 1.5 MB
Tags CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
ad373e08e6a8a227a1fe1875822ec672f503adeadf30eabad899351759394a09
BLAKE2b-256 checksum
How to use checksums
ac3bdaefd43c2de1a33764be6463b50132b6508908ba51482d0461102e95857f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-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
032489f622df692b3a9dc3790248300466734407a4659c2737e129d2e5812cdb
BLAKE2b-256 checksum
How to use checksums
049293af9e641e77c47ecb671090674e5a5df113b770cebfc074f15c795d9a52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.2 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
6074cdf8f672737ef2697ea9935ee79b0289ac89cb9feb470e436b41761ba95f
BLAKE2b-256 checksum
How to use checksums
06a6886bdb8ba0dc1c2ca7e428d188c65dfb90c46bc975af518e775eb9fc056d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-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
52379256d06c84adbd0b2c3d2e9fdd541c199261da63eacf48337255dba20768
BLAKE2b-256 checksum
How to use checksums
5c807d04e6ab9a17711a2a75eaefeb0537462cbf970fe1ee4e477a55e3a5dd97
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-cp39-cp39-macosx_11_0_arm64.whl
Size 720.6 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3c27ef5745c63ed8f0e57cb57c85774827be28fe35e6dc23d24e39dc0e72ba0f
BLAKE2b-256 checksum
How to use checksums
e00aacde7fe0846143485b8bb297d652537b12b1b2fbf8a719ad7c8058f8cd8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-cp39-cp39-macosx_10_9_x86_64.whl
Size 787.0 kB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
073618c4faa160a411aea4224e511dc7467a75e3fe40b06a0c3b5fe903306beb
BLAKE2b-256 checksum
How to use checksums
bda75110ab29fe3a861e46416576e152a0fddcfdb80c4b0c4d9a1f8370254bad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-cp39-cp39-macosx_10_9_universal2.whl
Size 1.5 MB
Tags CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
f73da1af8bfb0f3dd2bb0fadb0fe598cba4074fb376c03189ed1d8b55fb91a1d
BLAKE2b-256 checksum
How to use checksums
a2acfe71002efb72a4b8a6e1c135e4b933b874722f1fdbbd03b62a1ed0d55006
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-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
817ab9eb591ec65db8826aa6c337fe036b00c795074b366003a8914c4c3194f8
BLAKE2b-256 checksum
How to use checksums
7fc3cbe381085bb18c9e0889785237625ad38b5d558f88cf6971d7de3d950d56
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.2 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f29ca8ccc91ba01d592ef5f223f22c77991da0267ea6600b5c45a724d7c2d92d
BLAKE2b-256 checksum
How to use checksums
613ba5bfc6e7c77901e314af9b24d23eb00e79f80a46f4ef0252d0134ed8ee28
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-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
411cc42872c288009310e56b21d7f50ee38292ab51082244b530cf4a85008c76
BLAKE2b-256 checksum
How to use checksums
3a9e05b58b9fc7c737136b3bb88b733f8f4bc0583d214ae84e1f7f1678c9ca9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-cp38-cp38-macosx_11_0_arm64.whl
Size 720.6 kB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
32bafb9b60e8af7e423158f58a72ee8a8ec953a1ea1577288b4181d724647989
BLAKE2b-256 checksum
How to use checksums
0955b94d53915a452c367dbc8d47c4c554e48cf5de44cec36960a6d51fb7da43
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-cp38-cp38-macosx_10_9_x86_64.whl
Size 787.0 kB
Tags CPython 3.8 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
1aa401fb8cf0aabbec45b921f424bb635d6a37f8f89aa4bb6ce042fb62ea86a2
BLAKE2b-256 checksum
How to use checksums
a45a905bdd180526c98612a0e53f74558f98da0577d8df91421855820a3d57c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-cp38-cp38-macosx_10_9_universal2.whl
Size 1.5 MB
Tags CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
47c0f73dcc790d655810a00aacb42d61ff998a7abc26a99042a1b645f4d956e3
BLAKE2b-256 checksum
How to use checksums
56241b4172728f9315c68bd1223c3cb825941b90bbac0b663d2f997afd3dc3e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-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
01914ed499f8f43f26439d78606e04af776d772443c6a203df86d90afd59e3ca
BLAKE2b-256 checksum
How to use checksums
527ad64d7d9b70471bf97dd8b304266917d4976da0da6d0dad713b19b171bb89
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.2 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f09f693f80080d641995fe58495dac37d63d8878915949a5a53b518a1bfb2fcd
BLAKE2b-256 checksum
How to use checksums
502f48ccb0544c8cfedf8bc801c3f8a3f1073732db627387bd4e2a6a5a04797a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-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
023f16ccebecfc20c8292c271c235597c807bd13277b91f5728e87616fcc262e
BLAKE2b-256 checksum
How to use checksums
5143b1b3defe55bba36eb9d5a466269d6adc263a43c57e401f83a2909ecc2ff9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

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

Download URL rustfst_python-0.13.3-cp37-cp37m-macosx_10_9_x86_64.whl
Size 777.7 kB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
461dab5ce396ff2afa4f453c3b73e188db8a2e35d13845256abd0ce2dfc13c5e
BLAKE2b-256 checksum
How to use checksums
d4de57ca08f06f7920b29ab2c609e1039b3936ee971f1d153cf125b6a9b1bc55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17
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