- 20 Oct, 2022 1 commit
-
-
Henry Schreiner authored
Signed-off-by:
Henry Schreiner <henryschreineriii@gmail.com> Signed-off-by:
Henry Schreiner <henryschreineriii@gmail.com>
-
- 09 Aug, 2022 1 commit
-
-
Eli Schwartz authored
* add installation support for pkg-config dependency detection pkg-config is a buildsystem-agnostic alternative to `pybind11Config.cmake` that can be used from build systems other than cmake. Fixes #230 * tests: add test for pkg config Signed-off-by:
Henry Schreiner <henryschreineriii@gmail.com> Co-authored-by:
Henry Schreiner <henryschreineriii@gmail.com>
-
- 12 Feb, 2022 1 commit
-
-
Henry Schreiner authored
* chore: drop Python 3.5 support * chore: more fstrings with flynt's help * ci: drop Python 3.5 * chore: bump dependency versions * docs: touch up py::args * tests: remove deprecation warning * Ban smartquotes * Very minor tweaks (by-product of reviewing PR #3719). Co-authored-by:
Aaron Gokaslan <skylion.aaron@gmail.com> Co-authored-by:
Ralf W. Grosse-Kunstleve <rwgk@google.com>
-
- 11 Feb, 2022 1 commit
-
-
Ralf W. Grosse-Kunstleve authored
* `#error BYE_BYE_GOLDEN_SNAKE` * Removing everything related to 2.7 from ci.yml * Commenting-out Centos7 * Removing `PYTHON: 27` from .appveyor.yml * "PY2" removal, mainly from tests. C++ code is not touched. * Systematic removal of `u` prefix from `u"..."` and `u'...'` literals. Collateral cleanup of a couple minor other things. * Cleaning up around case-insensitive hits for `[^a-z]py.*2` in tests/. * Removing obsolete Python 2 mention in compiling.rst * Proper `#error` for Python 2. * Using PY_VERSION_HEX to guard `#error "PYTHON 2 IS NO LONGER SUPPORTED.` * chore: bump pre-commit * style: run pre-commit for pyupgrade 3+ * tests: use sys.version_info, not PY * chore: more Python 2 removal * Uncommenting Centos7 block (PR #3691 showed that it is working again). * Update pre-commit hooks * Fix pre-commit hook * refactor: remove Python 2 from CMake * refactor: remove Python 2 from setup code * refactor: simplify, better static typing * feat: fail with nice messages * refactor: drop Python 2 C++ code * docs: cleanup for Python 3 * revert: intree revert: intree * docs: minor touchup to py2 statement Co-authored-by:
Henry Schreiner <henryschreineriii@gmail.com> Co-authored-by:
Aaron Gokaslan <skylion.aaron@gmail.com>
-
- 03 Feb, 2022 1 commit
-
-
Henry Schreiner authored
-
- 31 Jan, 2022 1 commit
-
-
Henry Schreiner authored
* fix: support conda-forge * Update setup.py * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci Co-authored-by:
pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
- 13 Aug, 2021 1 commit
-
-
Aaron Gokaslan authored
* Apply isort * Tweak isort config * Add env.py as a known_first_party * Add one missing known first party * Make config compat with older isort versions * Add another comment * Revert pyproject setting
-
- 29 Jul, 2021 1 commit
-
-
ka-bo authored
* Specified encoding in setup.py calls of open() * Fix for Python2 Co-authored-by:Karsten Bock <karsten.bock@dlr.de>
-
- 21 Jul, 2021 1 commit
-
-
ka-bo authored
* Specified encoding in setup.py calls of open() * Fix for Python2 Co-authored-by:Karsten Bock <karsten.bock@dlr.de>
-
- 15 Jul, 2021 1 commit
-
-
Ralf W. Grosse-Kunstleve authored
* Introducing PYBIND11_VERSION_HEX (better late than never!) * PYBIND11_VERSION_HEX consistency check in setup.py
-
- 17 Sep, 2020 1 commit
-
-
Henry Schreiner authored
* docs: read version from pybind11 file * docs: show full PEP 440 version everywhere
-
- 16 Sep, 2020 1 commit
-
-
Henry Schreiner authored
* feat: setup.py redesign and helpers * refactor: simpler design with two outputs * refactor: helper file update and Windows support * fix: review points from @YannickJadoul * refactor: fixes to naming and more docs * feat: more customization points * feat: add entry point pybind11-config * refactor: Try Extension-focused method * refactor: rename alt/inplace to global * fix: allow usage with git modules, better docs * feat: global as an extra (@YannickJadoul's suggestion) * feat: single version location * fix: remove the requirement that setuptools must be imported first * fix: some review points from @wjacob * fix: use .in, add procedure to docs * refactor: avoid monkeypatch copy * docs: minor typos corrected * fix: minor points from @YannickJadoul * fix: typo on Windows C++ mode * fix: MSVC 15 update 3+ have c++14 flag See <https://docs.microsoft.com/en-us/cpp/build/reference/std-specify-language-standard-version?view=vs-2019> * docs: discuss making SDists by hand * ci: use pep517.build instead of manual setup.py * refactor: more comments from @YannickJadoul * docs: updates from @ktbarrett * fix: change to newly recommended tool instead of pep517.build This was intended as a proof of concept; build seems to be the correct replacement. See https://github.com/pypa/pep517/pull/83 * docs: updates from @wjakob * refactor: dual version locations * docs: typo spotted by @wjakob
-
- 20 Jul, 2020 1 commit
-
-
Henry Schreiner authored
-
- 10 Jun, 2020 1 commit
-
-
Isuru Fernando authored
-
- 28 Nov, 2019 1 commit
-
-
Isuru Fernando authored
-
- 21 Jun, 2018 1 commit
-
-
Maciek Starzyk authored
-
- 23 Dec, 2017 1 commit
-
-
Elliott Sales de Andrade authored
-
- 06 Sep, 2017 1 commit
-
-
Dean Moldovan authored
-
- 25 Aug, 2017 1 commit
-
-
Henry Schreiner authored
-
- 24 Aug, 2017 1 commit
-
-
Dean Moldovan authored
The default `install_headers` from `distutils` flattens all the headers into a single directory -- `detail` subdirectory was lost. This commit fixes this by overriding the setup with a custom header installer. Tests are added to Travis to make sure `setup.py sdist` and `pip install` do not miss any headers and that the directory structure is preserved. [skip appveyor]
-
- 23 Aug, 2017 1 commit
-
-
Dean Moldovan authored
-
- 17 Aug, 2017 2 commits
-
-
Jason Rhinelander authored
This allows you to use: cls.def(py::init(&factory_function)); where `factory_function` returns a pointer, holder, or value of the class type (or a derived type). Various compile-time checks (static_asserts) are performed to ensure the function is valid, and various run-time type checks where necessary. Some other details of this feature: - The `py::init` name doesn't conflict with the templated no-argument `py::init<...>()`, but keeps the naming consistent: the existing templated, no-argument one wraps constructors, the no-template, function-argument one wraps factory functions. - If returning a CppClass (whether by value or pointer) when an CppAlias is required (i.e. python-side inheritance and a declared alias), a dynamic_cast to the alias is attempted (for the pointer version); if it fails, or if returned by value, an Alias(Class &&) constructor is invoked. If this constructor doesn't exist, a runtime error occurs. - for holder returns when an alias is required, we try a dynamic_cast of the wrapped pointer to the alias to see if it is already an alias instance; if it isn't, we raise an error. - `py::init(class_factory, alias_factory)` is also available that takes two factories: the first is called when an alias is not needed, the second when it is. - Reimplement factory instance clearing. The previous implementation failed under python-side multiple inheritance: *each* inherited type's factory init would clear the instance instead of only setting its own type value. The new implementation here clears just the relevant value pointer. - dealloc is updated to explicitly set the leftover value pointer to nullptr and the `holder_constructed` flag to false so that it can be used to clear preallocated value without needing to rebuild the instance internals data. - Added various tests to test out new allocation/deallocation code. - With preallocation now done lazily, init factory holders can completely avoid the extra overhead of needing an extra allocation/deallocation. - Updated documentation to make factory constructors the default advanced constructor style. - If an `__init__` is called a second time, we have two choices: we can throw away the first instance, replacing it with the second; or we can ignore the second call. The latter is slightly easier, so do that. -
Dean Moldovan authored
-
- 28 May, 2017 1 commit
-
-
Dean Moldovan authored
-
- 07 May, 2017 1 commit
-
-
Jason Rhinelander authored
-
- 23 Feb, 2017 1 commit
-
-
Dean Moldovan authored
Instead of creating a new unique metaclass for each type, the builtin `property` type is subclassed to support static properties. The new setter/getters always pass types instead of instances in their `self` argument. A metaclass is still required to support this behavior, but it doesn't store any data anymore, so a new one doesn't need to be created for each class. There is now only one common metaclass which is shared by all pybind11 types.
-
- 14 Feb, 2017 1 commit
-
-
Sylvain Corlay authored
* Add flag for installation of headers under python include directory * Allow the disabling of distutils install_headers
-
- 04 Jan, 2017 1 commit
-
-
Wenzel Jakob authored
-
- 01 Jan, 2017 1 commit
-
-
Wenzel Jakob authored
-
- 01 Dec, 2016 1 commit
-
-
Alessandro Bacchini authored
-
- 19 Aug, 2016 1 commit
-
-
Dean Moldovan authored
Use simple asserts and pytest's powerful introspection to make testing simpler. This merges the old .py/.ref file pairs into simple .py files where the expected values are right next to the code being tested. This commit does not touch the C++ part of the code and replicates the Python tests exactly like the old .ref-file-based approach.
-
- 16 May, 2016 1 commit
-
-
Wenzel Jakob authored
-
- 05 May, 2016 1 commit
-
-
Wenzel Jakob authored
-
- 18 Apr, 2016 1 commit
-
-
Wenzel Jakob authored
-
- 08 Mar, 2016 1 commit
-
-
Wenzel Jakob authored
-
- 01 Mar, 2016 1 commit
-
-
Wenzel Jakob authored
This reverts commit bee8f16d.
-
- 22 Feb, 2016 1 commit
-
-
Wenzel Jakob authored
-
- 20 Feb, 2016 2 commits
-
-
Wenzel Jakob authored
-
Johan Mabille authored
-
- 07 Feb, 2016 1 commit
-
-
Wenzel Jakob authored
-