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,20 @@
|
|
|
1
|
+
#ifndef Py_CPYTHON_WARNINGS_H
|
|
2
|
+
# error "this header file must not be included directly"
|
|
3
|
+
#endif
|
|
4
|
+
|
|
5
|
+
PyAPI_FUNC(int) PyErr_WarnExplicitObject(
|
|
6
|
+
PyObject *category,
|
|
7
|
+
PyObject *message,
|
|
8
|
+
PyObject *filename,
|
|
9
|
+
int lineno,
|
|
10
|
+
PyObject *module,
|
|
11
|
+
PyObject *registry);
|
|
12
|
+
|
|
13
|
+
PyAPI_FUNC(int) PyErr_WarnExplicitFormat(
|
|
14
|
+
PyObject *category,
|
|
15
|
+
const char *filename, int lineno,
|
|
16
|
+
const char *module, PyObject *registry,
|
|
17
|
+
const char *format, ...);
|
|
18
|
+
|
|
19
|
+
// DEPRECATED: Use PyErr_WarnEx() instead.
|
|
20
|
+
#define PyErr_Warn(category, msg) PyErr_WarnEx((category), (msg), 1)
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
#ifndef Py_CPYTHON_WEAKREFOBJECT_H
|
|
2
|
+
# error "this header file must not be included directly"
|
|
3
|
+
#endif
|
|
4
|
+
|
|
5
|
+
/* PyWeakReference is the base struct for the Python ReferenceType, ProxyType,
|
|
6
|
+
* and CallableProxyType.
|
|
7
|
+
*/
|
|
8
|
+
struct _PyWeakReference {
|
|
9
|
+
PyObject_HEAD
|
|
10
|
+
|
|
11
|
+
/* The object to which this is a weak reference, or Py_None if none.
|
|
12
|
+
* Note that this is a stealth reference: wr_object's refcount is
|
|
13
|
+
* not incremented to reflect this pointer.
|
|
14
|
+
*/
|
|
15
|
+
PyObject *wr_object;
|
|
16
|
+
|
|
17
|
+
/* A callable to invoke when wr_object dies, or NULL if none. */
|
|
18
|
+
PyObject *wr_callback;
|
|
19
|
+
|
|
20
|
+
/* A cache for wr_object's hash code. As usual for hashes, this is -1
|
|
21
|
+
* if the hash code isn't known yet.
|
|
22
|
+
*/
|
|
23
|
+
Py_hash_t hash;
|
|
24
|
+
|
|
25
|
+
/* If wr_object is weakly referenced, wr_object has a doubly-linked NULL-
|
|
26
|
+
* terminated list of weak references to it. These are the list pointers.
|
|
27
|
+
* If wr_object goes away, wr_object is set to Py_None, and these pointers
|
|
28
|
+
* have no meaning then.
|
|
29
|
+
*/
|
|
30
|
+
PyWeakReference *wr_prev;
|
|
31
|
+
PyWeakReference *wr_next;
|
|
32
|
+
vectorcallfunc vectorcall;
|
|
33
|
+
|
|
34
|
+
#ifdef Py_GIL_DISABLED
|
|
35
|
+
/* Pointer to the lock used when clearing in free-threaded builds.
|
|
36
|
+
* Normally this can be derived from wr_object, but in some cases we need
|
|
37
|
+
* to lock after wr_object has been set to Py_None.
|
|
38
|
+
*/
|
|
39
|
+
PyMutex *weakrefs_lock;
|
|
40
|
+
#endif
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
PyAPI_FUNC(void) _PyWeakref_ClearRef(PyWeakReference *self);
|
|
44
|
+
|
|
45
|
+
#define _PyWeakref_CAST(op) \
|
|
46
|
+
(assert(PyWeakref_Check(op)), _Py_CAST(PyWeakReference*, (op)))
|
|
47
|
+
|
|
48
|
+
// Test if a weak reference is dead.
|
|
49
|
+
PyAPI_FUNC(int) PyWeakref_IsDead(PyObject *ref);
|
|
50
|
+
|
|
51
|
+
Py_DEPRECATED(3.13) static inline PyObject* PyWeakref_GET_OBJECT(PyObject *ref_obj)
|
|
52
|
+
{
|
|
53
|
+
PyWeakReference *ref = _PyWeakref_CAST(ref_obj);
|
|
54
|
+
PyObject *obj = ref->wr_object;
|
|
55
|
+
// Explanation for the Py_REFCNT() check: when a weakref's target is part
|
|
56
|
+
// of a long chain of deallocations which triggers the trashcan mechanism,
|
|
57
|
+
// clearing the weakrefs can be delayed long after the target's refcount
|
|
58
|
+
// has dropped to zero. In the meantime, code accessing the weakref will
|
|
59
|
+
// be able to "see" the target object even though it is supposed to be
|
|
60
|
+
// unreachable. See issue gh-60806.
|
|
61
|
+
if (Py_REFCNT(obj) > 0) {
|
|
62
|
+
return obj;
|
|
63
|
+
}
|
|
64
|
+
return Py_None;
|
|
65
|
+
}
|
|
66
|
+
#define PyWeakref_GET_OBJECT(ref) PyWeakref_GET_OBJECT(_PyObject_CAST(ref))
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#ifndef Py_CRITICAL_SECTION_H
|
|
2
|
+
#define Py_CRITICAL_SECTION_H
|
|
3
|
+
#ifdef __cplusplus
|
|
4
|
+
extern "C" {
|
|
5
|
+
#endif
|
|
6
|
+
|
|
7
|
+
#ifndef Py_LIMITED_API
|
|
8
|
+
# define Py_CPYTHON_CRITICAL_SECTION_H
|
|
9
|
+
# include "cpython/critical_section.h"
|
|
10
|
+
# undef Py_CPYTHON_CRITICAL_SECTION_H
|
|
11
|
+
#endif
|
|
12
|
+
|
|
13
|
+
#ifdef __cplusplus
|
|
14
|
+
}
|
|
15
|
+
#endif
|
|
16
|
+
#endif /* !Py_CRITICAL_SECTION_H */
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
/* datetime.h
|
|
2
|
+
*/
|
|
3
|
+
#ifndef Py_LIMITED_API
|
|
4
|
+
#ifndef DATETIME_H
|
|
5
|
+
#define DATETIME_H
|
|
6
|
+
#ifdef __cplusplus
|
|
7
|
+
extern "C" {
|
|
8
|
+
#endif
|
|
9
|
+
|
|
10
|
+
/* Fields are packed into successive bytes, each viewed as unsigned and
|
|
11
|
+
* big-endian, unless otherwise noted:
|
|
12
|
+
*
|
|
13
|
+
* byte offset
|
|
14
|
+
* 0 year 2 bytes, 1-9999
|
|
15
|
+
* 2 month 1 byte, 1-12
|
|
16
|
+
* 3 day 1 byte, 1-31
|
|
17
|
+
* 4 hour 1 byte, 0-23
|
|
18
|
+
* 5 minute 1 byte, 0-59
|
|
19
|
+
* 6 second 1 byte, 0-59
|
|
20
|
+
* 7 usecond 3 bytes, 0-999999
|
|
21
|
+
* 10
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
/* # of bytes for year, month, and day. */
|
|
25
|
+
#define _PyDateTime_DATE_DATASIZE 4
|
|
26
|
+
|
|
27
|
+
/* # of bytes for hour, minute, second, and usecond. */
|
|
28
|
+
#define _PyDateTime_TIME_DATASIZE 6
|
|
29
|
+
|
|
30
|
+
/* # of bytes for year, month, day, hour, minute, second, and usecond. */
|
|
31
|
+
#define _PyDateTime_DATETIME_DATASIZE 10
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
typedef struct
|
|
35
|
+
{
|
|
36
|
+
PyObject_HEAD
|
|
37
|
+
Py_hash_t hashcode; /* -1 when unknown */
|
|
38
|
+
int days; /* -MAX_DELTA_DAYS <= days <= MAX_DELTA_DAYS */
|
|
39
|
+
int seconds; /* 0 <= seconds < 24*3600 is invariant */
|
|
40
|
+
int microseconds; /* 0 <= microseconds < 1000000 is invariant */
|
|
41
|
+
} PyDateTime_Delta;
|
|
42
|
+
|
|
43
|
+
typedef struct
|
|
44
|
+
{
|
|
45
|
+
PyObject_HEAD /* a pure abstract base class */
|
|
46
|
+
} PyDateTime_TZInfo;
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
/* The datetime and time types have hashcodes, and an optional tzinfo member,
|
|
50
|
+
* present if and only if hastzinfo is true.
|
|
51
|
+
*/
|
|
52
|
+
#define _PyTZINFO_HEAD \
|
|
53
|
+
PyObject_HEAD \
|
|
54
|
+
Py_hash_t hashcode; \
|
|
55
|
+
char hastzinfo; /* boolean flag */
|
|
56
|
+
|
|
57
|
+
/* No _PyDateTime_BaseTZInfo is allocated; it's just to have something
|
|
58
|
+
* convenient to cast to, when getting at the hastzinfo member of objects
|
|
59
|
+
* starting with _PyTZINFO_HEAD.
|
|
60
|
+
*/
|
|
61
|
+
typedef struct
|
|
62
|
+
{
|
|
63
|
+
_PyTZINFO_HEAD
|
|
64
|
+
} _PyDateTime_BaseTZInfo;
|
|
65
|
+
|
|
66
|
+
/* All time objects are of PyDateTime_TimeType, but that can be allocated
|
|
67
|
+
* in two ways, with or without a tzinfo member. Without is the same as
|
|
68
|
+
* tzinfo == None, but consumes less memory. _PyDateTime_BaseTime is an
|
|
69
|
+
* internal struct used to allocate the right amount of space for the
|
|
70
|
+
* "without" case.
|
|
71
|
+
*/
|
|
72
|
+
#define _PyDateTime_TIMEHEAD \
|
|
73
|
+
_PyTZINFO_HEAD \
|
|
74
|
+
unsigned char data[_PyDateTime_TIME_DATASIZE];
|
|
75
|
+
|
|
76
|
+
typedef struct
|
|
77
|
+
{
|
|
78
|
+
_PyDateTime_TIMEHEAD
|
|
79
|
+
} _PyDateTime_BaseTime; /* hastzinfo false */
|
|
80
|
+
|
|
81
|
+
typedef struct
|
|
82
|
+
{
|
|
83
|
+
_PyDateTime_TIMEHEAD
|
|
84
|
+
unsigned char fold;
|
|
85
|
+
PyObject *tzinfo;
|
|
86
|
+
} PyDateTime_Time; /* hastzinfo true */
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
/* All datetime objects are of PyDateTime_DateTimeType, but that can be
|
|
90
|
+
* allocated in two ways too, just like for time objects above. In addition,
|
|
91
|
+
* the plain date type is a base class for datetime, so it must also have
|
|
92
|
+
* a hastzinfo member (although it's unused there).
|
|
93
|
+
*/
|
|
94
|
+
typedef struct
|
|
95
|
+
{
|
|
96
|
+
_PyTZINFO_HEAD
|
|
97
|
+
unsigned char data[_PyDateTime_DATE_DATASIZE];
|
|
98
|
+
} PyDateTime_Date;
|
|
99
|
+
|
|
100
|
+
#define _PyDateTime_DATETIMEHEAD \
|
|
101
|
+
_PyTZINFO_HEAD \
|
|
102
|
+
unsigned char data[_PyDateTime_DATETIME_DATASIZE];
|
|
103
|
+
|
|
104
|
+
typedef struct
|
|
105
|
+
{
|
|
106
|
+
_PyDateTime_DATETIMEHEAD
|
|
107
|
+
} _PyDateTime_BaseDateTime; /* hastzinfo false */
|
|
108
|
+
|
|
109
|
+
typedef struct
|
|
110
|
+
{
|
|
111
|
+
_PyDateTime_DATETIMEHEAD
|
|
112
|
+
unsigned char fold;
|
|
113
|
+
PyObject *tzinfo;
|
|
114
|
+
} PyDateTime_DateTime; /* hastzinfo true */
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
/* Apply for date and datetime instances. */
|
|
118
|
+
|
|
119
|
+
// o is a pointer to a time or a datetime object.
|
|
120
|
+
#define _PyDateTime_HAS_TZINFO(o) (((_PyDateTime_BaseTZInfo *)(o))->hastzinfo)
|
|
121
|
+
|
|
122
|
+
#define PyDateTime_GET_YEAR(o) ((((PyDateTime_Date*)(o))->data[0] << 8) | \
|
|
123
|
+
((PyDateTime_Date*)(o))->data[1])
|
|
124
|
+
#define PyDateTime_GET_MONTH(o) (((PyDateTime_Date*)(o))->data[2])
|
|
125
|
+
#define PyDateTime_GET_DAY(o) (((PyDateTime_Date*)(o))->data[3])
|
|
126
|
+
|
|
127
|
+
#define PyDateTime_DATE_GET_HOUR(o) (((PyDateTime_DateTime*)(o))->data[4])
|
|
128
|
+
#define PyDateTime_DATE_GET_MINUTE(o) (((PyDateTime_DateTime*)(o))->data[5])
|
|
129
|
+
#define PyDateTime_DATE_GET_SECOND(o) (((PyDateTime_DateTime*)(o))->data[6])
|
|
130
|
+
#define PyDateTime_DATE_GET_MICROSECOND(o) \
|
|
131
|
+
((((PyDateTime_DateTime*)(o))->data[7] << 16) | \
|
|
132
|
+
(((PyDateTime_DateTime*)(o))->data[8] << 8) | \
|
|
133
|
+
((PyDateTime_DateTime*)(o))->data[9])
|
|
134
|
+
#define PyDateTime_DATE_GET_FOLD(o) (((PyDateTime_DateTime*)(o))->fold)
|
|
135
|
+
#define PyDateTime_DATE_GET_TZINFO(o) (_PyDateTime_HAS_TZINFO((o)) ? \
|
|
136
|
+
((PyDateTime_DateTime *)(o))->tzinfo : Py_None)
|
|
137
|
+
|
|
138
|
+
/* Apply for time instances. */
|
|
139
|
+
#define PyDateTime_TIME_GET_HOUR(o) (((PyDateTime_Time*)(o))->data[0])
|
|
140
|
+
#define PyDateTime_TIME_GET_MINUTE(o) (((PyDateTime_Time*)(o))->data[1])
|
|
141
|
+
#define PyDateTime_TIME_GET_SECOND(o) (((PyDateTime_Time*)(o))->data[2])
|
|
142
|
+
#define PyDateTime_TIME_GET_MICROSECOND(o) \
|
|
143
|
+
((((PyDateTime_Time*)(o))->data[3] << 16) | \
|
|
144
|
+
(((PyDateTime_Time*)(o))->data[4] << 8) | \
|
|
145
|
+
((PyDateTime_Time*)(o))->data[5])
|
|
146
|
+
#define PyDateTime_TIME_GET_FOLD(o) (((PyDateTime_Time*)(o))->fold)
|
|
147
|
+
#define PyDateTime_TIME_GET_TZINFO(o) (_PyDateTime_HAS_TZINFO(o) ? \
|
|
148
|
+
((PyDateTime_Time *)(o))->tzinfo : Py_None)
|
|
149
|
+
|
|
150
|
+
/* Apply for time delta instances */
|
|
151
|
+
#define PyDateTime_DELTA_GET_DAYS(o) (((PyDateTime_Delta*)(o))->days)
|
|
152
|
+
#define PyDateTime_DELTA_GET_SECONDS(o) (((PyDateTime_Delta*)(o))->seconds)
|
|
153
|
+
#define PyDateTime_DELTA_GET_MICROSECONDS(o) \
|
|
154
|
+
(((PyDateTime_Delta*)(o))->microseconds)
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
/* Define structure for C API. */
|
|
158
|
+
typedef struct {
|
|
159
|
+
/* type objects */
|
|
160
|
+
PyTypeObject *DateType;
|
|
161
|
+
PyTypeObject *DateTimeType;
|
|
162
|
+
PyTypeObject *TimeType;
|
|
163
|
+
PyTypeObject *DeltaType;
|
|
164
|
+
PyTypeObject *TZInfoType;
|
|
165
|
+
|
|
166
|
+
/* singletons */
|
|
167
|
+
PyObject *TimeZone_UTC;
|
|
168
|
+
|
|
169
|
+
/* constructors */
|
|
170
|
+
PyObject *(*Date_FromDate)(int, int, int, PyTypeObject*);
|
|
171
|
+
PyObject *(*DateTime_FromDateAndTime)(int, int, int, int, int, int, int,
|
|
172
|
+
PyObject*, PyTypeObject*);
|
|
173
|
+
PyObject *(*Time_FromTime)(int, int, int, int, PyObject*, PyTypeObject*);
|
|
174
|
+
PyObject *(*Delta_FromDelta)(int, int, int, int, PyTypeObject*);
|
|
175
|
+
PyObject *(*TimeZone_FromTimeZone)(PyObject *offset, PyObject *name);
|
|
176
|
+
|
|
177
|
+
/* constructors for the DB API */
|
|
178
|
+
PyObject *(*DateTime_FromTimestamp)(PyObject*, PyObject*, PyObject*);
|
|
179
|
+
PyObject *(*Date_FromTimestamp)(PyObject*, PyObject*);
|
|
180
|
+
|
|
181
|
+
/* PEP 495 constructors */
|
|
182
|
+
PyObject *(*DateTime_FromDateAndTimeAndFold)(int, int, int, int, int, int, int,
|
|
183
|
+
PyObject*, int, PyTypeObject*);
|
|
184
|
+
PyObject *(*Time_FromTimeAndFold)(int, int, int, int, PyObject*, int, PyTypeObject*);
|
|
185
|
+
|
|
186
|
+
} PyDateTime_CAPI;
|
|
187
|
+
|
|
188
|
+
#define PyDateTime_CAPSULE_NAME "datetime.datetime_CAPI"
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
/* This block is only used as part of the public API and should not be
|
|
192
|
+
* included in _datetimemodule.c, which does not use the C API capsule.
|
|
193
|
+
* See bpo-35081 for more details.
|
|
194
|
+
* */
|
|
195
|
+
#ifndef _PY_DATETIME_IMPL
|
|
196
|
+
/* Define global variable for the C API and a macro for setting it. */
|
|
197
|
+
static PyDateTime_CAPI *PyDateTimeAPI = NULL;
|
|
198
|
+
|
|
199
|
+
#define PyDateTime_IMPORT \
|
|
200
|
+
PyDateTimeAPI = (PyDateTime_CAPI *)PyCapsule_Import(PyDateTime_CAPSULE_NAME, 0)
|
|
201
|
+
|
|
202
|
+
/* Macro for access to the UTC singleton */
|
|
203
|
+
#define PyDateTime_TimeZone_UTC PyDateTimeAPI->TimeZone_UTC
|
|
204
|
+
|
|
205
|
+
/* Macros for type checking when not building the Python core. */
|
|
206
|
+
#define PyDate_Check(op) PyObject_TypeCheck((op), PyDateTimeAPI->DateType)
|
|
207
|
+
#define PyDate_CheckExact(op) Py_IS_TYPE((op), PyDateTimeAPI->DateType)
|
|
208
|
+
|
|
209
|
+
#define PyDateTime_Check(op) PyObject_TypeCheck((op), PyDateTimeAPI->DateTimeType)
|
|
210
|
+
#define PyDateTime_CheckExact(op) Py_IS_TYPE((op), PyDateTimeAPI->DateTimeType)
|
|
211
|
+
|
|
212
|
+
#define PyTime_Check(op) PyObject_TypeCheck((op), PyDateTimeAPI->TimeType)
|
|
213
|
+
#define PyTime_CheckExact(op) Py_IS_TYPE((op), PyDateTimeAPI->TimeType)
|
|
214
|
+
|
|
215
|
+
#define PyDelta_Check(op) PyObject_TypeCheck((op), PyDateTimeAPI->DeltaType)
|
|
216
|
+
#define PyDelta_CheckExact(op) Py_IS_TYPE((op), PyDateTimeAPI->DeltaType)
|
|
217
|
+
|
|
218
|
+
#define PyTZInfo_Check(op) PyObject_TypeCheck((op), PyDateTimeAPI->TZInfoType)
|
|
219
|
+
#define PyTZInfo_CheckExact(op) Py_IS_TYPE((op), PyDateTimeAPI->TZInfoType)
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
/* Macros for accessing constructors in a simplified fashion. */
|
|
223
|
+
#define PyDate_FromDate(year, month, day) \
|
|
224
|
+
PyDateTimeAPI->Date_FromDate((year), (month), (day), PyDateTimeAPI->DateType)
|
|
225
|
+
|
|
226
|
+
#define PyDateTime_FromDateAndTime(year, month, day, hour, min, sec, usec) \
|
|
227
|
+
PyDateTimeAPI->DateTime_FromDateAndTime((year), (month), (day), (hour), \
|
|
228
|
+
(min), (sec), (usec), Py_None, PyDateTimeAPI->DateTimeType)
|
|
229
|
+
|
|
230
|
+
#define PyDateTime_FromDateAndTimeAndFold(year, month, day, hour, min, sec, usec, fold) \
|
|
231
|
+
PyDateTimeAPI->DateTime_FromDateAndTimeAndFold((year), (month), (day), (hour), \
|
|
232
|
+
(min), (sec), (usec), Py_None, (fold), PyDateTimeAPI->DateTimeType)
|
|
233
|
+
|
|
234
|
+
#define PyTime_FromTime(hour, minute, second, usecond) \
|
|
235
|
+
PyDateTimeAPI->Time_FromTime((hour), (minute), (second), (usecond), \
|
|
236
|
+
Py_None, PyDateTimeAPI->TimeType)
|
|
237
|
+
|
|
238
|
+
#define PyTime_FromTimeAndFold(hour, minute, second, usecond, fold) \
|
|
239
|
+
PyDateTimeAPI->Time_FromTimeAndFold((hour), (minute), (second), (usecond), \
|
|
240
|
+
Py_None, (fold), PyDateTimeAPI->TimeType)
|
|
241
|
+
|
|
242
|
+
#define PyDelta_FromDSU(days, seconds, useconds) \
|
|
243
|
+
PyDateTimeAPI->Delta_FromDelta((days), (seconds), (useconds), 1, \
|
|
244
|
+
PyDateTimeAPI->DeltaType)
|
|
245
|
+
|
|
246
|
+
#define PyTimeZone_FromOffset(offset) \
|
|
247
|
+
PyDateTimeAPI->TimeZone_FromTimeZone((offset), NULL)
|
|
248
|
+
|
|
249
|
+
#define PyTimeZone_FromOffsetAndName(offset, name) \
|
|
250
|
+
PyDateTimeAPI->TimeZone_FromTimeZone((offset), (name))
|
|
251
|
+
|
|
252
|
+
/* Macros supporting the DB API. */
|
|
253
|
+
#define PyDateTime_FromTimestamp(args) \
|
|
254
|
+
PyDateTimeAPI->DateTime_FromTimestamp( \
|
|
255
|
+
(PyObject*) (PyDateTimeAPI->DateTimeType), (args), NULL)
|
|
256
|
+
|
|
257
|
+
#define PyDate_FromTimestamp(args) \
|
|
258
|
+
PyDateTimeAPI->Date_FromTimestamp( \
|
|
259
|
+
(PyObject*) (PyDateTimeAPI->DateType), (args))
|
|
260
|
+
|
|
261
|
+
#endif /* !defined(_PY_DATETIME_IMPL) */
|
|
262
|
+
|
|
263
|
+
#ifdef __cplusplus
|
|
264
|
+
}
|
|
265
|
+
#endif
|
|
266
|
+
#endif
|
|
267
|
+
#endif /* !Py_LIMITED_API */
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/* Descriptors */
|
|
2
|
+
#ifndef Py_DESCROBJECT_H
|
|
3
|
+
#define Py_DESCROBJECT_H
|
|
4
|
+
#ifdef __cplusplus
|
|
5
|
+
extern "C" {
|
|
6
|
+
#endif
|
|
7
|
+
|
|
8
|
+
typedef PyObject *(*getter)(PyObject *, void *);
|
|
9
|
+
typedef int (*setter)(PyObject *, PyObject *, void *);
|
|
10
|
+
|
|
11
|
+
struct PyGetSetDef {
|
|
12
|
+
const char *name;
|
|
13
|
+
getter get;
|
|
14
|
+
setter set;
|
|
15
|
+
const char *doc;
|
|
16
|
+
void *closure;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
PyAPI_DATA(PyTypeObject) PyClassMethodDescr_Type;
|
|
20
|
+
PyAPI_DATA(PyTypeObject) PyGetSetDescr_Type;
|
|
21
|
+
PyAPI_DATA(PyTypeObject) PyMemberDescr_Type;
|
|
22
|
+
PyAPI_DATA(PyTypeObject) PyMethodDescr_Type;
|
|
23
|
+
PyAPI_DATA(PyTypeObject) PyWrapperDescr_Type;
|
|
24
|
+
PyAPI_DATA(PyTypeObject) PyDictProxy_Type;
|
|
25
|
+
PyAPI_DATA(PyTypeObject) PyProperty_Type;
|
|
26
|
+
|
|
27
|
+
PyAPI_FUNC(PyObject *) PyDescr_NewMethod(PyTypeObject *, PyMethodDef *);
|
|
28
|
+
PyAPI_FUNC(PyObject *) PyDescr_NewClassMethod(PyTypeObject *, PyMethodDef *);
|
|
29
|
+
PyAPI_FUNC(PyObject *) PyDescr_NewMember(PyTypeObject *, PyMemberDef *);
|
|
30
|
+
PyAPI_FUNC(PyObject *) PyDescr_NewGetSet(PyTypeObject *, PyGetSetDef *);
|
|
31
|
+
|
|
32
|
+
PyAPI_FUNC(PyObject *) PyDictProxy_New(PyObject *);
|
|
33
|
+
PyAPI_FUNC(PyObject *) PyWrapper_New(PyObject *, PyObject *);
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
/* An array of PyMemberDef structures defines the name, type and offset
|
|
37
|
+
of selected members of a C structure. These can be read by
|
|
38
|
+
PyMember_GetOne() and set by PyMember_SetOne() (except if their READONLY
|
|
39
|
+
flag is set). The array must be terminated with an entry whose name
|
|
40
|
+
pointer is NULL. */
|
|
41
|
+
struct PyMemberDef {
|
|
42
|
+
const char *name;
|
|
43
|
+
int type;
|
|
44
|
+
Py_ssize_t offset;
|
|
45
|
+
int flags;
|
|
46
|
+
const char *doc;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
// These constants used to be in structmember.h, not prefixed by Py_.
|
|
50
|
+
// (structmember.h now has aliases to the new names.)
|
|
51
|
+
|
|
52
|
+
/* Types */
|
|
53
|
+
#define Py_T_SHORT 0
|
|
54
|
+
#define Py_T_INT 1
|
|
55
|
+
#define Py_T_LONG 2
|
|
56
|
+
#define Py_T_FLOAT 3
|
|
57
|
+
#define Py_T_DOUBLE 4
|
|
58
|
+
#define Py_T_STRING 5
|
|
59
|
+
#define _Py_T_OBJECT 6 // Deprecated, use Py_T_OBJECT_EX instead
|
|
60
|
+
/* the ordering here is weird for binary compatibility */
|
|
61
|
+
#define Py_T_CHAR 7 /* 1-character string */
|
|
62
|
+
#define Py_T_BYTE 8 /* 8-bit signed int */
|
|
63
|
+
/* unsigned variants: */
|
|
64
|
+
#define Py_T_UBYTE 9
|
|
65
|
+
#define Py_T_USHORT 10
|
|
66
|
+
#define Py_T_UINT 11
|
|
67
|
+
#define Py_T_ULONG 12
|
|
68
|
+
|
|
69
|
+
/* Added by Jack: strings contained in the structure */
|
|
70
|
+
#define Py_T_STRING_INPLACE 13
|
|
71
|
+
|
|
72
|
+
/* Added by Lillo: bools contained in the structure (assumed char) */
|
|
73
|
+
#define Py_T_BOOL 14
|
|
74
|
+
|
|
75
|
+
#define Py_T_OBJECT_EX 16
|
|
76
|
+
#define Py_T_LONGLONG 17
|
|
77
|
+
#define Py_T_ULONGLONG 18
|
|
78
|
+
|
|
79
|
+
#define Py_T_PYSSIZET 19 /* Py_ssize_t */
|
|
80
|
+
#define _Py_T_NONE 20 // Deprecated. Value is always None.
|
|
81
|
+
|
|
82
|
+
/* Flags */
|
|
83
|
+
#define Py_READONLY 1
|
|
84
|
+
#define Py_AUDIT_READ 2 // Added in 3.10, harmless no-op before that
|
|
85
|
+
#define _Py_WRITE_RESTRICTED 4 // Deprecated, no-op. Do not reuse the value.
|
|
86
|
+
#define Py_RELATIVE_OFFSET 8
|
|
87
|
+
|
|
88
|
+
PyAPI_FUNC(PyObject *) PyMember_GetOne(const char *, PyMemberDef *);
|
|
89
|
+
PyAPI_FUNC(int) PyMember_SetOne(char *, PyMemberDef *, PyObject *);
|
|
90
|
+
|
|
91
|
+
#ifndef Py_LIMITED_API
|
|
92
|
+
# define Py_CPYTHON_DESCROBJECT_H
|
|
93
|
+
# include "cpython/descrobject.h"
|
|
94
|
+
# undef Py_CPYTHON_DESCROBJECT_H
|
|
95
|
+
#endif
|
|
96
|
+
|
|
97
|
+
#ifdef __cplusplus
|
|
98
|
+
}
|
|
99
|
+
#endif
|
|
100
|
+
#endif /* !Py_DESCROBJECT_H */
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
#ifndef Py_DICTOBJECT_H
|
|
2
|
+
#define Py_DICTOBJECT_H
|
|
3
|
+
#ifdef __cplusplus
|
|
4
|
+
extern "C" {
|
|
5
|
+
#endif
|
|
6
|
+
|
|
7
|
+
/* Dictionary object type -- mapping from hashable object to object */
|
|
8
|
+
|
|
9
|
+
/* The distribution includes a separate file, Objects/dictnotes.txt,
|
|
10
|
+
describing explorations into dictionary design and optimization.
|
|
11
|
+
It covers typical dictionary use patterns, the parameters for
|
|
12
|
+
tuning dictionaries, and several ideas for possible optimizations.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
PyAPI_DATA(PyTypeObject) PyDict_Type;
|
|
16
|
+
|
|
17
|
+
#define PyDict_Check(op) \
|
|
18
|
+
PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_DICT_SUBCLASS)
|
|
19
|
+
#define PyDict_CheckExact(op) Py_IS_TYPE((op), &PyDict_Type)
|
|
20
|
+
|
|
21
|
+
PyAPI_FUNC(PyObject *) PyDict_New(void);
|
|
22
|
+
PyAPI_FUNC(PyObject *) PyDict_GetItem(PyObject *mp, PyObject *key);
|
|
23
|
+
PyAPI_FUNC(PyObject *) PyDict_GetItemWithError(PyObject *mp, PyObject *key);
|
|
24
|
+
PyAPI_FUNC(int) PyDict_SetItem(PyObject *mp, PyObject *key, PyObject *item);
|
|
25
|
+
PyAPI_FUNC(int) PyDict_DelItem(PyObject *mp, PyObject *key);
|
|
26
|
+
PyAPI_FUNC(void) PyDict_Clear(PyObject *mp);
|
|
27
|
+
PyAPI_FUNC(int) PyDict_Next(
|
|
28
|
+
PyObject *mp, Py_ssize_t *pos, PyObject **key, PyObject **value);
|
|
29
|
+
PyAPI_FUNC(PyObject *) PyDict_Keys(PyObject *mp);
|
|
30
|
+
PyAPI_FUNC(PyObject *) PyDict_Values(PyObject *mp);
|
|
31
|
+
PyAPI_FUNC(PyObject *) PyDict_Items(PyObject *mp);
|
|
32
|
+
PyAPI_FUNC(Py_ssize_t) PyDict_Size(PyObject *mp);
|
|
33
|
+
PyAPI_FUNC(PyObject *) PyDict_Copy(PyObject *mp);
|
|
34
|
+
PyAPI_FUNC(int) PyDict_Contains(PyObject *mp, PyObject *key);
|
|
35
|
+
|
|
36
|
+
/* PyDict_Update(mp, other) is equivalent to PyDict_Merge(mp, other, 1). */
|
|
37
|
+
PyAPI_FUNC(int) PyDict_Update(PyObject *mp, PyObject *other);
|
|
38
|
+
|
|
39
|
+
/* PyDict_Merge updates/merges from a mapping object (an object that
|
|
40
|
+
supports PyMapping_Keys() and PyObject_GetItem()). If override is true,
|
|
41
|
+
the last occurrence of a key wins, else the first. The Python
|
|
42
|
+
dict.update(other) is equivalent to PyDict_Merge(dict, other, 1).
|
|
43
|
+
*/
|
|
44
|
+
PyAPI_FUNC(int) PyDict_Merge(PyObject *mp,
|
|
45
|
+
PyObject *other,
|
|
46
|
+
int override);
|
|
47
|
+
|
|
48
|
+
/* PyDict_MergeFromSeq2 updates/merges from an iterable object producing
|
|
49
|
+
iterable objects of length 2. If override is true, the last occurrence
|
|
50
|
+
of a key wins, else the first. The Python dict constructor dict(seq2)
|
|
51
|
+
is equivalent to dict={}; PyDict_MergeFromSeq(dict, seq2, 1).
|
|
52
|
+
*/
|
|
53
|
+
PyAPI_FUNC(int) PyDict_MergeFromSeq2(PyObject *d,
|
|
54
|
+
PyObject *seq2,
|
|
55
|
+
int override);
|
|
56
|
+
|
|
57
|
+
PyAPI_FUNC(PyObject *) PyDict_GetItemString(PyObject *dp, const char *key);
|
|
58
|
+
PyAPI_FUNC(int) PyDict_SetItemString(PyObject *dp, const char *key, PyObject *item);
|
|
59
|
+
PyAPI_FUNC(int) PyDict_DelItemString(PyObject *dp, const char *key);
|
|
60
|
+
|
|
61
|
+
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030D0000
|
|
62
|
+
// Return the object from dictionary *op* which has a key *key*.
|
|
63
|
+
// - If the key is present, set *result to a new strong reference to the value
|
|
64
|
+
// and return 1.
|
|
65
|
+
// - If the key is missing, set *result to NULL and return 0 .
|
|
66
|
+
// - On error, raise an exception and return -1.
|
|
67
|
+
PyAPI_FUNC(int) PyDict_GetItemRef(PyObject *mp, PyObject *key, PyObject **result);
|
|
68
|
+
PyAPI_FUNC(int) PyDict_GetItemStringRef(PyObject *mp, const char *key, PyObject **result);
|
|
69
|
+
#endif
|
|
70
|
+
|
|
71
|
+
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030A0000
|
|
72
|
+
PyAPI_FUNC(PyObject *) PyObject_GenericGetDict(PyObject *, void *);
|
|
73
|
+
#endif
|
|
74
|
+
|
|
75
|
+
/* Dictionary (keys, values, items) views */
|
|
76
|
+
|
|
77
|
+
PyAPI_DATA(PyTypeObject) PyDictKeys_Type;
|
|
78
|
+
PyAPI_DATA(PyTypeObject) PyDictValues_Type;
|
|
79
|
+
PyAPI_DATA(PyTypeObject) PyDictItems_Type;
|
|
80
|
+
|
|
81
|
+
#define PyDictKeys_Check(op) PyObject_TypeCheck((op), &PyDictKeys_Type)
|
|
82
|
+
#define PyDictValues_Check(op) PyObject_TypeCheck((op), &PyDictValues_Type)
|
|
83
|
+
#define PyDictItems_Check(op) PyObject_TypeCheck((op), &PyDictItems_Type)
|
|
84
|
+
/* This excludes Values, since they are not sets. */
|
|
85
|
+
# define PyDictViewSet_Check(op) \
|
|
86
|
+
(PyDictKeys_Check(op) || PyDictItems_Check(op))
|
|
87
|
+
|
|
88
|
+
/* Dictionary (key, value, items) iterators */
|
|
89
|
+
|
|
90
|
+
PyAPI_DATA(PyTypeObject) PyDictIterKey_Type;
|
|
91
|
+
PyAPI_DATA(PyTypeObject) PyDictIterValue_Type;
|
|
92
|
+
PyAPI_DATA(PyTypeObject) PyDictIterItem_Type;
|
|
93
|
+
|
|
94
|
+
PyAPI_DATA(PyTypeObject) PyDictRevIterKey_Type;
|
|
95
|
+
PyAPI_DATA(PyTypeObject) PyDictRevIterItem_Type;
|
|
96
|
+
PyAPI_DATA(PyTypeObject) PyDictRevIterValue_Type;
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
#ifndef Py_LIMITED_API
|
|
100
|
+
# define Py_CPYTHON_DICTOBJECT_H
|
|
101
|
+
# include "cpython/dictobject.h"
|
|
102
|
+
# undef Py_CPYTHON_DICTOBJECT_H
|
|
103
|
+
#endif
|
|
104
|
+
|
|
105
|
+
#ifdef __cplusplus
|
|
106
|
+
}
|
|
107
|
+
#endif
|
|
108
|
+
#endif /* !Py_DICTOBJECT_H */
|