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

Merge 'upstream/master' (76b7f53) #67

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
e85696e
Post release version bump (#4747)
Jul 14, 2023
0620d71
Update README.rst - Add missing comma in the list of acknowlegements …
bzaar Jul 15, 2023
ec1b57c
Disable `PYBIND11_ASSERT_GIL_HELD_INCREF_DECREF` generally for PyPy (…
Jul 15, 2023
99131a8
Provide `PYBIND11_NO_ASSERT_GIL_HELD_INCREF_DECREF` as an option (#4753)
EthanSteinberg Jul 17, 2023
8d08dc6
Copy v2.11.1 changelog section as released. (#4755)
Jul 17, 2023
f3e0602
Add command to check for vX.Y.Z tag vs pybind11/_version.py consisten…
Jul 23, 2023
17b6143
clang 17 compatibility fixes (#4767)
Aug 3, 2023
413e632
chore(deps): update pre-commit hooks (#4770)
pre-commit-ci[bot] Aug 4, 2023
9ad7e82
docs: Remove upper bound on pybind11 in example pyproject.toml for se…
ketozhang Aug 4, 2023
f870315
Provide better type hints for a variety of generic types (#4259)
virtuald Aug 4, 2023
824dc27
CI: Reenable an NVHPC Test (#4764)
ax3l Aug 4, 2023
690a115
Add `py::set_error()`, use in updated `py::exception<>` documentation…
Aug 8, 2023
4bf60c6
Disable strip when build type is unset (#4454) (#4780)
tttapa Aug 8, 2023
9039e6a
chore: use 2x faster black mirror (#4784)
henryiii Aug 10, 2023
add281a
Migrate to readthedocs configuration file v2¶ (#4789)
Aug 15, 2023
80bcd21
[ci skip] Adopt nanobind config. (#4792)
Aug 15, 2023
f47ff32
Fix grammar in functions.rst (#4791)
kenjitoyama Aug 15, 2023
b9359ce
Remove newlines from docstring signature (#4735)
JeanElsner Aug 15, 2023
76b8858
fix: Different MSVC versions may be ABI incompatible, guard with _MSC…
pwuertz Aug 23, 2023
1adac5a
`PYBIND11_INTERNALS_VERSION` bump for MSVC, piggy-backed on PR #4779.…
Aug 30, 2023
e705fb5
Fix enum's `__str__` docstring (#4827)
sizmailov Aug 30, 2023
db412e6
fix: Render `py::function` as `Callable` (#4829)
sizmailov Aug 31, 2023
c9638a1
Help Coverty avoid generating a false positive. (#4817)
Sep 1, 2023
467fe27
chore(deps): update pre-commit hooks (#4838)
pre-commit-ci[bot] Sep 6, 2023
4a2f7e4
chore(deps): bump actions/checkout from 1 to 4 (#4836)
dependabot[bot] Sep 6, 2023
c836059
feature: Support move-only iterators in `py::make_*iterator` (#4834)
sizmailov Sep 7, 2023
c9149d9
fix: Use lowercase builtin collection names (#4833)
sizmailov Sep 12, 2023
b457367
Update render for buffer sequence and handle (#4831)
sizmailov Sep 12, 2023
8c7b8dd
fix: Missing typed variants of `iterator` and `iterable` (#4832)
sizmailov Sep 12, 2023
d06d536
Fix small bug introduced with PR #4735 (#4845)
Sep 14, 2023
4fb111b
fix(cmake): correctly detect FindPython policy and better warning (#4…
henryiii Sep 15, 2023
5891867
fix(cmake): support DEBUG_POSTFIX correctly (#4761)
lpapp-foundry Sep 15, 2023
7e5edbc
Avoid copy in iteration by using const auto & (#4861)
oleksandr-pavlyk Sep 25, 2023
f468b07
Add 2 missing `throw error_already_set();` (#4863)
Sep 27, 2023
0a756c0
MAINT: Include `numpy._core` imports (#4857)
mtsokol Sep 27, 2023
dd64df7
MAINT: Remove np.int_ (#4867)
mtsokol Oct 3, 2023
2b2e4ca
chore(deps): update pre-commit hooks (#4868)
pre-commit-ci[bot] Oct 3, 2023
6c77208
chore(deps): bump seanmiddleditch/gha-setup-ninja from 3 to 4 (#4875)
dependabot[bot] Oct 6, 2023
0e2c3e5
Add pybind11/gil_safe_call_once.h (to fix deadlocks in pybind11/numpy…
Oct 12, 2023
0cbd92b
Update pytest to version 7.2.0 (which removes their dependency on py)…
pablospe Oct 16, 2023
74439a6
feature: Use typed iterators in `make_*iterator` (#4876)
sizmailov Oct 17, 2023
7969049
Comment out failing job, with link to #4889 (#4890)
Oct 20, 2023
3414c56
Workaround NVCC parse failure in `cast_op` (#4893)
Flamefire Oct 21, 2023
bf88e29
Bug fix: Replace bare `static exception<T>` with `gil_safe_call_once_…
Oct 23, 2023
fa27d2f
Adapt to changed function name in Python 3.13 (#4902)
ellert Oct 24, 2023
1e28599
fix: Add missing spaces to error string (#4906)
chunyang Oct 27, 2023
3aece81
chore: update hooks and Ruff config (#4904)
henryiii Oct 27, 2023
a18c10f
fix(cmake): make library component optional (#4805)
henryiii Oct 27, 2023
76b7f53
Python_ADDITIONAL_VERSIONS: 3.12 (#4909)
ax3l Nov 1, 2023
17cb2bf
Merge remote-tracking branch 'upstream/master' into feature-update
EricCousineau-TRI Nov 2, 2023
78806df
[numpy] Fix constexpr auto name for dtype=object
EricCousineau-TRI Nov 2, 2023
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/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ The valid options are:
* Use `-G` and the name of a generator to use something different. `cmake
--help` lists the generators available.
- On Unix, setting `CMAKE_GENERATER=Ninja` in your environment will give
you automatic mulithreading on all your CMake projects!
you automatic multithreading on all your CMake projects!
* Open the `CMakeLists.txt` with QtCreator to generate for that IDE.
* You can use `-DCMAKE_EXPORT_COMPILE_COMMANDS=ON` to generate the `.json` file
that some tools expect.
Expand Down
132 changes: 70 additions & 62 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ jobs:
runs-on: ${{ matrix.runs-on }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Setup Python ${{ matrix.python }}
uses: actions/setup-python@v4
Expand Down Expand Up @@ -196,17 +196,18 @@ jobs:
# matrix:
# include:
# # TODO: Fails on 3.10, investigate
# - python-version: "3.9"
# python-debug: true
# valgrind: true
# # JOB DISABLED (NEEDS WORK): https://github.com/pybind/pybind11/issues/4889
# - python-version: "3.9"
# # python-debug: true
# # valgrind: true
# - python-version: "3.11"
# python-debug: false

# name: "🐍 ${{ matrix.python-version }}${{ matrix.python-debug && '-dbg' || '' }} (deadsnakes)${{ matrix.valgrind && ' • Valgrind' || '' }} • x64"
# runs-on: ubuntu-20.04

# steps:
# - uses: actions/checkout@v3
# - uses: actions/checkout@v4

# - name: Setup Python ${{ matrix.python-version }} (deadsnakes)
# uses: deadsnakes/[email protected]
Expand Down Expand Up @@ -305,12 +306,15 @@ jobs:
- clang: 15
std: 20
container_suffix: "-bullseye"
- clang: 16
std: 20
container_suffix: "-bullseye"

name: "🐍 3 • Clang ${{ matrix.clang }} • C++${{ matrix.std }} • x64"
container: "silkeh/clang:${{ matrix.clang }}${{ matrix.container_suffix }}"

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Add wget and python3
run: apt-get update && apt-get install -y python3-dev python3-numpy python3-pytest libeigen3-dev
Expand Down Expand Up @@ -344,7 +348,7 @@ jobs:
# container: nvidia/cuda:12.2.0-devel-ubuntu22.04

# steps:
# - uses: actions/checkout@v3
# - uses: actions/checkout@v4

# # tzdata will try to ask for the timezone, so set the DEBIAN_FRONTEND
# - name: Install 🐍 3
Expand All @@ -368,7 +372,7 @@ jobs:
# container: centos:8
#
# steps:
# - uses: actions/checkout@v3
# - uses: actions/checkout@v4
#
# - name: Add Python 3 and a few requirements
# run: yum update -y && yum install -y git python3-devel python3-numpy python3-pytest make environment-modules
Expand Down Expand Up @@ -404,58 +408,55 @@ jobs:
# run: cmake --build build --target test_cmake_build


# # Testing on CentOS 7 + PGI compilers, which seems to require more workarounds
# centos-nvhpc7:
# if: ${{ false }} # JOB DISABLED (NEEDS WORK): https://github.com/pybind/pybind11/issues/4690
# runs-on: ubuntu-latest
# name: "🐍 3 • CentOS7 / PGI 22.9 • x64"
# container: centos:7
# # Testing on Ubuntu + NVHPC (previous PGI) compilers, which seems to require more workarounds
# ubuntu-nvhpc7:
# runs-on: ubuntu-20.04
# name: "🐍 3 • NVHPC 23.5 • C++17 • x64"

# env:
# # tzdata will try to ask for the timezone, so set the DEBIAN_FRONTEND
# DEBIAN_FRONTEND: 'noninteractive'
# steps:
# - uses: actions/checkout@v3
# - uses: actions/checkout@v4

# - name: Add Python 3 and a few requirements
# run: yum update -y && yum install -y epel-release && yum install -y git python3-devel make environment-modules cmake3 yum-utils

# - name: Install NVidia HPC SDK
# run: yum-config-manager --add-repo https://developer.download.nvidia.com/hpc-sdk/rhel/nvhpc.repo && yum -y install nvhpc-22.9

# # On CentOS 7, we have to filter a few tests (compiler internal error)
# # and allow deeper template recursion (not needed on CentOS 8 with a newer
# # standard library). On some systems, you many need further workarounds:
# # https://github.com/pybind/pybind11/pull/2475
# - name: Configure
# shell: bash
# run: |
# source /etc/profile.d/modules.sh
# module load /opt/nvidia/hpc_sdk/modulefiles/nvhpc/22.9
# cmake3 -S . -B build -DDOWNLOAD_CATCH=ON \
# -DCMAKE_CXX_STANDARD=11 \
# -DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)") \
# -DCMAKE_CXX_FLAGS="-Wc,--pending_instantiations=0" \
# -DPYBIND11_TEST_FILTER="test_smart_ptr.cpp"

# # Building before installing Pip should produce a warning but not an error
# - name: Build
# run: cmake3 --build build -j 2 --verbosedf

# # Building before installing Pip should produce a warning but not an error
# - name: Build
# run: cmake3 --build build -j 2 --verbose
# - name: Add NVHPC Repo
# run: |
# echo 'deb [trusted=yes] https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64 /' | \
# sudo tee /etc/apt/sources.list.d/nvhpc.list

# - name: Install CMake with pip
# - name: Install 🐍 3 & NVHPC
# run: |
# sudo apt-get update -y && \
# sudo apt-get install -y cmake environment-modules git python3-dev python3-pip python3-numpy && \
# sudo apt-get install -y --no-install-recommends nvhpc-23-5 && \
# sudo rm -rf /var/lib/apt/lists/*
# python3 -m pip install --upgrade pip
# python3 -m pip install pytest
# python3 -m pip install --upgrade pytest

# # On some systems, you many need further workarounds:
# # https://github.com/pybind/pybind11/pull/2475
# - name: Configure
# shell: bash
# run: |
# source /etc/profile.d/modules.sh
# module load /opt/nvidia/hpc_sdk/modulefiles/nvhpc/23.5
# cmake -S . -B build -DDOWNLOAD_CATCH=ON \
# -DCMAKE_CXX_STANDARD=17 \
# -DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)") \
# -DCMAKE_CXX_FLAGS="-Wc,--pending_instantiations=0" \
# -DPYBIND11_TEST_FILTER="test_smart_ptr.cpp"

# - name: Build
# run: cmake --build build -j 2 --verbose

# - name: Python tests
# run: cmake3 --build build --target pytest
# run: cmake --build build --target pytest

# - name: C++ tests
# run: cmake3 --build build --target cpptest
# run: cmake --build build --target cpptest

# - name: Interface test
# run: cmake3 --build build --target test_cmake_build
# run: cmake --build build --target test_cmake_build


# Testing on GCC using the GCC docker images (only recent images supported)
Expand All @@ -472,12 +473,13 @@ jobs:
- { gcc: 10, std: 17 }
- { gcc: 11, std: 20 }
- { gcc: 12, std: 20 }
- { gcc: 13, std: 20 }

name: "🐍 3 • GCC ${{ matrix.gcc }} • C++${{ matrix.std }}• x64"
container: "gcc:${{ matrix.gcc }}"

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Add Python 3
run: apt-get update; apt-get install -y python3-dev python3-numpy python3-pytest python3-pip libeigen3-dev
Expand Down Expand Up @@ -537,7 +539,7 @@ jobs:
# name: "🐍 3 • ICC latest • x64"

# steps:
# - uses: actions/checkout@v3
# - uses: actions/checkout@v4

# - name: Add apt repo
# run: |
Expand Down Expand Up @@ -640,8 +642,14 @@ jobs:
# name: "🐍 3 • ${{ matrix.container }} • x64"
# container: "${{ matrix.container }}"

# steps:
# - uses: actions/checkout@v3
# steps:
# - name: Latest actions/checkout
# uses: actions/checkout@v4
# if: matrix.container != 'centos:7'

# - name: Pin actions/checkout as required for centos:7
# uses: actions/checkout@v3
# if: matrix.container == 'centos:7'

# - name: Add Python 3 (RHEL 7)
# if: matrix.container == 'centos:7'
Expand Down Expand Up @@ -688,8 +696,8 @@ jobs:
# runs-on: ubuntu-latest
# container: i386/debian:buster

# steps:
# - uses: actions/checkout@v1 # Required to run inside docker
# steps:
# - uses: actions/checkout@v1 # Required to run inside docker

# - name: Install requirements
# run: |
Expand Down Expand Up @@ -732,7 +740,7 @@ jobs:
# runs-on: ubuntu-latest

# steps:
# - uses: actions/checkout@v3
# - uses: actions/checkout@v4

# - uses: actions/setup-python@v4
# with:
Expand Down Expand Up @@ -786,7 +794,7 @@ jobs:
# runs-on: windows-2019

# steps:
# - uses: actions/checkout@v3
# - uses: actions/checkout@v4

# - name: Setup Python ${{ matrix.python }}
# uses: actions/setup-python@v4
Expand Down Expand Up @@ -839,7 +847,7 @@ jobs:
# runs-on: windows-2019

# steps:
# - uses: actions/checkout@v3
# - uses: actions/checkout@v4

# - name: Setup Python ${{ matrix.python }}
# uses: actions/setup-python@v4
Expand Down Expand Up @@ -887,7 +895,7 @@ jobs:
# runs-on: windows-2022

# steps:
# - uses: actions/checkout@v3
# - uses: actions/checkout@v4

# - name: Setup Python ${{ matrix.python }}
# uses: actions/setup-python@v4
Expand Down Expand Up @@ -966,7 +974,7 @@ jobs:
# mingw-w64-${{matrix.env}}-boost
# mingw-w64-${{matrix.env}}-catch

# - uses: actions/checkout@v3
# - uses: actions/checkout@v4

# - name: Configure C++11
# # LTO leads to many undefined reference like
Expand Down Expand Up @@ -1037,7 +1045,7 @@ jobs:
# run: env

# - name: Checkout
# uses: actions/checkout@v3
# uses: actions/checkout@v4

# - name: Set up Clang
# uses: egor-tensin/setup-clang@v1
Expand All @@ -1051,7 +1059,7 @@ jobs:
# uses: jwlawson/[email protected]

# - name: Install ninja-build tool
# uses: seanmiddleditch/gha-setup-ninja@v3
# uses: seanmiddleditch/gha-setup-ninja@v4

# - name: Run pip installs
# run: |
Expand Down Expand Up @@ -1106,7 +1114,7 @@ jobs:
run: env

- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Show Clang++ version before brew install llvm
run: clang++ --version
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/configure.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
runs-on: ${{ matrix.runs-on }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Setup Python 3.7
uses: actions/setup-python@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/upstream.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
if: "contains(github.event.pull_request.labels.*.name, 'python dev')"

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Setup Python 3.12
uses: actions/setup-python@v4
Expand Down
Loading