https://github.com/python/cpython/commit/579acf45629fa0b7787ec78fa4049fc6a6388b71
commit: 579acf45629fa0b7787ec78fa4049fc6a6388b71
branch: main
author: Nicolas Trangez <[email protected]>
committer: ZeroIntensity <[email protected]>
date: 2025-06-28T09:01:41-04:00
summary:

gh-76595: Add note on `PyCapsule_Import` behavior (GH-134022)

files:
M Doc/c-api/capsule.rst

diff --git a/Doc/c-api/capsule.rst b/Doc/c-api/capsule.rst
index cdb8aa33e9fd32..64dc4f5275b512 100644
--- a/Doc/c-api/capsule.rst
+++ b/Doc/c-api/capsule.rst
@@ -105,9 +105,19 @@ Refer to :ref:`using-capsules` for more information on 
using these objects.
    ``module.attribute``.  The *name* stored in the capsule must match this
    string exactly.
 
+   This function splits *name* on the ``.`` character, and imports the first
+   element. It then processes further elements using attribute lookups.
+
    Return the capsule's internal *pointer* on success.  On failure, set an
    exception and return ``NULL``.
 
+   .. note::
+
+      If *name* points to an attribute of some submodule or subpackage, this
+      submodule or subpackage must be previously imported using other means
+      (for example, by using :c:func:`PyImport_ImportModule`) for the
+      attribute lookups to succeed.
+
    .. versionchanged:: 3.3
       *no_block* has no effect anymore.
 

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to