pytron-kit 0.3.12__py3-none-macosx_11_0_universal2.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.
- pytron/__init__.py +112 -0
- pytron/application.py +562 -0
- pytron/apputils/__init__.py +0 -0
- pytron/apputils/chrome_ipc.py +203 -0
- pytron/apputils/codegen.py +261 -0
- pytron/apputils/config.py +303 -0
- pytron/apputils/deadmansswitch.py +47 -0
- pytron/apputils/extras.py +76 -0
- pytron/apputils/native.py +148 -0
- pytron/apputils/shell.py +73 -0
- pytron/apputils/windows.py +286 -0
- pytron/cli.py +384 -0
- pytron/commands/__init__.py +0 -0
- pytron/commands/android.py +28 -0
- pytron/commands/build.py +26 -0
- pytron/commands/doctor.py +221 -0
- pytron/commands/engine.py +23 -0
- pytron/commands/frontend.py +60 -0
- pytron/commands/harvest.py +112 -0
- pytron/commands/helpers.py +239 -0
- pytron/commands/info.py +50 -0
- pytron/commands/init.py +521 -0
- pytron/commands/install.py +294 -0
- pytron/commands/login.py +130 -0
- pytron/commands/package.py +228 -0
- pytron/commands/plugin.py +442 -0
- pytron/commands/run.py +312 -0
- pytron/commands/scan.py +210 -0
- pytron/commands/show.py +23 -0
- pytron/commands/uninstall.py +150 -0
- pytron/commands/utils.py +42 -0
- pytron/commands/workflow.py +95 -0
- pytron/console.py +133 -0
- pytron/core.py +18 -0
- pytron/dependencies/WebView2Loader.dll +0 -0
- pytron/dependencies/__init__.py +1 -0
- pytron/dependencies/pytron_native.so +0 -0
- pytron/engines/chrome/adapter.py +445 -0
- pytron/engines/chrome/engine.py +576 -0
- pytron/engines/chrome/forge.py +147 -0
- pytron/engines/chrome/shell/package.json +8 -0
- pytron/engines/chrome/shell/preload.js +12 -0
- pytron/engines/chrome/shell/shell.js +534 -0
- pytron/exceptions.py +36 -0
- pytron/inspector.py +201 -0
- pytron/inspector_ui.py +512 -0
- pytron/installer/Installation.nsi +236 -0
- pytron/installer/header.bmp +0 -0
- pytron/installer/pytron.ico +0 -0
- pytron/installer/sidebar.bmp +0 -0
- pytron/llms.md +98 -0
- pytron/manifests/README.md +29 -0
- pytron/manifests/windows-utf8.manifest +44 -0
- pytron/menu.py +128 -0
- pytron/nsis-setup.exe +0 -0
- pytron/pack/__init__.py +0 -0
- pytron/pack/assets.py +131 -0
- pytron/pack/compilers.py +289 -0
- pytron/pack/crystal.py +297 -0
- pytron/pack/graph.py +377 -0
- pytron/pack/inference.py +157 -0
- pytron/pack/installers.py +402 -0
- pytron/pack/introspect.py +357 -0
- pytron/pack/metadata.py +213 -0
- pytron/pack/modules.py +618 -0
- pytron/pack/nuitka.py +108 -0
- pytron/pack/pipeline.py +107 -0
- pytron/pack/pyinstaller.py +176 -0
- pytron/pack/rust_engine.py +273 -0
- pytron/pack/secure.py +309 -0
- pytron/pack/secure_loader/bin/pytron_rust_bootloader +0 -0
- pytron/pack/secure_loader/icon.ico +0 -0
- pytron/pack/utils.py +110 -0
- pytron/pack/virtual_root.py +124 -0
- pytron/platforms/__init__.py +0 -0
- pytron/platforms/android/__init__.py +3 -0
- pytron/platforms/android/android.py +103 -0
- pytron/platforms/android/builder.py +736 -0
- pytron/platforms/android/ops/build.py +79 -0
- pytron/platforms/android/ops/init.py +63 -0
- pytron/platforms/android/ops/run.py +79 -0
- pytron/platforms/android/ops/sync.py +770 -0
- pytron/platforms/android/ops/utils.py +8 -0
- pytron/platforms/android/shell/README.md +30 -0
- pytron/platforms/android/shell/app/build.gradle +64 -0
- pytron/platforms/android/shell/app/src/main/AndroidManifest.xml +29 -0
- pytron/platforms/android/shell/app/src/main/assets/python/main.py +86 -0
- pytron/platforms/android/shell/app/src/main/assets/python/python314.zip +0 -0
- pytron/platforms/android/shell/app/src/main/cpp/CMakeLists.txt +25 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/Python.h +155 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/abstract.h +915 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/audit.h +30 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/bltinmodule.h +14 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/boolobject.h +54 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/bytearrayobject.h +44 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/bytesobject.h +66 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/ceval.h +145 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/codecs.h +176 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/compile.h +22 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/complexobject.h +30 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/abstract.h +104 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/audit.h +8 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/bytearrayobject.h +38 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/bytesobject.h +42 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/cellobject.h +50 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/ceval.h +43 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/classobject.h +71 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/code.h +340 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/compile.h +50 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/complexobject.h +33 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/context.h +107 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/critical_section.h +154 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/descrobject.h +62 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/dictobject.h +105 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/fileobject.h +16 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/fileutils.h +16 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/floatobject.h +27 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/frameobject.h +35 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/funcobject.h +185 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/genobject.h +56 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/import.h +30 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/initconfig.h +334 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/listobject.h +53 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/lock.h +74 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/longintrepr.h +184 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/longobject.h +89 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/memoryobject.h +50 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/methodobject.h +66 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/modsupport.h +26 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/monitoring.h +269 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/object.h +493 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/objimpl.h +104 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/odictobject.h +43 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/picklebufobject.h +31 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pthread_stubs.h +105 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pyatomic.h +614 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pyatomic_gcc.h +615 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pyatomic_msc.h +1197 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pyatomic_std.h +1112 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pyctype.h +39 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pydebug.h +38 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pyerrors.h +132 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pyfpe.h +15 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pyframe.h +45 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pyhash.h +54 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pylifecycle.h +89 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pymem.h +84 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pystate.h +275 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pystats.h +194 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pythonrun.h +96 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pythread.h +43 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/pytime.h +27 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/setobject.h +71 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/traceback.h +13 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/tracemalloc.h +32 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/tupleobject.h +40 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/unicodeobject.h +773 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/warnings.h +20 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/cpython/weakrefobject.h +66 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/critical_section.h +16 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/datetime.h +267 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/descrobject.h +100 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/dictobject.h +108 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/dynamic_annotations.h +499 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/enumobject.h +17 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/errcode.h +45 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/exports.h +105 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/fileobject.h +41 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/fileutils.h +62 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/floatobject.h +54 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/frameobject.h +20 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/genericaliasobject.h +14 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/import.h +103 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/mimalloc/mimalloc/atomic.h +392 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/mimalloc/mimalloc/internal.h +969 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/mimalloc/mimalloc/prim.h +329 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/mimalloc/mimalloc/track.h +147 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/mimalloc/mimalloc/types.h +721 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/mimalloc/mimalloc.h +565 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_abstract.h +61 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_asdl.h +112 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_ast.h +945 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_ast_state.h +271 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_atexit.h +31 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_audit.h +35 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_backoff.h +133 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_bitutils.h +186 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_blocks_output_buffer.h +321 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_brc.h +73 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_bytes_methods.h +82 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_bytesobject.h +149 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_c_array.h +39 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_call.h +206 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_capsule.h +17 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_cell.h +75 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_ceval.h +390 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_ceval_state.h +48 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_code.h +671 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_codecs.h +76 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_compile.h +230 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_complexobject.h +34 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_condvar.h +93 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_context.h +59 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_critical_section.h +237 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_crossinterp.h +406 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_crossinterp_data_registry.h +41 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_debug_offsets.h +379 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_descrobject.h +28 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_dict.h +410 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_dict_state.h +28 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_dtoa.h +40 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_emscripten_signal.h +30 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_emscripten_trampoline.h +70 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_exceptions.h +40 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_faulthandler.h +100 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_fileutils.h +320 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_fileutils_windows.h +98 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_floatobject.h +49 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_flowgraph.h +47 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_format.h +27 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_frame.h +61 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_freelist.h +111 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_freelist_state.h +70 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_function.h +53 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_gc.h +378 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_genobject.h +43 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_getopt.h +22 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_gil.h +66 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_global_objects.h +34 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_global_objects_fini_generated.h +1592 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_global_strings.h +854 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_hamt.h +113 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_hashtable.h +150 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_import.h +141 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_importdl.h +139 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_index_pool.h +36 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_initconfig.h +197 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_instruction_sequence.h +83 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_instruments.h +127 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_interp.h +109 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_interp_structs.h +977 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_interpframe.h +401 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_interpframe_structs.h +95 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_interpolation.h +26 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_intrinsics.h +51 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_jit.h +29 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_list.h +81 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_llist.h +106 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_lock.h +236 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_long.h +319 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_magic_number.h +305 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_memoryobject.h +20 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_mimalloc.h +69 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_modsupport.h +99 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_moduleobject.h +62 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_namespace.h +21 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_object.h +1029 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_object_alloc.h +71 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_object_deferred.h +32 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_object_stack.h +95 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_object_state.h +49 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_obmalloc.h +702 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_obmalloc_init.h +66 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_opcode_metadata.h +2117 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_opcode_utils.h +90 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_optimizer.h +318 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_parking_lot.h +97 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_parser.h +78 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pathconfig.h +26 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pyarena.h +68 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pyatomic_ft_wrappers.h +174 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pybuffer.h +21 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pyerrors.h +213 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pyhash.h +91 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pylifecycle.h +136 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pymath.h +205 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pymem.h +145 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pymem_init.h +103 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pystate.h +339 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pystats.h +21 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pythonrun.h +68 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_pythread.h +172 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_qsbr.h +172 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_range.h +21 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_runtime.h +63 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_runtime_init.h +239 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_runtime_init_generated.h +1589 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_runtime_structs.h +310 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_semaphore.h +67 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_setobject.h +41 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_signal.h +108 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_sliceobject.h +20 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_stackref.h +791 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_stats.h +97 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_strhex.h +39 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_structs.h +88 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_structseq.h +40 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_symtable.h +201 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_sysmodule.h +32 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_template.h +26 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_time.h +334 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_token.h +110 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_traceback.h +111 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_tracemalloc.h +164 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_tstate.h +88 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_tuple.h +75 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_typedefs.h +18 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_typeobject.h +155 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_typevarobject.h +28 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_ucnhash.h +36 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_unicodeobject.h +308 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_unicodeobject_generated.h +3132 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_unionobject.h +26 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_uniqueid.h +57 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_uop_ids.h +335 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_uop_metadata.h +1204 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_warnings.h +21 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/internal/pycore_weakref.h +133 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/intrcheck.h +23 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/iterobject.h +24 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/listobject.h +55 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/lock.h +16 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/longobject.h +178 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/marshal.h +31 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/memoryobject.h +34 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/methodobject.h +146 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/modsupport.h +146 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/moduleobject.h +122 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/monitoring.h +18 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/object.h +828 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/objimpl.h +211 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/opcode.h +43 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/opcode_ids.h +259 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/osdefs.h +57 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/osmodule.h +17 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/patchlevel.h +49 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/py_curses.h +117 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/pyatomic.h +16 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/pybuffer.h +145 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/pycapsule.h +58 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/pyconfig.h +2088 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/pydtrace.h +59 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/pyerrors.h +335 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/pyexpat.h +62 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/pyframe.h +26 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/pyhash.h +59 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/pylifecycle.h +80 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/pymacconfig.h +91 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/pymacro.h +243 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/pymath.h +65 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/pymem.h +110 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/pyport.h +710 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/pystate.h +132 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/pystats.h +28 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/pystrcmp.h +23 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/pystrtod.h +37 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/pythonrun.h +42 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/pythread.h +131 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/pytypedefs.h +30 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/rangeobject.h +27 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/refcount.h +555 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/setobject.h +49 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/sliceobject.h +69 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/structmember.h +56 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/structseq.h +46 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/sysmodule.h +27 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/traceback.h +26 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/tupleobject.h +46 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/typeslots.h +96 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/unicodeobject.h +1029 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/warnings.h +45 -0
- pytron/platforms/android/shell/app/src/main/cpp/include/weakrefobject.h +46 -0
- pytron/platforms/android/shell/app/src/main/cpp/pytron_bridge.cpp +224 -0
- pytron/platforms/android/shell/app/src/main/java/com/pytron/shell/MainActivity.kt +208 -0
- pytron/platforms/android/shell/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- pytron/platforms/android/shell/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
- pytron/platforms/android/shell/build.gradle +11 -0
- pytron/platforms/android/shell/gradle/wrapper/gradle-wrapper.jar +0 -0
- pytron/platforms/android/shell/gradle/wrapper/gradle-wrapper.properties +5 -0
- pytron/platforms/android/shell/gradle.properties +2 -0
- pytron/platforms/android/shell/gradlew.bat +85 -0
- pytron/platforms/android/shell/settings.gradle +16 -0
- pytron/platforms/darwin.py +82 -0
- pytron/platforms/darwin_ops/libs.py +31 -0
- pytron/platforms/darwin_ops/system.py +182 -0
- pytron/platforms/darwin_ops/utils.py +85 -0
- pytron/platforms/darwin_ops/webview.py +5 -0
- pytron/platforms/darwin_ops/window.py +102 -0
- pytron/platforms/interface.py +152 -0
- pytron/platforms/linux.py +82 -0
- pytron/platforms/linux_ops/libs.py +49 -0
- pytron/platforms/linux_ops/system.py +316 -0
- pytron/platforms/linux_ops/utils.py +19 -0
- pytron/platforms/linux_ops/webview.py +5 -0
- pytron/platforms/linux_ops/window.py +115 -0
- pytron/platforms/windows.py +136 -0
- pytron/platforms/windows_ops/__init__.py +0 -0
- pytron/platforms/windows_ops/constants.py +126 -0
- pytron/platforms/windows_ops/system.py +518 -0
- pytron/platforms/windows_ops/utils.py +3 -0
- pytron/platforms/windows_ops/webview.py +5 -0
- pytron/platforms/windows_ops/window.py +361 -0
- pytron/plugin.py +467 -0
- pytron/rcedit-x64.exe +0 -0
- pytron/router.py +146 -0
- pytron/serializer.py +240 -0
- pytron/shortcuts.py +279 -0
- pytron/state.py +76 -0
- pytron/tray.py +399 -0
- pytron/updater.py +181 -0
- pytron/utf8_hook.py +112 -0
- pytron/utils.py +44 -0
- pytron/webview.py +722 -0
- pytron_kit-0.3.12.dist-info/METADATA +131 -0
- pytron_kit-0.3.12.dist-info/RECORD +419 -0
- pytron_kit-0.3.12.dist-info/WHEEL +5 -0
- pytron_kit-0.3.12.dist-info/entry_points.txt +2 -0
- pytron_kit-0.3.12.dist-info/licenses/LICENSE +201 -0
- pytron_kit-0.3.12.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
#ifndef _Py_AUDIT_H
|
|
2
|
+
#define _Py_AUDIT_H
|
|
3
|
+
#ifdef __cplusplus
|
|
4
|
+
extern "C" {
|
|
5
|
+
#endif
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030d0000
|
|
9
|
+
PyAPI_FUNC(int) PySys_Audit(
|
|
10
|
+
const char *event,
|
|
11
|
+
const char *argFormat,
|
|
12
|
+
...);
|
|
13
|
+
|
|
14
|
+
PyAPI_FUNC(int) PySys_AuditTuple(
|
|
15
|
+
const char *event,
|
|
16
|
+
PyObject *args);
|
|
17
|
+
#endif
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
#ifndef Py_LIMITED_API
|
|
21
|
+
# define _Py_CPYTHON_AUDIT_H
|
|
22
|
+
# include "cpython/audit.h"
|
|
23
|
+
# undef _Py_CPYTHON_AUDIT_H
|
|
24
|
+
#endif
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
#ifdef __cplusplus
|
|
28
|
+
}
|
|
29
|
+
#endif
|
|
30
|
+
#endif /* !_Py_AUDIT_H */
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#ifndef Py_BLTINMODULE_H
|
|
2
|
+
#define Py_BLTINMODULE_H
|
|
3
|
+
#ifdef __cplusplus
|
|
4
|
+
extern "C" {
|
|
5
|
+
#endif
|
|
6
|
+
|
|
7
|
+
PyAPI_DATA(PyTypeObject) PyFilter_Type;
|
|
8
|
+
PyAPI_DATA(PyTypeObject) PyMap_Type;
|
|
9
|
+
PyAPI_DATA(PyTypeObject) PyZip_Type;
|
|
10
|
+
|
|
11
|
+
#ifdef __cplusplus
|
|
12
|
+
}
|
|
13
|
+
#endif
|
|
14
|
+
#endif /* !Py_BLTINMODULE_H */
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/* Boolean object interface */
|
|
2
|
+
|
|
3
|
+
#ifndef Py_BOOLOBJECT_H
|
|
4
|
+
#define Py_BOOLOBJECT_H
|
|
5
|
+
#ifdef __cplusplus
|
|
6
|
+
extern "C" {
|
|
7
|
+
#endif
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
// PyBool_Type is declared by object.h
|
|
11
|
+
|
|
12
|
+
#define PyBool_Check(x) Py_IS_TYPE((x), &PyBool_Type)
|
|
13
|
+
|
|
14
|
+
/* Py_False and Py_True are the only two bools in existence. */
|
|
15
|
+
|
|
16
|
+
/* Don't use these directly */
|
|
17
|
+
PyAPI_DATA(PyLongObject) _Py_FalseStruct;
|
|
18
|
+
PyAPI_DATA(PyLongObject) _Py_TrueStruct;
|
|
19
|
+
|
|
20
|
+
/* Use these macros */
|
|
21
|
+
#if defined(Py_LIMITED_API) && Py_LIMITED_API+0 >= 0x030D0000
|
|
22
|
+
# define Py_False Py_GetConstantBorrowed(Py_CONSTANT_FALSE)
|
|
23
|
+
# define Py_True Py_GetConstantBorrowed(Py_CONSTANT_TRUE)
|
|
24
|
+
#else
|
|
25
|
+
# define Py_False _PyObject_CAST(&_Py_FalseStruct)
|
|
26
|
+
# define Py_True _PyObject_CAST(&_Py_TrueStruct)
|
|
27
|
+
#endif
|
|
28
|
+
|
|
29
|
+
// Test if an object is the True singleton, the same as "x is True" in Python.
|
|
30
|
+
PyAPI_FUNC(int) Py_IsTrue(PyObject *x);
|
|
31
|
+
#define Py_IsTrue(x) Py_Is((x), Py_True)
|
|
32
|
+
|
|
33
|
+
// Test if an object is the False singleton, the same as "x is False" in Python.
|
|
34
|
+
PyAPI_FUNC(int) Py_IsFalse(PyObject *x);
|
|
35
|
+
#define Py_IsFalse(x) Py_Is((x), Py_False)
|
|
36
|
+
|
|
37
|
+
/* Macros for returning Py_True or Py_False, respectively.
|
|
38
|
+
* Only treat Py_True and Py_False as immortal in the limited C API 3.12
|
|
39
|
+
* and newer. */
|
|
40
|
+
#if defined(Py_LIMITED_API) && Py_LIMITED_API+0 < 0x030c0000
|
|
41
|
+
# define Py_RETURN_TRUE return Py_NewRef(Py_True)
|
|
42
|
+
# define Py_RETURN_FALSE return Py_NewRef(Py_False)
|
|
43
|
+
#else
|
|
44
|
+
# define Py_RETURN_TRUE return Py_True
|
|
45
|
+
# define Py_RETURN_FALSE return Py_False
|
|
46
|
+
#endif
|
|
47
|
+
|
|
48
|
+
/* Function to return a bool from a C long */
|
|
49
|
+
PyAPI_FUNC(PyObject *) PyBool_FromLong(long);
|
|
50
|
+
|
|
51
|
+
#ifdef __cplusplus
|
|
52
|
+
}
|
|
53
|
+
#endif
|
|
54
|
+
#endif /* !Py_BOOLOBJECT_H */
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/* ByteArray object interface */
|
|
2
|
+
|
|
3
|
+
#ifndef Py_BYTEARRAYOBJECT_H
|
|
4
|
+
#define Py_BYTEARRAYOBJECT_H
|
|
5
|
+
#ifdef __cplusplus
|
|
6
|
+
extern "C" {
|
|
7
|
+
#endif
|
|
8
|
+
|
|
9
|
+
/* Type PyByteArrayObject represents a mutable array of bytes.
|
|
10
|
+
* The Python API is that of a sequence;
|
|
11
|
+
* the bytes are mapped to ints in [0, 256).
|
|
12
|
+
* Bytes are not characters; they may be used to encode characters.
|
|
13
|
+
* The only way to go between bytes and str/unicode is via encoding
|
|
14
|
+
* and decoding.
|
|
15
|
+
* For the convenience of C programmers, the bytes type is considered
|
|
16
|
+
* to contain a char pointer, not an unsigned char pointer.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/* Type object */
|
|
20
|
+
PyAPI_DATA(PyTypeObject) PyByteArray_Type;
|
|
21
|
+
PyAPI_DATA(PyTypeObject) PyByteArrayIter_Type;
|
|
22
|
+
|
|
23
|
+
/* Type check macros */
|
|
24
|
+
#define PyByteArray_Check(self) PyObject_TypeCheck((self), &PyByteArray_Type)
|
|
25
|
+
#define PyByteArray_CheckExact(self) Py_IS_TYPE((self), &PyByteArray_Type)
|
|
26
|
+
|
|
27
|
+
/* Direct API functions */
|
|
28
|
+
PyAPI_FUNC(PyObject *) PyByteArray_FromObject(PyObject *);
|
|
29
|
+
PyAPI_FUNC(PyObject *) PyByteArray_Concat(PyObject *, PyObject *);
|
|
30
|
+
PyAPI_FUNC(PyObject *) PyByteArray_FromStringAndSize(const char *, Py_ssize_t);
|
|
31
|
+
PyAPI_FUNC(Py_ssize_t) PyByteArray_Size(PyObject *);
|
|
32
|
+
PyAPI_FUNC(char *) PyByteArray_AsString(PyObject *);
|
|
33
|
+
PyAPI_FUNC(int) PyByteArray_Resize(PyObject *, Py_ssize_t);
|
|
34
|
+
|
|
35
|
+
#ifndef Py_LIMITED_API
|
|
36
|
+
# define Py_CPYTHON_BYTEARRAYOBJECT_H
|
|
37
|
+
# include "cpython/bytearrayobject.h"
|
|
38
|
+
# undef Py_CPYTHON_BYTEARRAYOBJECT_H
|
|
39
|
+
#endif
|
|
40
|
+
|
|
41
|
+
#ifdef __cplusplus
|
|
42
|
+
}
|
|
43
|
+
#endif
|
|
44
|
+
#endif /* !Py_BYTEARRAYOBJECT_H */
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
// Bytes object interface
|
|
2
|
+
|
|
3
|
+
#ifndef Py_BYTESOBJECT_H
|
|
4
|
+
#define Py_BYTESOBJECT_H
|
|
5
|
+
#ifdef __cplusplus
|
|
6
|
+
extern "C" {
|
|
7
|
+
#endif
|
|
8
|
+
|
|
9
|
+
/*
|
|
10
|
+
Type PyBytesObject represents a byte string. An extra zero byte is
|
|
11
|
+
reserved at the end to ensure it is zero-terminated, but a size is
|
|
12
|
+
present so strings with null bytes in them can be represented. This
|
|
13
|
+
is an immutable object type.
|
|
14
|
+
|
|
15
|
+
There are functions to create new bytes objects, to test
|
|
16
|
+
an object for bytes-ness, and to get the
|
|
17
|
+
byte string value. The latter function returns a null pointer
|
|
18
|
+
if the object is not of the proper type.
|
|
19
|
+
There is a variant that takes an explicit size as well as a
|
|
20
|
+
variant that assumes a zero-terminated string. Note that none of the
|
|
21
|
+
functions should be applied to NULL pointer.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
PyAPI_DATA(PyTypeObject) PyBytes_Type;
|
|
25
|
+
PyAPI_DATA(PyTypeObject) PyBytesIter_Type;
|
|
26
|
+
|
|
27
|
+
#define PyBytes_Check(op) \
|
|
28
|
+
PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_BYTES_SUBCLASS)
|
|
29
|
+
#define PyBytes_CheckExact(op) Py_IS_TYPE((op), &PyBytes_Type)
|
|
30
|
+
|
|
31
|
+
PyAPI_FUNC(PyObject *) PyBytes_FromStringAndSize(const char *, Py_ssize_t);
|
|
32
|
+
PyAPI_FUNC(PyObject *) PyBytes_FromString(const char *);
|
|
33
|
+
PyAPI_FUNC(PyObject *) PyBytes_FromObject(PyObject *);
|
|
34
|
+
PyAPI_FUNC(PyObject *) PyBytes_FromFormatV(const char*, va_list)
|
|
35
|
+
Py_GCC_ATTRIBUTE((format(printf, 1, 0)));
|
|
36
|
+
PyAPI_FUNC(PyObject *) PyBytes_FromFormat(const char*, ...)
|
|
37
|
+
Py_GCC_ATTRIBUTE((format(printf, 1, 2)));
|
|
38
|
+
PyAPI_FUNC(Py_ssize_t) PyBytes_Size(PyObject *);
|
|
39
|
+
PyAPI_FUNC(char *) PyBytes_AsString(PyObject *);
|
|
40
|
+
PyAPI_FUNC(PyObject *) PyBytes_Repr(PyObject *, int);
|
|
41
|
+
PyAPI_FUNC(void) PyBytes_Concat(PyObject **, PyObject *);
|
|
42
|
+
PyAPI_FUNC(void) PyBytes_ConcatAndDel(PyObject **, PyObject *);
|
|
43
|
+
PyAPI_FUNC(PyObject *) PyBytes_DecodeEscape(const char *, Py_ssize_t,
|
|
44
|
+
const char *, Py_ssize_t,
|
|
45
|
+
const char *);
|
|
46
|
+
|
|
47
|
+
/* Provides access to the internal data buffer and size of a bytes object.
|
|
48
|
+
Passing NULL as len parameter will force the string buffer to be
|
|
49
|
+
0-terminated (passing a string with embedded NUL characters will
|
|
50
|
+
cause an exception). */
|
|
51
|
+
PyAPI_FUNC(int) PyBytes_AsStringAndSize(
|
|
52
|
+
PyObject *obj, /* bytes object */
|
|
53
|
+
char **s, /* pointer to buffer variable */
|
|
54
|
+
Py_ssize_t *len /* pointer to length variable or NULL */
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
#ifndef Py_LIMITED_API
|
|
58
|
+
# define Py_CPYTHON_BYTESOBJECT_H
|
|
59
|
+
# include "cpython/bytesobject.h"
|
|
60
|
+
# undef Py_CPYTHON_BYTESOBJECT_H
|
|
61
|
+
#endif
|
|
62
|
+
|
|
63
|
+
#ifdef __cplusplus
|
|
64
|
+
}
|
|
65
|
+
#endif
|
|
66
|
+
#endif /* !Py_BYTESOBJECT_H */
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/* Interface to random parts in ceval.c */
|
|
2
|
+
|
|
3
|
+
#ifndef Py_CEVAL_H
|
|
4
|
+
#define Py_CEVAL_H
|
|
5
|
+
#ifdef __cplusplus
|
|
6
|
+
extern "C" {
|
|
7
|
+
#endif
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
PyAPI_FUNC(PyObject *) PyEval_EvalCode(PyObject *, PyObject *, PyObject *);
|
|
11
|
+
|
|
12
|
+
PyAPI_FUNC(PyObject *) PyEval_EvalCodeEx(PyObject *co,
|
|
13
|
+
PyObject *globals,
|
|
14
|
+
PyObject *locals,
|
|
15
|
+
PyObject *const *args, int argc,
|
|
16
|
+
PyObject *const *kwds, int kwdc,
|
|
17
|
+
PyObject *const *defs, int defc,
|
|
18
|
+
PyObject *kwdefs, PyObject *closure);
|
|
19
|
+
|
|
20
|
+
PyAPI_FUNC(PyObject *) PyEval_GetBuiltins(void);
|
|
21
|
+
PyAPI_FUNC(PyObject *) PyEval_GetGlobals(void);
|
|
22
|
+
PyAPI_FUNC(PyObject *) PyEval_GetLocals(void);
|
|
23
|
+
PyAPI_FUNC(PyFrameObject *) PyEval_GetFrame(void);
|
|
24
|
+
|
|
25
|
+
PyAPI_FUNC(PyObject *) PyEval_GetFrameBuiltins(void);
|
|
26
|
+
PyAPI_FUNC(PyObject *) PyEval_GetFrameGlobals(void);
|
|
27
|
+
PyAPI_FUNC(PyObject *) PyEval_GetFrameLocals(void);
|
|
28
|
+
|
|
29
|
+
PyAPI_FUNC(int) Py_AddPendingCall(int (*func)(void *), void *arg);
|
|
30
|
+
PyAPI_FUNC(int) Py_MakePendingCalls(void);
|
|
31
|
+
|
|
32
|
+
/* Protection against deeply nested recursive calls
|
|
33
|
+
|
|
34
|
+
In Python 3.0, this protection has two levels:
|
|
35
|
+
* normal anti-recursion protection is triggered when the recursion level
|
|
36
|
+
exceeds the current recursion limit. It raises a RecursionError, and sets
|
|
37
|
+
the "overflowed" flag in the thread state structure. This flag
|
|
38
|
+
temporarily *disables* the normal protection; this allows cleanup code
|
|
39
|
+
to potentially outgrow the recursion limit while processing the
|
|
40
|
+
RecursionError.
|
|
41
|
+
* "last chance" anti-recursion protection is triggered when the recursion
|
|
42
|
+
level exceeds "current recursion limit + 50". By construction, this
|
|
43
|
+
protection can only be triggered when the "overflowed" flag is set. It
|
|
44
|
+
means the cleanup code has itself gone into an infinite loop, or the
|
|
45
|
+
RecursionError has been mistakenly ignored. When this protection is
|
|
46
|
+
triggered, the interpreter aborts with a Fatal Error.
|
|
47
|
+
|
|
48
|
+
In addition, the "overflowed" flag is automatically reset when the
|
|
49
|
+
recursion level drops below "current recursion limit - 50". This heuristic
|
|
50
|
+
is meant to ensure that the normal anti-recursion protection doesn't get
|
|
51
|
+
disabled too long.
|
|
52
|
+
|
|
53
|
+
Please note: this scheme has its own limitations. See:
|
|
54
|
+
http://mail.python.org/pipermail/python-dev/2008-August/082106.html
|
|
55
|
+
for some observations.
|
|
56
|
+
*/
|
|
57
|
+
PyAPI_FUNC(void) Py_SetRecursionLimit(int);
|
|
58
|
+
PyAPI_FUNC(int) Py_GetRecursionLimit(void);
|
|
59
|
+
|
|
60
|
+
PyAPI_FUNC(int) Py_EnterRecursiveCall(const char *where);
|
|
61
|
+
PyAPI_FUNC(void) Py_LeaveRecursiveCall(void);
|
|
62
|
+
|
|
63
|
+
PyAPI_FUNC(const char *) PyEval_GetFuncName(PyObject *);
|
|
64
|
+
PyAPI_FUNC(const char *) PyEval_GetFuncDesc(PyObject *);
|
|
65
|
+
|
|
66
|
+
PyAPI_FUNC(PyObject *) PyEval_EvalFrame(PyFrameObject *);
|
|
67
|
+
PyAPI_FUNC(PyObject *) PyEval_EvalFrameEx(PyFrameObject *f, int exc);
|
|
68
|
+
|
|
69
|
+
/* Interface for threads.
|
|
70
|
+
|
|
71
|
+
A module that plans to do a blocking system call (or something else
|
|
72
|
+
that lasts a long time and doesn't touch Python data) can allow other
|
|
73
|
+
threads to run as follows:
|
|
74
|
+
|
|
75
|
+
...preparations here...
|
|
76
|
+
Py_BEGIN_ALLOW_THREADS
|
|
77
|
+
...blocking system call here...
|
|
78
|
+
Py_END_ALLOW_THREADS
|
|
79
|
+
...interpret result here...
|
|
80
|
+
|
|
81
|
+
The Py_BEGIN_ALLOW_THREADS/Py_END_ALLOW_THREADS pair expands to a
|
|
82
|
+
{}-surrounded block.
|
|
83
|
+
To leave the block in the middle (e.g., with return), you must insert
|
|
84
|
+
a line containing Py_BLOCK_THREADS before the return, e.g.
|
|
85
|
+
|
|
86
|
+
if (...premature_exit...) {
|
|
87
|
+
Py_BLOCK_THREADS
|
|
88
|
+
PyErr_SetFromErrno(PyExc_OSError);
|
|
89
|
+
return NULL;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
An alternative is:
|
|
93
|
+
|
|
94
|
+
Py_BLOCK_THREADS
|
|
95
|
+
if (...premature_exit...) {
|
|
96
|
+
PyErr_SetFromErrno(PyExc_OSError);
|
|
97
|
+
return NULL;
|
|
98
|
+
}
|
|
99
|
+
Py_UNBLOCK_THREADS
|
|
100
|
+
|
|
101
|
+
For convenience, that the value of 'errno' is restored across
|
|
102
|
+
Py_END_ALLOW_THREADS and Py_BLOCK_THREADS.
|
|
103
|
+
|
|
104
|
+
WARNING: NEVER NEST CALLS TO Py_BEGIN_ALLOW_THREADS AND
|
|
105
|
+
Py_END_ALLOW_THREADS!!!
|
|
106
|
+
|
|
107
|
+
Note that not yet all candidates have been converted to use this
|
|
108
|
+
mechanism!
|
|
109
|
+
*/
|
|
110
|
+
|
|
111
|
+
PyAPI_FUNC(PyThreadState *) PyEval_SaveThread(void);
|
|
112
|
+
PyAPI_FUNC(void) PyEval_RestoreThread(PyThreadState *);
|
|
113
|
+
|
|
114
|
+
Py_DEPRECATED(3.9) PyAPI_FUNC(void) PyEval_InitThreads(void);
|
|
115
|
+
|
|
116
|
+
PyAPI_FUNC(void) PyEval_AcquireThread(PyThreadState *tstate);
|
|
117
|
+
PyAPI_FUNC(void) PyEval_ReleaseThread(PyThreadState *tstate);
|
|
118
|
+
|
|
119
|
+
#define Py_BEGIN_ALLOW_THREADS { \
|
|
120
|
+
PyThreadState *_save; \
|
|
121
|
+
_save = PyEval_SaveThread();
|
|
122
|
+
#define Py_BLOCK_THREADS PyEval_RestoreThread(_save);
|
|
123
|
+
#define Py_UNBLOCK_THREADS _save = PyEval_SaveThread();
|
|
124
|
+
#define Py_END_ALLOW_THREADS PyEval_RestoreThread(_save); \
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/* Masks and values used by FORMAT_VALUE opcode. */
|
|
128
|
+
#define FVC_MASK 0x3
|
|
129
|
+
#define FVC_NONE 0x0
|
|
130
|
+
#define FVC_STR 0x1
|
|
131
|
+
#define FVC_REPR 0x2
|
|
132
|
+
#define FVC_ASCII 0x3
|
|
133
|
+
#define FVS_MASK 0x4
|
|
134
|
+
#define FVS_HAVE_SPEC 0x4
|
|
135
|
+
|
|
136
|
+
#ifndef Py_LIMITED_API
|
|
137
|
+
# define Py_CPYTHON_CEVAL_H
|
|
138
|
+
# include "cpython/ceval.h"
|
|
139
|
+
# undef Py_CPYTHON_CEVAL_H
|
|
140
|
+
#endif
|
|
141
|
+
|
|
142
|
+
#ifdef __cplusplus
|
|
143
|
+
}
|
|
144
|
+
#endif
|
|
145
|
+
#endif /* !Py_CEVAL_H */
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
#ifndef Py_CODECREGISTRY_H
|
|
2
|
+
#define Py_CODECREGISTRY_H
|
|
3
|
+
#ifdef __cplusplus
|
|
4
|
+
extern "C" {
|
|
5
|
+
#endif
|
|
6
|
+
|
|
7
|
+
/* ------------------------------------------------------------------------
|
|
8
|
+
|
|
9
|
+
Python Codec Registry and support functions
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
Written by Marc-Andre Lemburg (mal@lemburg.com).
|
|
13
|
+
|
|
14
|
+
Copyright (c) Corporation for National Research Initiatives.
|
|
15
|
+
|
|
16
|
+
------------------------------------------------------------------------ */
|
|
17
|
+
|
|
18
|
+
/* Register a new codec search function.
|
|
19
|
+
|
|
20
|
+
As side effect, this tries to load the encodings package, if not
|
|
21
|
+
yet done, to make sure that it is always first in the list of
|
|
22
|
+
search functions.
|
|
23
|
+
|
|
24
|
+
The search_function's refcount is incremented by this function. */
|
|
25
|
+
|
|
26
|
+
PyAPI_FUNC(int) PyCodec_Register(
|
|
27
|
+
PyObject *search_function
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
/* Unregister a codec search function and clear the registry's cache.
|
|
31
|
+
If the search function is not registered, do nothing.
|
|
32
|
+
Return 0 on success. Raise an exception and return -1 on error. */
|
|
33
|
+
|
|
34
|
+
PyAPI_FUNC(int) PyCodec_Unregister(
|
|
35
|
+
PyObject *search_function
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
/* Codec registry encoding check API.
|
|
39
|
+
|
|
40
|
+
Returns 1/0 depending on whether there is a registered codec for
|
|
41
|
+
the given encoding.
|
|
42
|
+
|
|
43
|
+
*/
|
|
44
|
+
|
|
45
|
+
PyAPI_FUNC(int) PyCodec_KnownEncoding(
|
|
46
|
+
const char *encoding
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
/* Generic codec based encoding API.
|
|
50
|
+
|
|
51
|
+
object is passed through the encoder function found for the given
|
|
52
|
+
encoding using the error handling method defined by errors. errors
|
|
53
|
+
may be NULL to use the default method defined for the codec.
|
|
54
|
+
|
|
55
|
+
Raises a LookupError in case no encoder can be found.
|
|
56
|
+
|
|
57
|
+
*/
|
|
58
|
+
|
|
59
|
+
PyAPI_FUNC(PyObject *) PyCodec_Encode(
|
|
60
|
+
PyObject *object,
|
|
61
|
+
const char *encoding,
|
|
62
|
+
const char *errors
|
|
63
|
+
);
|
|
64
|
+
|
|
65
|
+
/* Generic codec based decoding API.
|
|
66
|
+
|
|
67
|
+
object is passed through the decoder function found for the given
|
|
68
|
+
encoding using the error handling method defined by errors. errors
|
|
69
|
+
may be NULL to use the default method defined for the codec.
|
|
70
|
+
|
|
71
|
+
Raises a LookupError in case no encoder can be found.
|
|
72
|
+
|
|
73
|
+
*/
|
|
74
|
+
|
|
75
|
+
PyAPI_FUNC(PyObject *) PyCodec_Decode(
|
|
76
|
+
PyObject *object,
|
|
77
|
+
const char *encoding,
|
|
78
|
+
const char *errors
|
|
79
|
+
);
|
|
80
|
+
|
|
81
|
+
// --- Codec Lookup APIs --------------------------------------------------
|
|
82
|
+
|
|
83
|
+
/* Codec registry lookup API.
|
|
84
|
+
|
|
85
|
+
Looks up the given encoding and returns a CodecInfo object with
|
|
86
|
+
function attributes which implement the different aspects of
|
|
87
|
+
processing the encoding.
|
|
88
|
+
|
|
89
|
+
The encoding string is looked up converted to all lower-case
|
|
90
|
+
characters. This makes encodings looked up through this mechanism
|
|
91
|
+
effectively case-insensitive.
|
|
92
|
+
|
|
93
|
+
If no codec is found, a KeyError is set and NULL returned.
|
|
94
|
+
|
|
95
|
+
As side effect, this tries to load the encodings package, if not
|
|
96
|
+
yet done. This is part of the lazy load strategy for the encodings
|
|
97
|
+
package.
|
|
98
|
+
*/
|
|
99
|
+
|
|
100
|
+
/* Get an encoder function for the given encoding. */
|
|
101
|
+
|
|
102
|
+
PyAPI_FUNC(PyObject *) PyCodec_Encoder(const char *encoding);
|
|
103
|
+
|
|
104
|
+
/* Get a decoder function for the given encoding. */
|
|
105
|
+
|
|
106
|
+
PyAPI_FUNC(PyObject *) PyCodec_Decoder(const char *encoding);
|
|
107
|
+
|
|
108
|
+
/* Get an IncrementalEncoder object for the given encoding. */
|
|
109
|
+
|
|
110
|
+
PyAPI_FUNC(PyObject *) PyCodec_IncrementalEncoder(
|
|
111
|
+
const char *encoding,
|
|
112
|
+
const char *errors);
|
|
113
|
+
|
|
114
|
+
/* Get an IncrementalDecoder object function for the given encoding. */
|
|
115
|
+
|
|
116
|
+
PyAPI_FUNC(PyObject *) PyCodec_IncrementalDecoder(
|
|
117
|
+
const char *encoding,
|
|
118
|
+
const char *errors);
|
|
119
|
+
|
|
120
|
+
/* Get a StreamReader factory function for the given encoding. */
|
|
121
|
+
|
|
122
|
+
PyAPI_FUNC(PyObject *) PyCodec_StreamReader(
|
|
123
|
+
const char *encoding,
|
|
124
|
+
PyObject *stream,
|
|
125
|
+
const char *errors);
|
|
126
|
+
|
|
127
|
+
/* Get a StreamWriter factory function for the given encoding. */
|
|
128
|
+
|
|
129
|
+
PyAPI_FUNC(PyObject *) PyCodec_StreamWriter(
|
|
130
|
+
const char *encoding,
|
|
131
|
+
PyObject *stream,
|
|
132
|
+
const char *errors);
|
|
133
|
+
|
|
134
|
+
/* Unicode encoding error handling callback registry API */
|
|
135
|
+
|
|
136
|
+
/* Register the error handling callback function error under the given
|
|
137
|
+
name. This function will be called by the codec when it encounters
|
|
138
|
+
unencodable characters/undecodable bytes and doesn't know the
|
|
139
|
+
callback name, when name is specified as the error parameter
|
|
140
|
+
in the call to the encode/decode function.
|
|
141
|
+
Return 0 on success, -1 on error */
|
|
142
|
+
PyAPI_FUNC(int) PyCodec_RegisterError(const char *name, PyObject *error);
|
|
143
|
+
|
|
144
|
+
/* Lookup the error handling callback function registered under the given
|
|
145
|
+
name. As a special case NULL can be passed, in which case
|
|
146
|
+
the error handling callback for "strict" will be returned. */
|
|
147
|
+
PyAPI_FUNC(PyObject *) PyCodec_LookupError(const char *name);
|
|
148
|
+
|
|
149
|
+
/* raise exc as an exception */
|
|
150
|
+
PyAPI_FUNC(PyObject *) PyCodec_StrictErrors(PyObject *exc);
|
|
151
|
+
|
|
152
|
+
/* ignore the unicode error, skipping the faulty input */
|
|
153
|
+
PyAPI_FUNC(PyObject *) PyCodec_IgnoreErrors(PyObject *exc);
|
|
154
|
+
|
|
155
|
+
/* replace the unicode encode error with ? or U+FFFD */
|
|
156
|
+
PyAPI_FUNC(PyObject *) PyCodec_ReplaceErrors(PyObject *exc);
|
|
157
|
+
|
|
158
|
+
/* replace the unicode encode error with XML character references */
|
|
159
|
+
PyAPI_FUNC(PyObject *) PyCodec_XMLCharRefReplaceErrors(PyObject *exc);
|
|
160
|
+
|
|
161
|
+
/* replace the unicode encode error with backslash escapes (\x, \u and \U) */
|
|
162
|
+
PyAPI_FUNC(PyObject *) PyCodec_BackslashReplaceErrors(PyObject *exc);
|
|
163
|
+
|
|
164
|
+
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000
|
|
165
|
+
/* replace the unicode encode error with backslash escapes (\N, \x, \u and \U) */
|
|
166
|
+
PyAPI_FUNC(PyObject *) PyCodec_NameReplaceErrors(PyObject *exc);
|
|
167
|
+
#endif
|
|
168
|
+
|
|
169
|
+
#ifndef Py_LIMITED_API
|
|
170
|
+
PyAPI_DATA(const char *) Py_hexdigits;
|
|
171
|
+
#endif
|
|
172
|
+
|
|
173
|
+
#ifdef __cplusplus
|
|
174
|
+
}
|
|
175
|
+
#endif
|
|
176
|
+
#endif /* !Py_CODECREGISTRY_H */
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#ifndef Py_COMPILE_H
|
|
2
|
+
#define Py_COMPILE_H
|
|
3
|
+
#ifdef __cplusplus
|
|
4
|
+
extern "C" {
|
|
5
|
+
#endif
|
|
6
|
+
|
|
7
|
+
/* These definitions must match corresponding definitions in graminit.h. */
|
|
8
|
+
#define Py_single_input 256
|
|
9
|
+
#define Py_file_input 257
|
|
10
|
+
#define Py_eval_input 258
|
|
11
|
+
#define Py_func_type_input 345
|
|
12
|
+
|
|
13
|
+
#ifndef Py_LIMITED_API
|
|
14
|
+
# define Py_CPYTHON_COMPILE_H
|
|
15
|
+
# include "cpython/compile.h"
|
|
16
|
+
# undef Py_CPYTHON_COMPILE_H
|
|
17
|
+
#endif
|
|
18
|
+
|
|
19
|
+
#ifdef __cplusplus
|
|
20
|
+
}
|
|
21
|
+
#endif
|
|
22
|
+
#endif /* !Py_COMPILE_H */
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/* Complex number structure */
|
|
2
|
+
|
|
3
|
+
#ifndef Py_COMPLEXOBJECT_H
|
|
4
|
+
#define Py_COMPLEXOBJECT_H
|
|
5
|
+
#ifdef __cplusplus
|
|
6
|
+
extern "C" {
|
|
7
|
+
#endif
|
|
8
|
+
|
|
9
|
+
/* Complex object interface */
|
|
10
|
+
|
|
11
|
+
PyAPI_DATA(PyTypeObject) PyComplex_Type;
|
|
12
|
+
|
|
13
|
+
#define PyComplex_Check(op) PyObject_TypeCheck((op), &PyComplex_Type)
|
|
14
|
+
#define PyComplex_CheckExact(op) Py_IS_TYPE((op), &PyComplex_Type)
|
|
15
|
+
|
|
16
|
+
PyAPI_FUNC(PyObject *) PyComplex_FromDoubles(double real, double imag);
|
|
17
|
+
|
|
18
|
+
PyAPI_FUNC(double) PyComplex_RealAsDouble(PyObject *op);
|
|
19
|
+
PyAPI_FUNC(double) PyComplex_ImagAsDouble(PyObject *op);
|
|
20
|
+
|
|
21
|
+
#ifndef Py_LIMITED_API
|
|
22
|
+
# define Py_CPYTHON_COMPLEXOBJECT_H
|
|
23
|
+
# include "cpython/complexobject.h"
|
|
24
|
+
# undef Py_CPYTHON_COMPLEXOBJECT_H
|
|
25
|
+
#endif
|
|
26
|
+
|
|
27
|
+
#ifdef __cplusplus
|
|
28
|
+
}
|
|
29
|
+
#endif
|
|
30
|
+
#endif /* !Py_COMPLEXOBJECT_H */
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
#ifndef Py_CPYTHON_ABSTRACTOBJECT_H
|
|
2
|
+
# error "this header file must not be included directly"
|
|
3
|
+
#endif
|
|
4
|
+
|
|
5
|
+
/* === Object Protocol ================================================== */
|
|
6
|
+
|
|
7
|
+
/* Like PyObject_CallMethod(), but expect a _Py_Identifier*
|
|
8
|
+
as the method name. */
|
|
9
|
+
PyAPI_FUNC(PyObject*) _PyObject_CallMethodId(
|
|
10
|
+
PyObject *obj,
|
|
11
|
+
_Py_Identifier *name,
|
|
12
|
+
const char *format, ...);
|
|
13
|
+
|
|
14
|
+
/* Convert keyword arguments from the FASTCALL (stack: C array, kwnames: tuple)
|
|
15
|
+
format to a Python dictionary ("kwargs" dict).
|
|
16
|
+
|
|
17
|
+
The type of kwnames keys is not checked. The final function getting
|
|
18
|
+
arguments is responsible to check if all keys are strings, for example using
|
|
19
|
+
PyArg_ParseTupleAndKeywords() or PyArg_ValidateKeywordArguments().
|
|
20
|
+
|
|
21
|
+
Duplicate keys are merged using the last value. If duplicate keys must raise
|
|
22
|
+
an exception, the caller is responsible to implement an explicit keys on
|
|
23
|
+
kwnames. */
|
|
24
|
+
PyAPI_FUNC(PyObject*) _PyStack_AsDict(PyObject *const *values, PyObject *kwnames);
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
/* === Vectorcall protocol (PEP 590) ============================= */
|
|
28
|
+
|
|
29
|
+
// PyVectorcall_NARGS() is exported as a function for the stable ABI.
|
|
30
|
+
// Here (when we are not using the stable ABI), the name is overridden to
|
|
31
|
+
// call a static inline function for best performance.
|
|
32
|
+
static inline Py_ssize_t
|
|
33
|
+
_PyVectorcall_NARGS(size_t n)
|
|
34
|
+
{
|
|
35
|
+
return n & ~PY_VECTORCALL_ARGUMENTS_OFFSET;
|
|
36
|
+
}
|
|
37
|
+
#define PyVectorcall_NARGS(n) _PyVectorcall_NARGS(n)
|
|
38
|
+
|
|
39
|
+
PyAPI_FUNC(vectorcallfunc) PyVectorcall_Function(PyObject *callable);
|
|
40
|
+
|
|
41
|
+
// Backwards compatibility aliases (PEP 590) for API that was provisional
|
|
42
|
+
// in Python 3.8
|
|
43
|
+
#define _PyObject_Vectorcall PyObject_Vectorcall
|
|
44
|
+
#define _PyObject_VectorcallMethod PyObject_VectorcallMethod
|
|
45
|
+
#define _PyObject_FastCallDict PyObject_VectorcallDict
|
|
46
|
+
#define _PyVectorcall_Function PyVectorcall_Function
|
|
47
|
+
#define _PyObject_CallOneArg PyObject_CallOneArg
|
|
48
|
+
#define _PyObject_CallMethodNoArgs PyObject_CallMethodNoArgs
|
|
49
|
+
#define _PyObject_CallMethodOneArg PyObject_CallMethodOneArg
|
|
50
|
+
|
|
51
|
+
/* Same as PyObject_Vectorcall except that keyword arguments are passed as
|
|
52
|
+
dict, which may be NULL if there are no keyword arguments. */
|
|
53
|
+
PyAPI_FUNC(PyObject *) PyObject_VectorcallDict(
|
|
54
|
+
PyObject *callable,
|
|
55
|
+
PyObject *const *args,
|
|
56
|
+
size_t nargsf,
|
|
57
|
+
PyObject *kwargs);
|
|
58
|
+
|
|
59
|
+
PyAPI_FUNC(PyObject *) PyObject_CallOneArg(PyObject *func, PyObject *arg);
|
|
60
|
+
|
|
61
|
+
static inline PyObject *
|
|
62
|
+
PyObject_CallMethodNoArgs(PyObject *self, PyObject *name)
|
|
63
|
+
{
|
|
64
|
+
size_t nargsf = 1 | PY_VECTORCALL_ARGUMENTS_OFFSET;
|
|
65
|
+
return PyObject_VectorcallMethod(name, &self, nargsf, _Py_NULL);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
static inline PyObject *
|
|
69
|
+
PyObject_CallMethodOneArg(PyObject *self, PyObject *name, PyObject *arg)
|
|
70
|
+
{
|
|
71
|
+
PyObject *args[2] = {self, arg};
|
|
72
|
+
size_t nargsf = 2 | PY_VECTORCALL_ARGUMENTS_OFFSET;
|
|
73
|
+
assert(arg != NULL);
|
|
74
|
+
return PyObject_VectorcallMethod(name, args, nargsf, _Py_NULL);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/* Guess the size of object 'o' using len(o) or o.__length_hint__().
|
|
78
|
+
If neither of those return a non-negative value, then return the default
|
|
79
|
+
value. If one of the calls fails, this function returns -1. */
|
|
80
|
+
PyAPI_FUNC(Py_ssize_t) PyObject_LengthHint(PyObject *o, Py_ssize_t);
|
|
81
|
+
|
|
82
|
+
/* === Sequence protocol ================================================ */
|
|
83
|
+
|
|
84
|
+
/* Assume tp_as_sequence and sq_item exist and that 'i' does not
|
|
85
|
+
need to be corrected for a negative index. */
|
|
86
|
+
#define PySequence_ITEM(o, i)\
|
|
87
|
+
( Py_TYPE(o)->tp_as_sequence->sq_item((o), (i)) )
|
|
88
|
+
|
|
89
|
+
/* Return the size of the sequence 'o', assuming that 'o' was returned by
|
|
90
|
+
PySequence_Fast and is not NULL. */
|
|
91
|
+
#define PySequence_Fast_GET_SIZE(o) \
|
|
92
|
+
(PyList_Check(o) ? PyList_GET_SIZE(o) : PyTuple_GET_SIZE(o))
|
|
93
|
+
|
|
94
|
+
/* Return the 'i'-th element of the sequence 'o', assuming that o was returned
|
|
95
|
+
by PySequence_Fast, and that i is within bounds. */
|
|
96
|
+
#define PySequence_Fast_GET_ITEM(o, i)\
|
|
97
|
+
(PyList_Check(o) ? PyList_GET_ITEM((o), (i)) : PyTuple_GET_ITEM((o), (i)))
|
|
98
|
+
|
|
99
|
+
/* Return a pointer to the underlying item array for
|
|
100
|
+
an object returned by PySequence_Fast */
|
|
101
|
+
#define PySequence_Fast_ITEMS(sf) \
|
|
102
|
+
(PyList_Check(sf) ? ((PyListObject *)(sf))->ob_item \
|
|
103
|
+
: ((PyTupleObject *)(sf))->ob_item)
|
|
104
|
+
|