Registry / devops / pyfinite

pyfinite

JSON →
library1.9.1pypypi✓ verified 86d ago

pyfinite provides finite field operations and erasure correction codes (Reed-Solomon). Current version is 1.9.1; maintenance mode with rare updates.

pip install pyfinite
INSTALL
IMPORT
SIG · PYFINITE
P
pyfinite
devopspythonv1.9.1
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

generic_matrix
from pyfinite import genericmatrix
import genericmatrix
genericmatrix is a submodule of pyfinite.
ReedSolomon
from pyfinite import rscodec
import rscodec
rscodec is a submodule, not a top-level module.
FField
from pyfinite import ffield
import ffield
ffield is a submodule.

Basic usage: create a finite field, multiply elements, and use Reed-Solomon erasure coding.

from pyfinite import ffield F = ffield.FField(8) # GF(2^8) print(F.Multiply(0x57, 0x83)) # Erasure coding example: from pyfinite import rscodec rs = rscodec.RSCodec(4, 2) # 4 data, 2 parity msg = [0,1,2,3] # encode returns list of ints; decode expects list encoded = rs.Encode(msg) print(encoded) decoded = rs.Decode(encoded) print(decoded)
Debug
Known issues
gotcharscodec.RSCodec's parameters are (data_symbols, parity_symbols, generator=..., primitive=...). Common mistake: swap data and parity.
fix
Use RSCodec(k, n-k) where k = number of data symbols, n = total symbols. For example, 4 data + 2 parity = 6 total, call RSCodec(4,2).
affects: all
gotchaThe primary API (ffield, rscodec) expects integer inputs, not bytes or bytearray. If you pass a bytes object, it may produce unexpected results.
fix
Convert bytes to list of ints before passing to ffield or rscodec: list(bytes_obj).
affects: all
deprecatedpyfinite.rscodec is not a robust, production-ready erasure code library. The author recommends using 'reedsolo' for production use.
fix
Consider using the 'reedsolo' library for production erasure coding applications.
affects: >=1.0
Errors
Common errors & fixes
AttributeError: module 'ffield' has no attribute 'FField'
Trying to import ffield directly instead of from pyfinite.
fix
Use 'from pyfinite import ffield' then 'ffield.FField'.
TypeError: 'int' object is not iterable
Passing a single integer to RSCodec.Encode (expects list of ints).
fix
Wrap the integer in a list: rs.Encode([value]) or pass a list of symbols.
ValueError: The polynomial must have degree > 0
Creating an FField with invalid parameters, e.g., degree 0 or negative.
fix
Ensure degree >= 1: FField(degree) where degree is integer > 0.
Upgrade
Version history
1.9.1latest on PyPI · released Nov 2, 2022
Audit
Dependencies

No dependency data recorded yet.

Agent activity
4 hits · last 30 days
node
4
Resources
pyfinite — pip install pyfinite · libregistry