Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump version to 0.6.0 #113

Merged
merged 5 commits into from
Feb 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/buildwheel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
if: ${{ matrix.os == 'windows-2019' }}

- name: Build wheels
uses: pypa/[email protected].2
uses: pypa/[email protected].5
env:
CIBW_BUILD: cp39-* cp310-* cp311-* cp312-*
CIBW_SKIP: "*-win32 *-manylinux_i686 *-musllinux_*"
Expand Down
87 changes: 62 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,9 @@ Build from source
-----------------

For other platforms or architectures installation needs to build from source.
First install FLINT 3.0.0. Note that as of python-flint 0.5.0 only this *exact*
version of FLINT will work. In future it is hoped that the version requirement
for python-flint will be FLINT >= 3.0.0 but at the time of writing 3.0.0 is the
newest version of FLINT that has only been released recently and is the only
version that is supported by python-flint.
First install FLINT 3. Starting with python-flint 0.5.0 older versions of Flint
such as 2.9 are not supported any more. Note that as of Flint 3 Arb no longer
needs to be built separately as it is now merged into Flint.

See here for instructions on building FLINT:

Expand Down Expand Up @@ -128,58 +126,97 @@ To do
CHANGELOG
-------------

0.6.0

- [gh-112](https://github.com/flintlib/python-flint/issues/112),
[gh-111](https://github.com/flintlib/python-flint/issues/111),
[gh-110](https://github.com/flintlib/python-flint/issues/110),
[gh-108](https://github.com/flintlib/python-flint/issues/108):
Add pyproject.toml and build dependencies. This means that python-flint can
be built from source without `--no-build-isolation`.
- [gh-109](https://github.com/flintlib/python-flint/issues/109):
Use exact division for non-field domains. Now `fmpz(6)/fmpz(3)` returns an
exact result `fmpz(2)` or raises an error if an exact result is not possible.
Similar changes for `fmpz_poly/fmpz`, `fmpz_mat/fmpz`, and for polynomial
division with `fmpz_poly`, `fmpq_poly`, `nmod_poly` and `fmpz_mod_poly`.
- [gh-106](https://github.com/flintlib/python-flint/issues/106):
Add `fmpz_mod_mat` for matrices of integers mod `n` where `n` is larger than
word sized.
- [gh-104](https://github.com/flintlib/python-flint/issues/104):
Bump Flint from 3.0.0 to 3.0.1

0.5.0

Important compatibility changes:

- gh-80, gh-94, gh-98: Switch from Flint 2.9 to Flint 3.
- gh-100: Supports Python 3.12 by using setuptools instead of numpy.distutils.
- [gh-80](https://github.com/flintlib/python-flint/issues/80),
[gh-94](https://github.com/flintlib/python-flint/issues/94),
[gh-98](https://github.com/flintlib/python-flint/issues/98):
Switch from Flint 2.9 to Flint 3.
- [gh-100](https://github.com/flintlib/python-flint/issues/100):
Supports Python 3.12 by using setuptools instead of numpy.distutils.

New features:

- gh-87: Adds `fmpz_mod_poly` type for polynomials over `fmpz_mod`.
- gh-85: Adds discrete logarithms to `fmpz_mod`.
- gh-83: Introduces the `fmpz_mod` type for multi-precision integer mods.
- [gh-87](https://github.com/flintlib/python-flint/issues/87):
Adds `fmpz_mod_poly` type for polynomials over `fmpz_mod`.
- [gh-85](https://github.com/flintlib/python-flint/issues/85):
Adds discrete logarithms to `fmpz_mod`.
- [gh-83](https://github.com/flintlib/python-flint/issues/83):
Introduces the `fmpz_mod` type for multi-precision integer mods.

Bug fixes:

- gh-93: Fixes a bug with `pow(int, int, fmpz)` which previously gave incorrect
- [gh-93](https://github.com/flintlib/python-flint/issues/93):
Fixes a bug with `pow(int, int, fmpz)` which previously gave incorrect
results.
- gh-78, gh-79: minor fixes for the `nmod` type.
- [gh-78](https://github.com/flintlib/python-flint/issues/78),
[gh-79](https://github.com/flintlib/python-flint/issues/79):
minor fixes for the `nmod` type.

0.4.4

- gh-75, gh-77: finish bulk of the work in refactoring `python-flint` into
- [gh-75](https://github.com/flintlib/python-flint/issues/75),
[gh-77](https://github.com/flintlib/python-flint/issues/77):
finish bulk of the work in refactoring `python-flint` into
submodules
- gh-72: The roots method of `arb_poly` is not supported. Use either the
- [gh-72](https://github.com/flintlib/python-flint/issues/72):
The roots method of `arb_poly` is not supported. Use either the
`complex_roots` method or `acb_roots(p).roots()` to get the old behaviour of
returning the complex roots. The `roots` method on `fmpz_poly` and
`fmpq_poly` now return integer and rational roots respectively. To access
complex roots on these types, use the `complex_roots` method. For `acb_poly`,
both `roots` and `complex_roots` behave the same
- gh-71: Include files in sdist and fix issue gh-70
- gh-67: Continue refactoring job to introduce submodules into `python-flint`
- [gh-71](https://github.com/flintlib/python-flint/issues/71):
Include files in sdist and fix issue
[gh-70](https://github.com/flintlib/python-flint/issues/70)
- [gh-67](https://github.com/flintlib/python-flint/issues/67):
Continue refactoring job to introduce submodules into `python-flint`

0.4.3

- gh-63: The `roots` method of `arb_poly`, and `nmod_poly` is no longer
supported. Use `acb_roots(p).roots()` to get the old behaviour of returning
the roots as `acb`. Note that the `roots` method of `fmpz_poly` and
`fmpq_poly` currently returns the complex roots of the polynomial.
- gh-61: Start refactoring job to introduce submodules into `python-flint`
- [gh-63](https://github.com/flintlib/python-flint/issues/63):
The `roots` method of `arb_poly`, and `nmod_poly` is no longer supported. Use
`acb_roots(p).roots()` to get the old behaviour of returning the roots as
`acb`. Note that the `roots` method of `fmpz_poly` and `fmpq_poly` currently
returns the complex roots of the polynomial.
- [gh-61](https://github.com/flintlib/python-flint/issues/61):
Start refactoring job to introduce submodules into `python-flint`

0.4.2

- gh-57: Adds manylinux wheels
- [gh-57](https://github.com/flintlib/python-flint/issues/57):
Adds manylinux wheels

0.4.1

- gh-47: Removes Linux wheels, updates instructions for building from source.
- [gh-47](https://github.com/flintlib/python-flint/issues/47):
Removes Linux wheels, updates instructions for building from source.

0.4.0

- gh-45: Adds wheels for Windows, OSX and manylinux but the Linux wheels are
broken.
- [gh-45](https://github.com/flintlib/python-flint/issues/45):
Adds wheels for Windows, OSX and manylinux but the Linux wheels are broken.

License
------------
Expand Down
4 changes: 2 additions & 2 deletions bin/build_mingw64_wheel.sh
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ fi
PYTHON=$PYTHONDIR/python
VER="${PYTHONVER//./}"

WHEELNAME=python_flint-0.5.0-cp$VER-cp$VER-win_amd64.whl
WHEELNAME=python_flint-0.6.0-cp$VER-cp$VER-win_amd64.whl

$PYTHON -c 'print("hello world")'

Expand Down Expand Up @@ -90,7 +90,7 @@ wheel pack python_flint-*
cd ..

# Make the wheel relocatable
delvewheel repair dist/python_flint-0.5.0-cp$VER-cp$VER-win_amd64.whl \
delvewheel repair dist/python_flint-0.6.0-cp$VER-cp$VER-win_amd64.whl \
--add-path .local/bin:.local/lib/

# Make a virtual enironment to test the wheel
Expand Down
3 changes: 3 additions & 0 deletions bin/coverage.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@ source bin/activate

export PYTHON_FLINT_COVERAGE=true

# Force a rebuild of everything with coverage tracing enabled:
# touch src/flint/flintlib/*

python setup.py build_ext --inplace

coverage run -m flint.test $@
Expand Down
4 changes: 2 additions & 2 deletions doc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,9 @@
# built documents.
#
# The short X.Y version.
version = '0.5.0'
version = '0.6.0'
# The full version, including alpha/beta/rc tags.
release = '0.5.0'
release = '0.6.0'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "python-flint"
description = "Bindings for FLINT and Arb"
version = "0.5.0"
version = "0.6.0"
urls = {Homepage = "https://github.com/flintlib/python-flint"}
authors = [
{name = "Fredrik Johansson", email = "[email protected]"},
Expand Down
2 changes: 1 addition & 1 deletion src/flint/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,4 @@
from .types.dirichlet import *
from .functions.showgood import good, showgood

__version__ = '0.5.0'
__version__ = '0.6.0'
2 changes: 1 addition & 1 deletion src/flint/test/test.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ def raises(f, exception):

def test_pyflint():

assert flint.__version__ == "0.5.0"
assert flint.__version__ == "0.6.0"

ctx = flint.ctx
assert str(ctx) == repr(ctx) == _default_ctx_string
Expand Down
Loading