Merge branch 'master' into attribute-types

This commit is contained in:
Michael Carlstrom 2024-12-15 16:03:44 -05:00 committed by GitHub
commit 048b539537
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 10 additions and 15 deletions

View File

@ -336,10 +336,6 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
clang:
- dev
std:
- 11
container_suffix: container_suffix:
- "" - ""
include: include:

View File

@ -103,7 +103,7 @@ jobs:
- uses: actions/download-artifact@v4 - uses: actions/download-artifact@v4
- name: Generate artifact attestation for sdist and wheel - name: Generate artifact attestation for sdist and wheel
uses: actions/attest-build-provenance@ef244123eb79f2f7a7e75d99086184180e6d0018 # v1.4.4 uses: actions/attest-build-provenance@c4fbc648846ca6f503a13a2281a5e7b98aa57202 # v2.0.1
with: with:
subject-path: "*/pybind11*" subject-path: "*/pybind11*"

View File

@ -25,14 +25,14 @@ repos:
# Clang format the codebase automatically # Clang format the codebase automatically
- repo: https://github.com/pre-commit/mirrors-clang-format - repo: https://github.com/pre-commit/mirrors-clang-format
rev: "v19.1.3" rev: "v19.1.4"
hooks: hooks:
- id: clang-format - id: clang-format
types_or: [c++, c, cuda] types_or: [c++, c, cuda]
# Ruff, the Python auto-correcting linter/formatter written in Rust # Ruff, the Python auto-correcting linter/formatter written in Rust
- repo: https://github.com/astral-sh/ruff-pre-commit - repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.7.2 rev: v0.8.1
hooks: hooks:
- id: ruff - id: ruff
args: ["--fix", "--show-fixes"] args: ["--fix", "--show-fixes"]
@ -93,7 +93,7 @@ repos:
# Avoid directional quotes # Avoid directional quotes
- repo: https://github.com/sirosen/texthooks - repo: https://github.com/sirosen/texthooks
rev: "0.6.7" rev: "0.6.8"
hooks: hooks:
- id: fix-ligatures - id: fix-ligatures
- id: fix-smartquotes - id: fix-smartquotes
@ -142,14 +142,14 @@ repos:
# PyLint has native support - not always usable, but works for us # PyLint has native support - not always usable, but works for us
- repo: https://github.com/PyCQA/pylint - repo: https://github.com/PyCQA/pylint
rev: "v3.3.1" rev: "v3.3.2"
hooks: hooks:
- id: pylint - id: pylint
files: ^pybind11 files: ^pybind11
# Check schemas on some of our YAML files # Check schemas on some of our YAML files
- repo: https://github.com/python-jsonschema/check-jsonschema - repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.29.4 rev: 0.30.0
hooks: hooks:
- id: check-readthedocs - id: check-readthedocs
- id: check-github-workflows - id: check-github-workflows

View File

@ -48,7 +48,7 @@ def generate_dummy_code_boost(nclasses=10):
decl += "\n" decl += "\n"
for cl in range(nclasses): for cl in range(nclasses):
decl += "class cl%03i {\n" % cl decl += f"class cl{cl:03} {{\n"
decl += "public:\n" decl += "public:\n"
bindings += f' py::class_<cl{cl:03}>("cl{cl:03}")\n' bindings += f' py::class_<cl{cl:03}>("cl{cl:03}")\n'
for fn in range(nfns): for fn in range(nfns):
@ -85,5 +85,5 @@ for codegen in [generate_dummy_code_pybind11, generate_dummy_code_boost]:
n2 = dt.datetime.now() n2 = dt.datetime.now()
elapsed = (n2 - n1).total_seconds() elapsed = (n2 - n1).total_seconds()
size = os.stat("test.so").st_size size = os.stat("test.so").st_size
print(" {%i, %f, %i}," % (nclasses * nfns, elapsed, size)) print(f" {{{nclasses * nfns}, {elapsed:.6f}, {size}}},")
print("}") print("}")

View File

@ -71,7 +71,6 @@ ignore = [
"PLR", # Design related pylint "PLR", # Design related pylint
"E501", # Line too long (Black is enough) "E501", # Line too long (Black is enough)
"PT011", # Too broad with raises in pytest "PT011", # Too broad with raises in pytest
"PT004", # Fixture that doesn't return needs underscore (no, it is fine)
"SIM118", # iter(x) is not always the same as iter(x.keys()) "SIM118", # iter(x) is not always the same as iter(x.keys())
] ]
unfixable = ["T20"] unfixable = ["T20"]

View File

@ -59,9 +59,9 @@ for issue in issues:
msg += "." msg += "."
msg += f"\n `#{issue.number} <{issue.html_url}>`_" msg += f"\n `#{issue.number} <{issue.html_url}>`_"
for cat in cats: for cat, cat_list in cats.items():
if issue.title.lower().startswith(f"{cat}:"): if issue.title.lower().startswith(f"{cat}:"):
cats[cat].append(msg) cat_list.append(msg)
break break
else: else:
cats["unknown"].append(msg) cats["unknown"].append(msg)