Cython 3.2.0__cp39-abi3-win32.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- Cython/Build/BuildExecutable.py +169 -0
- Cython/Build/Cache.py +199 -0
- Cython/Build/Cythonize.py +350 -0
- Cython/Build/Dependencies.py +1314 -0
- Cython/Build/Distutils.py +1 -0
- Cython/Build/Inline.py +463 -0
- Cython/Build/IpythonMagic.py +560 -0
- Cython/Build/SharedModule.py +94 -0
- Cython/Build/Tests/TestCyCache.py +194 -0
- Cython/Build/Tests/TestCythonizeArgsParser.py +481 -0
- Cython/Build/Tests/TestDependencies.py +133 -0
- Cython/Build/Tests/TestInline.py +177 -0
- Cython/Build/Tests/TestIpythonMagic.py +287 -0
- Cython/Build/Tests/TestRecythonize.py +212 -0
- Cython/Build/Tests/TestStripLiterals.py +155 -0
- Cython/Build/Tests/__init__.py +1 -0
- Cython/Build/__init__.py +11 -0
- Cython/CodeWriter.py +815 -0
- Cython/Compiler/AnalysedTreeTransforms.py +97 -0
- Cython/Compiler/Annotate.py +328 -0
- Cython/Compiler/AutoDocTransforms.py +320 -0
- Cython/Compiler/Buffer.py +680 -0
- Cython/Compiler/Builtin.py +984 -0
- Cython/Compiler/CmdLine.py +263 -0
- Cython/Compiler/Code.pxd +149 -0
- Cython/Compiler/Code.py +3746 -0
- Cython/Compiler/Code.pyd +0 -0
- Cython/Compiler/CodeGeneration.py +33 -0
- Cython/Compiler/CythonScope.py +191 -0
- Cython/Compiler/Dataclass.py +864 -0
- Cython/Compiler/DebugFlags.py +24 -0
- Cython/Compiler/Errors.py +297 -0
- Cython/Compiler/ExprNodes.py +15562 -0
- Cython/Compiler/FlowControl.pxd +97 -0
- Cython/Compiler/FlowControl.py +1451 -0
- Cython/Compiler/FlowControl.pyd +0 -0
- Cython/Compiler/FusedNode.py +971 -0
- Cython/Compiler/FusedNode.pyd +0 -0
- Cython/Compiler/Future.py +16 -0
- Cython/Compiler/Interpreter.py +57 -0
- Cython/Compiler/Lexicon.py +421 -0
- Cython/Compiler/LineTable.py +114 -0
- Cython/Compiler/LineTable.pyd +0 -0
- Cython/Compiler/Main.py +857 -0
- Cython/Compiler/MatchCaseNodes.py +259 -0
- Cython/Compiler/MemoryView.py +905 -0
- Cython/Compiler/ModuleNode.py +4235 -0
- Cython/Compiler/Naming.py +363 -0
- Cython/Compiler/Nodes.py +10831 -0
- Cython/Compiler/Optimize.py +5288 -0
- Cython/Compiler/Options.py +843 -0
- Cython/Compiler/ParseTreeTransforms.pxd +78 -0
- Cython/Compiler/ParseTreeTransforms.py +4638 -0
- Cython/Compiler/Parsing.pxd +9 -0
- Cython/Compiler/Parsing.py +4775 -0
- Cython/Compiler/Parsing.pyd +0 -0
- Cython/Compiler/Pipeline.py +439 -0
- Cython/Compiler/PyrexTypes.py +5870 -0
- Cython/Compiler/Pythran.py +232 -0
- Cython/Compiler/Scanning.pxd +48 -0
- Cython/Compiler/Scanning.py +701 -0
- Cython/Compiler/Scanning.pyd +0 -0
- Cython/Compiler/StringEncoding.py +298 -0
- Cython/Compiler/Symtab.py +3073 -0
- Cython/Compiler/Tests/TestBuffer.py +105 -0
- Cython/Compiler/Tests/TestBuiltin.py +72 -0
- Cython/Compiler/Tests/TestCmdLine.py +586 -0
- Cython/Compiler/Tests/TestCode.py +144 -0
- Cython/Compiler/Tests/TestFlowControl.py +65 -0
- Cython/Compiler/Tests/TestGrammar.py +202 -0
- Cython/Compiler/Tests/TestMemView.py +71 -0
- Cython/Compiler/Tests/TestParseTreeTransforms.py +285 -0
- Cython/Compiler/Tests/TestScanning.py +134 -0
- Cython/Compiler/Tests/TestSignatureMatching.py +73 -0
- Cython/Compiler/Tests/TestStringEncoding.py +21 -0
- Cython/Compiler/Tests/TestTreeFragment.py +63 -0
- Cython/Compiler/Tests/TestTreePath.py +103 -0
- Cython/Compiler/Tests/TestTypes.py +75 -0
- Cython/Compiler/Tests/TestUtilityLoad.py +112 -0
- Cython/Compiler/Tests/TestVisitor.py +61 -0
- Cython/Compiler/Tests/Utils.py +36 -0
- Cython/Compiler/Tests/__init__.py +1 -0
- Cython/Compiler/TreeFragment.py +278 -0
- Cython/Compiler/TreePath.py +303 -0
- Cython/Compiler/TypeInference.py +591 -0
- Cython/Compiler/TypeSlots.py +1174 -0
- Cython/Compiler/UFuncs.py +311 -0
- Cython/Compiler/UtilNodes.py +389 -0
- Cython/Compiler/UtilityCode.py +344 -0
- Cython/Compiler/Version.py +8 -0
- Cython/Compiler/Visitor.pxd +53 -0
- Cython/Compiler/Visitor.py +861 -0
- Cython/Compiler/Visitor.pyd +0 -0
- Cython/Compiler/__init__.py +1 -0
- Cython/Coverage.py +448 -0
- Cython/Debugger/Cygdb.py +177 -0
- Cython/Debugger/DebugWriter.py +82 -0
- Cython/Debugger/Tests/TestLibCython.py +275 -0
- Cython/Debugger/Tests/__init__.py +1 -0
- Cython/Debugger/Tests/cfuncs.c +8 -0
- Cython/Debugger/Tests/codefile +49 -0
- Cython/Debugger/Tests/test_libcython_in_gdb.py +578 -0
- Cython/Debugger/Tests/test_libpython_in_gdb.py +90 -0
- Cython/Debugger/__init__.py +1 -0
- Cython/Debugger/libcython.py +1548 -0
- Cython/Debugger/libpython.py +2821 -0
- Cython/Debugging.py +20 -0
- Cython/Distutils/__init__.py +2 -0
- Cython/Distutils/build_ext.py +139 -0
- Cython/Distutils/extension.py +96 -0
- Cython/Distutils/old_build_ext.py +351 -0
- Cython/Includes/cpython/__init__.pxd +173 -0
- Cython/Includes/cpython/array.pxd +178 -0
- Cython/Includes/cpython/bool.pxd +37 -0
- Cython/Includes/cpython/buffer.pxd +112 -0
- Cython/Includes/cpython/bytearray.pxd +33 -0
- Cython/Includes/cpython/bytes.pxd +200 -0
- Cython/Includes/cpython/cellobject.pxd +35 -0
- Cython/Includes/cpython/ceval.pxd +8 -0
- Cython/Includes/cpython/codecs.pxd +121 -0
- Cython/Includes/cpython/complex.pxd +60 -0
- Cython/Includes/cpython/contextvars.pxd +145 -0
- Cython/Includes/cpython/conversion.pxd +36 -0
- Cython/Includes/cpython/datetime.pxd +395 -0
- Cython/Includes/cpython/descr.pxd +26 -0
- Cython/Includes/cpython/dict.pxd +187 -0
- Cython/Includes/cpython/exc.pxd +263 -0
- Cython/Includes/cpython/fileobject.pxd +57 -0
- Cython/Includes/cpython/float.pxd +47 -0
- Cython/Includes/cpython/function.pxd +65 -0
- Cython/Includes/cpython/genobject.pxd +25 -0
- Cython/Includes/cpython/getargs.pxd +12 -0
- Cython/Includes/cpython/instance.pxd +25 -0
- Cython/Includes/cpython/iterator.pxd +36 -0
- Cython/Includes/cpython/iterobject.pxd +24 -0
- Cython/Includes/cpython/list.pxd +92 -0
- Cython/Includes/cpython/long.pxd +149 -0
- Cython/Includes/cpython/longintrepr.pxd +14 -0
- Cython/Includes/cpython/mapping.pxd +63 -0
- Cython/Includes/cpython/marshal.pxd +66 -0
- Cython/Includes/cpython/mem.pxd +120 -0
- Cython/Includes/cpython/memoryview.pxd +50 -0
- Cython/Includes/cpython/method.pxd +49 -0
- Cython/Includes/cpython/module.pxd +208 -0
- Cython/Includes/cpython/number.pxd +258 -0
- Cython/Includes/cpython/object.pxd +433 -0
- Cython/Includes/cpython/pycapsule.pxd +143 -0
- Cython/Includes/cpython/pylifecycle.pxd +68 -0
- Cython/Includes/cpython/pyport.pxd +8 -0
- Cython/Includes/cpython/pystate.pxd +95 -0
- Cython/Includes/cpython/pythread.pxd +53 -0
- Cython/Includes/cpython/ref.pxd +141 -0
- Cython/Includes/cpython/sequence.pxd +134 -0
- Cython/Includes/cpython/set.pxd +119 -0
- Cython/Includes/cpython/slice.pxd +70 -0
- Cython/Includes/cpython/time.pxd +129 -0
- Cython/Includes/cpython/tuple.pxd +72 -0
- Cython/Includes/cpython/type.pxd +53 -0
- Cython/Includes/cpython/unicode.pxd +639 -0
- Cython/Includes/cpython/version.pxd +32 -0
- Cython/Includes/cpython/weakref.pxd +78 -0
- Cython/Includes/libc/__init__.pxd +1 -0
- Cython/Includes/libc/complex.pxd +35 -0
- Cython/Includes/libc/errno.pxd +127 -0
- Cython/Includes/libc/float.pxd +43 -0
- Cython/Includes/libc/limits.pxd +28 -0
- Cython/Includes/libc/locale.pxd +46 -0
- Cython/Includes/libc/math.pxd +209 -0
- Cython/Includes/libc/setjmp.pxd +10 -0
- Cython/Includes/libc/signal.pxd +64 -0
- Cython/Includes/libc/stddef.pxd +9 -0
- Cython/Includes/libc/stdint.pxd +105 -0
- Cython/Includes/libc/stdio.pxd +80 -0
- Cython/Includes/libc/stdlib.pxd +72 -0
- Cython/Includes/libc/string.pxd +50 -0
- Cython/Includes/libc/threads.pxd +234 -0
- Cython/Includes/libc/time.pxd +52 -0
- Cython/Includes/libcpp/__init__.pxd +4 -0
- Cython/Includes/libcpp/algorithm.pxd +320 -0
- Cython/Includes/libcpp/any.pxd +16 -0
- Cython/Includes/libcpp/atomic.pxd +59 -0
- Cython/Includes/libcpp/barrier.pxd +22 -0
- Cython/Includes/libcpp/bit.pxd +29 -0
- Cython/Includes/libcpp/cast.pxd +12 -0
- Cython/Includes/libcpp/cmath.pxd +518 -0
- Cython/Includes/libcpp/complex.pxd +106 -0
- Cython/Includes/libcpp/condition_variable.pxd +322 -0
- Cython/Includes/libcpp/deque.pxd +165 -0
- Cython/Includes/libcpp/exception.pxd +86 -0
- Cython/Includes/libcpp/execution.pxd +15 -0
- Cython/Includes/libcpp/forward_list.pxd +63 -0
- Cython/Includes/libcpp/functional.pxd +26 -0
- Cython/Includes/libcpp/future.pxd +103 -0
- Cython/Includes/libcpp/iterator.pxd +34 -0
- Cython/Includes/libcpp/latch.pxd +17 -0
- Cython/Includes/libcpp/limits.pxd +61 -0
- Cython/Includes/libcpp/list.pxd +117 -0
- Cython/Includes/libcpp/map.pxd +252 -0
- Cython/Includes/libcpp/memory.pxd +115 -0
- Cython/Includes/libcpp/mutex.pxd +387 -0
- Cython/Includes/libcpp/numbers.pxd +15 -0
- Cython/Includes/libcpp/numeric.pxd +131 -0
- Cython/Includes/libcpp/optional.pxd +34 -0
- Cython/Includes/libcpp/pair.pxd +1 -0
- Cython/Includes/libcpp/queue.pxd +25 -0
- Cython/Includes/libcpp/random.pxd +166 -0
- Cython/Includes/libcpp/semaphore.pxd +43 -0
- Cython/Includes/libcpp/set.pxd +228 -0
- Cython/Includes/libcpp/shared_mutex.pxd +96 -0
- Cython/Includes/libcpp/span.pxd +87 -0
- Cython/Includes/libcpp/stack.pxd +11 -0
- Cython/Includes/libcpp/stop_token.pxd +117 -0
- Cython/Includes/libcpp/string.pxd +355 -0
- Cython/Includes/libcpp/string_view.pxd +183 -0
- Cython/Includes/libcpp/typeindex.pxd +15 -0
- Cython/Includes/libcpp/typeinfo.pxd +10 -0
- Cython/Includes/libcpp/unordered_map.pxd +193 -0
- Cython/Includes/libcpp/unordered_set.pxd +152 -0
- Cython/Includes/libcpp/utility.pxd +30 -0
- Cython/Includes/libcpp/vector.pxd +186 -0
- Cython/Includes/numpy/math.pxd +150 -0
- Cython/Includes/openmp.pxd +50 -0
- Cython/Includes/posix/__init__.pxd +1 -0
- Cython/Includes/posix/dlfcn.pxd +14 -0
- Cython/Includes/posix/fcntl.pxd +86 -0
- Cython/Includes/posix/ioctl.pxd +4 -0
- Cython/Includes/posix/mman.pxd +101 -0
- Cython/Includes/posix/resource.pxd +57 -0
- Cython/Includes/posix/select.pxd +21 -0
- Cython/Includes/posix/signal.pxd +73 -0
- Cython/Includes/posix/stat.pxd +98 -0
- Cython/Includes/posix/stdio.pxd +37 -0
- Cython/Includes/posix/stdlib.pxd +29 -0
- Cython/Includes/posix/strings.pxd +9 -0
- Cython/Includes/posix/time.pxd +71 -0
- Cython/Includes/posix/types.pxd +30 -0
- Cython/Includes/posix/uio.pxd +26 -0
- Cython/Includes/posix/unistd.pxd +271 -0
- Cython/Includes/posix/wait.pxd +38 -0
- Cython/Plex/Actions.pxd +24 -0
- Cython/Plex/Actions.py +119 -0
- Cython/Plex/Actions.pyd +0 -0
- Cython/Plex/DFA.pxd +14 -0
- Cython/Plex/DFA.py +164 -0
- Cython/Plex/DFA.pyd +0 -0
- Cython/Plex/Errors.py +48 -0
- Cython/Plex/Lexicons.py +178 -0
- Cython/Plex/Machines.pxd +36 -0
- Cython/Plex/Machines.py +238 -0
- Cython/Plex/Machines.pyd +0 -0
- Cython/Plex/Regexps.py +535 -0
- Cython/Plex/Scanners.pxd +45 -0
- Cython/Plex/Scanners.py +328 -0
- Cython/Plex/Scanners.pyd +0 -0
- Cython/Plex/Transitions.pxd +14 -0
- Cython/Plex/Transitions.py +239 -0
- Cython/Plex/Transitions.pyd +0 -0
- Cython/Plex/__init__.py +34 -0
- Cython/Runtime/__init__.py +1 -0
- Cython/Runtime/refnanny.pyd +0 -0
- Cython/Runtime/refnanny.pyx +237 -0
- Cython/Shadow.py +690 -0
- Cython/Shadow.pyi +521 -0
- Cython/StringIOTree.py +170 -0
- Cython/StringIOTree.pyd +0 -0
- Cython/Tempita/__init__.py +4 -0
- Cython/Tempita/_looper.py +154 -0
- Cython/Tempita/_tempita.py +1091 -0
- Cython/Tempita/_tempita.pyd +0 -0
- Cython/TestUtils.py +422 -0
- Cython/Tests/TestCodeWriter.py +128 -0
- Cython/Tests/TestCythonUtils.py +202 -0
- Cython/Tests/TestJediTyper.py +223 -0
- Cython/Tests/TestShadow.py +114 -0
- Cython/Tests/TestStringIOTree.py +67 -0
- Cython/Tests/TestTestUtils.py +90 -0
- Cython/Tests/__init__.py +1 -0
- Cython/Tests/xmlrunner.py +390 -0
- Cython/Utility/AsyncGen.c +1031 -0
- Cython/Utility/Buffer.c +865 -0
- Cython/Utility/BufferFormatFromTypeInfo.pxd +2 -0
- Cython/Utility/Builtins.c +810 -0
- Cython/Utility/CConvert.pyx +134 -0
- Cython/Utility/CMath.c +104 -0
- Cython/Utility/CommonStructures.c +226 -0
- Cython/Utility/Complex.c +378 -0
- Cython/Utility/Coroutine.c +2300 -0
- Cython/Utility/CpdefEnums.pyx +103 -0
- Cython/Utility/CppConvert.pyx +282 -0
- Cython/Utility/CppSupport.cpp +151 -0
- Cython/Utility/CythonFunction.c +1832 -0
- Cython/Utility/Dataclasses.c +101 -0
- Cython/Utility/Embed.c +121 -0
- Cython/Utility/Exceptions.c +1016 -0
- Cython/Utility/ExtensionTypes.c +996 -0
- Cython/Utility/FunctionArguments.c +1043 -0
- Cython/Utility/FusedFunction.pyx +44 -0
- Cython/Utility/ImportExport.c +907 -0
- Cython/Utility/MemoryView.pxd +188 -0
- Cython/Utility/MemoryView.pyx +1482 -0
- Cython/Utility/MemoryView_C.c +927 -0
- Cython/Utility/ModuleSetupCode.c +3203 -0
- Cython/Utility/NumpyImportArray.c +46 -0
- Cython/Utility/ObjectHandling.c +3273 -0
- Cython/Utility/Optimize.c +1603 -0
- Cython/Utility/Overflow.c +384 -0
- Cython/Utility/Printing.c +86 -0
- Cython/Utility/Profile.c +732 -0
- Cython/Utility/StringTools.c +1379 -0
- Cython/Utility/Synchronization.c +399 -0
- Cython/Utility/TString.c +356 -0
- Cython/Utility/TestCyUtilityLoader.pyx +8 -0
- Cython/Utility/TestCythonScope.pyx +75 -0
- Cython/Utility/TestUtilityLoader.c +12 -0
- Cython/Utility/TypeConversion.c +1385 -0
- Cython/Utility/UFuncs.pyx +50 -0
- Cython/Utility/UFuncs_C.c +89 -0
- Cython/Utility/__init__.py +28 -0
- Cython/Utility/arrayarray.h +167 -0
- Cython/Utils.py +687 -0
- Cython/Utils.pyd +0 -0
- Cython/__init__.py +10 -0
- Cython/__init__.pyi +7 -0
- Cython/py.typed +0 -0
- cython-3.2.0.dist-info/METADATA +85 -0
- cython-3.2.0.dist-info/RECORD +333 -0
- cython-3.2.0.dist-info/WHEEL +5 -0
- cython-3.2.0.dist-info/entry_points.txt +4 -0
- cython-3.2.0.dist-info/top_level.txt +3 -0
- cython.py +29 -0
- pyximport/__init__.py +4 -0
- pyximport/pyxbuild.py +160 -0
- pyximport/pyximport.py +482 -0
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
from .object cimport PyObject
|
|
2
|
+
|
|
3
|
+
cdef extern from "Python.h":
|
|
4
|
+
ctypedef struct _inittab
|
|
5
|
+
|
|
6
|
+
#####################################################################
|
|
7
|
+
# 5.3 Importing Modules
|
|
8
|
+
#####################################################################
|
|
9
|
+
object PyImport_ImportModule(const char *name)
|
|
10
|
+
# Return value: New reference.
|
|
11
|
+
# This is a simplified interface to PyImport_ImportModuleEx()
|
|
12
|
+
# below, leaving the globals and locals arguments set to
|
|
13
|
+
# NULL. When the name argument contains a dot (when it specifies a
|
|
14
|
+
# submodule of a package), the fromlist argument is set to the
|
|
15
|
+
# list ['*'] so that the return value is the named module rather
|
|
16
|
+
# than the top-level package containing it as would otherwise be
|
|
17
|
+
# the case. (Unfortunately, this has an additional side effect
|
|
18
|
+
# when name in fact specifies a subpackage instead of a submodule:
|
|
19
|
+
# the submodules specified in the package's __all__ variable are
|
|
20
|
+
# loaded.) Return a new reference to the imported module, or NULL
|
|
21
|
+
# with an exception set on failure.
|
|
22
|
+
|
|
23
|
+
object PyImport_ImportModuleEx(const char *name, object globals, object locals, object fromlist)
|
|
24
|
+
# Return value: New reference.
|
|
25
|
+
|
|
26
|
+
# Import a module. This is best described by referring to the
|
|
27
|
+
# built-in Python function __import__(), as the standard
|
|
28
|
+
# __import__() function calls this function directly.
|
|
29
|
+
|
|
30
|
+
# The return value is a new reference to the imported module or
|
|
31
|
+
# top-level package, or NULL with an exception set on failure
|
|
32
|
+
# (before Python 2.4, the module may still be created in this
|
|
33
|
+
# case). Like for __import__(), the return value when a submodule
|
|
34
|
+
# of a package was requested is normally the top-level package,
|
|
35
|
+
# unless a non-empty fromlist was given. Changed in version 2.4:
|
|
36
|
+
# failing imports remove incomplete module objects.
|
|
37
|
+
|
|
38
|
+
object PyImport_ImportModuleLevel(char *name, object globals, object locals, object fromlist, int level)
|
|
39
|
+
# Return value: New reference.
|
|
40
|
+
|
|
41
|
+
# Import a module. This is best described by referring to the
|
|
42
|
+
# built-in Python function __import__(), as the standard
|
|
43
|
+
# __import__() function calls this function directly.
|
|
44
|
+
|
|
45
|
+
# The return value is a new reference to the imported module or
|
|
46
|
+
# top-level package, or NULL with an exception set on failure. Like
|
|
47
|
+
# for __import__(), the return value when a submodule of a package
|
|
48
|
+
# was requested is normally the top-level package, unless a
|
|
49
|
+
# non-empty fromlist was given.
|
|
50
|
+
|
|
51
|
+
object PyImport_Import(object name)
|
|
52
|
+
# Return value: New reference.
|
|
53
|
+
# This is a higher-level interface that calls the current ``import
|
|
54
|
+
# hook function''. It invokes the __import__() function from the
|
|
55
|
+
# __builtins__ of the current globals. This means that the import
|
|
56
|
+
# is done using whatever import hooks are installed in the current
|
|
57
|
+
# environment, e.g. by rexec or ihooks.
|
|
58
|
+
|
|
59
|
+
object PyImport_ReloadModule(object m)
|
|
60
|
+
# Return value: New reference.
|
|
61
|
+
# Reload a module. This is best described by referring to the
|
|
62
|
+
# built-in Python function reload(), as the standard reload()
|
|
63
|
+
# function calls this function directly. Return a new reference to
|
|
64
|
+
# the reloaded module, or NULL with an exception set on failure
|
|
65
|
+
# (the module still exists in this case).
|
|
66
|
+
|
|
67
|
+
PyObject* PyImport_AddModule(const char *name) except NULL
|
|
68
|
+
# Return value: Borrowed reference.
|
|
69
|
+
# Return the module object corresponding to a module name. The
|
|
70
|
+
# name argument may be of the form package.module. First check the
|
|
71
|
+
# modules dictionary if there's one there, and if not, create a
|
|
72
|
+
# new one and insert it in the modules dictionary. Return NULL
|
|
73
|
+
# with an exception set on failure. Note: This function does not
|
|
74
|
+
# load or import the module; if the module wasn't already loaded,
|
|
75
|
+
# you will get an empty module object. Use PyImport_ImportModule()
|
|
76
|
+
# or one of its variants to import a module. Package structures
|
|
77
|
+
# implied by a dotted name for name are not created if not already
|
|
78
|
+
# present.
|
|
79
|
+
|
|
80
|
+
object PyImport_ExecCodeModule(char *name, object co)
|
|
81
|
+
# Return value: New reference.
|
|
82
|
+
# Given a module name (possibly of the form package.module) and a
|
|
83
|
+
# code object read from a Python bytecode file or obtained from
|
|
84
|
+
# the built-in function compile(), load the module. Return a new
|
|
85
|
+
# reference to the module object, or NULL with an exception set if
|
|
86
|
+
# an error occurred. Name is removed from sys.modules in error
|
|
87
|
+
# cases, and even if name was already in sys.modules on entry to
|
|
88
|
+
# PyImport_ExecCodeModule(). Leaving incompletely initialized
|
|
89
|
+
# modules in sys.modules is dangerous, as imports of such modules
|
|
90
|
+
# have no way to know that the module object is an unknown (and
|
|
91
|
+
# probably damaged with respect to the module author's intents)
|
|
92
|
+
# state.
|
|
93
|
+
# This function will reload the module if it was already
|
|
94
|
+
# imported. See PyImport_ReloadModule() for the intended way to
|
|
95
|
+
# reload a module.
|
|
96
|
+
# If name points to a dotted name of the form package.module, any
|
|
97
|
+
# package structures not already created will still not be
|
|
98
|
+
# created.
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
long PyImport_GetMagicNumber()
|
|
102
|
+
# Return the magic number for Python bytecode files (a.k.a. .pyc
|
|
103
|
+
# and .pyo files). The magic number should be present in the first
|
|
104
|
+
# four bytes of the bytecode file, in little-endian byte order.
|
|
105
|
+
|
|
106
|
+
PyObject* PyImport_GetModuleDict() except NULL
|
|
107
|
+
# Return value: Borrowed reference.
|
|
108
|
+
# Return the dictionary used for the module administration
|
|
109
|
+
# (a.k.a. sys.modules). Note that this is a per-interpreter
|
|
110
|
+
# variable.
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
int PyImport_ImportFrozenModule(char *name) except -1
|
|
114
|
+
# Load a frozen module named name. Return 1 for success, 0 if the
|
|
115
|
+
# module is not found, and -1 with an exception set if the
|
|
116
|
+
# initialization failed. To access the imported module on a
|
|
117
|
+
# successful load, use PyImport_ImportModule(). (Note the misnomer
|
|
118
|
+
# -- this function would reload the module if it was already
|
|
119
|
+
# imported.)
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
int PyImport_ExtendInittab(_inittab *newtab) except -1
|
|
123
|
+
# Add a collection of modules to the table of built-in
|
|
124
|
+
# modules. The newtab array must end with a sentinel entry which
|
|
125
|
+
# contains NULL for the name field; failure to provide the
|
|
126
|
+
# sentinel value can result in a memory fault. Returns 0 on
|
|
127
|
+
# success or -1 if insufficient memory could be allocated to
|
|
128
|
+
# extend the internal table. In the event of failure, no modules
|
|
129
|
+
# are added to the internal table. This should be called before
|
|
130
|
+
# Py_Initialize().
|
|
131
|
+
|
|
132
|
+
#####################################################################
|
|
133
|
+
# 7.5.5 Module Objects
|
|
134
|
+
#####################################################################
|
|
135
|
+
|
|
136
|
+
# PyTypeObject PyModule_Type
|
|
137
|
+
#
|
|
138
|
+
# This instance of PyTypeObject represents the Python module
|
|
139
|
+
# type. This is exposed to Python programs as types.ModuleType.
|
|
140
|
+
|
|
141
|
+
bint PyModule_Check(object p)
|
|
142
|
+
# Return true if p is a module object, or a subtype of a module
|
|
143
|
+
# object.
|
|
144
|
+
|
|
145
|
+
bint PyModule_CheckExact(object p)
|
|
146
|
+
# Return true if p is a module object, but not a subtype of PyModule_Type.
|
|
147
|
+
|
|
148
|
+
object PyModule_NewObject(object name)
|
|
149
|
+
# Return a new module object with the __name__ attribute set to name.
|
|
150
|
+
# The module’s __name__, __doc__, __package__, and __loader__
|
|
151
|
+
# attributes are filled in (all but __name__ are set to None); the caller
|
|
152
|
+
# is responsible for providing a __file__ attribute.
|
|
153
|
+
|
|
154
|
+
object PyModule_New(const char *name)
|
|
155
|
+
# Return value: New reference.
|
|
156
|
+
# Return a new module object with the __name__ attribute set to
|
|
157
|
+
# name. Only the module's __doc__ and __name__ attributes are
|
|
158
|
+
# filled in; the caller is responsible for providing a __file__
|
|
159
|
+
# attribute.
|
|
160
|
+
|
|
161
|
+
PyObject* PyModule_GetDict(object module) except NULL
|
|
162
|
+
# Return value: Borrowed reference.
|
|
163
|
+
# Return the dictionary object that implements module's namespace;
|
|
164
|
+
# this object is the same as the __dict__ attribute of the module
|
|
165
|
+
# object. This function never fails. It is recommended extensions
|
|
166
|
+
# use other PyModule_*() and PyObject_*() functions rather than
|
|
167
|
+
# directly manipulate a module's __dict__.
|
|
168
|
+
|
|
169
|
+
object PyModule_GetNameObject(object module)
|
|
170
|
+
# Return module’s __name__ value. If the module does not provide one, or if
|
|
171
|
+
# it is not a string, SystemError is raised and NULL is returned.
|
|
172
|
+
|
|
173
|
+
char* PyModule_GetName(object module) except NULL
|
|
174
|
+
# Similar to PyModule_GetNameObject() but return the name encoded
|
|
175
|
+
# to 'utf-8'.
|
|
176
|
+
|
|
177
|
+
void* PyModule_GetState(object module)
|
|
178
|
+
# Return the “state” of the module, that is, a pointer to the block of
|
|
179
|
+
# memory allocated at module creation time, or NULL.
|
|
180
|
+
# See PyModuleDef.m_size.
|
|
181
|
+
|
|
182
|
+
object PyModule_GetFilenameObject(object module)
|
|
183
|
+
# Return the name of the file from which module was loaded using module’s
|
|
184
|
+
# __file__ attribute. If this is not defined, or if it is not a unicode
|
|
185
|
+
# string, raise SystemError and return NULL; otherwise return a reference
|
|
186
|
+
# to a Unicode object.
|
|
187
|
+
|
|
188
|
+
char* PyModule_GetFilename(object module) except NULL
|
|
189
|
+
# Similar to PyModule_GetFilenameObject() but return the filename encoded
|
|
190
|
+
# to ‘utf-8’.
|
|
191
|
+
|
|
192
|
+
int PyModule_AddObject(object module, const char *name, object value) except -1
|
|
193
|
+
# Add an object to module as name. This is a convenience function
|
|
194
|
+
# which can be used from the module's initialization function.
|
|
195
|
+
# Return -1 on error, 0 on success.
|
|
196
|
+
#
|
|
197
|
+
# WARNING: This _steals_ a reference to value.
|
|
198
|
+
|
|
199
|
+
int PyModule_AddIntConstant(object module, const char *name, long value) except -1
|
|
200
|
+
# Add an integer constant to module as name. This convenience
|
|
201
|
+
# function can be used from the module's initialization
|
|
202
|
+
# function. Return -1 on error, 0 on success.
|
|
203
|
+
|
|
204
|
+
int PyModule_AddStringConstant(object module, const char *name, const char *value) except -1
|
|
205
|
+
# Add a string constant to module as name. This convenience
|
|
206
|
+
# function can be used from the module's initialization
|
|
207
|
+
# function. The string value must be null-terminated. Return -1 on
|
|
208
|
+
# error, 0 on success.
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
from .object cimport PyObject
|
|
2
|
+
|
|
3
|
+
cdef extern from "Python.h":
|
|
4
|
+
|
|
5
|
+
#####################################################################
|
|
6
|
+
# 6.2 Number Protocol
|
|
7
|
+
#####################################################################
|
|
8
|
+
|
|
9
|
+
bint PyNumber_Check(object o)
|
|
10
|
+
# Returns 1 if the object o provides numeric protocols, and false
|
|
11
|
+
# otherwise. This function always succeeds.
|
|
12
|
+
|
|
13
|
+
object PyNumber_Add(object o1, object o2)
|
|
14
|
+
# Return value: New reference.
|
|
15
|
+
# Returns the result of adding o1 and o2, or NULL on failure. This
|
|
16
|
+
# is the equivalent of the Python expression "o1 + o2".
|
|
17
|
+
|
|
18
|
+
object PyNumber_Subtract(object o1, object o2)
|
|
19
|
+
# Return value: New reference.
|
|
20
|
+
# Returns the result of subtracting o2 from o1, or NULL on
|
|
21
|
+
# failure. This is the equivalent of the Python expression "o1 -
|
|
22
|
+
# o2".
|
|
23
|
+
|
|
24
|
+
object PyNumber_Multiply(object o1, object o2)
|
|
25
|
+
# Return value: New reference.
|
|
26
|
+
# Returns the result of multiplying o1 and o2, or NULL on
|
|
27
|
+
# failure. This is the equivalent of the Python expression "o1 *
|
|
28
|
+
# o2".
|
|
29
|
+
|
|
30
|
+
object PyNumber_MatrixMultiply(object o1, object o2)
|
|
31
|
+
# Return value: New reference.
|
|
32
|
+
# Returns the result of matrix multiplication on o1 and o2, or
|
|
33
|
+
# NULL on failure. This is the equivalent of the Python
|
|
34
|
+
# expression "o1 @ o2".
|
|
35
|
+
# New in version 3.5.
|
|
36
|
+
|
|
37
|
+
object PyNumber_Divide(object o1, object o2)
|
|
38
|
+
# Return value: New reference.
|
|
39
|
+
# Returns the result of dividing o1 by o2, or NULL on
|
|
40
|
+
# failure. This is the equivalent of the Python expression "o1 /
|
|
41
|
+
# o2".
|
|
42
|
+
|
|
43
|
+
object PyNumber_FloorDivide(object o1, object o2)
|
|
44
|
+
# Return value: New reference.
|
|
45
|
+
# Return the floor of o1 divided by o2, or NULL on failure. This
|
|
46
|
+
# is equivalent to the ``classic'' division of integers.
|
|
47
|
+
|
|
48
|
+
object PyNumber_TrueDivide(object o1, object o2)
|
|
49
|
+
# Return value: New reference.
|
|
50
|
+
# Return a reasonable approximation for the mathematical value of
|
|
51
|
+
# o1 divided by o2, or NULL on failure. The return value is
|
|
52
|
+
# ``approximate'' because binary floating point numbers are
|
|
53
|
+
# approximate; it is not possible to represent all real numbers in
|
|
54
|
+
# base two. This function can return a floating point value when
|
|
55
|
+
# passed two integers.
|
|
56
|
+
|
|
57
|
+
object PyNumber_Remainder(object o1, object o2)
|
|
58
|
+
# Return value: New reference.
|
|
59
|
+
# Returns the remainder of dividing o1 by o2, or NULL on
|
|
60
|
+
# failure. This is the equivalent of the Python expression "o1 %
|
|
61
|
+
# o2".
|
|
62
|
+
|
|
63
|
+
object PyNumber_Divmod(object o1, object o2)
|
|
64
|
+
# Return value: New reference.
|
|
65
|
+
# See the built-in function divmod(). Returns NULL on
|
|
66
|
+
# failure. This is the equivalent of the Python expression
|
|
67
|
+
# "divmod(o1, o2)".
|
|
68
|
+
|
|
69
|
+
object PyNumber_Power(object o1, object o2, object o3)
|
|
70
|
+
# Return value: New reference.
|
|
71
|
+
# See the built-in function pow(). Returns NULL on failure. This
|
|
72
|
+
# is the equivalent of the Python expression "pow(o1, o2, o3)",
|
|
73
|
+
# where o3 is optional. If o3 is to be ignored, pass Py_None in
|
|
74
|
+
# its place (passing NULL for o3 would cause an illegal memory
|
|
75
|
+
# access).
|
|
76
|
+
|
|
77
|
+
object PyNumber_Negative(object o)
|
|
78
|
+
# Return value: New reference.
|
|
79
|
+
# Returns the negation of o on success, or NULL on failure. This
|
|
80
|
+
# is the equivalent of the Python expression "-o".
|
|
81
|
+
|
|
82
|
+
object PyNumber_Positive(object o)
|
|
83
|
+
# Return value: New reference.
|
|
84
|
+
# Returns o on success, or NULL on failure. This is the equivalent
|
|
85
|
+
# of the Python expression "+o".
|
|
86
|
+
|
|
87
|
+
object PyNumber_Absolute(object o)
|
|
88
|
+
# Return value: New reference.
|
|
89
|
+
# Returns the absolute value of o, or NULL on failure. This is the
|
|
90
|
+
# equivalent of the Python expression "abs(o)".
|
|
91
|
+
|
|
92
|
+
object PyNumber_Invert(object o)
|
|
93
|
+
# Return value: New reference.
|
|
94
|
+
# Returns the bitwise negation of o on success, or NULL on
|
|
95
|
+
# failure. This is the equivalent of the Python expression "~o".
|
|
96
|
+
|
|
97
|
+
object PyNumber_Lshift(object o1, object o2)
|
|
98
|
+
# Return value: New reference.
|
|
99
|
+
# Returns the result of left shifting o1 by o2 on success, or NULL
|
|
100
|
+
# on failure. This is the equivalent of the Python expression "o1
|
|
101
|
+
# << o2".
|
|
102
|
+
|
|
103
|
+
object PyNumber_Rshift(object o1, object o2)
|
|
104
|
+
# Return value: New reference.
|
|
105
|
+
# Returns the result of right shifting o1 by o2 on success, or
|
|
106
|
+
# NULL on failure. This is the equivalent of the Python expression
|
|
107
|
+
# "o1 >> o2".
|
|
108
|
+
|
|
109
|
+
object PyNumber_And(object o1, object o2)
|
|
110
|
+
# Return value: New reference.
|
|
111
|
+
# Returns the ``bitwise and'' of o1 and o2 on success and NULL on
|
|
112
|
+
# failure. This is the equivalent of the Python expression "o1 &
|
|
113
|
+
# o2".
|
|
114
|
+
|
|
115
|
+
object PyNumber_Xor(object o1, object o2)
|
|
116
|
+
# Return value: New reference.
|
|
117
|
+
# Returns the ``bitwise exclusive or'' of o1 by o2 on success, or
|
|
118
|
+
# NULL on failure. This is the equivalent of the Python expression
|
|
119
|
+
# "o1 ^ o2".
|
|
120
|
+
|
|
121
|
+
object PyNumber_Or(object o1, object o2)
|
|
122
|
+
# Return value: New reference.
|
|
123
|
+
# Returns the ``bitwise or'' of o1 and o2 on success, or NULL on failure. This is the equivalent of the Python expression "o1 | o2".
|
|
124
|
+
|
|
125
|
+
object PyNumber_InPlaceAdd(object o1, object o2)
|
|
126
|
+
# Return value: New reference.
|
|
127
|
+
# Returns the result of adding o1 and o2, or NULL on failure. The
|
|
128
|
+
# operation is done in-place when o1 supports it. This is the
|
|
129
|
+
# equivalent of the Python statement "o1 += o2".
|
|
130
|
+
|
|
131
|
+
object PyNumber_InPlaceSubtract(object o1, object o2)
|
|
132
|
+
# Return value: New reference.
|
|
133
|
+
# Returns the result of subtracting o2 from o1, or NULL on
|
|
134
|
+
# failure. The operation is done in-place when o1 supports
|
|
135
|
+
# it. This is the equivalent of the Python statement "o1 -= o2".
|
|
136
|
+
|
|
137
|
+
object PyNumber_InPlaceMultiply(object o1, object o2)
|
|
138
|
+
# Return value: New reference.
|
|
139
|
+
# Returns the result of multiplying o1 and o2, or NULL on
|
|
140
|
+
# failure. The operation is done in-place when o1 supports
|
|
141
|
+
# it. This is the equivalent of the Python statement "o1 *= o2".
|
|
142
|
+
|
|
143
|
+
object PyNumber_InPlaceMatrixMultiply(object o1, object o2)
|
|
144
|
+
# Return value: New reference.
|
|
145
|
+
# Returns the result of matrix multiplication on o1 and o2, or
|
|
146
|
+
# NULL on failure. The operation is done in-place when o1 supports
|
|
147
|
+
# it. This is the equivalent of the Python statement "o1 @= o2".
|
|
148
|
+
# New in version 3.5.
|
|
149
|
+
|
|
150
|
+
object PyNumber_InPlaceDivide(object o1, object o2)
|
|
151
|
+
# Return value: New reference.
|
|
152
|
+
# Returns the result of dividing o1 by o2, or NULL on failure. The
|
|
153
|
+
# operation is done in-place when o1 supports it. This is the
|
|
154
|
+
# equivalent of the Python statement "o1 /= o2".
|
|
155
|
+
|
|
156
|
+
object PyNumber_InPlaceFloorDivide(object o1, object o2)
|
|
157
|
+
# Return value: New reference.
|
|
158
|
+
# Returns the mathematical floor of dividing o1 by o2, or NULL on
|
|
159
|
+
# failure. The operation is done in-place when o1 supports
|
|
160
|
+
# it. This is the equivalent of the Python statement "o1 //=
|
|
161
|
+
# o2".
|
|
162
|
+
|
|
163
|
+
object PyNumber_InPlaceTrueDivide(object o1, object o2)
|
|
164
|
+
# Return value: New reference.
|
|
165
|
+
# Return a reasonable approximation for the mathematical value of
|
|
166
|
+
# o1 divided by o2, or NULL on failure. The return value is
|
|
167
|
+
# ``approximate'' because binary floating point numbers are
|
|
168
|
+
# approximate; it is not possible to represent all real numbers in
|
|
169
|
+
# base two. This function can return a floating point value when
|
|
170
|
+
# passed two integers. The operation is done in-place when o1
|
|
171
|
+
# supports it.
|
|
172
|
+
|
|
173
|
+
object PyNumber_InPlaceRemainder(object o1, object o2)
|
|
174
|
+
# Return value: New reference.
|
|
175
|
+
# Returns the remainder of dividing o1 by o2, or NULL on
|
|
176
|
+
# failure. The operation is done in-place when o1 supports
|
|
177
|
+
# it. This is the equivalent of the Python statement "o1 %= o2".
|
|
178
|
+
|
|
179
|
+
object PyNumber_InPlacePower(object o1, object o2, object o3)
|
|
180
|
+
# Return value: New reference.
|
|
181
|
+
# See the built-in function pow(). Returns NULL on failure. The
|
|
182
|
+
# operation is done in-place when o1 supports it. This is the
|
|
183
|
+
# equivalent of the Python statement "o1 **= o2" when o3 is
|
|
184
|
+
# Py_None, or an in-place variant of "pow(o1, o2, o3)"
|
|
185
|
+
# otherwise. If o3 is to be ignored, pass Py_None in its place
|
|
186
|
+
# (passing NULL for o3 would cause an illegal memory access).
|
|
187
|
+
|
|
188
|
+
object PyNumber_InPlaceLshift(object o1, object o2)
|
|
189
|
+
# Return value: New reference.
|
|
190
|
+
# Returns the result of left shifting o1 by o2 on success, or NULL
|
|
191
|
+
# on failure. The operation is done in-place when o1 supports
|
|
192
|
+
# it. This is the equivalent of the Python statement "o1 <<= o2".
|
|
193
|
+
|
|
194
|
+
object PyNumber_InPlaceRshift(object o1, object o2)
|
|
195
|
+
# Return value: New reference.
|
|
196
|
+
# Returns the result of right shifting o1 by o2 on success, or
|
|
197
|
+
# NULL on failure. The operation is done in-place when o1 supports
|
|
198
|
+
# it. This is the equivalent of the Python statement "o1 >>= o2".
|
|
199
|
+
|
|
200
|
+
object PyNumber_InPlaceAnd(object o1, object o2)
|
|
201
|
+
# Return value: New reference.
|
|
202
|
+
# Returns the ``bitwise and'' of o1 and o2 on success and NULL on
|
|
203
|
+
# failure. The operation is done in-place when o1 supports
|
|
204
|
+
# it. This is the equivalent of the Python statement "o1 &= o2".
|
|
205
|
+
|
|
206
|
+
object PyNumber_InPlaceXor(object o1, object o2)
|
|
207
|
+
# Return value: New reference.
|
|
208
|
+
# Returns the ``bitwise exclusive or'' of o1 by o2 on success, or
|
|
209
|
+
# NULL on failure. The operation is done in-place when o1 supports
|
|
210
|
+
# it. This is the equivalent of the Python statement "o1 ^= o2".
|
|
211
|
+
|
|
212
|
+
object PyNumber_InPlaceOr(object o1, object o2)
|
|
213
|
+
# Return value: New reference.
|
|
214
|
+
# Returns the ``bitwise or'' of o1 and o2 on success, or NULL on
|
|
215
|
+
# failure. The operation is done in-place when o1 supports
|
|
216
|
+
# it. This is the equivalent of the Python statement "o1 |= o2".
|
|
217
|
+
|
|
218
|
+
int PyNumber_Coerce(PyObject **p1, PyObject **p2) except -1
|
|
219
|
+
# This function takes the addresses of two variables of type
|
|
220
|
+
# PyObject*. If the objects pointed to by *p1 and *p2 have the
|
|
221
|
+
# same type, increment their reference count and return 0
|
|
222
|
+
# (success). If the objects can be converted to a common numeric
|
|
223
|
+
# type, replace *p1 and *p2 by their converted value (with 'new'
|
|
224
|
+
# reference counts), and return 0. If no conversion is possible,
|
|
225
|
+
# or if some other error occurs, return -1 (failure) and don't
|
|
226
|
+
# increment the reference counts. The call PyNumber_Coerce(&o1,
|
|
227
|
+
# &o2) is equivalent to the Python statement "o1, o2 = coerce(o1,
|
|
228
|
+
# o2)".
|
|
229
|
+
|
|
230
|
+
object PyNumber_Long(object o)
|
|
231
|
+
# Return value: New reference.
|
|
232
|
+
# Returns the o converted to a long integer object on success, or
|
|
233
|
+
# NULL on failure. This is the equivalent of the Python expression
|
|
234
|
+
# "long(o)".
|
|
235
|
+
|
|
236
|
+
object PyNumber_Float(object o)
|
|
237
|
+
# Return value: New reference.
|
|
238
|
+
# Returns the o converted to a float object on success, or NULL on
|
|
239
|
+
# failure. This is the equivalent of the Python expression
|
|
240
|
+
# "float(o)".
|
|
241
|
+
|
|
242
|
+
object PyNumber_Index(object o)
|
|
243
|
+
# Returns the o converted to a Python int or long on success or
|
|
244
|
+
# NULL with a TypeError exception raised on failure.
|
|
245
|
+
|
|
246
|
+
Py_ssize_t PyNumber_AsSsize_t(object o, object exc) except? -1
|
|
247
|
+
# Returns o converted to a Py_ssize_t value if o can be
|
|
248
|
+
# interpreted as an integer. If o can be converted to a Python int
|
|
249
|
+
# or long but the attempt to convert to a Py_ssize_t value would
|
|
250
|
+
# raise an OverflowError, then the exc argument is the type of
|
|
251
|
+
# exception that will be raised (usually IndexError or
|
|
252
|
+
# OverflowError). If exc is NULL, then the exception is cleared
|
|
253
|
+
# and the value is clipped to PY_SSIZE_T_MIN for a negative
|
|
254
|
+
# integer or PY_SSIZE_T_MAX for a positive integer.
|
|
255
|
+
|
|
256
|
+
bint PyIndex_Check(object)
|
|
257
|
+
# Returns True if o is an index integer (has the nb_index slot of
|
|
258
|
+
# the tp_as_number structure filled in).
|