NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3339 most downloaded on PyPI
Pure-Python Reed Solomon encoder/decoder
Last release 3 years ago
no release in 18 months
Ships unpredictably
gaps range from 9 days to 7.6 years
Some releases are documented
notes for 7 of 19 stable releases
6 versions withdrawn
withdrawn after publishing
14 years old
28 releases · first in 2012
Minor update: add support for MicroPython embedded systems, big thanks to @elvis-epx ❤️
Minor update: add support for MicroPython embedded systems, big thanks to @elvis-epx ❤️
Full Changelog since last beta release: https://github.com/tomerfiliba-org/reedsolomon/compare/v2.1.0b1...v2.1.1b1
Note: only the sdist is attached on this GitHub Release, for the per-platform wheels, please see on PyPi.
Minor update: add support for MicroPython embedded systems, big thanks to @elvis-epx ❤️
Full Changelog since last beta release: v2.1.0b1...v2.1.1b1
Note: only the sdist is attached on this GitHub Release, for the per-platform wheels, please see on PyPi.
One column per quarter.
Introduces breaking changes, especially because it requires Cython v3.0.0b2 (hence a prerelease), but this allows huge speedups in encoding, especiall…
Summary: Major update. Previous 2.x pre-releases were yanked, this one should be considered the first true release in v2.x branch. The following description pertains to all changes since the last major stable release (v1.7.0).
Introduces breaking changes, especially because it requires Cython v3.0.0b2 (hence a prerelease), but this allows huge speedups in encoding, especially with the cythonized extension. Several bugfixes as well (not math bugs but more about expected data structures, now the whole internal and external API should be coherent, always using bytearray or cpython array), and the packaging was overhauled to be PEP517 compliant and with a src-layout. Furthermore, automatic builds including with the C extension compiled as a PYD are now provided across platforms and Python versions thanks to cibuildwheel.
Note that the ReedSolo v2.x.x branch will remain in pre-release status until Cython v3 stable is released.
See the section Migration from v1.x to v2.x for more information on how to migrate.
Long description:
Cython v3 beta was recently released, and this offers new possibilities to optimize, especially because math operators in Cython v3 are now much more like Python v3. I hence decided to do a significant rework of the module to squeeze more speed optimizations in creedsolo. Several optimizations were also translated to the pure python reedsolo module, which can improve speed when run inside a JIT compiler such as PyPy.
This incidentally led me to repackage the module according to PEP517 and PEP518 standards for modern python packaging, which comes with isolated builds by default and almost reproducible builds (but we would need to move to another backend like meson for full reproducibility by default, otherwise setuptools still has some work to do on this front).
Finally, I also reworked the GitHub Actions to automatize the building and publishing process of releases to PyPi, using cibuildwheel, which offers the nice plus that we now have wheels with precompiled creedsolo for a lot of OSes and Python versions!
Should you migrate? ReedSolo v2.x API is considered stable, it won't change for the stable release and all planned changes were already implemented. ReedSolo v2.x branch will remain in beta while Cython v3 stable is not released, as requiring a pre-release version of a dependency is bad practice and breaks supply chains down the line (eg, Linux distributions will not be able to provide ReedSolo v2 if it requires a pre-release of Cython, because only stable releases of Cython are packaged).
In practice:
pip install reedsolo --pre. When Cython v3 stable release will be published, ReedSolo will be updated asap to remove the beta suffix anyway, and you won't have to change anything on your side (optionally you will be able to remove the --pre flag for pip). See the section Migration from v1.x to v2.x in the README.md for more information on how to migrate.reedsolo as a dependency with no version capping, then anyway your package will be updated to ReedSolo v2.x when Cython v3 will be fixed. However, some API changes are to be expected, so you will need to do some updates here and there (mainly to type all your inputs as bytearray()s), especially if you used creedsolo.Full Changelog since last stable release: https://github.com/tomerfiliba-org/reedsolomon/compare/v1.7.0...v2.1.0b1
Special thanks to @henryiii, @paravoid, the python.org participants who kindly replied to my messages in this forum post, and especially @mgorny for their help in packaging and polishing this release!
Note: only the sdist is attached on this GitHub Release, for the per-platform wheels, please see on PyPi.
Pre-release to trigger cibuildwheel and publish on real PyPi
Pre-release to trigger cibuildwheel and publish on real PyPi
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Major update, first release in the v2.x branch. Introduces breaking changes, especially because it requires Cython v3.0.0b2 (hence a prerelease), but…
Major update, first release in the v2.x branch. Introduces breaking changes, especially because it requires Cython v3.0.0b2 (hence a prerelease), but this allows huge speedups in encoding, especially with the cythonized extension. Several bugfixes as well (not math bugs but more about expected data structures, now the whole internal and external API should be coherent, always using bytearray or cpython array).
See the section "Migration from v1.x to v2.x" for more information on how to migrate.
UPDATE: This release was yanked due to issues with packaging for Linux distributions.
Nothing published for this version
Drop cythonization by default, to avoid installation issues for users with Cython installed but no C++ compiler. Cythonization needs to be requested e
Changelog:
pip install --upgrade reedsolo --install-option="--cythonize" --verbose.Full Changelog: https://github.com/tomerfiliba/reedsolomon/compare/v1.6.1...v1.7.0
Clarify license to ensure Public Domain-like rights are granted to users, via the Unlicense or MIT-0 License at the user's preference (big thanks to @
Changelog:
🎄✨ Annual Christmas maintenance! 🎅🎊
🎄✨ Annual Christmas maintenance! 🎅🎊
Changelog:
If you are interested in knowing the future of this module, please read this announcement.
Merry Christmas to everyone, may all your wishes come true!
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fix installation via pip if no C compiler is available (thanks to @projectgus)
Changes:
pip if no C compiler is available (thanks to @projectgus)Installing (from source or from pip) does not require a compiler nor Cython anymore, the setup.py will automatically switch to the pure python module
Changes:
Add the maxerrata() method on RSCodec class to calculate the Singleton Bound (maximum number of errors and erasures that can be independently or simul
Changes:
maxerrata() method on RSCodec class to calculate the Singleton Bound (maximum number of errors and erasures that can be independently or simultaneously corrected).Nothing published for this version
Universal codecs support (ie, nearly any Reed-Solomon code can be encoded/decoded with the appropriate parameters)
Major update:
RSCodec high-level class with automatic chunking of messages bigger than the Galois FieldNothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →