Skip to main content

An efficient, portable erasure coding tool

Project description

Generate redundant blocks of information such that if some of the blocks are lost then the original data can be recovered from the remaining blocks. This package includes command-line tools, C API, Python API, and Haskell API.

Package Build Tests PyPI release status

Intro and Licence

This package implements an “erasure code”, or “forward error correction code”.

You may use this package under the GNU General Public License, version 2 or, at your option, any later version. You may use this package under the Transitive Grace Period Public Licence, version 1.0 or, at your option, any later version. (You may choose to use this package under the terms of either licence, at your option.) See the file COPYING.GPL for the terms of the GNU General Public License, version 2. See the file COPYING.TGPPL.rst for the terms of the Transitive Grace Period Public Licence, version 1.0.

The most widely known example of an erasure code is the RAID-5 algorithm which makes it so that in the event of the loss of any one hard drive, the stored data can be completely recovered. The algorithm in the zfec package has a similar effect, but instead of recovering from the loss of only a single element, it can be parameterized to choose in advance the number of elements whose loss it can tolerate.

This package is largely based on the old “fec” library by Luigi Rizzo et al., which is a mature and optimized implementation of erasure coding. The zfec package makes several changes from the original “fec” package, including addition of the Python API, refactoring of the C API to support zero-copy operation, a few clean-ups and optimizations of the core code itself, and the addition of a command-line tool named “zfec”.

Installation

pip install zfec

To run the self-tests, execute tox from an unpacked source tree or git checkout.

To run the tests of the Haskell API: cabal run test:tests

Community

The source is currently available via git on the web with the command:

git clone https://github.com/tahoe-lafs/zfec

Please post about zfec to the Tahoe-LAFS mailing list and contribute patches:

<https://tahoe-lafs.org/cgi-bin/mailman/listinfo/tahoe-dev>

If you find a bug in zfec, please open an issue on github:

<https://github.com/tahoe-lafs/zfec/issues>

Overview

This package performs two operations, encoding and decoding. Encoding takes some input data and expands its size by producing extra “check blocks”, also called “secondary blocks”. Decoding takes some data – any combination of blocks of the original data (called “primary blocks”) and “secondary blocks”, and produces the original data.

The encoding is parameterized by two integers, k and m. m is the total number of blocks produced, and k is how many of those blocks are necessary to reconstruct the original data. m is required to be at least 1 and at most 256, and k is required to be at least 1 and at most m.

(Note that when k == m then there is no point in doing erasure coding – it degenerates to the equivalent of the Unix “split” utility which simply splits the input into successive segments. Similarly, when k == 1 it degenerates to the equivalent of the unix “cp” utility – each block is a complete copy of the input data.)

Note that each “primary block” is a segment of the original data, so its size is 1/k’th of the size of original data, and each “secondary block” is of the same size, so the total space used by all the blocks is m/k times the size of the original data (plus some padding to fill out the last primary block to be the same size as all the others). In addition to the data contained in the blocks themselves there are also a few pieces of metadata which are necessary for later reconstruction. Those pieces are: 1. the value of K, 2. the value of M, 3. the sharenum of each block, 4. the number of bytes of padding that were used. The “zfec” command-line tool compresses these pieces of data and prepends them to the beginning of each share, so each the sharefile produced by the “zfec” command-line tool is between one and four bytes larger than the share data alone.

The decoding step requires as input k of the blocks which were produced by the encoding step. The decoding step produces as output the data that was earlier input to the encoding step.

Command-Line Tool

The bin/ directory contains two Unix-style, command-line tools “zfec” and “zunfec”. Execute zfec --help or zunfec --help for usage instructions.

Performance

To run the benchmarks, execute the included bench/bench_zfec.py script with optional –k= and –m= arguments.

Here’s the results for an i7-12700k:

` measuring encoding of data with K=3, M=10, encoding 1000000 bytes 1000 times in a row... Average MB/s: 364 measuring decoding of primary-only data with K=3, M=10, 1000 times in a row... Average MB/s: 1894750 measuring decoding of secondary-only data with K=3, M=10, 1000 times in a row... Average MB/s: 3298 `

Here is a paper analyzing the performance of various erasure codes and their implementations, including zfec:

http://www.usenix.org/events/fast09/tech/full_papers/plank/plank.pdf

Zfec shows good performance on different machines and with different values of K and M. It also has a nice small memory footprint.

API

Each block is associated with “blocknum”. The blocknum of each primary block is its index (starting from zero), so the 0’th block is the first primary block, which is the first few bytes of the file, the 1’st block is the next primary block, which is the next few bytes of the file, and so on. The last primary block has blocknum k-1. The blocknum of each secondary block is an arbitrary integer between k and 255 inclusive. (When using the Python API, if you don’t specify which secondary blocks you want when invoking encode(), then it will by default provide the blocks with ids from k to m-1 inclusive.)

  • C API

    fec_encode() takes as input an array of k pointers, where each pointer points to a memory buffer containing the input data (i.e., the i’th buffer contains the i’th primary block). There is also a second parameter which is an array of the blocknums of the secondary blocks which are to be produced. (Each element in that array is required to be the blocknum of a secondary block, i.e. it is required to be >= k and < m.)

    The output from fec_encode() is the requested set of secondary blocks which are written into output buffers provided by the caller.

    Note that this fec_encode() is a “low-level” API in that it requires the input data to be provided in a set of memory buffers of exactly the right sizes. If you are starting instead with a single buffer containing all of the data then please see easyfec.py’s “class Encoder” as an example of how to split a single large buffer into the appropriate set of input buffers for fec_encode(). If you are starting with a file on disk, then please see filefec.py’s encode_file_stringy_easyfec() for an example of how to read the data from a file and pass it to “class Encoder”. The Python interface provides these higher-level operations, as does the Haskell interface. If you implement functions to do these higher-level tasks in other languages, please send a patch to tahoe-dev@tahoe-lafs.org so that your API can be included in future releases of zfec.

    fec_decode() takes as input an array of k pointers, where each pointer points to a buffer containing a block. There is also a separate input parameter which is an array of blocknums, indicating the blocknum of each of the blocks which is being passed in.

    The output from fec_decode() is the set of primary blocks which were missing from the input and had to be reconstructed. These reconstructed blocks are written into output buffers provided by the caller.

  • Python API

    encode() and decode() take as input a sequence of k buffers, where a “sequence” is any object that implements the Python sequence protocol (such as a list or tuple) and a “buffer” is any object that implements the Python buffer protocol (such as a string or array). The contents that are required to be present in these buffers are the same as for the C API.

    encode() also takes a list of desired blocknums. Unlike the C API, the Python API accepts blocknums of primary blocks as well as secondary blocks in its list of desired blocknums. encode() returns a list of buffer objects which contain the blocks requested. For each requested block which is a primary block, the resulting list contains a reference to the apppropriate primary block from the input list. For each requested block which is a secondary block, the list contains a newly created string object containing that block.

    decode() also takes a list of integers indicating the blocknums of the blocks being passed int. decode() returns a list of buffer objects which contain all of the primary blocks of the original data (in order). For each primary block which was present in the input list, then the result list simply contains a reference to the object that was passed in the input list. For each primary block which was not present in the input, the result list contains a newly created string object containing that primary block.

    Beware of a “gotcha” that can result from the combination of mutable data and the fact that the Python API returns references to inputs when possible.

    Returning references to its inputs is efficient since it avoids making an unnecessary copy of the data, but if the object which was passed as input is mutable and if that object is mutated after the call to zfec returns, then the result from zfec – which is just a reference to that same object – will also be mutated. This subtlety is the price you pay for avoiding data copying. If you don’t want to have to worry about this then you can simply use immutable objects (e.g. Python strings) to hold the data that you pass to zfec.

  • Haskell API

    The Haskell code is fully Haddocked, to generate the documentation, run runhaskell Setup.lhs haddock.

Utilities

The filefec.py module has a utility function for efficiently reading a file and encoding it piece by piece. This module is used by the “zfec” and “zunfec” command-line tools from the bin/ directory.

Dependencies

A C compiler is required. To use the Python API or the command-line tools a Python interpreter is also required. We have tested it with Python v2.7, v3.5 and v3.6. For the Haskell interface, GHC >= 6.8.1 is required.

Acknowledgements

Thanks to the author of the original fec lib, Luigi Rizzo, and the folks that contributed to it: Phil Karn, Robert Morelos-Zaragoza, Hari Thirumoorthy, and Dan Rubenstein. Thanks to the Mnet hackers who wrote an earlier Python wrapper, especially Myers Carpenter and Hauke Johannknecht. Thanks to Brian Warner and Amber O’Whielacronx for help with the API, documentation, debugging, compression, and unit tests. Thanks to Adam Langley for improving the C API and contributing the Haskell API. Thanks to the creators of GCC (starting with Richard M. Stallman) and Valgrind (starting with Julian Seward) for a pair of excellent tools. Thanks to my coworkers at Allmydata – http://allmydata.com – Fabrice Grinda, Peter Secor, Rob Kinninmont, Brian Warner, Zandr Milewski, Justin Boreta, Mark Meras for sponsoring this work and releasing it under a Free Software licence. Thanks to Jack Lloyd, Samuel Neves, and David-Sarah Hopwood.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zfec-1.6.0.0.tar.gz (84.8 kB view details)

Uploaded Source

Built Distributions

zfec-1.6.0.0-pp310-pypy310_pp73-win_amd64.whl (61.0 kB view details)

Uploaded PyPy Windows x86-64

zfec-1.6.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (60.0 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.28+ x86-64

zfec-1.6.0.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (59.6 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

zfec-1.6.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl (58.7 kB view details)

Uploaded PyPy macOS 10.15+ x86-64

zfec-1.6.0.0-pp39-pypy39_pp73-win_amd64.whl (61.0 kB view details)

Uploaded PyPy Windows x86-64

zfec-1.6.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (60.1 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.28+ x86-64

zfec-1.6.0.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (59.6 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

zfec-1.6.0.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl (58.7 kB view details)

Uploaded PyPy macOS 10.15+ x86-64

zfec-1.6.0.0-pp38-pypy38_pp73-win_amd64.whl (61.0 kB view details)

Uploaded PyPy Windows x86-64

zfec-1.6.0.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (60.0 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.28+ x86-64

zfec-1.6.0.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (59.6 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

zfec-1.6.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (58.7 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

zfec-1.6.0.0-cp313-cp313-win_amd64.whl (61.0 kB view details)

Uploaded CPython 3.13 Windows x86-64

zfec-1.6.0.0-cp313-cp313-win32.whl (59.4 kB view details)

Uploaded CPython 3.13 Windows x86

zfec-1.6.0.0-cp313-cp313-musllinux_1_2_x86_64.whl (94.0 kB view details)

Uploaded CPython 3.13 musllinux: musl 1.2+ x86-64

zfec-1.6.0.0-cp313-cp313-musllinux_1_2_i686.whl (94.6 kB view details)

Uploaded CPython 3.13 musllinux: musl 1.2+ i686

zfec-1.6.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (94.8 kB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.28+ x86-64

zfec-1.6.0.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (83.3 kB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

zfec-1.6.0.0-cp313-cp313-macosx_11_0_arm64.whl (59.0 kB view details)

Uploaded CPython 3.13 macOS 11.0+ ARM64

zfec-1.6.0.0-cp313-cp313-macosx_10_13_x86_64.whl (59.2 kB view details)

Uploaded CPython 3.13 macOS 10.13+ x86-64

zfec-1.6.0.0-cp313-cp313-macosx_10_13_universal2.whl (70.5 kB view details)

Uploaded CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64)

zfec-1.6.0.0-cp312-cp312-win_amd64.whl (61.0 kB view details)

Uploaded CPython 3.12 Windows x86-64

zfec-1.6.0.0-cp312-cp312-win32.whl (59.4 kB view details)

Uploaded CPython 3.12 Windows x86

zfec-1.6.0.0-cp312-cp312-musllinux_1_2_x86_64.whl (94.0 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

zfec-1.6.0.0-cp312-cp312-musllinux_1_2_i686.whl (94.6 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ i686

zfec-1.6.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (94.8 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.28+ x86-64

zfec-1.6.0.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (83.3 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

zfec-1.6.0.0-cp312-cp312-macosx_11_0_arm64.whl (59.0 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

zfec-1.6.0.0-cp312-cp312-macosx_10_13_x86_64.whl (59.2 kB view details)

Uploaded CPython 3.12 macOS 10.13+ x86-64

zfec-1.6.0.0-cp312-cp312-macosx_10_13_universal2.whl (70.5 kB view details)

Uploaded CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)

zfec-1.6.0.0-cp311-cp311-win_amd64.whl (60.9 kB view details)

Uploaded CPython 3.11 Windows x86-64

zfec-1.6.0.0-cp311-cp311-win32.whl (59.4 kB view details)

Uploaded CPython 3.11 Windows x86

zfec-1.6.0.0-cp311-cp311-musllinux_1_2_x86_64.whl (94.0 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

zfec-1.6.0.0-cp311-cp311-musllinux_1_2_i686.whl (94.9 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ i686

zfec-1.6.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (94.6 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.28+ x86-64

zfec-1.6.0.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (83.3 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

zfec-1.6.0.0-cp311-cp311-macosx_11_0_arm64.whl (58.9 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

zfec-1.6.0.0-cp311-cp311-macosx_10_9_x86_64.whl (59.3 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

zfec-1.6.0.0-cp311-cp311-macosx_10_9_universal2.whl (70.5 kB view details)

Uploaded CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)

zfec-1.6.0.0-cp310-cp310-win_amd64.whl (61.0 kB view details)

Uploaded CPython 3.10 Windows x86-64

zfec-1.6.0.0-cp310-cp310-win32.whl (59.4 kB view details)

Uploaded CPython 3.10 Windows x86

zfec-1.6.0.0-cp310-cp310-musllinux_1_2_x86_64.whl (92.5 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

zfec-1.6.0.0-cp310-cp310-musllinux_1_2_i686.whl (93.4 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ i686

zfec-1.6.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (93.1 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.28+ x86-64

zfec-1.6.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (81.8 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

zfec-1.6.0.0-cp310-cp310-macosx_11_0_arm64.whl (58.9 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

zfec-1.6.0.0-cp310-cp310-macosx_10_9_x86_64.whl (59.2 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

zfec-1.6.0.0-cp310-cp310-macosx_10_9_universal2.whl (70.4 kB view details)

Uploaded CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)

zfec-1.6.0.0-cp39-cp39-win_amd64.whl (61.0 kB view details)

Uploaded CPython 3.9 Windows x86-64

zfec-1.6.0.0-cp39-cp39-win32.whl (59.4 kB view details)

Uploaded CPython 3.9 Windows x86

zfec-1.6.0.0-cp39-cp39-musllinux_1_2_x86_64.whl (92.3 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

zfec-1.6.0.0-cp39-cp39-musllinux_1_2_i686.whl (93.1 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ i686

zfec-1.6.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (92.8 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.28+ x86-64

zfec-1.6.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (81.6 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

zfec-1.6.0.0-cp39-cp39-macosx_11_0_arm64.whl (58.9 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

zfec-1.6.0.0-cp39-cp39-macosx_10_9_x86_64.whl (59.2 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

zfec-1.6.0.0-cp39-cp39-macosx_10_9_universal2.whl (70.4 kB view details)

Uploaded CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file zfec-1.6.0.0.tar.gz.

File metadata

  • Download URL: zfec-1.6.0.0.tar.gz
  • Upload date:
  • Size: 84.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.10

File hashes

Hashes for zfec-1.6.0.0.tar.gz
Algorithm Hash digest
SHA256 c5a1861c253b512698c2e733ae4d83f5e2d6ea6c881b7dbe11334b694e755a00
MD5 a08916783516ec1c8d2eac241f2e3dbc
BLAKE2b-256 fd9a765a38b15d56cb4b50dfa55226db413035586bc1e8ddc0b932a7fe96c24a

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-pp310-pypy310_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 a81dd82176437ff4a6414ec6a991fa973608c7d32bf9742b90640c9fa0846535
MD5 08c3fcd58e1af94843f67eef56fc3e1b
BLAKE2b-256 0dbde07ae8b95502ee05a9967b5ddea9e0b1b75daa7d8129b6b8b1a1cf881916

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 be880e1851ab204d86b15ad53a5bf40ab6aa48a86a19059fda5d9dcc1635c2e3
MD5 1b2ddfa1911c8f6e847ea1a1e5b1b3ab
BLAKE2b-256 cbc91c7c09389166f6b39372eded166ceb8f1f57881868a19e392ee794e2c210

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3384de0ebd656929930108f0d3c1230d855873c8105417a6e8a661ca9ba04e5c
MD5 75e42d3bd0f5c939ba05cc2a867ab6ea
BLAKE2b-256 5d450d737dd9e2f12feec52485b1989f5bc4359c20eee32a9931031279188070

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 e5b8a840717012b66fef9a14cb34ec892c280c8c939d8bcd8a3a03afd1268633
MD5 cb00ef7c61b40a0b08527369f5893504
BLAKE2b-256 7c85c201ac857eadf9de8bf778801bbe0888609c163d375a2c118abef2c1f1a0

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-pp39-pypy39_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 41cb6c9f185b3ceded540a73d738928b0a02cae9cf5d1a202035c883e72446a4
MD5 3262ea0e06b804ac5160eecd8324159b
BLAKE2b-256 b15bf5423a89c96c6afae55c79aa3cb3ae3673f8c500af2813df45c25ca2528e

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7fc7121cc48f23424f3dfc3e9337d6c5e1597474425ab2528e1e3a1dbf01d66e
MD5 6af8e1eade5d2c2cb3b5b87dec549205
BLAKE2b-256 f7d9e4fd0e96466d5908dc89ab6439655575728f4ac7bf3d8e59df60fc482972

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 344cc070c0d445138332ac95f7dc52cff3ed9cd6398ac20582337075adbe74d5
MD5 ec05d6cf5e76bd5945bbf6cd15b0661c
BLAKE2b-256 f3fa005246849f7a46623349a0ecc614f830dbc7c82c61f736bdd1afc02ed4c9

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 3f3ed37cb23bc49e92065907a3bcebdb3a5f12beade7c1c75d2f92dbaad44dc0
MD5 bed4fda9e6cc752c6c8dcc0d56d2221e
BLAKE2b-256 142407b4734aeb392e51211a45b8c4a544af3bb669014e78a34f8a92c8269233

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-pp38-pypy38_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 9a96a39196da582130678a2aa7c4249177331d5aba3de2489d0d825ce4251238
MD5 d51cc3ab1612aa1f5fa1984951fc9d60
BLAKE2b-256 4f7bf836d3ed438bb0aeefdd0840c44241320999458c9ce9c3f87288cb8871f7

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bf23ede5d295ab014be8f5b4ba50732269de37ae244c23a3851c8cc2523116ea
MD5 4433ffa6d65631b3497befa503036687
BLAKE2b-256 3d5c8609d4557f864a86392fb3def2fc497374cf24244d7cd563aa85164f8196

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6fc74f1cae156eb1dfc6d77093dac871d1b0494ec8c6ec5916b2ee7f251665c3
MD5 5596500ddc1888e1caa1466f5d1f7cce
BLAKE2b-256 2f025995dd273bb457255f76d15cc004ab80e700cbf859744cc7277bf179d182

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 eb473e5b47ea70864c165a7191ca468f006dbdd715fcab623e03d2834fb6193c
MD5 6c7a2bec7016a0e6a89223da0831f15a
BLAKE2b-256 73839ea45f1c59d97146dc5a9c76d71e8e3a3b40b2f35617a97bea0891db6977

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: zfec-1.6.0.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 61.0 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.10

File hashes

Hashes for zfec-1.6.0.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1996db11e5126ddfd5a7e81bc69299e757151e42b94852e53a65ce91e633e441
MD5 a8d5d38e4ffc4c1d7467dc7a3622bf59
BLAKE2b-256 cce5bcc57e3e1cb80ce1bcc7c6c0618e5bbf2d7319ec374ae93f5b5799224c8f

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp313-cp313-win32.whl.

File metadata

  • Download URL: zfec-1.6.0.0-cp313-cp313-win32.whl
  • Upload date:
  • Size: 59.4 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.10

File hashes

Hashes for zfec-1.6.0.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 d9cc4caa0850f07192c1f81067ecc578f09d0e8bb4dc732e2cc47ab629a4ec37
MD5 ce6ecd1d26488990479ac04eea55a5ef
BLAKE2b-256 8070e92cc8d0ac721ffaba94b98beee3e0b907aef0f26256fe09a618ed0c9101

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c95225abf9de55e4fedc1ab77d44272da8a925d1a5f6afa03bd96480b52db28b
MD5 3b036d8d616deb6aa4a915ba8c38a15e
BLAKE2b-256 22a557999252a5976299531ff2df868fb16b0ab0447580815e0bd0e2c25245d8

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 8239c326f0fcfef81c1208db562f3d4bdb8f37f7746189aa2b640c3ab938c116
MD5 6f1ddd2c74ae95a0a9be2a7c74a50427
BLAKE2b-256 ab8f7e9ee7341cbcbe1402f2c38fb4fcb588bc6ae2dbd5ce86421dbaacc49d29

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6f3ce5e173ec68bf2c000dea131062b1b135f4df113f44183e28a4679d5a330e
MD5 bb4c1f945ac3931e46405bd46b57440c
BLAKE2b-256 e3d11ee3da16bef295634cb96cefe239346e08a8b6459995a19115615c80adb5

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3ac37e65ba8e7a0e54ba26f22617073fc6698f8276e5a95286b054acdbc94d9f
MD5 d8fd65c2416997ae3338724b9a99ee91
BLAKE2b-256 df8aa9770d91fbd8c25f1d4ea8f2289fcf44e0b965dff320b97953a46a9a2a6f

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e5b7a85350e196413fe0a6e278f7bca0f6257d92381432f26d797da5c1e14a21
MD5 37d6434a9a27f361cdf22e48aecbd675
BLAKE2b-256 1e8c07f5c5d8276fdb0b65118a7ae886c2295dc52dd757c3f626fbc0db82a2d2

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 fc2ada82b3567b020a8093c75e8f86ebfa279c290d3a5afc8ce883ba847df9c6
MD5 47a248b3de17f16d5c74700d9368129a
BLAKE2b-256 afbc0d260ca805b652c3f1a202b22e17c7d40de122f477b15c69d7c8fe09fe6b

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 18d7ad287a9a1d9de731a083f20eb2544cb7d4e21a5bbb9ced6a235a7801bb7c
MD5 b83231eb832eda1c9c2aa145a75b9889
BLAKE2b-256 41c646352b5a6ef4edd718193f207cdddc968b3b2335a59fc7ddddf7b84eb91f

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: zfec-1.6.0.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 61.0 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.10

File hashes

Hashes for zfec-1.6.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 aef6270702d2da94fa7cbd4499e8ad7a27e40869644034664f5f68f59a0a4a72
MD5 04303235ec1a64470f8913ae9f32b553
BLAKE2b-256 84df5612a1ed78ca60a2e20db9528ec58201c662f70761095adb4d4484d09d44

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp312-cp312-win32.whl.

File metadata

  • Download URL: zfec-1.6.0.0-cp312-cp312-win32.whl
  • Upload date:
  • Size: 59.4 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.10

File hashes

Hashes for zfec-1.6.0.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 c54313fc627e834652b9951c4c791efa3879e975afa904527421f23d81e32506
MD5 0dcbad3091030ba5ed182ef7048a2a3d
BLAKE2b-256 7a7f70171595bd6b41c94bd12018cf49b5c31d893c27456e81eebb91c25a475a

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 212041c36148a5d11c06b157098201efc0c37f01d425b6dd5d443378bf6ce939
MD5 0f163b330c81cb27c92f3165442a52ee
BLAKE2b-256 f334d742aceeb74e4e18f17e5593d8a9d37867829e28b9e241aa801af7f35ebe

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 711879d7eb7582f94b994c9c930764ac5d0d248b58911365e872ee139980e117
MD5 c9f8c5f039bab4576f0edd90944fd681
BLAKE2b-256 5ca68c11e43a061ee21e5783f0a8df9f75271c4edde43e9ae4efadeb9baba1d8

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 52832b41d06b054b0a13b2500806e5635cab44e8b213d119440593753097085d
MD5 e0ecf423f5a46be9c72726fb376cf67e
BLAKE2b-256 3ad976dbd8d20c43a6907a09d6a8adcbbf3617c8ca6ebda5c4daeb6a1caf35e7

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 1c4ff2f4b94d76c0eb86d1628e19c5f5d100890e03d6670d3bcab0c813fd5605
MD5 144e9f6609b4302bea22714dfb25cb1b
BLAKE2b-256 f0353ae563d3e6f4134affb69cefe0b95069d95b9507faee9ac617640bd3b98a

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5728b905aabe877df49d0acf0cbb759fa1ceaf8f35ea564d0b62986f38d20d89
MD5 3721052a2ab61345e516c8ee55b243a8
BLAKE2b-256 94e13a623367bbf3cb49a22abc4e3548a258f847de44c49fb2ea410196ace90e

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 9dd2d3c8aa6e1b1b850d62efab09696a41945777405d0de5ce2935b2065f7782
MD5 083dfdda5d2dfc851e85b072d454c8cf
BLAKE2b-256 79229071742362821007e1001dc4ef028024a87e7c00cc48edf4524fce7feb2e

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 4f2419af0872279e9f7e00a4b2b3a4fede3031eb48cbe551beda32567abcbedc
MD5 5695a0270ec6a982628e64662238bd41
BLAKE2b-256 4bdaf08ae31721e3424769bc24746b136f6e3f85f3006d5b6e30ee0feae6f72e

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: zfec-1.6.0.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 60.9 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.10

File hashes

Hashes for zfec-1.6.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 83119abf0e0dbef284eb08c1c482c71f07ccb1f44811e3090887854152b7c384
MD5 bd8e1bab033fdd770e9ffe13a9fb754c
BLAKE2b-256 b5e37399ee4fe178777ee21a0997380b18124af1b7d6d793c210cdd74fb24d6f

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp311-cp311-win32.whl.

File metadata

  • Download URL: zfec-1.6.0.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 59.4 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.10

File hashes

Hashes for zfec-1.6.0.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 db638f2b7582b0e1f62f1e32c614e261c8f3121396bb7d4d863cbe49af57dafe
MD5 a3e7ed90236fdfdeba2a581f9770bffe
BLAKE2b-256 a0ff45c458160c47dc6bf32a4d09a098609866da1f58605b9270601dfeabef03

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5ffecfb4d53d26d866b55c7f1c989b997d8674c606e826bcea281bc356c63c26
MD5 50be787ccb31de38bbf68132723fc52e
BLAKE2b-256 f5e765f350350b48d0a6cbb35a93f34e88d9292c64fe822d6fb151907284418d

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 de9db1c94ce6236e3d8c61ff5f9c6ff9a5f59ba15eff589a6f9f6eb69ad0ffaa
MD5 c8629e4fd9bcf1cd58d99ccf41a8e122
BLAKE2b-256 39ed1c78d402e2bdf693af5c9e65f3eb8821284114ec7caa8a81dae5090b71ea

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 52ebad1ffa7f2ee5bfacfef0fa576c2d76d9f0c5ad6a17bf6c2f2b2633292045
MD5 a5ad002b5fa0fb1913cf76407f828350
BLAKE2b-256 a639d7e6948ce676931a28c70324d9d90b13c151885c1d07ffb135f1833a6069

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 638796066929a14c1a2ab0644bc53c4bf1d7e72f93696e3c9f215fda3c9c8203
MD5 1b2032c7ce902e757c006d4e4a7af70c
BLAKE2b-256 a3403cb2dc0ff39a8af4f12b6cdae841b7ce6de65b528ff392b966b044c6af2c

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0beb7bdf23397c7c10201932bf0c1ceb05ac09e20bce4445e41db519be08143e
MD5 34ce4eeb79b0dd1dc61d2d1f4ac5c9e4
BLAKE2b-256 8265a5d5671e75d43fc451d2080f823af2be9fd307189ec490a05243716502b0

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c13859cabd4cde88457e78494bfd8e86bb3551b6561dd77377d4103f4ba80eb6
MD5 5c5ad6d34b940848c4adbd907f85c1ba
BLAKE2b-256 2e1e84dcf5f1ea680192b2921fffc7d40a3271b2f45fa59fdb5c29fee452aba9

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 af843e87cde28a2e5d836219544cc732494f7a16b38db0064ed6b654c139468c
MD5 aa06fef0dd174396524cd81f81a446c6
BLAKE2b-256 160640189d5a136803bccbe16d4101a8b854d0376cc37fb0424cf732c6625950

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: zfec-1.6.0.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 61.0 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.10

File hashes

Hashes for zfec-1.6.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5a499c6658cd4ce712e3b43dae94a7bc3164180546f0e74e6f4bb672c51261b3
MD5 35989e404cae6faebbf5a490e18645a0
BLAKE2b-256 a0a9f7a43062c6e724cb5808ca5a350a5023fa28314d9420a94e3ff2cca8a9e4

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp310-cp310-win32.whl.

File metadata

  • Download URL: zfec-1.6.0.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 59.4 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.10

File hashes

Hashes for zfec-1.6.0.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 a7c5830c4aca5b72a0a5f364586f8852f7cf01e13168f677279da96d1994943e
MD5 e2f9060aa94bbfa4045fd2d8cb059aa5
BLAKE2b-256 19e557f32dd0e8add71259b33f09676a46269f8571185a3c0a25225f4b09bd27

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f0f6eb232fca9628d2a96afb136cc3fde7299ad0f6545dbabbc4a7520ca919b5
MD5 fd7572691bbd48eb2e834d3a301f8d86
BLAKE2b-256 8fc4cf9d9b5074ed407d8c35863eac22f2ecbb2b23477738edd9b6d703dec982

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 6bb5e8f8137fc99a017732b8e8b222054b0eb44da224a8b0dd8e8233d90cf46d
MD5 2109ef94f30857d598c7c8798bcb937c
BLAKE2b-256 b43b47388d695c0b50a029c83258d176cf2518074bd20d410b0e1ac5c0a6ea94

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 86b92b30c67abd0962e8bbb310810c22ac9405fa403f94d47694d7441960e2d7
MD5 a6a72aec101371c6e0303b7274e74a40
BLAKE2b-256 720da0737ff028cd7f6602a2ffc4954f3ceb18452cf9618631c99419d5fb8f43

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a87690b2e30285d9ebb8212a429987989790027ffb275a7b6fce4334636a454c
MD5 c6982d11c7bef393ec28991bb5c6336d
BLAKE2b-256 3e08641e18b25a32bd6f7dd87f2af29609fee4c96e846922c675438f65f683d0

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3443fa390adc27e109739488dc30f9a8f432836398126f57ca9d7d0934b34e80
MD5 3458b36eaf1157e31380753442eb3269
BLAKE2b-256 4f9abfcb6d55845065828ac610419bf3c90e5777205d47ca8be377bc375019a3

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 888723ffb8be0aca132a8b9ec110b01f55a75bf920cfd681377ee3ec90616af4
MD5 6968b9fd06233310ff35cdc45e06d543
BLAKE2b-256 fd1070196b378b49b741c54d20e14f7fa4e0092a0e70c5f696611340a540d5fe

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2cf4275247f526020d4d28dd134e505595ea0ac77a09191a5454993e8178f3e7
MD5 244f650487871b7857ea7bb7c70e50ce
BLAKE2b-256 968414525d17bae5a55f65dbe4c70bf9ca87816d645e86e1f233edd3863a1e4a

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: zfec-1.6.0.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 61.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.10

File hashes

Hashes for zfec-1.6.0.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 9cf3934b013b1cb622eb8418988f74444a615d9da9b1141309b5ff86c9a4879c
MD5 c9b8da156812c8bb78b723b020a91c14
BLAKE2b-256 fa696b6fca6de9c00471cf573e77f4bb8f3e88ae6615f2bb5915c593342e1a2b

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp39-cp39-win32.whl.

File metadata

  • Download URL: zfec-1.6.0.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 59.4 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.10

File hashes

Hashes for zfec-1.6.0.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 4d6e676ab47d1d5803553114644c39035efed2eab2f38aa0351f008203bf6aef
MD5 193de23838232f3f1c2300774812a775
BLAKE2b-256 2559214a785320e6819d749428f0136bf8523e650b9e3ed89b65ff76c7d7b1c2

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1e5e9e730020abad1803a8c542e8e2812b23dda99e614ef5777fdca5c2bfdc9d
MD5 a6c85680c8f9086a1dbd97c5bb954e15
BLAKE2b-256 e82449680864030bba36decb937c372d12061103c02a0abe54e44fc95a9d3112

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp39-cp39-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 fdda00851cde74d015cc0acbefa6167bb3d19d1274f8c8cf303e3d61af8a16d8
MD5 c6f9e7a4b8c2afd7973a97d6b467328f
BLAKE2b-256 183dcc7c0c377a390cb50bf7cc6c0cd0c703851e5a5d89ac41498d6f9a2a8a41

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8ab5fac4de15630103c581a778528baa402b99685cc22226912fef2fc84aa752
MD5 fff72edadb7fe0f45131dc57583dfb2f
BLAKE2b-256 4508ebaaf15f3b98488731844dfdba9674b3d20c7ffb70ecfd0148439c6a8061

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 adfeaf4333644b118066c1cd9231dddc9c320d33c7183fb95dfe70167630ab1e
MD5 3e0c12baa73db67a9af3fce2318240e3
BLAKE2b-256 77c5be237b6cccc12a5cd8522f34f78308ef8ff540b792f7b3742204179c4f2b

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0633b1d361e786d7fd26d7c4e3b36b816fae5375c4c6eb4f2c4e7c0d3816c2b9
MD5 7e8d5629edc690bf0fb898c52fdd06b3
BLAKE2b-256 f3e2569c35d2fc7c30e7eb66c4ea3aa369b729c2cc95ea54eae947f1a5d01c64

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 42e552aac892efbd81799b4d05801cb008e98f3133d5548203e5aa578c844900
MD5 1056a67ad9da747b7115febcbf1ad1d7
BLAKE2b-256 c2886ed0aae053b5a96bf9451dcbe52e1589ebc507107d41680846011a532631

See more details on using hashes here.

File details

Details for the file zfec-1.6.0.0-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for zfec-1.6.0.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2fc425bd2d6ecfbe72811950cb112c50ff35673382fea427d1653c79494c5778
MD5 f32b532e22291e1a457d837eb7cd7c8b
BLAKE2b-256 5f1cb44e0c96054303da5cc406e80d810a2021de370959e10dcf3fdfe6c4a974

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page