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

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.5
File
rustfst_python-0.13.5-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.5-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.5-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.5-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.5-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.5-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.5-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.5-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.5+ x86-32, Linux glibc 2.17+ x86-32 Details
rustfst_python-0.13.5-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.5-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.5-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.5-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.5-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
rustfst_python-0.13.5-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
rustfst_python-0.13.5-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.5-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.5-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.5-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.5-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
rustfst_python-0.13.5-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
rustfst_python-0.13.5-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.5-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.5-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.5-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.5-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
rustfst_python-0.13.5-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details
rustfst_python-0.13.5-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.5-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.5-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.5-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.5-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
rustfst_python-0.13.5-cp38-cp38-macosx_10_9_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.9+ x86-64 Details
rustfst_python-0.13.5-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.5-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.5-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.5-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.5-cp37-cp37m-macosx_10_9_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64 Details

Total release size: 40.4 MB

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

Download URL rustfst_python-0.13.5-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
96bfa86f4a56bde7126497cc962b3557f7d01956ecb982ca807cf209b0e3c6d3
BLAKE2b-256 checksum
How to use checksums
0909466943d7011b24e556e4eabd7f3ce85d371ac7cc5acdf2209235dc0fd543
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL rustfst_python-0.13.5-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
af1aaf20fc349edffb550ead4e650f73f3fa09c531c0e116ac3cb1d9bca5d2ba
BLAKE2b-256 checksum
How to use checksums
78ccbd0455e1910f0e594ac3a1d4d745c0687006f5f1fc75f2fab8efb530c3f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL rustfst_python-0.13.5-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Size 776.1 kB
Tags PyPy 3.9 PyPy 3.9 7.3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
3e5020ce32957ca7279adc3fb5fd9b4ac4d2ddefc191c28a19764d430e1c27da
BLAKE2b-256 checksum
How to use checksums
795081dbc603de7c4f45085ab4cca3fd532ec5cd89d493dd99867e1ed951137d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL rustfst_python-0.13.5-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
5ff0e62087f6675e5685fa5daf76004af70d150455eee6e5beda6bbb7b6d858b
BLAKE2b-256 checksum
How to use checksums
5567e7f54fee28316d8e2734adb59ad5f42b97dcf1146f061c7b3f92b26eb08b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL rustfst_python-0.13.5-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
59cd017b46849809fd826825b217e439a9918bcd89310162666266edc17fc6ab
BLAKE2b-256 checksum
How to use checksums
f9ce8d4e916c4bf337653557bcba457f6167d65740526724c8bf01ffbf693f0f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

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

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

Download URL rustfst_python-0.13.5-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
27766e446d91a8784c2e79dce729e44b3ccbfe3559a37e57322b3dd157ebcdbe
BLAKE2b-256 checksum
How to use checksums
9cefdb20dae1263b8ba41b4ad5a1a4dd8b52f5625bcc6e17c9b4a9789f81c578
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL rustfst_python-0.13.5-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
99c020bcf0d46535faf5bc98417ecd1984f725c8dc001317f9008507d14ed950
BLAKE2b-256 checksum
How to use checksums
3f230c37a7ca3c6ac79d53539d73ec763b1e93a854fb27987073a03797081be5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL rustfst_python-0.13.5-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Size 770.6 kB
Tags PyPy 3.7 PyPy 3.7 7.3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
7473a2b5bf443921915617761274b983ab9a438ac01e480968d28b50b3b16d97
BLAKE2b-256 checksum
How to use checksums
aef213975d93b294b13760532cf9fd9e033c22c4fe900eb7d70d07d78279ee1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL rustfst_python-0.13.5-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
4350fe97f6b1eeec383df6b7dfec4c856fb3d261de30ad9760c87e45f7243741
BLAKE2b-256 checksum
How to use checksums
49dc7c1e67e6481939bcdc27cd5e6b4608919e90d4989f3c9cd3c69b4dfc22e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL rustfst_python-0.13.5-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
7c5210e509e77b215712796fb2d219bc5b7eede8076150bac205eaf1ec903e62
BLAKE2b-256 checksum
How to use checksums
2cd7fec6b87c28e58dda2ddacac32f35e41c9cce11c202f3723b37b78e5d9045
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

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

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

Download URL rustfst_python-0.13.5-cp311-cp311-macosx_11_0_arm64.whl
Size 721.8 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9672fb0a062d45d1564c2b95c0959c7c9cf163dbb8dfac57443370f0cfd0cca8
BLAKE2b-256 checksum
How to use checksums
71a8caca050e0f10b32b8702c79be623523c4c2f563f99e0b7ceb9ae3288b336
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL rustfst_python-0.13.5-cp311-cp311-macosx_10_9_x86_64.whl
Size 776.0 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
79e2a2f3f4c9175e217827aa17f9c0740ca40e58620c2d8461581eab16dad771
BLAKE2b-256 checksum
How to use checksums
b1c08f1ce510cf12ca6fe81f78146f6bbe0e6db02b1b216e7b14414b3ca4c588
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL rustfst_python-0.13.5-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
0661d1d13e992fa9aca282ff3f28695e5b9a4fae86adca4892b49c9026f3675c
BLAKE2b-256 checksum
How to use checksums
9b2983aee9a2836080e1f7949fbe7fbdfa1a7d28205a40d10049323029b11332
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL rustfst_python-0.13.5-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
d14b08efb2775a3c29b553138eb078e958320fb76cb80f3e4741066879828225
BLAKE2b-256 checksum
How to use checksums
79e29fb096543a03d7cc71b5cd555c6dd8aa58c20a7b5f805606121e9c27123a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

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

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

Download URL rustfst_python-0.13.5-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
1929e4f5c09ade6eb9540dbe8569f4bf3bacf5fac60d541efbc623648deb0d48
BLAKE2b-256 checksum
How to use checksums
1aeb3e240003d034d8fab61978f526fdbc3cc9f1907a15e61fd5ef73f00bef92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL rustfst_python-0.13.5-cp310-cp310-macosx_11_0_arm64.whl
Size 721.8 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d59c892cf9daa26c15ac1dc62746d2d95f6a1539c7ec27c44bb3d72cf7984467
BLAKE2b-256 checksum
How to use checksums
6eb2fa4828b702b817ef99a807fb41ded350ddf5fa0c668f44ce6c0e2c28e0a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL rustfst_python-0.13.5-cp310-cp310-macosx_10_9_x86_64.whl
Size 776.0 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
8ed9dee77fb6accbfe65830c3cee55f0d12829c6ff298c0c24f9706a79faaffb
BLAKE2b-256 checksum
How to use checksums
5d2a8fec6d717f275eab61c48161a0a3accf023efd0ce0bc136f5292e569423a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL rustfst_python-0.13.5-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
2f91ec8d873fd6cab1da0ed26aa6fdfc4117bc93dc9082257ffb1e8c44c335ff
BLAKE2b-256 checksum
How to use checksums
dc4131cc290a62dd5a2ede7e84ac16f0d759c107d4407dbb9ef51da2d932c76a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL rustfst_python-0.13.5-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
2ec4d2aaac506f9c2c43110ca964ac13fa940bc75472824cf0a7b33eaff87e06
BLAKE2b-256 checksum
How to use checksums
c1510c6eddd08821465235dabc652b892224271b3fced5f492fbe34217e6f5a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

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

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

Download URL rustfst_python-0.13.5-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
304f9634be3c983565545571beda0785360aa6e88e82190d4172dca180c9537b
BLAKE2b-256 checksum
How to use checksums
c4620518a26481a748d44b57ac74d5d9fc2f01ee036c202151ca2bc88e63dd7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL rustfst_python-0.13.5-cp39-cp39-macosx_11_0_arm64.whl
Size 721.8 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9c5c213ff3e06261c42c9375667e5dc168653748a546a93f41d8de962cbaf3ae
BLAKE2b-256 checksum
How to use checksums
7f590def17b391b83a2f895d964f7d2dc2a861cb2e8b337867f9d42aef727604
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL rustfst_python-0.13.5-cp39-cp39-macosx_10_9_x86_64.whl
Size 776.0 kB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
15ddac4242bbae506fb9512c9e10a4ee5e32d5eeb0b1d5289a1163a53b639a68
BLAKE2b-256 checksum
How to use checksums
a57c12b6f78d9e8a50f99f05eac5b5a50d41f77f98b8db8751c27f6a0d4ad061
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL rustfst_python-0.13.5-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
360aa7d45fd57234d757e1c0e2d7411e50a71d93f65486416ddb221d91cabc79
BLAKE2b-256 checksum
How to use checksums
e4352ea62c79a4ab8240496eaea0a2162a91eb9cf1868376e7538e6e24a1244d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL rustfst_python-0.13.5-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
ee6682e79aa895b52188aa0962771a671e6c87506291a5eaa2215e2a0c2f1180
BLAKE2b-256 checksum
How to use checksums
424102b9b19a583afdb440ff0684962b92712cd31206e0bdfefbc09e8d0e41e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL rustfst_python-0.13.5-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
0a8c5550bdc6ff54edc466ce82ecb6ae5a4987fbca3d3e77a5379badab67dee7
BLAKE2b-256 checksum
How to use checksums
7da49f14c5467a6c5cf53ab16685a1f09760e16603641fd60315720e10c13d3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL rustfst_python-0.13.5-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
4566d5d3f13b91359d07732480ad7abb2ae32bea858f416f57ce5fe5847cf8a9
BLAKE2b-256 checksum
How to use checksums
babf02004f8e39700d71ee4a908715a8511fb9d7557227505972af2af87bdc81
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL rustfst_python-0.13.5-cp38-cp38-macosx_11_0_arm64.whl
Size 721.8 kB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ef63788ef98684cc7995fa7ec722e5841cad1e655e546e34145c9c0277c44619
BLAKE2b-256 checksum
How to use checksums
41cd92972ab5020d18acf12c951f20551fb73ad422a5fcda617cf4a343c8c468
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL rustfst_python-0.13.5-cp38-cp38-macosx_10_9_x86_64.whl
Size 776.0 kB
Tags CPython 3.8 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
81edd902f01620b868c49d429d7c2bfb229bfef89391344254246e88868d12ed
BLAKE2b-256 checksum
How to use checksums
801acdb68ad145be859eed3bf363f81ddaf161b5d026686afa758efdbc46ad40
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL rustfst_python-0.13.5-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
785c72bc6ecd103e82670d1b91ab33a740f80627f713d444dd84588f5566315a
BLAKE2b-256 checksum
How to use checksums
234fcbfe82bd443d1ae0e5f30c2e8482cfabb99d3e814bd994b020c7e898fd15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL rustfst_python-0.13.5-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
be2615ad4543f0d1586e48d33499b94c0bea4042d41b4ec8199491d9b10b2647
BLAKE2b-256 checksum
How to use checksums
0b2d578d8822d94d5bf38f9aad85bc08de0298a511b5e7ece735f9932eb3fed0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL rustfst_python-0.13.5-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
5084436d6c065433326ae9233a60b75eec703213f86c89621ee31eb206b90ad4
BLAKE2b-256 checksum
How to use checksums
366821c529ded1922dd70849715849fdacf9c20b672ee0a26b6f8c1c76189269
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

Download URL rustfst_python-0.13.5-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
40f5174be8da27cc745a879880c5ae9131daaf5474c310d6d3da682b422fc645
BLAKE2b-256 checksum
How to use checksums
83131fbe0a58f170730ae1a988c10bae242717edc2efbf2604404501b9de01ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

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

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