Skip to content

Commit

Permalink
[misc] Fix stub generation for Numpy>=2.X.
Browse files Browse the repository at this point in the history
  • Loading branch information
duburcqa committed Jan 27, 2025
1 parent 817059d commit 6e07842
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 32 deletions.
6 changes: 2 additions & 4 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -140,15 +140,13 @@ jobs:
if: matrix.BUILD_TYPE != 'Debug' && matrix.PYTHON_VERSION == '3.10'
run: |
# Generate stubs
# FIXME: stubgen does not work with Numpy 2.X
# FIXME: stubgen does not work with Numpy 2.X without option `--no-analysis`
# (see https://github.com/python/mypy/issues/17396)
"${PYTHON_EXECUTABLE}" -m pip install "numpy<2.0"
stubgen -p jiminy_py -o ${RootDir}/build/pypi/jiminy_py/src
stubgen -p jiminy_py -o ${RootDir}/build/pypi/jiminy_py/src --no-analysis
"${PYTHON_EXECUTABLE}" "${RootDir}/build_tools/stubgen.py" \
-o ${RootDir}/build/stubs --ignore-invalid=all jiminy_py
cp ${RootDir}/build/stubs/jiminy_py-stubs/core/__init__.pyi \
${RootDir}/build/pypi/jiminy_py/src/jiminy_py/core/core.pyi
"${PYTHON_EXECUTABLE}" -m pip install --upgrade "numpy>=1.24" numba torch
# Re-install jiminy with stubs
cd "${RootDir}/build"
Expand Down
21 changes: 8 additions & 13 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -142,20 +142,15 @@ jobs:
# Generate stubs
if [[ "${{ matrix.BUILD_TYPE }}" != 'Debug' && "${{ matrix.OS }}" != 'macos-13' ]] ; then
# FIXME: stubgen does not work with Numpy 2.X
# FIXME: stubgen does not work with Numpy 2.X without option `--no-analysis`
# (see https://github.com/python/mypy/issues/17396)
"${PYTHON_EXECUTABLE}" -m pip install "numpy<2.0"
stubgen -p jiminy_py -o ${RootDir}/build/pypi/jiminy_py/src
# FIXME: Python 3.10 and Python 3.11 crashes when generating stubs without any backtrace...
if [[ "${{ matrix.PYTHON_VERSION }}" != '3.10' && "${{ matrix.PYTHON_VERSION }}" != '3.11' ]] ; then
# lldb --batch -o "settings set target.process.stop-on-exec false" \
# -o "break set -n main" -o "run" -k "bt" -k "quit" -- \
"${PYTHON_EXECUTABLE}" "${RootDir}/build_tools/stubgen.py" \
-o ${RootDir}/build/stubs --ignore-invalid=all jiminy_py
cp ${RootDir}/build/stubs/jiminy_py-stubs/core/__init__.pyi \
${RootDir}/build/pypi/jiminy_py/src/jiminy_py/core/core.pyi
fi
"${PYTHON_EXECUTABLE}" -m pip install --upgrade "numpy>=1.24" numba torch
stubgen -p jiminy_py -o ${RootDir}/build/pypi/jiminy_py/src --no-analysis
# lldb --batch -o "settings set target.process.stop-on-exec false" \
# -o "break set -n main" -o "run" -k "bt" -k "quit" -- \
"${PYTHON_EXECUTABLE}" "${RootDir}/build_tools/stubgen.py" \
-o ${RootDir}/build/stubs --ignore-invalid=all jiminy_py
cp ${RootDir}/build/stubs/jiminy_py-stubs/core/__init__.pyi \
${RootDir}/build/pypi/jiminy_py/src/jiminy_py/core/core.pyi
fi
# Generate wheels
Expand Down
6 changes: 2 additions & 4 deletions .github/workflows/manylinux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -112,15 +112,13 @@ jobs:
export LD_LIBRARY_PATH="$InstallDir/lib:$InstallDir/lib64:/usr/local/lib"
# Generate stubs
# FIXME: stubgen does not work with Numpy 2.X
# FIXME: stubgen does not work with Numpy 2.X without option `--no-analysis`
# (see https://github.com/python/mypy/issues/17396)
"${PYTHON_EXECUTABLE}" -m pip install "numpy<2.0"
stubgen -p jiminy_py -o $RootDir/build/pypi/jiminy_py/src
stubgen -p jiminy_py -o $RootDir/build/pypi/jiminy_py/src --no-analysis
"${PYTHON_EXECUTABLE}" "$RootDir/build_tools/stubgen.py" \
-o $RootDir/build/stubs --ignore-invalid=all jiminy_py
\cp $RootDir/build/stubs/jiminy_py-stubs/core/__init__.pyi \
$RootDir/build/pypi/jiminy_py/src/jiminy_py/core/core.pyi
"${PYTHON_EXECUTABLE}" -m pip install --upgrade "numpy>=1.24" numba
# Generate wheels
cd "$RootDir/build"
Expand Down
18 changes: 7 additions & 11 deletions .github/workflows/win.yml
Original file line number Diff line number Diff line change
Expand Up @@ -123,17 +123,13 @@ jobs:
${env:Path} += ";$InstallDir/lib"
# Generate stubs
if ("${{ matrix.PYTHON_VERSION }}" -ne "3.13") {
# FIXME: stubgen does not work with Numpy 2.X
# (see https://github.com/python/mypy/issues/17396)
python -m pip install "numpy<2.0"
stubgen -p jiminy_py -o $RootDir/build/pypi/jiminy_py/src
python "$RootDir/build_tools/stubgen.py" `
-o $RootDir/build/stubs --ignore-invalid=all jiminy_py
Copy-Item -Force -Path "$RootDir/build/stubs/jiminy_py-stubs/core/__init__.pyi" `
-Destination "$RootDir/build/pypi/jiminy_py/src/jiminy_py/core/core.pyi"
python -m pip install --upgrade "numpy>=1.24" numba torch
}
# FIXME: stubgen does not work with Numpy 2.X without option `--no-analysis`
# (see https://github.com/python/mypy/issues/17396)
stubgen -p jiminy_py -o $RootDir/build/pypi/jiminy_py/src --no-analysis
python "$RootDir/build_tools/stubgen.py" `
-o $RootDir/build/stubs --ignore-invalid=all jiminy_py
Copy-Item -Force -Path "$RootDir/build/stubs/jiminy_py-stubs/core/__init__.pyi" `
-Destination "$RootDir/build/pypi/jiminy_py/src/jiminy_py/core/core.pyi"
# Generate wheels
Set-Location -Path "$RootDir/build"
Expand Down

0 comments on commit 6e07842

Please sign in to comment.