Nuitka-winsvc 1.8__cp311-cp311-win_amd64.whl → 2.4.8__cp311-cp311-win_amd64.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.
Potentially problematic release.
This version of Nuitka-winsvc might be problematic. Click here for more details.
- Nuitka_winsvc-1.8.data/scripts/nuitka-run.bat → Nuitka_winsvc-2.4.8.data/scripts/nuitka-run.cmd +9 -9
- Nuitka_winsvc-1.8.data/scripts/nuitka.bat → Nuitka_winsvc-2.4.8.data/scripts/nuitka.cmd +15 -15
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/METADATA +4 -3
- Nuitka_winsvc-2.4.8.dist-info/RECORD +954 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/WHEEL +1 -1
- nuitka/Builtins.py +18 -17
- nuitka/BytecodeCaching.py +24 -20
- nuitka/Bytecodes.py +23 -19
- nuitka/CacheCleanup.py +28 -23
- nuitka/Constants.py +19 -17
- nuitka/Errors.py +23 -17
- nuitka/HardImportRegistry.py +400 -0
- nuitka/MainControl.py +200 -112
- nuitka/ModuleRegistry.py +83 -20
- nuitka/OptionParsing.py +368 -175
- nuitka/Options.py +632 -213
- nuitka/OutputDirectories.py +40 -21
- nuitka/PostProcessing.py +73 -50
- nuitka/Progress.py +58 -24
- nuitka/PythonFlavors.py +141 -32
- nuitka/PythonOperators.py +18 -17
- nuitka/PythonVersions.py +106 -19
- nuitka/Serialization.py +68 -55
- nuitka/SourceCodeReferences.py +19 -17
- nuitka/Tracing.py +108 -70
- nuitka/TreeXML.py +31 -26
- nuitka/Variables.py +39 -41
- nuitka/Version.py +21 -7
- nuitka/__init__.py +5 -4
- nuitka/__main__.py +95 -29
- nuitka/__past__.py +44 -34
- nuitka/build/Backend.scons +202 -140
- nuitka/build/CCompilerVersion.scons +39 -31
- nuitka/build/DataComposerInterface.py +20 -17
- nuitka/build/Onefile.scons +50 -54
- nuitka/build/SconsCaching.py +93 -90
- nuitka/build/SconsCompilerSettings.py +157 -69
- nuitka/build/SconsHacks.py +25 -19
- nuitka/build/SconsInterface.py +154 -54
- nuitka/build/SconsProgress.py +19 -18
- nuitka/build/SconsSpawn.py +62 -33
- nuitka/build/SconsUtils.py +147 -55
- nuitka/build/__init__.py +5 -4
- nuitka/build/include/nuitka/allocator.h +105 -22
- nuitka/build/include/nuitka/builtins.h +17 -17
- nuitka/build/include/nuitka/calling.h +18 -18
- nuitka/build/include/nuitka/checkers.h +17 -18
- nuitka/build/include/nuitka/checksum_tools.h +14 -19
- nuitka/build/include/nuitka/compiled_asyncgen.h +18 -18
- nuitka/build/include/nuitka/compiled_cell.h +33 -18
- nuitka/build/include/nuitka/compiled_coroutine.h +18 -18
- nuitka/build/include/nuitka/compiled_frame.h +91 -53
- nuitka/build/include/nuitka/compiled_function.h +42 -20
- nuitka/build/include/nuitka/compiled_generator.h +24 -18
- nuitka/build/include/nuitka/compiled_method.h +17 -18
- nuitka/build/include/nuitka/constants.h +29 -18
- nuitka/build/include/nuitka/constants_blob.h +17 -17
- nuitka/build/include/nuitka/environment_variables.h +30 -0
- nuitka/build/include/nuitka/environment_variables_system.h +45 -0
- nuitka/build/include/nuitka/exception_groups.h +23 -26
- nuitka/build/include/nuitka/exceptions.h +593 -190
- nuitka/build/include/nuitka/filesystem_paths.h +26 -20
- nuitka/build/include/nuitka/freelists.h +38 -18
- nuitka/build/include/nuitka/helper/attributes.h +24 -18
- nuitka/build/include/nuitka/helper/boolean.h +17 -17
- nuitka/build/include/nuitka/helper/bytearrays.h +17 -17
- nuitka/build/include/nuitka/helper/bytes.h +14 -15
- nuitka/build/include/nuitka/helper/calling_generated.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_eq.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_ge.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_gt.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_le.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_lt.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_ne.h +17 -17
- nuitka/build/include/nuitka/helper/complex.h +17 -17
- nuitka/build/include/nuitka/helper/dictionaries.h +24 -22
- nuitka/build/include/nuitka/helper/floats.h +17 -18
- nuitka/build/include/nuitka/helper/import_hard.h +25 -17
- nuitka/build/include/nuitka/helper/indexes.h +17 -18
- nuitka/build/include/nuitka/helper/ints.h +32 -20
- nuitka/build/include/nuitka/helper/iterators.h +17 -17
- nuitka/build/include/nuitka/helper/lists.h +26 -24
- nuitka/build/include/nuitka/helper/lists_generated.h +22 -22
- nuitka/build/include/nuitka/helper/mappings.h +17 -18
- nuitka/build/include/nuitka/helper/operations.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_add.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_bitand.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_bitor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_bitxor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_divmod.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_floordiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_lshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_matmult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_mod.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_mult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_olddiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_pow.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_rshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_sub.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_truediv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_builtin_types.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_add.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_bitand.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_bitor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_bitxor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_floordiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_lshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_matmult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_mod.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_mult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_olddiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_pow.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_rshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_sub.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_truediv.h +17 -17
- nuitka/build/include/nuitka/helper/raising.h +29 -17
- nuitka/build/include/nuitka/helper/rangeobjects.h +17 -17
- nuitka/build/include/nuitka/helper/richcomparisons.h +14 -14
- nuitka/build/include/nuitka/helper/sequences.h +19 -13
- nuitka/build/include/nuitka/helper/sets.h +11 -12
- nuitka/build/include/nuitka/helper/slices.h +31 -25
- nuitka/build/include/nuitka/helper/strings.h +16 -17
- nuitka/build/include/nuitka/helper/subscripts.h +18 -201
- nuitka/build/include/nuitka/helper/tuples.h +64 -52
- nuitka/build/include/nuitka/helpers.h +38 -20
- nuitka/build/include/nuitka/importing.h +28 -21
- nuitka/build/include/nuitka/jit_sources.h +25 -0
- nuitka/build/include/nuitka/prelude.h +128 -46
- nuitka/build/include/nuitka/printing.h +22 -17
- nuitka/build/include/nuitka/python_pgo.h +19 -18
- nuitka/build/include/nuitka/safe_string_ops.h +20 -18
- nuitka/build/include/nuitka/threading.h +32 -33
- nuitka/build/include/nuitka/tracing.h +28 -18
- nuitka/build/include/nuitka/type_aliases.h +27 -0
- nuitka/build/include/nuitka/unfreezing.h +29 -23
- nuitka/build/inline_copy/bin/scons.py +14 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Variables/ListVariable.py +6 -6
- nuitka/build/inline_copy/pkg_resources/pkg_resources/__init__.py +0 -3
- nuitka/build/inline_copy/python_hacl/LICENSE.txt +201 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_MD5.c +1430 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_MD5.h +66 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA1.c +463 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA1.h +66 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA2.c +1273 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA2.h +204 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA3.c +734 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA3.h +131 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Streaming_Types.h +83 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/FStar_UInt128_Verified.h +346 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/FStar_UInt_8_16_32_64.h +107 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/fstar_uint128_struct_endianness.h +68 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/internal/target.h +293 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/lowstar_endianness.h +231 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/types.h +14 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_MD5.h +56 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA1.h +56 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA2.h +164 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA3.h +65 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/python_hacl_namespaces.h +89 -0
- nuitka/build/inline_copy/tqdm/tqdm/__init__.py +2 -2
- nuitka/build/inline_copy/tqdm/tqdm/_monitor.py +4 -1
- nuitka/build/inline_copy/tqdm/tqdm/utils.py +14 -8
- nuitka/build/inline_copy/tqdm/tqdm/version.py +1 -8
- nuitka/build/inline_copy/zlib/LICENSE +22 -0
- nuitka/build/inline_copy/zlib/crc32.c +1049 -0
- nuitka/build/inline_copy/zlib/crc32.h +9446 -0
- nuitka/build/inline_copy/zlib/zconf.h +551 -0
- nuitka/build/inline_copy/zlib/zlib.h +1938 -0
- nuitka/build/inline_copy/zlib/zutil.h +275 -0
- nuitka/build/static_src/CompiledAsyncgenType.c +176 -182
- nuitka/build/static_src/CompiledCellType.c +63 -40
- nuitka/build/static_src/CompiledCodeHelpers.c +181 -128
- nuitka/build/static_src/CompiledCoroutineType.c +196 -203
- nuitka/build/static_src/CompiledFrameType.c +287 -133
- nuitka/build/static_src/CompiledFunctionType.c +389 -95
- nuitka/build/static_src/CompiledGeneratorType.c +376 -252
- nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +185 -198
- nuitka/build/static_src/CompiledMethodType.c +83 -71
- nuitka/build/static_src/HelpersAllocator.c +88 -19
- nuitka/build/static_src/HelpersAttributes.c +33 -54
- nuitka/build/static_src/HelpersBuiltin.c +43 -33
- nuitka/build/static_src/HelpersBuiltinTypeMethods.c +17 -17
- nuitka/build/static_src/HelpersBytes.c +19 -20
- nuitka/build/static_src/HelpersCalling.c +33 -30
- nuitka/build/static_src/HelpersCallingGenerated.c +1000 -181
- nuitka/build/static_src/HelpersChecksumTools.c +35 -21
- nuitka/build/static_src/HelpersClasses.c +17 -17
- nuitka/build/static_src/HelpersComparisonEq.c +518 -492
- nuitka/build/static_src/HelpersComparisonEqUtils.c +21 -19
- nuitka/build/static_src/HelpersComparisonGe.c +513 -497
- nuitka/build/static_src/HelpersComparisonGt.c +512 -496
- nuitka/build/static_src/HelpersComparisonLe.c +513 -497
- nuitka/build/static_src/HelpersComparisonLt.c +512 -496
- nuitka/build/static_src/HelpersComparisonNe.c +520 -492
- nuitka/build/static_src/HelpersConsole.c +96 -0
- nuitka/build/static_src/HelpersConstantsBlob.c +542 -519
- nuitka/build/static_src/HelpersDeepcopy.c +33 -33
- nuitka/build/static_src/HelpersDictionaries.c +51 -29
- nuitka/build/static_src/HelpersDictionariesGenerated.c +177 -68
- nuitka/build/static_src/HelpersDumpBacktraces.c +63 -0
- nuitka/build/static_src/HelpersEnvironmentVariables.c +65 -0
- nuitka/build/static_src/HelpersEnvironmentVariablesSystem.c +93 -0
- nuitka/build/static_src/HelpersExceptions.c +161 -50
- nuitka/build/static_src/HelpersFiles.c +37 -17
- nuitka/build/static_src/HelpersFilesystemPaths.c +292 -181
- nuitka/build/static_src/HelpersFloats.c +37 -31
- nuitka/build/static_src/HelpersHeapStorage.c +21 -17
- nuitka/build/static_src/HelpersImport.c +48 -20
- nuitka/build/static_src/HelpersImportHard.c +53 -17
- nuitka/build/static_src/HelpersJitSources.c +46 -0
- nuitka/build/static_src/HelpersLists.c +140 -50
- nuitka/build/static_src/HelpersListsGenerated.c +41 -41
- nuitka/build/static_src/HelpersMappings.c +17 -17
- nuitka/build/static_src/HelpersMatching.c +137 -51
- nuitka/build/static_src/HelpersOperationBinaryAdd.c +173 -146
- nuitka/build/static_src/HelpersOperationBinaryAddUtils.c +99 -52
- nuitka/build/static_src/HelpersOperationBinaryBitand.c +50 -50
- nuitka/build/static_src/HelpersOperationBinaryBitor.c +50 -50
- nuitka/build/static_src/HelpersOperationBinaryBitxor.c +50 -50
- nuitka/build/static_src/HelpersOperationBinaryDivmod.c +41 -41
- nuitka/build/static_src/HelpersOperationBinaryDivmodUtils.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryFloordiv.c +41 -41
- nuitka/build/static_src/HelpersOperationBinaryInplaceAdd.c +20 -21
- nuitka/build/static_src/HelpersOperationBinaryLshift.c +47 -47
- nuitka/build/static_src/HelpersOperationBinaryMatmult.c +24 -24
- nuitka/build/static_src/HelpersOperationBinaryMod.c +107 -107
- nuitka/build/static_src/HelpersOperationBinaryMult.c +81 -75
- nuitka/build/static_src/HelpersOperationBinaryMultUtils.c +33 -30
- nuitka/build/static_src/HelpersOperationBinaryOlddiv.c +41 -41
- nuitka/build/static_src/HelpersOperationBinaryPow.c +44 -44
- nuitka/build/static_src/HelpersOperationBinaryPowUtils.c +12 -12
- nuitka/build/static_src/HelpersOperationBinaryRshift.c +47 -47
- nuitka/build/static_src/HelpersOperationBinarySub.c +80 -80
- nuitka/build/static_src/HelpersOperationBinaryTruediv.c +41 -41
- nuitka/build/static_src/HelpersOperationInplaceAdd.c +171 -153
- nuitka/build/static_src/HelpersOperationInplaceAddUtils.c +24 -22
- nuitka/build/static_src/HelpersOperationInplaceBitand.c +53 -53
- nuitka/build/static_src/HelpersOperationInplaceBitor.c +53 -53
- nuitka/build/static_src/HelpersOperationInplaceBitxor.c +53 -53
- nuitka/build/static_src/HelpersOperationInplaceFloordiv.c +62 -62
- nuitka/build/static_src/HelpersOperationInplaceLshift.c +44 -44
- nuitka/build/static_src/HelpersOperationInplaceMatmult.c +37 -37
- nuitka/build/static_src/HelpersOperationInplaceMod.c +134 -134
- nuitka/build/static_src/HelpersOperationInplaceMult.c +78 -78
- nuitka/build/static_src/HelpersOperationInplaceOlddiv.c +62 -62
- nuitka/build/static_src/HelpersOperationInplacePow.c +62 -62
- nuitka/build/static_src/HelpersOperationInplaceRshift.c +44 -44
- nuitka/build/static_src/HelpersOperationInplaceSub.c +112 -112
- nuitka/build/static_src/HelpersOperationInplaceTruediv.c +62 -62
- nuitka/build/static_src/HelpersProfiling.c +24 -23
- nuitka/build/static_src/HelpersPythonPgo.c +22 -22
- nuitka/build/static_src/HelpersRaising.c +88 -20
- nuitka/build/static_src/HelpersSafeStrings.c +34 -22
- nuitka/build/static_src/HelpersSequences.c +18 -19
- nuitka/build/static_src/HelpersSlices.c +29 -23
- nuitka/build/static_src/HelpersStrings.c +234 -37
- nuitka/build/static_src/HelpersTuples.c +46 -34
- nuitka/build/static_src/HelpersTypes.c +68 -23
- nuitka/build/static_src/InspectPatcher.c +108 -27
- nuitka/build/static_src/MainProgram.c +359 -263
- nuitka/build/static_src/MetaPathBasedLoader.c +367 -242
- nuitka/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c +39 -26
- nuitka/build/static_src/MetaPathBasedLoaderResourceReader.c +17 -18
- nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +97 -22
- nuitka/build/static_src/OnefileBootstrap.c +276 -164
- nuitka/build/static_src/OnefileSplashScreen.cpp +51 -27
- nuitka/code_generation/AsyncgenCodes.py +19 -17
- nuitka/code_generation/AttributeCodes.py +31 -27
- nuitka/code_generation/BinaryOperationHelperDefinitions.py +24 -20
- nuitka/code_generation/BranchCodes.py +19 -17
- nuitka/code_generation/BuiltinCodes.py +20 -17
- nuitka/code_generation/CallCodes.py +19 -17
- nuitka/code_generation/ClassCodes.py +19 -17
- nuitka/code_generation/CodeGeneration.py +48 -27
- nuitka/code_generation/CodeHelperSelection.py +19 -17
- nuitka/code_generation/CodeHelpers.py +24 -20
- nuitka/code_generation/CodeObjectCodes.py +34 -24
- nuitka/code_generation/ComparisonCodes.py +38 -20
- nuitka/code_generation/ComparisonHelperDefinitions.py +19 -17
- nuitka/code_generation/ConditionalCodes.py +19 -17
- nuitka/code_generation/ConstantCodes.py +82 -28
- nuitka/code_generation/Contexts.py +152 -26
- nuitka/code_generation/CoroutineCodes.py +19 -17
- nuitka/code_generation/CtypesCodes.py +19 -17
- nuitka/code_generation/DictCodes.py +25 -23
- nuitka/code_generation/Emission.py +21 -18
- nuitka/code_generation/ErrorCodes.py +27 -33
- nuitka/code_generation/EvalCodes.py +24 -20
- nuitka/code_generation/ExceptionCodes.py +27 -18
- nuitka/code_generation/ExpressionCTypeSelectionHelpers.py +20 -17
- nuitka/code_generation/ExpressionCodes.py +19 -17
- nuitka/code_generation/FrameCodes.py +24 -20
- nuitka/code_generation/FunctionCodes.py +24 -21
- nuitka/code_generation/GeneratorCodes.py +23 -20
- nuitka/code_generation/GlobalConstants.py +43 -23
- nuitka/code_generation/GlobalsLocalsCodes.py +21 -19
- nuitka/code_generation/IdCodes.py +19 -17
- nuitka/code_generation/ImportCodes.py +90 -50
- nuitka/code_generation/Indentation.py +23 -22
- nuitka/code_generation/IndexCodes.py +19 -17
- nuitka/code_generation/InjectCCodes.py +14 -12
- nuitka/code_generation/IntegerCodes.py +19 -17
- nuitka/code_generation/IteratorCodes.py +19 -17
- nuitka/code_generation/JitCodes.py +44 -0
- nuitka/code_generation/LabelCodes.py +19 -17
- nuitka/code_generation/LineNumberCodes.py +19 -17
- nuitka/code_generation/ListCodes.py +32 -36
- nuitka/code_generation/LoaderCodes.py +22 -17
- nuitka/code_generation/LocalsDictCodes.py +56 -32
- nuitka/code_generation/LoopCodes.py +19 -17
- nuitka/code_generation/MatchCodes.py +42 -22
- nuitka/code_generation/ModuleCodes.py +43 -25
- nuitka/code_generation/Namify.py +27 -23
- nuitka/code_generation/NetworkxCodes.py +51 -0
- nuitka/code_generation/OperationCodes.py +29 -31
- nuitka/code_generation/PackageResourceCodes.py +59 -23
- nuitka/code_generation/PrintCodes.py +19 -17
- nuitka/code_generation/PythonAPICodes.py +19 -17
- nuitka/code_generation/RaisingCodes.py +19 -17
- nuitka/code_generation/Reports.py +19 -17
- nuitka/code_generation/ReturnCodes.py +19 -17
- nuitka/code_generation/SetCodes.py +19 -17
- nuitka/code_generation/SliceCodes.py +22 -20
- nuitka/code_generation/StringCodes.py +19 -17
- nuitka/code_generation/SubscriptCodes.py +24 -30
- nuitka/code_generation/TensorflowCodes.py +54 -0
- nuitka/code_generation/TryCodes.py +19 -17
- nuitka/code_generation/TupleCodes.py +20 -18
- nuitka/code_generation/TypeAliasCodes.py +71 -0
- nuitka/code_generation/VariableCodes.py +26 -22
- nuitka/code_generation/VariableDeclarations.py +20 -17
- nuitka/code_generation/YieldCodes.py +22 -20
- nuitka/code_generation/__init__.py +5 -4
- nuitka/code_generation/c_types/CTypeBases.py +19 -17
- nuitka/code_generation/c_types/CTypeBooleans.py +19 -17
- nuitka/code_generation/c_types/CTypeCFloats.py +19 -17
- nuitka/code_generation/c_types/CTypeCLongs.py +19 -18
- nuitka/code_generation/c_types/CTypeModuleDictVariables.py +19 -17
- nuitka/code_generation/c_types/CTypeNuitkaBooleans.py +19 -17
- nuitka/code_generation/c_types/CTypeNuitkaInts.py +19 -18
- nuitka/code_generation/c_types/CTypeNuitkaVoids.py +19 -17
- nuitka/code_generation/c_types/CTypePyObjectPointers.py +27 -25
- nuitka/code_generation/c_types/CTypeVoids.py +20 -17
- nuitka/code_generation/c_types/__init__.py +5 -4
- nuitka/code_generation/templates/CodeTemplatesAsyncgens.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesConstants.py +132 -36
- nuitka/code_generation/templates/CodeTemplatesCoroutines.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesExceptions.py +19 -18
- nuitka/code_generation/templates/CodeTemplatesFrames.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesFunction.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesGeneratorFunction.py +19 -17
- nuitka/code_generation/templates/CodeTemplatesIterators.py +18 -18
- nuitka/code_generation/templates/CodeTemplatesLoader.py +25 -19
- nuitka/code_generation/templates/CodeTemplatesModules.py +244 -165
- nuitka/code_generation/templates/CodeTemplatesVariables.py +42 -27
- nuitka/code_generation/templates/TemplateDebugWrapper.py +19 -18
- nuitka/code_generation/templates/__init__.py +5 -4
- nuitka/code_generation/templates_c/CodeTemplateCallsMethodPositional.c.j2 +19 -19
- nuitka/code_generation/templates_c/CodeTemplateCallsMixed.c.j2 +18 -18
- nuitka/code_generation/templates_c/CodeTemplateCallsPositional.c.j2 +76 -25
- nuitka/code_generation/templates_c/CodeTemplateCallsPositionalMethodDescr.c.j2 +22 -22
- nuitka/code_generation/templates_c/CodeTemplateMakeListHinted.c.j2 +19 -19
- nuitka/code_generation/templates_c/CodeTemplateMakeListSmall.c.j2 +19 -19
- nuitka/code_generation/templates_c/HelperBuiltinMethodOperation.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperDictionaryCopy.c.j2 +121 -48
- nuitka/code_generation/templates_c/HelperImportHard.c.j2 +18 -18
- nuitka/code_generation/templates_c/HelperLongTools.c.j2 +18 -18
- nuitka/code_generation/templates_c/HelperObjectTools.c.j2 +6 -6
- nuitka/code_generation/templates_c/HelperOperationBinary.c.j2 +23 -23
- nuitka/code_generation/templates_c/HelperOperationComparison.c.j2 +35 -35
- nuitka/code_generation/templates_c/HelperOperationComparisonBytes.c.j2 +28 -28
- nuitka/code_generation/templates_c/HelperOperationComparisonFloat.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationComparisonInt.c.j2 +18 -18
- nuitka/code_generation/templates_c/HelperOperationComparisonList.c.j2 +44 -32
- nuitka/code_generation/templates_c/HelperOperationComparisonLong.c.j2 +20 -20
- nuitka/code_generation/templates_c/HelperOperationComparisonStr.c.j2 +28 -28
- nuitka/code_generation/templates_c/HelperOperationComparisonTuple.c.j2 +24 -24
- nuitka/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +33 -29
- nuitka/code_generation/templates_c/HelperOperationInplace.c.j2 +20 -20
- nuitka/code_generation/templates_c/HelperSlotsBinary.c.j2 +27 -27
- nuitka/code_generation/templates_c/HelperSlotsBytes.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsCommon.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsFloat.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsInt.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsList.c.j2 +21 -18
- nuitka/code_generation/templates_c/HelperSlotsLong.c.j2 +26 -24
- nuitka/code_generation/templates_c/HelperSlotsSet.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsStr.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsTuple.c.j2 +21 -18
- nuitka/code_generation/templates_c/HelperSlotsUnicode.c.j2 +17 -17
- nuitka/containers/Namedtuples.py +19 -18
- nuitka/containers/OrderedSetsFallback.py +19 -17
- nuitka/containers/__init__.py +5 -4
- nuitka/distutils/Build.py +19 -18
- nuitka/distutils/DistutilCommands.py +34 -23
- nuitka/distutils/__init__.py +5 -4
- nuitka/finalizations/Finalization.py +20 -17
- nuitka/finalizations/FinalizeMarkups.py +21 -41
- nuitka/finalizations/__init__.py +5 -4
- nuitka/freezer/DependsExe.py +48 -28
- nuitka/freezer/DllDependenciesCommon.py +47 -20
- nuitka/freezer/DllDependenciesMacOS.py +147 -57
- nuitka/freezer/DllDependenciesPosix.py +29 -19
- nuitka/freezer/DllDependenciesWin32.py +29 -21
- nuitka/freezer/ImportDetection.py +20 -17
- nuitka/freezer/IncludedDataFiles.py +118 -47
- nuitka/freezer/IncludedEntryPoints.py +102 -38
- nuitka/freezer/Onefile.py +32 -22
- nuitka/freezer/Standalone.py +105 -50
- nuitka/freezer/__init__.py +5 -4
- nuitka/importing/IgnoreListing.py +19 -17
- nuitka/importing/ImportCache.py +24 -21
- nuitka/importing/ImportResolving.py +103 -95
- nuitka/importing/Importing.py +286 -92
- nuitka/importing/PreloadedPackages.py +21 -18
- nuitka/importing/Recursion.py +131 -47
- nuitka/importing/StandardLibrary.py +46 -28
- nuitka/importing/__init__.py +5 -4
- nuitka/nodes/AsyncgenNodes.py +19 -17
- nuitka/nodes/AttributeLookupNodes.py +19 -17
- nuitka/nodes/AttributeNodes.py +19 -17
- nuitka/nodes/AttributeNodesGenerated.py +49 -24
- nuitka/nodes/BuiltinAllNodes.py +19 -17
- nuitka/nodes/BuiltinAnyNodes.py +19 -17
- nuitka/nodes/BuiltinComplexNodes.py +20 -17
- nuitka/nodes/BuiltinDecodingNodes.py +19 -17
- nuitka/nodes/BuiltinDecoratorNodes.py +19 -17
- nuitka/nodes/BuiltinDictNodes.py +19 -17
- nuitka/nodes/BuiltinFormatNodes.py +20 -17
- nuitka/nodes/BuiltinHashNodes.py +19 -17
- nuitka/nodes/BuiltinInputNodes.py +19 -17
- nuitka/nodes/BuiltinIntegerNodes.py +19 -17
- nuitka/nodes/BuiltinIteratorNodes.py +24 -20
- nuitka/nodes/BuiltinLenNodes.py +19 -17
- nuitka/nodes/BuiltinNextNodes.py +19 -17
- nuitka/nodes/BuiltinOpenNodes.py +52 -18
- nuitka/nodes/BuiltinOperationNodeBasesGenerated.py +40 -23
- nuitka/nodes/BuiltinRangeNodes.py +21 -19
- nuitka/nodes/BuiltinRefNodes.py +68 -19
- nuitka/nodes/BuiltinSumNodes.py +20 -18
- nuitka/nodes/BuiltinTypeNodes.py +19 -17
- nuitka/nodes/BuiltinVarsNodes.py +19 -18
- nuitka/nodes/BytesNodes.py +19 -17
- nuitka/nodes/CallNodes.py +19 -17
- nuitka/nodes/Checkers.py +19 -17
- nuitka/nodes/ChildrenHavingMixins.py +1250 -302
- nuitka/nodes/ClassNodes.py +49 -29
- nuitka/nodes/CodeObjectSpecs.py +29 -18
- nuitka/nodes/ComparisonNodes.py +19 -17
- nuitka/nodes/ConditionalNodes.py +21 -23
- nuitka/nodes/ConstantRefNodes.py +57 -17
- nuitka/nodes/ContainerMakingNodes.py +19 -17
- nuitka/nodes/ContainerOperationNodes.py +19 -17
- nuitka/nodes/CoroutineNodes.py +19 -17
- nuitka/nodes/CtypesNodes.py +19 -18
- nuitka/nodes/DictionaryNodes.py +19 -18
- nuitka/nodes/ExceptionNodes.py +29 -17
- nuitka/nodes/ExecEvalNodes.py +19 -17
- nuitka/nodes/ExpressionBases.py +34 -26
- nuitka/nodes/ExpressionBasesGenerated.py +54 -32
- nuitka/nodes/ExpressionShapeMixins.py +19 -17
- nuitka/nodes/FrameNodes.py +19 -17
- nuitka/nodes/FunctionAttributeNodes.py +19 -17
- nuitka/nodes/FunctionNodes.py +81 -35
- nuitka/nodes/FutureSpecs.py +35 -20
- nuitka/nodes/GeneratorNodes.py +21 -19
- nuitka/nodes/GlobalsLocalsNodes.py +22 -17
- nuitka/nodes/HardImportNodesGenerated.py +545 -129
- nuitka/nodes/ImportHardNodes.py +46 -38
- nuitka/nodes/ImportNodes.py +436 -446
- nuitka/nodes/IndicatorMixins.py +19 -17
- nuitka/nodes/InjectCNodes.py +19 -18
- nuitka/nodes/IterationHandles.py +55 -34
- nuitka/nodes/KeyValuePairNodes.py +19 -17
- nuitka/nodes/ListOperationNodes.py +33 -21
- nuitka/nodes/LocalsDictNodes.py +19 -17
- nuitka/nodes/LocalsScopes.py +41 -41
- nuitka/nodes/LoopNodes.py +28 -17
- nuitka/nodes/MatchNodes.py +37 -24
- nuitka/nodes/ModuleAttributeNodes.py +18 -35
- nuitka/nodes/ModuleNodes.py +90 -31
- nuitka/nodes/NetworkxNodes.py +45 -0
- nuitka/nodes/NodeBases.py +45 -43
- nuitka/nodes/NodeMakingHelpers.py +21 -19
- nuitka/nodes/NodeMetaClasses.py +45 -28
- nuitka/nodes/OperatorNodes.py +28 -26
- nuitka/nodes/OperatorNodesUnary.py +20 -17
- nuitka/nodes/OsSysNodes.py +66 -18
- nuitka/nodes/OutlineNodes.py +22 -20
- nuitka/nodes/PackageMetadataNodes.py +37 -27
- nuitka/nodes/PackageResourceNodes.py +29 -23
- nuitka/nodes/PrintNodes.py +19 -17
- nuitka/nodes/ReturnNodes.py +20 -18
- nuitka/nodes/SideEffectNodes.py +19 -17
- nuitka/nodes/SliceNodes.py +20 -18
- nuitka/nodes/StatementBasesGenerated.py +125 -77
- nuitka/nodes/StatementNodes.py +19 -17
- nuitka/nodes/StrNodes.py +19 -17
- nuitka/nodes/StringConcatenationNodes.py +20 -17
- nuitka/nodes/SubscriptNodes.py +26 -24
- nuitka/nodes/TensorflowNodes.py +38 -0
- nuitka/nodes/TryNodes.py +19 -17
- nuitka/nodes/TypeMatchNodes.py +19 -17
- nuitka/nodes/TypeNodes.py +40 -17
- nuitka/nodes/VariableAssignNodes.py +122 -64
- nuitka/nodes/VariableDelNodes.py +19 -17
- nuitka/nodes/VariableNameNodes.py +19 -17
- nuitka/nodes/VariableRefNodes.py +63 -26
- nuitka/nodes/VariableReleaseNodes.py +19 -17
- nuitka/nodes/YieldNodes.py +21 -19
- nuitka/nodes/__init__.py +5 -4
- nuitka/nodes/shapes/BuiltinTypeShapes.py +145 -39
- nuitka/nodes/shapes/ControlFlowDescriptions.py +19 -17
- nuitka/nodes/shapes/ShapeMixins.py +40 -17
- nuitka/nodes/shapes/StandardShapes.py +27 -20
- nuitka/nodes/shapes/__init__.py +5 -4
- nuitka/optimizations/BytecodeDemotion.py +19 -17
- nuitka/optimizations/FunctionInlining.py +22 -23
- nuitka/optimizations/Graphs.py +19 -17
- nuitka/optimizations/Optimization.py +39 -35
- nuitka/optimizations/OptimizeBuiltinCalls.py +31 -27
- nuitka/optimizations/Tags.py +19 -18
- nuitka/optimizations/TraceCollections.py +67 -24
- nuitka/optimizations/ValueTraces.py +92 -25
- nuitka/optimizations/__init__.py +5 -4
- nuitka/pgo/PGO.py +33 -23
- nuitka/pgo/__init__.py +5 -4
- nuitka/plugins/PluginBase.py +610 -109
- nuitka/plugins/Plugins.py +241 -58
- nuitka/plugins/YamlPluginBase.py +121 -0
- nuitka/plugins/__init__.py +5 -4
- nuitka/plugins/standard/AntiBloatPlugin.py +357 -129
- nuitka/plugins/standard/ConsiderPyLintAnnotationsPlugin.py +20 -19
- nuitka/plugins/standard/DataFilesPlugin.py +65 -29
- nuitka/plugins/standard/DelvewheelPlugin.py +32 -24
- nuitka/plugins/standard/DillPlugin/DillPlugin.c +37 -0
- nuitka/plugins/standard/DillPlugin/dill-postLoad.py +256 -0
- nuitka/plugins/standard/DillPlugin.py +42 -134
- nuitka/plugins/standard/DllFilesPlugin.py +125 -42
- nuitka/plugins/standard/EnumPlugin.py +19 -17
- nuitka/plugins/standard/EventletPlugin.py +19 -17
- nuitka/plugins/standard/GeventPlugin.py +19 -17
- nuitka/plugins/standard/GiPlugin.py +44 -28
- nuitka/plugins/standard/GlfwPlugin.py +20 -17
- nuitka/plugins/standard/ImplicitImports.py +407 -46
- nuitka/plugins/standard/KivyPlugin.py +30 -17
- nuitka/plugins/standard/MatplotlibPlugin.py +88 -42
- nuitka/plugins/standard/MultiprocessingPlugin.py +25 -20
- nuitka/plugins/standard/NumpyPlugin.py +19 -17
- nuitka/plugins/standard/OptionsNannyPlugin.py +48 -76
- nuitka/plugins/standard/PbrPlugin.py +21 -19
- nuitka/plugins/standard/PkgResourcesPlugin.py +34 -23
- nuitka/plugins/standard/PmwPlugin.py +30 -27
- nuitka/plugins/standard/PySidePyQtPlugin.py +74 -80
- nuitka/plugins/standard/PywebViewPlugin.py +19 -17
- nuitka/plugins/standard/SpacyPlugin.py +136 -0
- nuitka/plugins/standard/TensorflowPlugin.py +20 -17
- nuitka/plugins/standard/TkinterPlugin.py +103 -53
- nuitka/plugins/standard/TorchPlugin.py +20 -17
- nuitka/plugins/standard/TransformersPlugin.py +94 -30
- nuitka/plugins/standard/TrioPlugin.py +18 -15
- nuitka/plugins/standard/UpxPlugin.py +21 -19
- nuitka/plugins/standard/__init__.py +5 -4
- nuitka/plugins/standard/standard.nuitka-package.config.yml +3449 -1299
- nuitka/plugins/standard/stdlib2.nuitka-package.config.yml +14 -14
- nuitka/plugins/standard/stdlib3.nuitka-package.config.yml +121 -66
- nuitka/reports/CompilationReportReader.py +67 -0
- nuitka/reports/LicenseReport.rst.j2 +21 -21
- nuitka/reports/Reports.py +352 -76
- nuitka/reports/__init__.py +5 -4
- nuitka/specs/BuiltinBytesOperationSpecs.py +18 -17
- nuitka/specs/BuiltinDictOperationSpecs.py +18 -17
- nuitka/specs/BuiltinListOperationSpecs.py +18 -17
- nuitka/specs/BuiltinParameterSpecs.py +30 -20
- nuitka/specs/BuiltinStrOperationSpecs.py +19 -18
- nuitka/specs/BuiltinTypeOperationSpecs.py +18 -18
- nuitka/specs/BuiltinUnicodeOperationSpecs.py +18 -17
- nuitka/specs/HardImportSpecs.py +67 -22
- nuitka/specs/ParameterSpecs.py +56 -41
- nuitka/specs/__init__.py +5 -4
- nuitka/tools/Basics.py +20 -18
- nuitka/tools/__init__.py +5 -4
- nuitka/tools/commercial/__init__.py +7 -6
- nuitka/tools/data_composer/DataComposer.py +78 -62
- nuitka/tools/data_composer/__init__.py +5 -4
- nuitka/tools/data_composer/__main__.py +18 -17
- nuitka/tools/environments/CreateEnvironment.py +20 -17
- nuitka/tools/environments/Virtualenv.py +60 -32
- nuitka/tools/environments/__init__.py +5 -4
- nuitka/tools/general/__init__.py +5 -4
- nuitka/tools/general/dll_report/__init__.py +5 -4
- nuitka/tools/general/dll_report/__main__.py +19 -21
- nuitka/tools/general/find_module/FindModuleCode.py +35 -22
- nuitka/tools/general/find_module/__init__.py +5 -4
- nuitka/tools/onefile_compressor/OnefileCompressor.py +213 -131
- nuitka/tools/onefile_compressor/__init__.py +5 -4
- nuitka/tools/onefile_compressor/__main__.py +18 -17
- nuitka/tools/podman/Podman.py +19 -17
- nuitka/tools/podman/__init__.py +5 -4
- nuitka/tools/podman/__main__.py +35 -19
- nuitka/tools/profiler/__init__.py +5 -4
- nuitka/tools/profiler/__main__.py +18 -17
- nuitka/tools/scanning/DisplayPackageDLLs.py +47 -22
- nuitka/tools/scanning/DisplayPackageData.py +31 -19
- nuitka/tools/scanning/__init__.py +5 -4
- nuitka/tools/specialize/CTypeDescriptions.py +93 -71
- nuitka/tools/specialize/Common.py +18 -17
- nuitka/tools/specialize/SpecializeC.py +31 -27
- nuitka/tools/specialize/SpecializePython.py +108 -45
- nuitka/tools/specialize/__init__.py +5 -4
- nuitka/tools/testing/Common.py +106 -52
- nuitka/tools/testing/Constructs.py +19 -17
- nuitka/tools/testing/OutputComparison.py +54 -18
- nuitka/tools/testing/Pythons.py +19 -18
- nuitka/tools/testing/RuntimeTracing.py +20 -19
- nuitka/tools/testing/SearchModes.py +26 -20
- nuitka/tools/testing/Valgrind.py +19 -17
- nuitka/tools/testing/__init__.py +5 -4
- nuitka/tools/testing/check_reference_counts/__init__.py +5 -4
- nuitka/tools/testing/check_reference_counts/__main__.py +18 -18
- nuitka/tools/testing/compare_with_cpython/__init__.py +5 -4
- nuitka/tools/testing/compare_with_cpython/__main__.py +36 -29
- nuitka/tools/testing/find_sxs_modules/__init__.py +5 -4
- nuitka/tools/testing/find_sxs_modules/__main__.py +17 -17
- nuitka/tools/testing/measure_construct_performance/__init__.py +5 -4
- nuitka/tools/testing/measure_construct_performance/__main__.py +22 -25
- nuitka/tools/testing/run_nuitka_tests/__init__.py +5 -4
- nuitka/tools/testing/run_nuitka_tests/__main__.py +57 -40
- nuitka/tools/watch/AutoStage.py +144 -0
- nuitka/tools/watch/GitHub.py +113 -0
- nuitka/tools/watch/__init__.py +5 -4
- nuitka/tools/watch/__main__.py +322 -91
- nuitka/tree/Building.py +176 -147
- nuitka/tree/ComplexCallHelperFunctions.py +80 -58
- nuitka/tree/Extractions.py +19 -17
- nuitka/tree/InternalModule.py +29 -20
- nuitka/tree/Operations.py +19 -17
- nuitka/tree/ReformulationAssertStatements.py +20 -17
- nuitka/tree/ReformulationAssignmentStatements.py +92 -91
- nuitka/tree/ReformulationBooleanExpressions.py +19 -17
- nuitka/tree/ReformulationCallExpressions.py +20 -18
- nuitka/tree/ReformulationClasses.py +45 -39
- nuitka/tree/ReformulationClasses3.py +146 -98
- nuitka/tree/ReformulationComparisonExpressions.py +29 -35
- nuitka/tree/ReformulationContractionExpressions.py +58 -55
- nuitka/tree/ReformulationDictionaryCreation.py +40 -35
- nuitka/tree/ReformulationExecStatements.py +42 -39
- nuitka/tree/ReformulationForLoopStatements.py +30 -34
- nuitka/tree/ReformulationFunctionStatements.py +58 -54
- nuitka/tree/ReformulationImportStatements.py +34 -29
- nuitka/tree/ReformulationLambdaExpressions.py +23 -24
- nuitka/tree/ReformulationMatchStatements.py +244 -92
- nuitka/tree/ReformulationMultidist.py +22 -18
- nuitka/tree/ReformulationNamespacePackages.py +55 -46
- nuitka/tree/ReformulationPrintStatements.py +23 -24
- nuitka/tree/ReformulationSequenceCreation.py +50 -49
- nuitka/tree/ReformulationSubscriptExpressions.py +19 -17
- nuitka/tree/ReformulationTryExceptStatements.py +19 -17
- nuitka/tree/ReformulationTryFinallyStatements.py +34 -17
- nuitka/tree/ReformulationWhileLoopStatements.py +19 -17
- nuitka/tree/ReformulationWithStatements.py +39 -41
- nuitka/tree/ReformulationYieldExpressions.py +21 -19
- nuitka/tree/SourceHandling.py +76 -31
- nuitka/tree/SyntaxErrors.py +19 -17
- nuitka/tree/TreeHelpers.py +33 -20
- nuitka/tree/VariableClosure.py +35 -39
- nuitka/tree/__init__.py +5 -4
- nuitka/utils/AppDirs.py +41 -20
- nuitka/utils/CStrings.py +66 -21
- nuitka/utils/CommandLineOptions.py +84 -19
- nuitka/utils/Distributions.py +445 -54
- nuitka/utils/Download.py +89 -57
- nuitka/utils/Execution.py +73 -34
- nuitka/utils/FileOperations.py +318 -74
- nuitka/utils/Hashing.py +55 -33
- nuitka/utils/Images.py +26 -19
- nuitka/utils/Importing.py +118 -24
- nuitka/utils/InstalledPythons.py +80 -75
- nuitka/utils/InstanceCounters.py +20 -17
- nuitka/utils/Jinja2.py +30 -22
- nuitka/utils/Json.py +19 -17
- nuitka/utils/MacOSApp.py +26 -18
- nuitka/utils/MemoryUsage.py +20 -18
- nuitka/utils/ModuleNames.py +42 -26
- nuitka/utils/ReExecute.py +50 -28
- nuitka/utils/Rest.py +20 -17
- nuitka/utils/SharedLibraries.py +161 -75
- nuitka/utils/Shebang.py +20 -17
- nuitka/utils/Signing.py +63 -18
- nuitka/utils/SlotMetaClasses.py +57 -0
- nuitka/utils/StaticLibraries.py +83 -56
- nuitka/utils/ThreadedExecutor.py +18 -17
- nuitka/utils/Timing.py +22 -20
- nuitka/utils/Utils.py +115 -25
- nuitka/utils/WindowsFileUsage.py +22 -20
- nuitka/utils/WindowsResources.py +25 -18
- nuitka/utils/Yaml.py +62 -24
- nuitka/utils/__init__.py +5 -4
- Nuitka_winsvc-1.8.dist-info/RECORD +0 -905
- nuitka/build/inline_copy/tqdm/tqdm/_tqdm_gui.py +0 -9
- nuitka/build/inline_copy/tqdm/tqdm/gui.py +0 -191
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/LICENSE.txt +0 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/entry_points.txt +0 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/top_level.txt +0 -0
|
@@ -1,20 +1,5 @@
|
|
|
1
|
-
// Copyright
|
|
2
|
-
|
|
3
|
-
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
4
|
-
// integrates with CPython, but also works on its own.
|
|
5
|
-
//
|
|
6
|
-
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
// you may not use this file except in compliance with the License.
|
|
8
|
-
// You may obtain a copy of the License at
|
|
9
|
-
//
|
|
10
|
-
// http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
//
|
|
12
|
-
// Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
// See the License for the specific language governing permissions and
|
|
16
|
-
// limitations under the License.
|
|
17
|
-
//
|
|
1
|
+
// Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
18
3
|
#ifndef __NUITKA_CHECKERS_H__
|
|
19
4
|
#define __NUITKA_CHECKERS_H__
|
|
20
5
|
|
|
@@ -37,4 +22,18 @@
|
|
|
37
22
|
extern void CHECK_OBJECT_DEEP(PyObject *value);
|
|
38
23
|
extern void CHECK_OBJECTS_DEEP(PyObject *const *values, Py_ssize_t size);
|
|
39
24
|
|
|
40
|
-
#endif
|
|
25
|
+
#endif
|
|
26
|
+
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
27
|
+
// integrates with CPython, but also works on its own.
|
|
28
|
+
//
|
|
29
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
30
|
+
// you may not use this file except in compliance with the License.
|
|
31
|
+
// You may obtain a copy of the License at
|
|
32
|
+
//
|
|
33
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
34
|
+
//
|
|
35
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
36
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
37
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
38
|
+
// See the License for the specific language governing permissions and
|
|
39
|
+
// limitations under the License.
|
|
@@ -1,5 +1,17 @@
|
|
|
1
|
-
// Copyright
|
|
2
|
-
|
|
1
|
+
// Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
#ifndef __NUITKA_CHECKSUM_TOOLS_H__
|
|
4
|
+
#define __NUITKA_CHECKSUM_TOOLS_H__
|
|
5
|
+
|
|
6
|
+
// This file is included from another C file, help IDEs to still parse it on
|
|
7
|
+
// its own.
|
|
8
|
+
#ifdef __IDE_ONLY__
|
|
9
|
+
#include "nuitka/prelude.h"
|
|
10
|
+
#endif
|
|
11
|
+
|
|
12
|
+
extern uint32_t calcCRC32(unsigned char const *message, uint32_t size);
|
|
13
|
+
|
|
14
|
+
#endif
|
|
3
15
|
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
4
16
|
// integrates with CPython, but also works on its own.
|
|
5
17
|
//
|
|
@@ -14,20 +26,3 @@
|
|
|
14
26
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
27
|
// See the License for the specific language governing permissions and
|
|
16
28
|
// limitations under the License.
|
|
17
|
-
//
|
|
18
|
-
#ifndef __NUITKA_CHECKSUM_TOOLS_H__
|
|
19
|
-
#define __NUITKA_CHECKSUM_TOOLS_H__
|
|
20
|
-
|
|
21
|
-
// This file is included from another C file, help IDEs to still parse it on
|
|
22
|
-
// its own.
|
|
23
|
-
#ifdef __IDE_ONLY__
|
|
24
|
-
#include "nuitka/prelude.h"
|
|
25
|
-
#endif
|
|
26
|
-
|
|
27
|
-
extern uint32_t initCRC32(void);
|
|
28
|
-
extern uint32_t updateCRC32(uint32_t crc, unsigned char const *message, uint32_t size);
|
|
29
|
-
extern uint32_t finalizeCRC32(uint32_t crc);
|
|
30
|
-
|
|
31
|
-
extern uint32_t calcCRC32(unsigned char const *message, uint32_t size);
|
|
32
|
-
|
|
33
|
-
#endif
|
|
@@ -1,20 +1,5 @@
|
|
|
1
|
-
// Copyright
|
|
2
|
-
|
|
3
|
-
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
4
|
-
// integrates with CPython, but also works on its own.
|
|
5
|
-
//
|
|
6
|
-
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
// you may not use this file except in compliance with the License.
|
|
8
|
-
// You may obtain a copy of the License at
|
|
9
|
-
//
|
|
10
|
-
// http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
//
|
|
12
|
-
// Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
// See the License for the specific language governing permissions and
|
|
16
|
-
// limitations under the License.
|
|
17
|
-
//
|
|
1
|
+
// Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
18
3
|
#ifndef __NUITKA_COMPILED_ASYNCGEN_H__
|
|
19
4
|
#define __NUITKA_COMPILED_ASYNCGEN_H__
|
|
20
5
|
|
|
@@ -42,7 +27,7 @@ struct Nuitka_AsyncgenObject {
|
|
|
42
27
|
PyObject *m_module;
|
|
43
28
|
|
|
44
29
|
PyObject *m_qualname;
|
|
45
|
-
PyObject *
|
|
30
|
+
PyObject *m_yield_from;
|
|
46
31
|
|
|
47
32
|
// Weak references are supported for asyncgen objects in CPython.
|
|
48
33
|
PyObject *m_weakrefs;
|
|
@@ -274,3 +259,18 @@ extern int count_released_Nuitka_AsyncgenAthrow_Type;
|
|
|
274
259
|
#endif
|
|
275
260
|
|
|
276
261
|
#endif
|
|
262
|
+
|
|
263
|
+
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
264
|
+
// integrates with CPython, but also works on its own.
|
|
265
|
+
//
|
|
266
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
267
|
+
// you may not use this file except in compliance with the License.
|
|
268
|
+
// You may obtain a copy of the License at
|
|
269
|
+
//
|
|
270
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
271
|
+
//
|
|
272
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
273
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
274
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
275
|
+
// See the License for the specific language governing permissions and
|
|
276
|
+
// limitations under the License.
|
|
@@ -1,20 +1,5 @@
|
|
|
1
|
-
// Copyright
|
|
2
|
-
|
|
3
|
-
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
4
|
-
// integrates with CPython, but also works on its own.
|
|
5
|
-
//
|
|
6
|
-
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
// you may not use this file except in compliance with the License.
|
|
8
|
-
// You may obtain a copy of the License at
|
|
9
|
-
//
|
|
10
|
-
// http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
//
|
|
12
|
-
// Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
// See the License for the specific language governing permissions and
|
|
16
|
-
// limitations under the License.
|
|
17
|
-
//
|
|
1
|
+
// Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
18
3
|
#ifndef __NUITKA_COMPILED_CELL_H__
|
|
19
4
|
#define __NUITKA_COMPILED_CELL_H__
|
|
20
5
|
|
|
@@ -35,7 +20,7 @@ struct Nuitka_CellObject {
|
|
|
35
20
|
};
|
|
36
21
|
|
|
37
22
|
// Create cell with out value, and with or without reference given.
|
|
38
|
-
extern struct Nuitka_CellObject *
|
|
23
|
+
extern struct Nuitka_CellObject *Nuitka_Cell_NewEmpty(void);
|
|
39
24
|
extern struct Nuitka_CellObject *Nuitka_Cell_New0(PyObject *value);
|
|
40
25
|
extern struct Nuitka_CellObject *Nuitka_Cell_New1(PyObject *value);
|
|
41
26
|
|
|
@@ -46,4 +31,34 @@ extern struct Nuitka_CellObject *Nuitka_Cell_New1(PyObject *value);
|
|
|
46
31
|
#define Nuitka_Cell_GET(cell) \
|
|
47
32
|
(CHECK_OBJECT(cell), assert(Nuitka_Cell_Check((PyObject *)cell)), (((struct Nuitka_CellObject *)(cell))->ob_ref))
|
|
48
33
|
#endif
|
|
34
|
+
|
|
35
|
+
#if _DEBUG_REFCOUNTS
|
|
36
|
+
extern int count_active_Nuitka_Cell_Type;
|
|
37
|
+
extern int count_allocated_Nuitka_Cell_Type;
|
|
38
|
+
extern int count_released_Nuitka_Cell_Type;
|
|
49
39
|
#endif
|
|
40
|
+
|
|
41
|
+
NUITKA_MAY_BE_UNUSED static inline void Nuitka_Cell_SET(struct Nuitka_CellObject *cell_object, PyObject *value) {
|
|
42
|
+
CHECK_OBJECT_X(value);
|
|
43
|
+
CHECK_OBJECT(cell_object);
|
|
44
|
+
|
|
45
|
+
assert(Nuitka_Cell_Check((PyObject *)cell_object));
|
|
46
|
+
cell_object->ob_ref = value;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
#endif
|
|
50
|
+
|
|
51
|
+
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
52
|
+
// integrates with CPython, but also works on its own.
|
|
53
|
+
//
|
|
54
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
55
|
+
// you may not use this file except in compliance with the License.
|
|
56
|
+
// You may obtain a copy of the License at
|
|
57
|
+
//
|
|
58
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
59
|
+
//
|
|
60
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
61
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
62
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
63
|
+
// See the License for the specific language governing permissions and
|
|
64
|
+
// limitations under the License.
|
|
@@ -1,20 +1,5 @@
|
|
|
1
|
-
// Copyright
|
|
2
|
-
|
|
3
|
-
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
4
|
-
// integrates with CPython, but also works on its own.
|
|
5
|
-
//
|
|
6
|
-
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
// you may not use this file except in compliance with the License.
|
|
8
|
-
// You may obtain a copy of the License at
|
|
9
|
-
//
|
|
10
|
-
// http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
//
|
|
12
|
-
// Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
// See the License for the specific language governing permissions and
|
|
16
|
-
// limitations under the License.
|
|
17
|
-
//
|
|
1
|
+
// Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
18
3
|
#ifndef __NUITKA_COMPILED_COROUTINE_H__
|
|
19
4
|
#define __NUITKA_COMPILED_COROUTINE_H__
|
|
20
5
|
|
|
@@ -42,7 +27,7 @@ struct Nuitka_CoroutineObject {
|
|
|
42
27
|
PyObject *m_module;
|
|
43
28
|
|
|
44
29
|
PyObject *m_qualname;
|
|
45
|
-
PyObject *
|
|
30
|
+
PyObject *m_yield_from;
|
|
46
31
|
|
|
47
32
|
// Weak references are supported for coroutine objects in CPython.
|
|
48
33
|
PyObject *m_weakrefs;
|
|
@@ -268,3 +253,18 @@ extern int count_released_Nuitka_AIterWrapper_Type;
|
|
|
268
253
|
#endif
|
|
269
254
|
|
|
270
255
|
#endif
|
|
256
|
+
|
|
257
|
+
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
258
|
+
// integrates with CPython, but also works on its own.
|
|
259
|
+
//
|
|
260
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
261
|
+
// you may not use this file except in compliance with the License.
|
|
262
|
+
// You may obtain a copy of the License at
|
|
263
|
+
//
|
|
264
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
265
|
+
//
|
|
266
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
267
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
268
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
269
|
+
// See the License for the specific language governing permissions and
|
|
270
|
+
// limitations under the License.
|
|
@@ -1,20 +1,5 @@
|
|
|
1
|
-
// Copyright
|
|
2
|
-
|
|
3
|
-
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
4
|
-
// integrates with CPython, but also works on its own.
|
|
5
|
-
//
|
|
6
|
-
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
// you may not use this file except in compliance with the License.
|
|
8
|
-
// You may obtain a copy of the License at
|
|
9
|
-
//
|
|
10
|
-
// http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
//
|
|
12
|
-
// Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
// See the License for the specific language governing permissions and
|
|
16
|
-
// limitations under the License.
|
|
17
|
-
//
|
|
1
|
+
// Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
18
3
|
#ifndef __NUITKA_COMPILED_FRAME_H__
|
|
19
4
|
#define __NUITKA_COMPILED_FRAME_H__
|
|
20
5
|
|
|
@@ -62,51 +47,70 @@ extern struct Nuitka_FrameObject *MAKE_CLASS_FRAME(PyThreadState *tstate, PyCode
|
|
|
62
47
|
// Create a code object for the given filename and function name
|
|
63
48
|
|
|
64
49
|
#if PYTHON_VERSION < 0x300
|
|
65
|
-
#define MAKE_CODE_OBJECT(filename, line, flags, function_name, function_qualname,
|
|
50
|
+
#define MAKE_CODE_OBJECT(filename, line, flags, function_name, function_qualname, arg_names, free_vars, arg_count, \
|
|
66
51
|
kw_only_count, pos_only_count) \
|
|
67
|
-
makeCodeObject(filename, line, flags, function_name,
|
|
52
|
+
makeCodeObject(filename, line, flags, function_name, arg_names, free_vars, arg_count)
|
|
68
53
|
extern PyCodeObject *makeCodeObject(PyObject *filename, int line, int flags, PyObject *function_name,
|
|
69
|
-
PyObject *
|
|
54
|
+
PyObject *arg_names, PyObject *free_vars, int arg_count);
|
|
70
55
|
#elif PYTHON_VERSION < 0x380
|
|
71
|
-
#define MAKE_CODE_OBJECT(filename, line, flags, function_name, function_qualname,
|
|
56
|
+
#define MAKE_CODE_OBJECT(filename, line, flags, function_name, function_qualname, arg_names, free_vars, arg_count, \
|
|
72
57
|
kw_only_count, pos_only_count) \
|
|
73
|
-
makeCodeObject(filename, line, flags, function_name,
|
|
58
|
+
makeCodeObject(filename, line, flags, function_name, arg_names, free_vars, arg_count, kw_only_count)
|
|
74
59
|
extern PyCodeObject *makeCodeObject(PyObject *filename, int line, int flags, PyObject *function_name,
|
|
75
|
-
PyObject *
|
|
60
|
+
PyObject *arg_names, PyObject *free_vars, int arg_count, int kw_only_count);
|
|
76
61
|
#elif PYTHON_VERSION < 0x3b0
|
|
77
|
-
#define MAKE_CODE_OBJECT(filename, line, flags, function_name, function_qualname,
|
|
62
|
+
#define MAKE_CODE_OBJECT(filename, line, flags, function_name, function_qualname, arg_names, free_vars, arg_count, \
|
|
78
63
|
kw_only_count, pos_only_count) \
|
|
79
|
-
makeCodeObject(filename, line, flags, function_name,
|
|
64
|
+
makeCodeObject(filename, line, flags, function_name, arg_names, free_vars, arg_count, kw_only_count, pos_only_count)
|
|
80
65
|
extern PyCodeObject *makeCodeObject(PyObject *filename, int line, int flags, PyObject *function_name,
|
|
81
|
-
PyObject *
|
|
66
|
+
PyObject *arg_names, PyObject *free_vars, int arg_count, int kw_only_count,
|
|
82
67
|
int pos_only_count);
|
|
83
68
|
#else
|
|
84
|
-
#define MAKE_CODE_OBJECT(filename, line, flags, function_name, function_qualname,
|
|
69
|
+
#define MAKE_CODE_OBJECT(filename, line, flags, function_name, function_qualname, arg_names, free_vars, arg_count, \
|
|
85
70
|
kw_only_count, pos_only_count) \
|
|
86
|
-
makeCodeObject(filename, line, flags, function_name, function_qualname,
|
|
71
|
+
makeCodeObject(filename, line, flags, function_name, function_qualname, arg_names, free_vars, arg_count, \
|
|
87
72
|
kw_only_count, pos_only_count)
|
|
88
73
|
extern PyCodeObject *makeCodeObject(PyObject *filename, int line, int flags, PyObject *function_name,
|
|
89
|
-
PyObject *function_qualname, PyObject *
|
|
90
|
-
int kw_only_count, int pos_only_count);
|
|
74
|
+
PyObject *function_qualname, PyObject *arg_names, PyObject *free_vars,
|
|
75
|
+
int arg_count, int kw_only_count, int pos_only_count);
|
|
91
76
|
#endif
|
|
92
77
|
|
|
93
78
|
NUITKA_MAY_BE_UNUSED static inline bool isFakeCodeObject(PyCodeObject *code) {
|
|
94
79
|
#if PYTHON_VERSION < 0x300
|
|
95
80
|
return code->co_code == const_str_empty;
|
|
96
|
-
#elif PYTHON_VERSION <
|
|
97
|
-
return code->co_code ==
|
|
81
|
+
#elif PYTHON_VERSION < 0x3b0
|
|
82
|
+
return code->co_code == const_bytes_empty;
|
|
98
83
|
#else
|
|
99
|
-
|
|
84
|
+
// Starting for Python3.11, we just proper bytecode that raises
|
|
85
|
+
// "RuntimeError" itself, so this function is only used to
|
|
86
|
+
// optimize checks away.
|
|
87
|
+
return false;
|
|
100
88
|
#endif
|
|
101
89
|
}
|
|
102
90
|
|
|
103
91
|
extern PyTypeObject Nuitka_Frame_Type;
|
|
104
92
|
|
|
105
|
-
static inline bool
|
|
93
|
+
static inline bool Nuitka_Frame_CheckExact(PyObject *object) {
|
|
106
94
|
CHECK_OBJECT(object);
|
|
107
95
|
return Py_TYPE(object) == &Nuitka_Frame_Type;
|
|
108
96
|
}
|
|
109
97
|
|
|
98
|
+
static inline bool Nuitka_Frame_Check(PyObject *object) {
|
|
99
|
+
assert(object);
|
|
100
|
+
|
|
101
|
+
if (!_PyObject_GC_IS_TRACKED(object)) {
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
CHECK_OBJECT(object);
|
|
106
|
+
|
|
107
|
+
if (Nuitka_Frame_CheckExact(object)) {
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
return strcmp(Py_TYPE(object)->tp_name, "compiled_frame") == 0;
|
|
112
|
+
}
|
|
113
|
+
|
|
110
114
|
struct Nuitka_FrameObject {
|
|
111
115
|
PyFrameObject m_frame;
|
|
112
116
|
|
|
@@ -166,10 +170,20 @@ extern int count_hit_frame_cache_instances;
|
|
|
166
170
|
extern void dumpFrameStack(void);
|
|
167
171
|
#endif
|
|
168
172
|
|
|
173
|
+
#if PYTHON_VERSION >= 0x3b0
|
|
174
|
+
inline static PyCodeObject *Nuitka_InterpreterFrame_GetCodeObject(_PyInterpreterFrame *frame) {
|
|
175
|
+
#if PYTHON_VERSION < 0x3d0
|
|
176
|
+
return frame->f_code;
|
|
177
|
+
#else
|
|
178
|
+
return (PyCodeObject *)frame->f_executable;
|
|
179
|
+
#endif
|
|
180
|
+
}
|
|
181
|
+
#endif
|
|
182
|
+
|
|
169
183
|
inline static PyCodeObject *Nuitka_Frame_GetCodeObject(PyFrameObject *frame) {
|
|
170
184
|
#if PYTHON_VERSION >= 0x3b0
|
|
171
185
|
assert(frame->f_frame);
|
|
172
|
-
return frame->f_frame
|
|
186
|
+
return Nuitka_InterpreterFrame_GetCodeObject(frame->f_frame);
|
|
173
187
|
#else
|
|
174
188
|
return frame->f_code;
|
|
175
189
|
#endif
|
|
@@ -180,6 +194,7 @@ inline static void assertPythonFrameObject(PyFrameObject *frame_object) {
|
|
|
180
194
|
// TODO: Need to do this manually, as this is making frame caching code
|
|
181
195
|
// vulnerable to mistakes, but so far the compiled frame type is private
|
|
182
196
|
// assert(PyObject_IsInstance((PyObject *)frame_object, (PyObject *)&PyFrame_Type));
|
|
197
|
+
CHECK_OBJECT(frame_object);
|
|
183
198
|
|
|
184
199
|
CHECK_CODE_OBJECT(Nuitka_Frame_GetCodeObject(frame_object));
|
|
185
200
|
}
|
|
@@ -195,7 +210,7 @@ inline static void assertFrameObject(struct Nuitka_FrameObject *frame_object) {
|
|
|
195
210
|
}
|
|
196
211
|
|
|
197
212
|
inline static void assertThreadFrameObject(Nuitka_ThreadStateFrameType *frame) {
|
|
198
|
-
#if PYTHON_VERSION <
|
|
213
|
+
#if PYTHON_VERSION < 0x3b0
|
|
199
214
|
assertPythonFrameObject(frame);
|
|
200
215
|
#else
|
|
201
216
|
// For uncompiled frames of Python 3.11 these often do not exist. TODO: Figure
|
|
@@ -206,11 +221,11 @@ inline static void assertThreadFrameObject(Nuitka_ThreadStateFrameType *frame) {
|
|
|
206
221
|
#endif
|
|
207
222
|
}
|
|
208
223
|
|
|
209
|
-
// Mark frame as currently executed. Starting with Python 3
|
|
224
|
+
// Mark frame as currently executed. Starting with Python 3 that means it
|
|
210
225
|
// can or cannot be cleared, or should lead to a generator close. For Python2
|
|
211
226
|
// this is a no-op. Using a define to spare the compile from inlining an empty
|
|
212
227
|
// function.
|
|
213
|
-
#if PYTHON_VERSION >=
|
|
228
|
+
#if PYTHON_VERSION >= 0x300
|
|
214
229
|
|
|
215
230
|
#if PYTHON_VERSION < 0x3b0
|
|
216
231
|
|
|
@@ -238,7 +253,7 @@ static inline void Nuitka_Frame_MarkAsExecuting(struct Nuitka_FrameObject *frame
|
|
|
238
253
|
#define Nuitka_Frame_MarkAsExecuting(frame) ;
|
|
239
254
|
#endif
|
|
240
255
|
|
|
241
|
-
#if PYTHON_VERSION >=
|
|
256
|
+
#if PYTHON_VERSION >= 0x300
|
|
242
257
|
static inline void Nuitka_Frame_MarkAsNotExecuting(struct Nuitka_FrameObject *frame) {
|
|
243
258
|
CHECK_OBJECT(frame);
|
|
244
259
|
#if PYTHON_VERSION >= 0x3b0
|
|
@@ -254,7 +269,7 @@ static inline void Nuitka_Frame_MarkAsNotExecuting(struct Nuitka_FrameObject *fr
|
|
|
254
269
|
#define Nuitka_PythonFrame_MarkAsExecuting(frame) ;
|
|
255
270
|
#endif
|
|
256
271
|
|
|
257
|
-
#if PYTHON_VERSION >=
|
|
272
|
+
#if PYTHON_VERSION >= 0x300
|
|
258
273
|
static inline bool Nuitka_Frame_IsExecuting(struct Nuitka_FrameObject *frame) {
|
|
259
274
|
CHECK_OBJECT(frame);
|
|
260
275
|
#if PYTHON_VERSION >= 0x3b0
|
|
@@ -267,15 +282,24 @@ static inline bool Nuitka_Frame_IsExecuting(struct Nuitka_FrameObject *frame) {
|
|
|
267
282
|
}
|
|
268
283
|
#endif
|
|
269
284
|
|
|
270
|
-
#if PYTHON_VERSION >=
|
|
285
|
+
#if PYTHON_VERSION >= 0x3b0
|
|
286
|
+
|
|
287
|
+
#if PYTHON_VERSION < 0x3d0
|
|
288
|
+
#define CURRENT_TSTATE_INTERPRETER_FRAME(tstate) tstate->cframe->current_frame
|
|
289
|
+
#else
|
|
290
|
+
#define CURRENT_TSTATE_INTERPRETER_FRAME(tstate) tstate->current_frame
|
|
291
|
+
#endif
|
|
292
|
+
|
|
271
293
|
NUITKA_MAY_BE_UNUSED inline static void pushFrameStackInterpreterFrame(PyThreadState *tstate,
|
|
272
294
|
_PyInterpreterFrame *interpreter_frame) {
|
|
273
|
-
_PyInterpreterFrame *old = tstate
|
|
295
|
+
_PyInterpreterFrame *old = CURRENT_TSTATE_INTERPRETER_FRAME(tstate);
|
|
274
296
|
interpreter_frame->previous = old;
|
|
275
|
-
tstate
|
|
297
|
+
CURRENT_TSTATE_INTERPRETER_FRAME(tstate) = interpreter_frame;
|
|
276
298
|
|
|
277
|
-
if (old != NULL && interpreter_frame->frame_obj) {
|
|
299
|
+
if (old != NULL && !_PyFrame_IsIncomplete(old) && interpreter_frame->frame_obj) {
|
|
278
300
|
interpreter_frame->frame_obj->f_back = old->frame_obj;
|
|
301
|
+
CHECK_OBJECT_X(old->frame_obj);
|
|
302
|
+
|
|
279
303
|
Py_XINCREF(old->frame_obj);
|
|
280
304
|
}
|
|
281
305
|
}
|
|
@@ -293,7 +317,7 @@ NUITKA_MAY_BE_UNUSED inline static void pushFrameStackPythonFrame(PyThreadState
|
|
|
293
317
|
|
|
294
318
|
if (old) {
|
|
295
319
|
assertPythonFrameObject(old);
|
|
296
|
-
CHECK_CODE_OBJECT(old
|
|
320
|
+
CHECK_CODE_OBJECT(Nuitka_Frame_GetCodeObject(old));
|
|
297
321
|
}
|
|
298
322
|
|
|
299
323
|
// No recursion with identical frames allowed, assert against it.
|
|
@@ -304,7 +328,6 @@ NUITKA_MAY_BE_UNUSED inline static void pushFrameStackPythonFrame(PyThreadState
|
|
|
304
328
|
|
|
305
329
|
// Transfer ownership of old frame.
|
|
306
330
|
if (old != NULL) {
|
|
307
|
-
|
|
308
331
|
frame_object->f_back = old;
|
|
309
332
|
}
|
|
310
333
|
|
|
@@ -348,13 +371,13 @@ NUITKA_MAY_BE_UNUSED inline static void popFrameStack(PyThreadState *tstate) {
|
|
|
348
371
|
Nuitka_Frame_MarkAsNotExecuting(frame_object);
|
|
349
372
|
Py_DECREF(frame_object);
|
|
350
373
|
#else
|
|
351
|
-
assert(tstate
|
|
352
|
-
assert(tstate->cframe->current_frame);
|
|
374
|
+
assert(CURRENT_TSTATE_INTERPRETER_FRAME(tstate));
|
|
353
375
|
|
|
354
|
-
struct Nuitka_FrameObject *frame_object =
|
|
376
|
+
struct Nuitka_FrameObject *frame_object =
|
|
377
|
+
(struct Nuitka_FrameObject *)CURRENT_TSTATE_INTERPRETER_FRAME(tstate)->frame_obj;
|
|
355
378
|
CHECK_OBJECT(frame_object);
|
|
356
379
|
|
|
357
|
-
tstate
|
|
380
|
+
CURRENT_TSTATE_INTERPRETER_FRAME(tstate) = CURRENT_TSTATE_INTERPRETER_FRAME(tstate)->previous;
|
|
358
381
|
|
|
359
382
|
Nuitka_Frame_MarkAsNotExecuting(frame_object);
|
|
360
383
|
|
|
@@ -373,7 +396,7 @@ NUITKA_MAY_BE_UNUSED inline static void popFrameStack(PyThreadState *tstate) {
|
|
|
373
396
|
|
|
374
397
|
// TODO: These can be moved to private code, once all C library is included by
|
|
375
398
|
// compiled code helpers, but generators are currently not.
|
|
376
|
-
#if PYTHON_VERSION >=
|
|
399
|
+
#if PYTHON_VERSION >= 0x300
|
|
377
400
|
NUITKA_MAY_BE_UNUSED static void Nuitka_SetFrameGenerator(struct Nuitka_FrameObject *nuitka_frame,
|
|
378
401
|
PyObject *generator) {
|
|
379
402
|
#if PYTHON_VERSION < 0x3b0
|
|
@@ -401,7 +424,7 @@ NUITKA_MAY_BE_UNUSED static PyCodeObject *Nuitka_GetFrameCodeObject(struct Nuitk
|
|
|
401
424
|
#if PYTHON_VERSION < 0x3b0
|
|
402
425
|
return nuitka_frame->m_frame.f_code;
|
|
403
426
|
#else
|
|
404
|
-
return nuitka_frame->m_interpreter_frame
|
|
427
|
+
return Nuitka_InterpreterFrame_GetCodeObject(&nuitka_frame->m_interpreter_frame);
|
|
405
428
|
#endif
|
|
406
429
|
}
|
|
407
430
|
|
|
@@ -427,7 +450,7 @@ NUITKA_MAY_BE_UNUSED static Nuitka_ThreadStateFrameType *_Nuitka_GetThreadStateF
|
|
|
427
450
|
#if PYTHON_VERSION < 0x3b0
|
|
428
451
|
return tstate->frame;
|
|
429
452
|
#else
|
|
430
|
-
return tstate
|
|
453
|
+
return CURRENT_TSTATE_INTERPRETER_FRAME(tstate);
|
|
431
454
|
#endif
|
|
432
455
|
}
|
|
433
456
|
|
|
@@ -468,3 +491,18 @@ extern int count_released_Nuitka_Frame_Type;
|
|
|
468
491
|
#endif
|
|
469
492
|
|
|
470
493
|
#endif
|
|
494
|
+
|
|
495
|
+
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
496
|
+
// integrates with CPython, but also works on its own.
|
|
497
|
+
//
|
|
498
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
499
|
+
// you may not use this file except in compliance with the License.
|
|
500
|
+
// You may obtain a copy of the License at
|
|
501
|
+
//
|
|
502
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
503
|
+
//
|
|
504
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
505
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
506
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
507
|
+
// See the License for the specific language governing permissions and
|
|
508
|
+
// limitations under the License.
|
|
@@ -1,26 +1,11 @@
|
|
|
1
|
-
// Copyright
|
|
2
|
-
|
|
3
|
-
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
4
|
-
// integrates with CPython, but also works on its own.
|
|
5
|
-
//
|
|
6
|
-
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
// you may not use this file except in compliance with the License.
|
|
8
|
-
// You may obtain a copy of the License at
|
|
9
|
-
//
|
|
10
|
-
// http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
//
|
|
12
|
-
// Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
// See the License for the specific language governing permissions and
|
|
16
|
-
// limitations under the License.
|
|
17
|
-
//
|
|
1
|
+
// Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
18
3
|
#ifndef __NUITKA_COMPILED_FUNCTION_H__
|
|
19
4
|
#define __NUITKA_COMPILED_FUNCTION_H__
|
|
20
5
|
|
|
21
6
|
#ifdef __IDE_ONLY__
|
|
22
|
-
#include
|
|
23
|
-
#include
|
|
7
|
+
#include <Python.h>
|
|
8
|
+
#include <frameobject.h>
|
|
24
9
|
#endif
|
|
25
10
|
|
|
26
11
|
// Compiled function type.
|
|
@@ -86,6 +71,10 @@ struct Nuitka_FunctionObject {
|
|
|
86
71
|
PyObject *m_qualname;
|
|
87
72
|
#endif
|
|
88
73
|
|
|
74
|
+
#if PYTHON_VERSION >= 0x3c0
|
|
75
|
+
PyObject *m_type_params;
|
|
76
|
+
#endif
|
|
77
|
+
|
|
89
78
|
// Constant return value to use.
|
|
90
79
|
PyObject *m_constant_return_value;
|
|
91
80
|
|
|
@@ -108,7 +97,7 @@ extern struct Nuitka_FunctionObject *Nuitka_Function_New(function_impl_code c_co
|
|
|
108
97
|
#else
|
|
109
98
|
extern struct Nuitka_FunctionObject *Nuitka_Function_New(function_impl_code c_code, PyObject *name, PyObject *qualname,
|
|
110
99
|
PyCodeObject *code_object, PyObject *defaults,
|
|
111
|
-
PyObject *
|
|
100
|
+
PyObject *kw_defaults, PyObject *annotations, PyObject *module,
|
|
112
101
|
PyObject *doc, struct Nuitka_CellObject **closure,
|
|
113
102
|
Py_ssize_t closure_given);
|
|
114
103
|
#endif
|
|
@@ -119,6 +108,18 @@ extern void Nuitka_Function_EnableConstReturnFalse(struct Nuitka_FunctionObject
|
|
|
119
108
|
|
|
120
109
|
extern void Nuitka_Function_EnableConstReturnGeneric(struct Nuitka_FunctionObject *function, PyObject *value);
|
|
121
110
|
|
|
111
|
+
#ifdef _NUITKA_PLUGIN_DILL_ENABLED
|
|
112
|
+
extern int Nuitka_Function_GetFunctionCodeIndex(struct Nuitka_FunctionObject *function,
|
|
113
|
+
function_impl_code const *function_table);
|
|
114
|
+
extern struct Nuitka_FunctionObject *
|
|
115
|
+
Nuitka_Function_CreateFunctionViaCodeIndex(PyObject *module, PyObject *function_qualname, PyObject *function_index,
|
|
116
|
+
PyObject *code_object_desc, PyObject *constant_return_value,
|
|
117
|
+
PyObject *defaults, PyObject *kw_defaults, PyObject *doc, PyObject *closure,
|
|
118
|
+
function_impl_code const *function_table, int function_table_size);
|
|
119
|
+
extern PyObject *Nuitka_Function_ExtractCodeObjectDescription(PyThreadState *tstate,
|
|
120
|
+
struct Nuitka_FunctionObject *function);
|
|
121
|
+
#endif
|
|
122
|
+
|
|
122
123
|
static inline bool Nuitka_Function_Check(PyObject *object) { return Py_TYPE(object) == &Nuitka_Function_Type; }
|
|
123
124
|
|
|
124
125
|
static inline PyObject *Nuitka_Function_GetName(PyObject *object) {
|
|
@@ -147,4 +148,25 @@ PyObject *Nuitka_CallMethodFunctionPosArgsKwArgs(PyThreadState *tstate, struct N
|
|
|
147
148
|
PyObject *object, PyObject *const *args, Py_ssize_t args_size,
|
|
148
149
|
PyObject *kw);
|
|
149
150
|
|
|
151
|
+
#if _DEBUG_REFCOUNTS
|
|
152
|
+
extern int count_active_Nuitka_Function_Type;
|
|
153
|
+
extern int count_allocated_Nuitka_Function_Type;
|
|
154
|
+
extern int count_released_Nuitka_Function_Type;
|
|
150
155
|
#endif
|
|
156
|
+
|
|
157
|
+
#endif
|
|
158
|
+
|
|
159
|
+
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
160
|
+
// integrates with CPython, but also works on its own.
|
|
161
|
+
//
|
|
162
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
163
|
+
// you may not use this file except in compliance with the License.
|
|
164
|
+
// You may obtain a copy of the License at
|
|
165
|
+
//
|
|
166
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
167
|
+
//
|
|
168
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
169
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
170
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
171
|
+
// See the License for the specific language governing permissions and
|
|
172
|
+
// limitations under the License.
|