Skip to content

DEPS: Bump Meson, lower pin Cython #62086

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

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
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
11 changes: 4 additions & 7 deletions .github/actions/build_pandas/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@ inputs:
editable:
description: Whether to build pandas in editable mode (default true)
default: true
werror:
description: Enable werror flag for build
default: true
runs:
using: composite
steps:
Expand All @@ -26,12 +23,12 @@ runs:
shell: bash -el {0}

- name: Build Pandas
# wno-error reason: https://github.com/cython/cython/issues/6870
run: |
if [[ ${{ inputs.editable }} == "true" ]]; then
pip install -e . --no-build-isolation -v --no-deps \
${{ inputs.werror == 'true' && '-Csetup-args="--werror"' || '' }}
EDITABLE="-e"
else
pip install . --no-build-isolation -v --no-deps \
${{ inputs.werror == 'true' && '-Csetup-args="--werror"' || '' }}
EDITABLE=""
fi
pip install $EDITABLE . --no-build-isolation -v --no-deps --config-settings=setup-args="-Werror" --config-settings=setup-args="-Wno-error=unused-parameter"
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@WillAyd any advice on how to pass -Werror -Wno-error=unused-parameter though meson(-python) during the build step? I was trying to follow https://mesonbuild.com/meson-python/how-to-guides/meson-args.html

Copy link
Member

@WillAyd WillAyd Aug 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You probably want to pass it as -Ccompile-args="-Wno-error=unused-parameter

The -C is short for --config-settings in relatively more modern versions of pip, so that cuts down on the verbosity. Also, the argument you are providing is something that the compiler will process, hence the change of setup-args to compile-args

However, I'd suggest just putting this directly in the Meson configuration rather than controlling via the pip frontend:

cc = meson.get_compiler('c')
add_project_arguments(
    cc.get_supported_arguments(['-Wno-error=unused-parameter']),
    language: 'c',
)

That will suppress it for end users who probably don't care about these warnings anyway, while also working cross-platform (i.e. it will be ignored with an MSVC toolchain)

shell: bash -el {0}
3 changes: 0 additions & 3 deletions .github/workflows/unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -160,9 +160,6 @@ jobs:
- name: Build Pandas
id: build
uses: ./.github/actions/build_pandas
with:
# xref https://github.com/cython/cython/issues/6870
werror: ${{ matrix.name != 'Freethreading' }}

- name: Test (not single_cpu)
uses: ./.github/actions/run-tests
Expand Down
6 changes: 3 additions & 3 deletions ci/deps/actions-311-minimum_versions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ dependencies:

# build dependencies
- versioneer
- cython<4.0.0a0
- meson=1.2.1
- meson-python=0.13.1
- cython>=3.1,<4.0.0a0
- meson>=1.6,<2
- meson-python>=0.17.1,<1

# test dependencies
- pytest>=7.3.2
Expand Down
6 changes: 3 additions & 3 deletions ci/deps/actions-311.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ dependencies:

# build dependencies
- versioneer
- cython<4.0.0a0
- meson=1.2.1
- meson-python=0.13.1
- cython>=3.1,<4.0.0a0
- meson>=1.6,<2
- meson-python>=0.17.1,<1

# test dependencies
- pytest>=7.3.2
Expand Down
6 changes: 3 additions & 3 deletions ci/deps/actions-312.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ dependencies:

# build dependencies
- versioneer
- cython<4.0.0a0
- meson=1.2.1
- meson-python=0.13.1
- cython>=3.1,<4.0.0a0
- meson>=1.6,<2
- meson-python>=0.17.1,<1

# test dependencies
- pytest>=7.3.2
Expand Down
6 changes: 3 additions & 3 deletions ci/deps/actions-313-downstream_compat.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ dependencies:

# build dependencies
- versioneer
- cython<4.0.0a0
- meson=1.2.1
- meson-python=0.13.1
- cython>=3.1,<4.0.0a0
- meson>=1.6,<2
- meson-python>=0.17.1,<1

# test dependencies
- pytest>=7.3.2
Expand Down
2 changes: 1 addition & 1 deletion ci/deps/actions-313-freethreading.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ dependencies:
# build dependencies
- setuptools
- versioneer
- cython<4.0.0a0
- cython>=3.1,<4.0.0a0
- meson=1.8.0
- meson-python=0.18.0

Expand Down
6 changes: 3 additions & 3 deletions ci/deps/actions-313-numpydev.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ dependencies:

# build dependencies
- versioneer
- meson=1.2.1
- meson-python=0.13.1
- cython<4.0.0a0
- meson>=1.6,<2
- meson-python>=0.17.1,<1
- cython>=3.1,<4.0.0a0

# test dependencies
- pytest>=7.3.2
Expand Down
6 changes: 3 additions & 3 deletions ci/deps/actions-313-pyarrownightly.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ dependencies:

# build dependencies
- versioneer
- meson=1.2.1
- cython<4.0.0a0
- meson-python=0.13.1
- meson>=1.6,<2
- cython>=3.1,<4.0.0a0
- meson-python>=0.17.1,<1

# test dependencies
- pytest>=7.3.2
Expand Down
6 changes: 3 additions & 3 deletions ci/deps/actions-313.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ dependencies:

# build dependencies
- versioneer
- cython<4.0.0a0
- meson=1.2.1
- meson-python=0.13.1
- cython>=3.1,<4.0.0a0
- meson>=1.6,<2
- meson-python>=0.17.1,<1

# test dependencies
- pytest>=7.3.2
Expand Down
6 changes: 3 additions & 3 deletions environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ dependencies:

# build dependencies
- versioneer
- cython<4.0.0a0
- meson=1.2.1
- meson-python=0.13.1
- cython>=3.1,<4.0.0a0
- meson>=1.6,<2
- meson-python>=0.17.1,<1

# test dependencies
- pytest>=7.3.2
Expand Down
6 changes: 3 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
# Minimum requirements for the build system to execute.
# See https://github.com/scipy/scipy/pull/12940 for the AIX issue.
requires = [
"meson-python>=0.13.1",
"meson>=1.2.1,<2",
"meson-python>=0.17.1,<1",
"meson>=1.6,<2",
"wheel",
"Cython<4.0.0a0", # Note: sync with setup.py, environment.yml and asv.conf.json
"Cython>=3.1,<4.0.0a0", # Note: sync with setup.py, environment.yml and asv.conf.json
# Force numpy higher than 2.0rc1, so that built wheels are compatible
# with both numpy 1 and 2
"numpy>=2.0.0rc1",
Expand Down
6 changes: 3 additions & 3 deletions requirements-dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@

pip
versioneer[toml]
cython<4.0.0a0
meson[ninja]==1.2.1
meson-python==0.13.1
cython>=3.1,<4.0.0a0
meson[ninja]>=1.6,<2
meson-python>=0.17.1,<1
pytest>=7.3.2
pytest-cov
pytest-xdist>=3.4.0
Expand Down
Loading