2670 Commits

Author SHA1 Message Date
Eisuke Kawashima ed1e5e9be0 feat(vector_indexing_suite): implement reverse boost-1.92.0.beta1 2026-07-05 22:36:02 -04:00
Eisuke Kawashima 30834f8871 feat(vector_indexing_suite): implement remove 2026-07-05 22:35:53 -04:00
Eisuke Kawashima 5762cb912f feat(vector_indexing_suite): implement count 2026-07-05 22:35:44 -04:00
Eisuke Kawashima c574084154 feat(indexing_suite): implement clear 2026-07-05 22:35:33 -04:00
Eisuke Kawashima d7ff719951 feat(vector_indexing_suite): implement __iadd__ 2026-07-05 22:35:25 -04:00
O01eg 99f58c9b28 Add support for multi-phase module initialization 2026-06-26 21:57:33 -04:00
Eisuke Kawashima 29a44809c1 refactor: use PyUnicode_AsUTF8 with Python 3.14+
_PyUnicode_AsString is deprecated since Python 3.14

https://docs.python.org/3.14/deprecations/index.html#id2

fix #512
2026-06-26 21:57:33 -04:00
Stephen G Tuggy 8c3199591d Fix Windows CI build. 2026-06-26 21:57:05 -04:00
Peter Dimov d42ade8771 Merge pull request #517 from sdarwin/docs4
Docs: adjust template to support Sphinx 9
2026-06-05 18:04:05 +03:00
Peter Dimov 105d64e889 Merge pull request #509 from Lastique/feature/remove_static_assert
Remove dependencies on Boost.StaticAssert
2026-04-25 23:05:24 +03:00
sdarwin e6917d9c58 Docs: adjust template to support Sphinx 9 2026-03-13 07:01:23 +01:00
Andrey Semashev 9c887a1331 Remove dependencies on Boost.StaticAssert.
Boost.StaticAssert has been merged into Boost.Config, so remove
the dependency.
2026-01-22 22:59:58 +03:00
Stefan Seefeld 32da86df26 Improve test coverage. 2025-12-02 08:53:09 -05:00
Neil Schemenauer e89f86b74f Update Linux CI scripts, more Python versions.
Update scripts to use actions/setup-python to install different Python
versions.  Add run-faber.sh and get-py-env.py scripts.  Add
test-ubuntu-py-ver.yml CI script to test with different Python versions.
2025-12-02 08:19:45 -05:00
Neil Schemenauer 5013564316 Add "nogil" option for BOOST_PYTHON_MODULE_INIT.
Implement optional arguments for BOOST_PYTHON_MODULE_INIT and allow the
boost::python::mod_gil_not_used() option.  This sets the
Py_MOD_GIL_NOT_USED flag for the extension module.

To define a module that supports free-threaded Python, define it
like this:

    BOOST_PYTHON_MODULE(my_module, boost::python::mod_gil_not_used())
    {
        ...
    }
2025-12-02 08:19:45 -05:00
Neil Schemenauer fc68878e02 Set the Py_MOD_GIL_NOT_USED flag on modules.
This indicates that the free-threaded build of Python can keep the
GIL disabled when the module is loaded.  Without this module flag,
importing the module will cause the GIL to be re-enabled.  A warning
is emitted if this happens.
2025-11-06 19:46:37 -08:00
Neil Schemenauer cfbefe893c Use re-entrant mutex to protect global state.
Add pymutex.hpp which implements a re-entrant mutex on top of Python's
PyMutex.  Add BOOST_PYTHON_LOCK_STATE() macro that uses RAII to lock
mutable global state as required.
2025-11-06 19:43:33 -08:00
Neil Schemenauer 6f5f3b6607 Add work-around to crash in ~object_base().
For the free-threaded build (and possibly the debug build), it is not
safe to call Py_DECREF() if there is no valid Python thread-state.
2025-11-06 19:42:41 -08:00
Neil Schemenauer cabb466057 Use strong reference APIs.
For the free-threaded build, it is not safe use borrowed references.
Another thread could deallocate the object and cause the reference to
become invalid.  Replace API calls that borrow references with strong
reference APIs.
2025-11-06 19:41:00 -08:00
Abhay Kumar 97402f7925 🐛 Fix broken link to Jamroot in example docs boost-1.91.0.beta1 boost-1.91.0 boost-1.90.0.beta1 boost-1.90.0 2025-11-03 10:14:34 -05:00
Anton Gladky 668bc7c106 Include missing header boost/type_traits/is_unsigned.hpp
During the Debian Packaging of new version it was found that
this header is missing during the rebuild with GCC-15.
2025-11-03 10:13:40 -05:00
Eisuke Kawashima 5f5f38fa8a fix: fix quotation 2025-11-03 09:30:32 -05:00
Stefan Seefeld cc873d9682 Fix documentation build error. 2025-11-03 08:40:38 -05:00
Stefan Seefeld 20de46cd0c Update faber 2025-11-03 08:40:38 -05:00
Stefan Seefeld 5d7b9a0648 Stop testing c++98 support 2025-11-03 08:40:38 -05:00
Tom Kent 608ec27c4d Updated to recent compilers/boost 2025-11-03 08:40:38 -05:00
Stefan Seefeld 7fd39323ac Don't rely on Py_REFCNT to test upcast. 2025-11-03 08:40:38 -05:00
Eisuke Kawashima 2b6f667e98 chore: remove meaningless comparison 2025-10-25 15:23:44 -04:00
Eisuke Kawashima aa458d2ca9 fix(test.properties): use doctest.ELLIPSIS for traceback
Since python 3.11 (PEP 657) traceback info is changed
fix #460
2025-10-25 15:22:21 -04:00
Eisuke Kawashima 16627261f1 fix(test.pickle): fix for change in the return value of object.__reduce__()
https://docs.python.org/3.11/library/pickle.html#object.__reduce__

fix #461
2025-10-25 14:14:07 -04:00
Stefan Seefeld 303299e677 log commands 2025-10-25 13:25:52 -04:00
Stefan Seefeld cb95b611bb Downgrade run-vcpkg dependency to avoid regression. 2025-10-25 13:25:52 -04:00
Eisuke Kawashima b4fb28e99a ci: update GitHub Actions 2025-10-23 22:14:55 -04:00
Stefan Seefeld 867f0dddfe Fix windows header path. 2025-10-23 22:08:00 -04:00
Aditya Pillai a40bb656ee Use Py_REFCNT instead of ob_refcnt on Python 3.9 and above 2025-10-23 19:38:05 -04:00
Eisuke Kawashima f604eb8d0f fix(test.numpy/ufunc): fix import error and value comparison 2025-04-02 08:21:09 -04:00
Eisuke Kawashima d30c1bb7a8 refactor: switch to python 3 2025-03-31 21:58:42 -04:00
Aditya Pillai 3e7be69e1e Conditionally use Py_REFCNT boost-1.89.0 boost-1.88.0 2025-03-10 15:10:12 -04:00
Aditya Pillai cbdf1ce2a1 Use Py_REFCNT instead of ->ob_refcnt
Py_REFCNT was stabilized in 3.9, uses this official API instead of the
`ob_refcnt` field that doesn't exist in the free-threaded build of 3.13.
2025-03-10 15:10:12 -04:00
Stefan Seefeld 4fe3403584 Make sure to pass C++ version to preprocessor as well. boost-1.88.0.beta1 2025-02-01 22:55:02 -05:00
Stefan Seefeld b1b43f1e1a Fix homebrew include path. 2025-02-01 22:55:02 -05:00
Peter Dimov 7b1960446b Merge pull request #470 from boostorg/pr/fix-iterator-detail
Replace use of boost/iterator/detail/enable_if.hpp
2025-02-01 19:35:16 +02:00
Peter Dimov 2dc5a92727 Replace use of boost/iterator/detail/enable_if.hpp 2025-01-28 02:27:49 +02:00
sdarwin 4fc3afa3ac Support newer version of Sphinx 2024-10-10 09:28:59 -04:00
Vitaly Buka ff0ae9b29d dynamic_cast before destructor
Call to the destructor ends lifetime of the object, including vptr
used by dynamic_cast.
boost-1.87.0.beta1 boost-1.87.0
2024-09-22 12:30:12 -04:00
Daniel Laügt b988d70207 Alignment fixes 2024-09-21 21:56:41 -04:00
Stefan Seefeld b3a28d7033 Use the expected return type. 2024-09-18 21:09:05 -04:00
Stefan Seefeld 3ea0cb8501 Upgrade CI platforms. 2024-09-18 21:09:05 -04:00
Jakob van Santen 95e53011d8 Conditionalize nested test for py2
__qualname__ didn't exist before python 3.3. Skip checks that depend on it if running in earlier Python versions
2024-09-18 10:36:45 -04:00
Jakob van Santen 301256cf1e Avoid setting __doc__ on instance methods 2024-09-18 10:36:45 -04:00