Skip to content

Commit 58e14a2

Browse files
Merge pull request #424 from oscarbenjamin/pr_flint34min
Make FLINT 3.4 the minimum supported version
2 parents 6708168 + b9a8839 commit 58e14a2

26 files changed

Lines changed: 247 additions & 753 deletions

.github/workflows/buildwheel.yml

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -155,14 +155,18 @@ jobs:
155155
update: true
156156

157157
# Install pkgconfig on Windows from choco rather than from msys and
158-
# avoid using the Strawberry one.
158+
# put its shim ahead of the Strawberry one on PATH.
159159
- if: ${{ startsWith( matrix.os , 'windows' ) }}
160-
run: choco install -y --stoponfirstfailure --checksum 6004DF17818F5A6DBF19CB335CC92702 pkgconfiglite
160+
name: Install pkg-config
161+
run: |
162+
choco install -y --stoponfirstfailure --checksum 6004DF17818F5A6DBF19CB335CC92702 pkgconfiglite
163+
echo "$env:ChocolateyInstall/bin" >> $env:GITHUB_PATH
161164
162-
# We have to set this here rather than in the cibuildwheel config
163-
# This is probably something to do with \ vs / in paths...
164165
- if: ${{ startsWith( matrix.os , 'windows' ) }}
166+
name: Configure pkg-config
165167
run: |
168+
Get-Command pkg-config
169+
pkg-config --version
166170
$pkgConfigPath = "$env:GITHUB_WORKSPACE/.local/lib/pkgconfig"
167171
$pkgConfigPath = $pkgConfigPath.Replace('\', '/')
168172
echo "PKG_CONFIG_PATH=$pkgConfigPath" >> $env:GITHUB_ENV
@@ -300,7 +304,7 @@ jobs:
300304
strategy:
301305
fail-fast: false
302306
matrix:
303-
os: [ubuntu-24.04]
307+
os: [ubuntu-26.04]
304308
steps:
305309
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
306310
with:
@@ -332,7 +336,7 @@ jobs:
332336
# Test build with minimum Cython and meson-python versions.
333337
test_old_build_requires:
334338
name: 'Test old Cython/meson-python'
335-
runs-on: ubuntu-24.04
339+
runs-on: ubuntu-26.04
336340
steps:
337341
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
338342
with:
@@ -353,7 +357,7 @@ jobs:
353357
- run: pip install --no-build-isolation .
354358
- run: python -m flint.test --verbose
355359

356-
# For older Ubuntu we have to build Flint >= 3.0.0
360+
# Build and test against each supported FLINT release.
357361
test_flint_releases:
358362
name: Test flint ${{ matrix.flint-tag }}
359363
runs-on: ubuntu-22.04
@@ -362,11 +366,9 @@ jobs:
362366
matrix:
363367
# Supported Flint versions:
364368
flint-tag: [
365-
'v3.0.1',
366-
'v3.2.2',
367-
'v3.3.1',
368369
'v3.4.0',
369370
'v3.5.0',
371+
'v3.6.0',
370372
]
371373
steps:
372374
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
@@ -416,7 +418,7 @@ jobs:
416418
# Test that we can make a coverage build and report coverage
417419
test_coverage_build_setuptools:
418420
name: Test coverage setuptools build
419-
runs-on: ubuntu-24.04
421+
runs-on: ubuntu-26.04
420422
steps:
421423
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
422424
with:
@@ -432,7 +434,7 @@ jobs:
432434
# Test that we can make a coverage build and report coverage
433435
test_coverage_build_meson:
434436
name: Test coverage meson build
435-
runs-on: ubuntu-24.04
437+
runs-on: ubuntu-26.04
436438
steps:
437439
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
438440
with:
@@ -448,7 +450,7 @@ jobs:
448450
# Run SymPy test suite against python-flint master
449451
test_sympy:
450452
name: Test SymPy ${{ matrix.sympy-version }}
451-
runs-on: ubuntu-24.04
453+
runs-on: ubuntu-26.04
452454
strategy:
453455
fail-fast: false
454456
matrix:
@@ -472,7 +474,7 @@ jobs:
472474
# Run SymPy master branch agains python-flint main
473475
test_sympy_master:
474476
name: Test SymPy master
475-
runs-on: ubuntu-24.04
477+
runs-on: ubuntu-26.04
476478
steps:
477479
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
478480
with:

README.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,10 @@ Build from source
3737
-----------------
3838

3939
For other platforms or architectures installation needs to build from source.
40-
First install FLINT 3. Starting with python-flint 0.5.0 older versions of Flint
41-
such as 2.9 are not supported any more. Note that as of Flint 3 Arb no longer
42-
needs to be built separately as it is now merged into Flint.
40+
First install FLINT 3.4 or newer. Note that as of Flint 3 Arb no longer needs
41+
to be built separately as it is now merged into Flint.
4342

44-
As of e.g. Ubuntu 24.04 a new enough version of FLINT (at least version 3) can
43+
As of e.g. Ubuntu 26.04 a new enough version of FLINT (at least version 3.4) can
4544
be installed from the Ubuntu repos like
4645

4746
sudo apt-get install libflint-dev
@@ -136,15 +135,14 @@ Compatibility table
136135
-------------------
137136

138137
Generally each release of python-flint will be compatible with a range of
139-
Python versions. Since python-flint 0.5.0 the minimum supported Flint version
140-
is `3.0` and each release of python-flint supports all versions of Flint
141-
`>=3.0` available at the time of release.
138+
Python and FLINT versions. The supported range for each release is shown
139+
below.
142140

143141
Compatible versions:
144142

145143
| python-flint | Release date | CPython | FLINT | Cython |
146144
|--------------|---------------|-------------|------------|------------------|
147-
| `0.10.0` | Not released | `3.10-3.15` | `3.0-3.6` | `3.1-3.3` |
145+
| `0.10.0` | Not released | `3.10-3.15` | `3.4-3.6` | `3.1-3.3` |
148146
| `0.9.0` | 3rd Jul 2026 | `3.10-3.14` | `3.0-3.6` | `3.1-3.2` |
149147
| `0.8.0` | 29th Aug 2025 | `3.11-3.14` | `3.0-3.3` | `3.1` only |
150148
| `0.7.0` | 16th Mar 2025 | `3.11-3.13` | `3.0-3.2` | `3.0.11-3.1.0a1` |
@@ -174,6 +172,9 @@ Contributors (0.10.0):
174172

175173
Changes (0.10.0):
176174

175+
- [gh-424](https://github.com/flintlib/python-flint/pull/424),
176+
Drop support for FLINT versions older than 3.4.0 and remove the associated
177+
compatibility code. (OB)
177178
- [gh-421](https://github.com/flintlib/python-flint/pull/421),
178179
Add `zpoly` and `zcontent` methods to `fmpq_mpoly`, to get
179180
the primitive integer polynomial and the `fmpq` content, which

0 commit comments

Comments
 (0)