aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/tools/python3
diff options
context:
space:
mode:
authorAlexander Smirnov <alex@ydb.tech>2024-10-07 15:49:08 +0000
committerAlexander Smirnov <alex@ydb.tech>2024-10-07 15:49:08 +0000
commit6e4a5b7ec90b12f50ed6af6bb3bbd214d4aaaa35 (patch)
tree7bd4c53a7df4f129e96c095353cc73944f6f5971 /contrib/tools/python3
parenta91cf35875165a1e7b20cb79925892e304c7b911 (diff)
parent1c145de846055758e1cf1a78a53d9b06ecf4e697 (diff)
downloadydb-6e4a5b7ec90b12f50ed6af6bb3bbd214d4aaaa35.tar.gz
Merge branch 'rightlib' into mergelibs-241007-1548
Diffstat (limited to 'contrib/tools/python3')
-rw-r--r--contrib/tools/python3/Include/README.rst14
-rw-r--r--contrib/tools/python3/Objects/stringlib/README.txt40
-rw-r--r--contrib/tools/python3/Programs/README1
3 files changed, 55 insertions, 0 deletions
diff --git a/contrib/tools/python3/Include/README.rst b/contrib/tools/python3/Include/README.rst
new file mode 100644
index 0000000000..531f09692f
--- /dev/null
+++ b/contrib/tools/python3/Include/README.rst
@@ -0,0 +1,14 @@
+The Python C API
+================
+
+The C API is divided into these sections:
+
+1. ``Include/``: Limited API
+2. ``Include/cpython/``: CPython implementation details
+3. ``Include/cpython/``, names with the ``PyUnstable_`` prefix: API that can
+ change between minor releases
+4. ``Include/internal/``, and any name with ``_`` prefix: The internal API
+
+Information on changing the C API is available `in the developer guide`_
+
+.. _in the developer guide: https://devguide.python.org/c-api/
diff --git a/contrib/tools/python3/Objects/stringlib/README.txt b/contrib/tools/python3/Objects/stringlib/README.txt
new file mode 100644
index 0000000000..e1e329290a
--- /dev/null
+++ b/contrib/tools/python3/Objects/stringlib/README.txt
@@ -0,0 +1,40 @@
+bits shared by the bytesobject and unicodeobject implementations (and
+possibly other modules, in a not too distant future).
+
+the stuff in here is included into relevant places; see the individual
+source files for details.
+
+--------------------------------------------------------------------
+the following defines used by the different modules:
+
+STRINGLIB_CHAR
+
+ the type used to hold a character (char or Py_UNICODE)
+
+STRINGLIB_GET_EMPTY()
+
+ returns a PyObject representing the empty string, only to be used if
+ STRINGLIB_MUTABLE is 0. It must not be NULL.
+
+Py_ssize_t STRINGLIB_LEN(PyObject*)
+
+ returns the length of the given string object (which must be of the
+ right type)
+
+PyObject* STRINGLIB_NEW(STRINGLIB_CHAR*, Py_ssize_t)
+
+ creates a new string object
+
+STRINGLIB_CHAR* STRINGLIB_STR(PyObject*)
+
+ returns the pointer to the character data for the given string
+ object (which must be of the right type)
+
+int STRINGLIB_CHECK_EXACT(PyObject *)
+
+ returns true if the object is an instance of our type, not a subclass
+
+STRINGLIB_MUTABLE
+
+ must be 0 or 1 to tell the cpp macros in stringlib code if the object
+ being operated on is mutable or not
diff --git a/contrib/tools/python3/Programs/README b/contrib/tools/python3/Programs/README
new file mode 100644
index 0000000000..c24578bc08
--- /dev/null
+++ b/contrib/tools/python3/Programs/README
@@ -0,0 +1 @@
+Source files for binary executables (as opposed to shared modules)