Hi all, Earlier today I pushed a new release of python-flint version 0.5.0 to PyPI. I expect that this release will appear in conda soon as well. The new release can be installed with
pip install python-flint There are binary wheels available for CPython 3.9-3.12 for Windows, OSX (intel and arm) and Linux. I'm not sure when conda will have python-flint 0.5.0 but for previous releases of python-flint conda has had packages for other architectures and also for PyPy. After installing python-flint you can run the tests with python -m flint.test Please report any issues with python-flint to GitHub: https://github.com/flintlib/python-flint/issues The python-flint library is a Cython-based wrapper library providing Python-bindings for Flint. More information here: https://github.com/flintlib/python-flint These docs are out of date but I will put up some new docs somewhere else (maybe readthedocs) soon: https://fredrikj.net/python-flint/ Important compatibility changes in 0.5.0: - python-flint 0.5.0 requires Flint 3.0.0 which was only released a few days ago so if building python-flint from source then you will certainly need to build Flint from source as well (this is not an issue if you install via pip/conda) - python-flint 0.5.0 adds support for Python 3.12 (setuptools is required when building for 3.12). New features in 0.5.0: - Flint's fmpz_mod type is added which provides arithmetic for integers modulo n for large n - Discrete logarithm calculations for fmpz_mod are added. - Flint's fmpz_mod_poly type is added which implements univariate polynomials over fmpz_mod. Previous releases of python-flint had Flint's nmod and nmod_poly types which are similar to fmpz_mod and fmpz_mod_poly but are only for "word size" modulus (n smaller than 2^64). The addition of the fmpz_mod and fmpz_mod_poly types extends this to arbitrarily large moduli. There were a few other smaller changes but I will just mention: - A bug giving wrong results when mixing types in a 3-arg pow like pow(int, int, fmpz) is fixed. - Some minor changes are made to the nmod type to make its arithmetic more complete. Many thanks to Giacomo (Jack) Pope and David Einstein who have been working on python-flint during the last few releases and also for 0.5.0. Just to note two big things: - David has completely refactored the codebase, reorganising everything into separate modules and developed a semi-automated way for generating the Cython bindings to Flint by parsing Flint's doc sources. - Jack added the fmpz_mod and fmpz_mod_poly types and the discrete log functionality. Ongoing work is that Jack is working on adding Flint's finite fields types (fq etc) to python-flint. Adding fmpz_mod and fmpz_mod_poly was a prerequisite for finite fields. David is working on adding Flint's multivariate polynomials, specifically fmpz_mpoly and fmpq_mpoly to python-flint although that is not quite ready for this release. It is also very likely that there will be some work soon on supporting Flint's generic ring types in python-flint. There are many other features in Flint not yet exposed in python-flint. Contributions are welcome from anyone who would like to see more added! -- Oscar -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/CAHVvXxRxCRW%2BMuYwBML4cR%3DbkozkBu4OgYu95HQ6o6fMfa5SuA%40mail.gmail.com.