[issue45316] [C API] Functions not exported with PyAPI_FUNC()

2022-02-25 Thread Eric Snow


Eric Snow  added the comment:

Thanks for working on this, Victor.

--
nosy: +eric.snow

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45316] [C API] Functions not exported with PyAPI_FUNC()

2022-02-25 Thread STINNER Victor


STINNER Victor  added the comment:

Update: only two remaining functions are not exported by the public C API:

int PySignal_SetWakeupFd(int fd);
int _Py_CheckPython3(void);

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45316] [C API] Functions not exported with PyAPI_FUNC()

2022-02-25 Thread STINNER Victor


STINNER Victor  added the comment:


New changeset f780d9690f1a009a56ac0c653ec9608e6b2aeff4 by Victor Stinner in 
branch 'main':
bpo-45316: Move _PyArg_Fini() to internal C API (GH-31580)
https://github.com/python/cpython/commit/f780d9690f1a009a56ac0c653ec9608e6b2aeff4


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45316] [C API] Functions not exported with PyAPI_FUNC()

2022-02-25 Thread STINNER Victor


STINNER Victor  added the comment:


New changeset 8f2a337a80a283c66e1a4252839792fa229d2763 by Victor Stinner in 
branch 'main':
bpo-45316: Move private functions to internal C API (GH-31579)
https://github.com/python/cpython/commit/8f2a337a80a283c66e1a4252839792fa229d2763


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45316] [C API] Functions not exported with PyAPI_FUNC()

2022-02-25 Thread STINNER Victor


Change by STINNER Victor :


--
pull_requests: +29703
pull_request: https://github.com/python/cpython/pull/31580

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45316] [C API] Functions not exported with PyAPI_FUNC()

2022-02-25 Thread STINNER Victor


Change by STINNER Victor :


--
pull_requests: +29702
pull_request: https://github.com/python/cpython/pull/31579

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45316] [C API] Functions not exported with PyAPI_FUNC()

2022-02-25 Thread STINNER Victor


STINNER Victor  added the comment:


New changeset 8ddbdd9e96e64b42c87dcfe4e38383cf0694988a by Victor Stinner in 
branch 'main':
bpo-45316: Move private PyDict functions to internal C API (GH-31577)
https://github.com/python/cpython/commit/8ddbdd9e96e64b42c87dcfe4e38383cf0694988a


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45316] [C API] Functions not exported with PyAPI_FUNC()

2022-02-25 Thread STINNER Victor


STINNER Victor  added the comment:


New changeset 4a0c7a1aacd08cead7717479620e62359c828e88 by Victor Stinner in 
branch 'main':
bpo-45316: Move private PyCode C API to internal C API (GH-31576)
https://github.com/python/cpython/commit/4a0c7a1aacd08cead7717479620e62359c828e88


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45316] [C API] Functions not exported with PyAPI_FUNC()

2022-02-25 Thread STINNER Victor


Change by STINNER Victor :


--
pull_requests: +29699
pull_request: https://github.com/python/cpython/pull/31577

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45316] [C API] Functions not exported with PyAPI_FUNC()

2022-02-25 Thread STINNER Victor


Change by STINNER Victor :


--
keywords: +patch
pull_requests: +29698
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/31576

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45316] [C API] Functions not exported with PyAPI_FUNC()

2021-10-11 Thread STINNER Victor


STINNER Victor  added the comment:

See also bpo-45431: [C API] Rename CFrame or hide it to only export names 
starting with Py.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45316] [C API] Functions not exported with PyAPI_FUNC()

2021-10-06 Thread Hai Shi


Change by Hai Shi :


--
nosy: +shihai1991

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45316] [C API] Functions not exported with PyAPI_FUNC()

2021-09-29 Thread Dong-hee Na


Change by Dong-hee Na :


--
nosy: +corona10

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45316] [C API] Functions not exported with PyAPI_FUNC()

2021-09-29 Thread Mark Shannon


Mark Shannon  added the comment:

Regarding these three functions:

void PyLineTable_InitAddressRange(const char *linetable, Py_ssize_t length, int 
firstlineno, PyCodeAddressRange *range);
int PyLineTable_NextAddressRange(PyCodeAddressRange *range);
int PyLineTable_PreviousAddressRange(PyCodeAddressRange *range);

They are explicitly not part of the C API (limited or otherwise): 
https://www.python.org/dev/peps/pep-0626/#out-of-process-debuggers-and-profilers

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45316] [C API] Functions not exported with PyAPI_FUNC()

2021-09-29 Thread Pablo Galindo Salgado


Change by Pablo Galindo Salgado :


--
nosy: +Mark.Shannon

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45316] [C API] Functions not exported with PyAPI_FUNC()

2021-09-29 Thread Serhiy Storchaka


Serhiy Storchaka  added the comment:

Agree.

We should also review all recently added functions with PyAPI_FUNC(). If they 
are not intended to be public API, PyAPI_FUNC() should be removed and 
declarations moved.

--
nosy: +serhiy.storchaka

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45316] [C API] Functions not exported with PyAPI_FUNC()

2021-09-29 Thread STINNER Victor


New submission from STINNER Victor :

The Python C API contains multiple functions which are not exported with 
PyAPI_FUNC() and so are not usable.

Public functions:
---
void PyLineTable_InitAddressRange(const char *linetable, Py_ssize_t length, int 
firstlineno, PyCodeAddressRange *range);
int PyLineTable_NextAddressRange(PyCodeAddressRange *range);
int PyLineTable_PreviousAddressRange(PyCodeAddressRange *range);
---

=> Either make this functions private ("_Py" prefix) and move them to the 
internal C API, or add PyAPI_FUNC().


Private functions:
---
int _PyCode_InitAddressRange(PyCodeObject* co, PyCodeAddressRange *bounds);
int _PyCode_InitEndAddressRange(PyCodeObject* co, PyCodeAddressRange* bounds);

PyDictKeysObject *_PyDict_NewKeysForClass(void);
Py_ssize_t _PyDict_KeysSize(PyDictKeysObject *keys);
uint32_t _PyDictKeys_GetVersionForCurrentState(PyDictKeysObject *dictkeys);
Py_ssize_t _PyDictKeys_StringLookup(PyDictKeysObject* dictkeys, PyObject *key);

PyObject *_PyDict_Pop_KnownHash(PyObject *, PyObject *, Py_hash_t, PyObject *);
PyObject *_PyDict_FromKeys(PyObject *, PyObject *, PyObject *);
int _PyObjectDict_SetItem(PyTypeObject *tp, PyObject **dictptr, PyObject *name, 
PyObject *value);
PyObject *_PyDict_LoadGlobal(PyDictObject *, PyDictObject *, PyObject *);
Py_ssize_t _PyDict_GetItemHint(PyDictObject *, PyObject *, Py_ssize_t, PyObject 
**);

PyFrameObject* _PyFrame_New_NoTrack(struct _interpreter_frame *, int);
int PySignal_SetWakeupFd(int fd);
uint32_t _PyFunction_GetVersionForCurrentState(PyFunctionObject *func);
PyObject *_PyGen_yf(PyGenObject *);
PyObject *_PyCoro_GetAwaitableIter(PyObject *o);
PyObject *_PyAsyncGenValueWrapperNew(PyObject *);
void _PyArg_Fini(void);
int _Py_CheckPython3(void);
---

=> I suggest to move all these declarations to the internal C API.


Moreover, Include/moduleobject.h contains:
---
#ifdef Py_BUILD_CORE
extern int _PyModule_IsExtension(PyObject *obj);
#endif
---

IMO this declaration should be moved to the internal C API.


See also bpo-45201 about PySignal_SetWakeupFd().

--
components: C API
messages: 402827
nosy: vstinner
priority: normal
severity: normal
status: open
title: [C API] Functions not exported with PyAPI_FUNC()
versions: Python 3.11

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com