This repository contains a reference implementation of the Markowitz portfolio optimization problem discussed in the paper Markowitz Portfolio Construction at Seventy.
pybind11 now supports compiling for NumPy 2. Most code shouldn't change (see upgrade-guide-2.12 for details). However, if you experience issues you can define PYBIND11_NUMPY_1_ONLY to disable the new support for now, but this will be removed in the future. #5050
pybind11/gil_safe_call_once.h was added (it needs to be included explicitly). The primary use case is GIL-safe initialization of C++ static variables. #4877
Support move-only iterators in py::make_iterator, py::make_key_iterator, py::make_value_iterator. #4834
Two simple py::set_error() functions were added and the documentation was updated accordingly. In particular, py::exception<>::operator() was deprecated (use one of the new functions instead). The documentation for py::exception<> was further updated to not suggest code that may result in undefined behavior. #4772
Bug fixes:
Removes potential for Undefined Behavior during process teardown. #4897
Improve compatibility with the nvcc compiler (especially CUDA 12.1/12.2). #4893
pybind11/numpy.h now imports NumPy's multiarray and _internal submodules with paths depending on the installed version of NumPy (for compatibility with NumPy 2). #4857
Builtins collections names in docstrings are now consistently rendered in lowercase (list, set, dict, tuple), in accordance with PEP 585. #4833
pybind11 now supports compiling for
NumPy 2 <https://numpy.org/devdocs/numpy_2_0_migration_guide.html>. Most
code shouldn't change (see :ref:upgrade-guide-2.12 for details). However,
if you experience issues you can define PYBIND11_NUMPY_1_ONLY to disable
the new support for now, but this will be removed in the future.
[#5050](https://github.com/pybind/pybind11/issues/5050) <https://github.com/pybind/pybind11/pull/5050>
pybind11/gil_safe_call_once.h was added (it needs to be included
explicitly). The primary use case is GIL-safe initialization of C++
static variables.
[#4877](https://github.com/pybind/pybind11/issues/4877) <https://github.com/pybind/pybind11/pull/4877>_
Support move-only iterators in py::make_iterator,
py::make_key_iterator, py::make_value_iterator.
[#4834](https://github.com/pybind/pybind11/issues/4834) <https://github.com/pybind/pybind11/pull/4834>_
Two simple py::set_error() functions were added and the documentation was
updated accordingly. In particular, py::exception<>::operator() was
deprecated (use one of the new functions instead). The documentation for
py::exception<> was further updated to not suggest code that may result
in undefined behavior.
[#4772](https://github.com/pybind/pybind11/issues/4772) <https://github.com/pybind/pybind11/pull/4772>_
Bug fixes:
Removes potential for Undefined Behavior during process teardown.
[#4897](https://github.com/pybind/pybind11/issues/4897) <https://github.com/pybind/pybind11/pull/4897>_
Improve compatibility with the nvcc compiler (especially CUDA 12.1/12.2).
[#4893](https://github.com/pybind/pybind11/issues/4893) <https://github.com/pybind/pybind11/pull/4893>_
pybind11/numpy.h now imports NumPy's multiarray and _internal
submodules with paths depending on the installed version of NumPy (for
compatibility with NumPy 2).
[#4857](https://github.com/pybind/pybind11/issues/4857) <https://github.com/pybind/pybind11/pull/4857>_
Builtins collections names in docstrings are now consistently rendered in
lowercase (list, set, dict, tuple), in accordance with PEP 585.
[#4833](https://github.com/pybind/pybind11/issues/4833) <https://github.com/pybind/pybind11/pull/4833>_
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps pybind11 from 2.11.1 to 2.12.0.
Release notes
Sourced from pybind11's releases.
... (truncated)
Changelog
Sourced from pybind11's changelog.
... (truncated)
Commits
3e9dfa2
docs: a few missed changes for 2.12 (#5074)6b5674f
chore: prepare 2.12.0 (#5070)67c9c56
fix: fully qualify usages of concat to protect against ADL (#4955)0efff79
Bug fixes: Add missinghandle_type_name
specializations. (#5073)705efcc
feat: makenumpy.h
compatible with both NumPy 1.x and 2.x (#5050)e0f2c71
tests: hide warning on clang (#5069)65370f3
Create handle_type_name specialization to type-hint variable length tuples (#...ddb8b67
fix(cmake): allow forcing old FindPython (#5042)ec73bda
ci: skipping test for Windows Clang failure (#5062)8b48ff8
chore(deps): bump the actions group with 3 updates (#5024)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show