Nuitka-winsvc 1.8__cp311-cp311-win_amd64.whl → 2.5.1__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.5.1.data/scripts/nuitka-run.cmd +9 -9
- Nuitka_winsvc-1.8.data/scripts/nuitka.bat → Nuitka_winsvc-2.5.1.data/scripts/nuitka.cmd +15 -15
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.5.1.dist-info}/METADATA +5 -3
- Nuitka_winsvc-2.5.1.dist-info/RECORD +977 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.5.1.dist-info}/WHEEL +1 -1
- nuitka/Builtins.py +49 -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 +408 -0
- nuitka/MainControl.py +209 -116
- nuitka/ModuleRegistry.py +83 -20
- nuitka/OptionParsing.py +467 -221
- nuitka/Options.py +701 -225
- nuitka/OutputDirectories.py +47 -23
- nuitka/PostProcessing.py +133 -79
- nuitka/Progress.py +73 -24
- nuitka/PythonFlavors.py +141 -32
- nuitka/PythonOperators.py +18 -17
- nuitka/PythonVersions.py +107 -19
- nuitka/Serialization.py +70 -55
- nuitka/SourceCodeReferences.py +19 -17
- nuitka/Tracing.py +176 -70
- nuitka/TreeXML.py +31 -26
- nuitka/Variables.py +39 -41
- nuitka/Version.py +22 -8
- nuitka/__init__.py +5 -4
- nuitka/__main__.py +95 -29
- nuitka/__past__.py +44 -34
- nuitka/build/Backend.scons +243 -141
- nuitka/build/CCompilerVersion.scons +45 -31
- nuitka/build/DataComposerInterface.py +20 -17
- nuitka/build/Onefile.scons +56 -54
- nuitka/build/SconsCaching.py +105 -92
- nuitka/build/SconsCompilerSettings.py +167 -68
- nuitka/build/SconsHacks.py +25 -19
- nuitka/build/SconsInterface.py +155 -54
- nuitka/build/SconsProgress.py +19 -18
- nuitka/build/SconsSpawn.py +62 -33
- nuitka/build/SconsUtils.py +152 -55
- nuitka/build/__init__.py +5 -4
- nuitka/build/include/nuitka/allocator.h +228 -22
- nuitka/build/include/nuitka/builtins.h +17 -17
- nuitka/build/include/nuitka/calling.h +24 -24
- nuitka/build/include/nuitka/checkers.h +17 -18
- nuitka/build/include/nuitka/checksum_tools.h +14 -19
- nuitka/build/include/nuitka/compiled_asyncgen.h +28 -25
- 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 +93 -54
- 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 +35 -18
- nuitka/build/include/nuitka/constants_blob.h +17 -17
- nuitka/build/include/nuitka/debug_settings.h +60 -0
- 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 +717 -171
- 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 -22
- 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 +69 -69
- nuitka/build/include/nuitka/helper/comparisons_dual_eq.h +47 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_ge.h +39 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_gt.h +39 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_le.h +47 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_lt.h +47 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_ne.h +39 -0
- 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 +89 -51
- 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 +115 -54
- nuitka/build/include/nuitka/helper/iterators.h +99 -51
- 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 +20 -17
- nuitka/build/include/nuitka/helper/operations_binary_add.h +23 -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_dual_add.h +34 -0
- 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 +23 -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 +20 -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 +20 -17
- nuitka/build/include/nuitka/helper/operations_inplace_truediv.h +17 -17
- nuitka/build/include/nuitka/helper/raising.h +68 -37
- nuitka/build/include/nuitka/helper/rangeobjects.h +17 -17
- nuitka/build/include/nuitka/helper/richcomparisons.h +21 -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 +50 -22
- nuitka/build/include/nuitka/importing.h +28 -21
- nuitka/build/include/nuitka/jit_sources.h +25 -0
- nuitka/build/include/nuitka/prelude.h +163 -71
- nuitka/build/include/nuitka/printing.h +29 -22
- 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 +45 -32
- nuitka/build/include/nuitka/tracing.h +28 -18
- nuitka/build/include/nuitka/type_aliases.h +30 -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/stubgen/astunparse.py +938 -0
- nuitka/build/inline_copy/stubgen/six.py +998 -0
- nuitka/build/inline_copy/stubgen/stubgen.py +307 -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 +221 -221
- nuitka/build/static_src/CompiledCellType.c +69 -44
- nuitka/build/static_src/CompiledCodeHelpers.c +276 -159
- nuitka/build/static_src/CompiledCoroutineType.c +229 -226
- nuitka/build/static_src/CompiledFrameType.c +323 -138
- nuitka/build/static_src/CompiledFunctionType.c +547 -231
- nuitka/build/static_src/CompiledGeneratorType.c +416 -290
- nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +593 -228
- nuitka/build/static_src/CompiledMethodType.c +91 -82
- nuitka/build/static_src/HelpersAllocator.c +352 -45
- nuitka/build/static_src/HelpersAttributes.c +30 -72
- nuitka/build/static_src/HelpersBuiltin.c +65 -46
- nuitka/build/static_src/HelpersBuiltinTypeMethods.c +17 -17
- nuitka/build/static_src/HelpersBytes.c +19 -20
- nuitka/build/static_src/HelpersCalling.c +40 -37
- nuitka/build/static_src/HelpersCallingGenerated.c +1061 -242
- nuitka/build/static_src/HelpersChecksumTools.c +35 -21
- nuitka/build/static_src/HelpersClasses.c +17 -17
- nuitka/build/static_src/HelpersComparisonDualEq.c +183 -0
- nuitka/build/static_src/HelpersComparisonDualGe.c +121 -0
- nuitka/build/static_src/HelpersComparisonDualGt.c +121 -0
- nuitka/build/static_src/HelpersComparisonDualLe.c +183 -0
- nuitka/build/static_src/HelpersComparisonDualLt.c +183 -0
- nuitka/build/static_src/HelpersComparisonDualNe.c +121 -0
- nuitka/build/static_src/HelpersComparisonEq.c +536 -496
- nuitka/build/static_src/HelpersComparisonEqUtils.c +22 -19
- nuitka/build/static_src/HelpersComparisonGe.c +531 -501
- nuitka/build/static_src/HelpersComparisonGt.c +530 -500
- nuitka/build/static_src/HelpersComparisonLe.c +531 -501
- nuitka/build/static_src/HelpersComparisonLt.c +530 -500
- nuitka/build/static_src/HelpersComparisonNe.c +538 -496
- nuitka/build/static_src/HelpersConsole.c +122 -0
- nuitka/build/static_src/HelpersConstantsBlob.c +550 -521
- nuitka/build/static_src/HelpersDeepcopy.c +33 -33
- nuitka/build/static_src/HelpersDictionaries.c +232 -63
- nuitka/build/static_src/HelpersDictionariesGenerated.c +130 -127
- 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 +147 -62
- nuitka/build/static_src/HelpersFiles.c +116 -22
- 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 +61 -29
- nuitka/build/static_src/HelpersImportHard.c +74 -61
- nuitka/build/static_src/HelpersJitSources.c +46 -0
- nuitka/build/static_src/HelpersLists.c +237 -58
- 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 +397 -152
- nuitka/build/static_src/HelpersOperationBinaryAddUtils.c +102 -52
- nuitka/build/static_src/HelpersOperationBinaryBitand.c +55 -55
- nuitka/build/static_src/HelpersOperationBinaryBitor.c +55 -55
- nuitka/build/static_src/HelpersOperationBinaryBitxor.c +55 -55
- nuitka/build/static_src/HelpersOperationBinaryDivmod.c +49 -43
- nuitka/build/static_src/HelpersOperationBinaryDivmodUtils.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryDualAdd.c +172 -0
- nuitka/build/static_src/HelpersOperationBinaryFloordiv.c +55 -49
- nuitka/build/static_src/HelpersOperationBinaryInplaceAdd.c +20 -21
- nuitka/build/static_src/HelpersOperationBinaryLshift.c +83 -83
- nuitka/build/static_src/HelpersOperationBinaryMatmult.c +25 -24
- nuitka/build/static_src/HelpersOperationBinaryMod.c +129 -117
- nuitka/build/static_src/HelpersOperationBinaryMult.c +98 -82
- nuitka/build/static_src/HelpersOperationBinaryMultUtils.c +33 -30
- nuitka/build/static_src/HelpersOperationBinaryOlddiv.c +55 -49
- nuitka/build/static_src/HelpersOperationBinaryPow.c +68 -68
- nuitka/build/static_src/HelpersOperationBinaryPowUtils.c +12 -12
- nuitka/build/static_src/HelpersOperationBinaryRshift.c +51 -51
- nuitka/build/static_src/HelpersOperationBinarySub.c +309 -88
- nuitka/build/static_src/HelpersOperationBinaryTruediv.c +49 -43
- nuitka/build/static_src/HelpersOperationInplaceAdd.c +333 -163
- nuitka/build/static_src/HelpersOperationInplaceAddUtils.c +24 -22
- nuitka/build/static_src/HelpersOperationInplaceBitand.c +58 -58
- nuitka/build/static_src/HelpersOperationInplaceBitor.c +58 -58
- nuitka/build/static_src/HelpersOperationInplaceBitxor.c +58 -58
- nuitka/build/static_src/HelpersOperationInplaceFloordiv.c +73 -68
- nuitka/build/static_src/HelpersOperationInplaceLshift.c +64 -64
- nuitka/build/static_src/HelpersOperationInplaceMatmult.c +38 -37
- nuitka/build/static_src/HelpersOperationInplaceMod.c +145 -140
- nuitka/build/static_src/HelpersOperationInplaceMult.c +89 -84
- nuitka/build/static_src/HelpersOperationInplaceOlddiv.c +73 -68
- nuitka/build/static_src/HelpersOperationInplacePow.c +82 -82
- nuitka/build/static_src/HelpersOperationInplaceRshift.c +48 -48
- nuitka/build/static_src/HelpersOperationInplaceSub.c +275 -122
- nuitka/build/static_src/HelpersOperationInplaceTruediv.c +68 -63
- nuitka/build/static_src/HelpersProfiling.c +25 -24
- nuitka/build/static_src/HelpersPythonPgo.c +22 -22
- nuitka/build/static_src/HelpersRaising.c +296 -283
- 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 +235 -38
- nuitka/build/static_src/HelpersTuples.c +46 -34
- nuitka/build/static_src/HelpersTypes.c +166 -25
- nuitka/build/static_src/InspectPatcher.c +108 -27
- nuitka/build/static_src/MainProgram.c +464 -280
- nuitka/build/static_src/MetaPathBasedLoader.c +381 -257
- nuitka/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c +39 -26
- nuitka/build/static_src/MetaPathBasedLoaderResourceReader.c +17 -18
- nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +227 -29
- nuitka/build/static_src/OnefileBootstrap.c +281 -164
- nuitka/build/static_src/OnefileSplashScreen.cpp +51 -27
- nuitka/code_generation/AsyncgenCodes.py +21 -23
- nuitka/code_generation/AttributeCodes.py +31 -27
- nuitka/code_generation/BinaryOperationHelperDefinitions.py +290 -184
- nuitka/code_generation/BranchCodes.py +19 -17
- nuitka/code_generation/BuiltinCodes.py +29 -18
- nuitka/code_generation/CallCodes.py +35 -33
- nuitka/code_generation/ClassCodes.py +19 -17
- nuitka/code_generation/CodeGeneration.py +61 -28
- nuitka/code_generation/CodeHelperSelection.py +20 -18
- nuitka/code_generation/CodeHelpers.py +28 -21
- nuitka/code_generation/CodeObjectCodes.py +36 -26
- nuitka/code_generation/ComparisonCodes.py +51 -22
- nuitka/code_generation/ComparisonHelperDefinitions.py +42 -25
- nuitka/code_generation/ConditionalCodes.py +19 -17
- nuitka/code_generation/ConstantCodes.py +82 -28
- nuitka/code_generation/Contexts.py +180 -42
- nuitka/code_generation/CoroutineCodes.py +21 -23
- nuitka/code_generation/CtypesCodes.py +19 -17
- nuitka/code_generation/DictCodes.py +28 -26
- nuitka/code_generation/Emission.py +21 -18
- nuitka/code_generation/ErrorCodes.py +57 -79
- nuitka/code_generation/EvalCodes.py +24 -20
- nuitka/code_generation/ExceptionCodes.py +182 -104
- nuitka/code_generation/ExpressionCTypeSelectionHelpers.py +45 -27
- nuitka/code_generation/ExpressionCodes.py +19 -17
- nuitka/code_generation/FrameCodes.py +28 -31
- nuitka/code_generation/FunctionCodes.py +26 -27
- nuitka/code_generation/GeneratorCodes.py +25 -26
- nuitka/code_generation/GlobalConstants.py +51 -25
- nuitka/code_generation/GlobalsLocalsCodes.py +23 -21
- 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 +86 -71
- nuitka/code_generation/JitCodes.py +44 -0
- nuitka/code_generation/LabelCodes.py +19 -17
- nuitka/code_generation/LineNumberCodes.py +20 -20
- 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 +71 -29
- nuitka/code_generation/Namify.py +27 -23
- nuitka/code_generation/NetworkxCodes.py +51 -0
- nuitka/code_generation/OperationCodes.py +80 -51
- nuitka/code_generation/PackageResourceCodes.py +96 -23
- nuitka/code_generation/PrintCodes.py +19 -17
- nuitka/code_generation/PythonAPICodes.py +19 -17
- nuitka/code_generation/RaisingCodes.py +183 -107
- nuitka/code_generation/Reports.py +32 -22
- nuitka/code_generation/ReturnCodes.py +20 -32
- 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 +31 -41
- nuitka/code_generation/TupleCodes.py +20 -18
- nuitka/code_generation/TypeAliasCodes.py +119 -0
- nuitka/code_generation/VariableCodes.py +118 -55
- nuitka/code_generation/VariableDeclarations.py +28 -25
- nuitka/code_generation/YieldCodes.py +23 -21
- nuitka/code_generation/__init__.py +5 -4
- nuitka/code_generation/c_types/CTypeBases.py +29 -19
- 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 +22 -17
- nuitka/code_generation/c_types/CTypeNuitkaBooleans.py +22 -21
- nuitka/code_generation/c_types/CTypeNuitkaInts.py +89 -43
- nuitka/code_generation/c_types/CTypeNuitkaVoids.py +20 -18
- nuitka/code_generation/c_types/CTypePyObjectPointers.py +43 -31
- nuitka/code_generation/c_types/CTypeVoids.py +20 -17
- nuitka/code_generation/c_types/__init__.py +5 -4
- nuitka/code_generation/templates/CodeTemplatesAsyncgens.py +20 -19
- nuitka/code_generation/templates/CodeTemplatesConstants.py +143 -39
- nuitka/code_generation/templates/CodeTemplatesCoroutines.py +20 -19
- nuitka/code_generation/templates/CodeTemplatesExceptions.py +33 -33
- nuitka/code_generation/templates/CodeTemplatesFrames.py +36 -27
- nuitka/code_generation/templates/CodeTemplatesFunction.py +20 -19
- nuitka/code_generation/templates/CodeTemplatesGeneratorFunction.py +21 -19
- nuitka/code_generation/templates/CodeTemplatesIterators.py +19 -53
- nuitka/code_generation/templates/CodeTemplatesLoader.py +25 -19
- nuitka/code_generation/templates/CodeTemplatesModules.py +278 -169
- nuitka/code_generation/templates/CodeTemplatesVariables.py +115 -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 +21 -21
- nuitka/code_generation/templates_c/CodeTemplateCallsPositional.c.j2 +79 -28
- 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 +74 -106
- nuitka/code_generation/templates_c/HelperImportHard.c.j2 +19 -20
- nuitka/code_generation/templates_c/HelperLongTools.c.j2 +19 -19
- 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/HelperOperationBinaryDual.c.j2 +115 -0
- nuitka/code_generation/templates_c/HelperOperationComparison.c.j2 +35 -35
- nuitka/code_generation/templates_c/HelperOperationComparisonBytes.c.j2 +37 -37
- nuitka/code_generation/templates_c/HelperOperationComparisonDual.c.j2 +86 -0
- 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 +50 -38
- nuitka/code_generation/templates_c/HelperOperationComparisonLong.c.j2 +27 -27
- nuitka/code_generation/templates_c/HelperOperationComparisonStr.c.j2 +37 -37
- nuitka/code_generation/templates_c/HelperOperationComparisonTuple.c.j2 +31 -31
- nuitka/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +35 -31
- nuitka/code_generation/templates_c/HelperOperationInplace.c.j2 +20 -20
- nuitka/code_generation/templates_c/HelperSlotsBinary.c.j2 +28 -28
- 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 +48 -48
- nuitka/code_generation/templates_c/HelperSlotsList.c.j2 +21 -18
- nuitka/code_generation/templates_c/HelperSlotsLong.c.j2 +27 -25
- 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 +25 -18
- nuitka/containers/OrderedSets.py +105 -5
- nuitka/containers/OrderedSetsFallback.py +19 -17
- nuitka/containers/__init__.py +5 -4
- nuitka/distutils/Build.py +33 -18
- nuitka/distutils/DistutilCommands.py +84 -33
- nuitka/distutils/__init__.py +5 -4
- nuitka/finalizations/Finalization.py +21 -18
- nuitka/finalizations/FinalizeMarkups.py +31 -55
- nuitka/finalizations/__init__.py +5 -4
- nuitka/freezer/DependsExe.py +60 -30
- nuitka/freezer/DllDependenciesCommon.py +47 -20
- nuitka/freezer/DllDependenciesMacOS.py +165 -58
- nuitka/freezer/DllDependenciesPosix.py +29 -19
- nuitka/freezer/DllDependenciesWin32.py +55 -33
- nuitka/freezer/ImportDetection.py +23 -17
- nuitka/freezer/IncludedDataFiles.py +142 -48
- nuitka/freezer/IncludedEntryPoints.py +104 -39
- nuitka/freezer/Onefile.py +32 -22
- nuitka/freezer/Standalone.py +166 -53
- 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 +319 -98
- nuitka/importing/PreloadedPackages.py +21 -18
- nuitka/importing/Recursion.py +142 -47
- nuitka/importing/StandardLibrary.py +96 -80
- nuitka/importing/__init__.py +5 -4
- nuitka/nodes/AsyncgenNodes.py +22 -23
- 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 +25 -21
- 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 +73 -40
- 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 +1624 -283
- nuitka/nodes/ClassNodes.py +49 -29
- nuitka/nodes/CodeObjectSpecs.py +29 -18
- nuitka/nodes/ComparisonNodes.py +19 -17
- nuitka/nodes/ConditionalNodes.py +24 -25
- nuitka/nodes/ConstantRefNodes.py +57 -17
- nuitka/nodes/ContainerMakingNodes.py +19 -17
- nuitka/nodes/ContainerOperationNodes.py +19 -17
- nuitka/nodes/CoroutineNodes.py +22 -23
- nuitka/nodes/CtypesNodes.py +19 -18
- nuitka/nodes/DictionaryNodes.py +19 -18
- nuitka/nodes/ExceptionNodes.py +131 -43
- nuitka/nodes/ExecEvalNodes.py +19 -17
- nuitka/nodes/ExpressionBases.py +34 -26
- nuitka/nodes/ExpressionBasesGenerated.py +341 -35
- nuitka/nodes/ExpressionShapeMixins.py +19 -17
- nuitka/nodes/FrameNodes.py +41 -28
- nuitka/nodes/FunctionAttributeNodes.py +19 -17
- nuitka/nodes/FunctionNodes.py +84 -38
- nuitka/nodes/FutureSpecs.py +35 -20
- nuitka/nodes/GeneratorNodes.py +24 -25
- nuitka/nodes/GlobalsLocalsNodes.py +22 -17
- nuitka/nodes/HardImportNodesGenerated.py +746 -148
- nuitka/nodes/ImportHardNodes.py +46 -38
- nuitka/nodes/ImportNodes.py +438 -448
- 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 +73 -44
- nuitka/nodes/NodeMakingHelpers.py +92 -69
- nuitka/nodes/NodeMetaClasses.py +45 -28
- nuitka/nodes/OperatorNodes.py +28 -26
- nuitka/nodes/OperatorNodesUnary.py +148 -20
- nuitka/nodes/OsSysNodes.py +97 -18
- nuitka/nodes/OutlineNodes.py +24 -22
- 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 -79
- nuitka/nodes/StatementNodes.py +27 -24
- nuitka/nodes/StrNodes.py +19 -17
- nuitka/nodes/StringConcatenationNodes.py +20 -17
- nuitka/nodes/SubscriptNodes.py +27 -25
- nuitka/nodes/TensorflowNodes.py +38 -0
- nuitka/nodes/TryNodes.py +19 -17
- nuitka/nodes/TypeMatchNodes.py +19 -17
- nuitka/nodes/TypeNodes.py +68 -18
- 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 +169 -46
- nuitka/nodes/shapes/ControlFlowDescriptions.py +19 -17
- nuitka/nodes/shapes/ShapeMixins.py +57 -17
- nuitka/nodes/shapes/StandardShapes.py +80 -21
- nuitka/nodes/shapes/__init__.py +5 -4
- nuitka/optimizations/BytecodeDemotion.py +21 -18
- 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 +655 -112
- nuitka/plugins/Plugins.py +247 -61
- nuitka/plugins/YamlPluginBase.py +121 -0
- nuitka/plugins/__init__.py +5 -4
- nuitka/plugins/standard/AntiBloatPlugin.py +374 -135
- 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 +403 -54
- nuitka/plugins/standard/KivyPlugin.py +24 -20
- nuitka/plugins/standard/MatplotlibPlugin.py +99 -42
- nuitka/plugins/standard/MultiprocessingPlugin.py +35 -39
- 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/PlaywrightPlugin.py +184 -0
- nuitka/plugins/standard/PmwPlugin.py +30 -27
- nuitka/plugins/standard/PySidePyQtPlugin.py +82 -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 +102 -108
- nuitka/plugins/standard/TorchPlugin.py +20 -17
- nuitka/plugins/standard/TransformersPlugin.py +90 -231
- 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 +3925 -1293
- nuitka/plugins/standard/stdlib2.nuitka-package.config.yml +14 -14
- nuitka/plugins/standard/stdlib3.nuitka-package.config.yml +154 -66
- nuitka/reports/CompilationReportReader.py +79 -0
- nuitka/reports/LicenseReport.rst.j2 +21 -21
- nuitka/reports/Reports.py +363 -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 +35 -21
- nuitka/specs/BuiltinStrOperationSpecs.py +19 -18
- nuitka/specs/BuiltinTypeOperationSpecs.py +18 -18
- nuitka/specs/BuiltinUnicodeOperationSpecs.py +18 -17
- nuitka/specs/HardImportSpecs.py +74 -22
- nuitka/specs/ParameterSpecs.py +60 -45
- 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 +29 -22
- 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 +251 -80
- nuitka/tools/specialize/Common.py +18 -17
- nuitka/tools/specialize/SpecializeC.py +248 -82
- nuitka/tools/specialize/SpecializePython.py +108 -45
- nuitka/tools/specialize/__init__.py +5 -4
- nuitka/tools/testing/Common.py +175 -114
- 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 +39 -30
- 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 +23 -33
- nuitka/tools/testing/run_nuitka_tests/__init__.py +5 -4
- nuitka/tools/testing/run_nuitka_tests/__main__.py +134 -51
- nuitka/tools/watch/AutoStage.py +145 -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 +184 -182
- nuitka/tree/ComplexCallHelperFunctions.py +84 -58
- nuitka/tree/Extractions.py +19 -17
- nuitka/tree/InternalModule.py +29 -20
- nuitka/tree/Operations.py +19 -17
- nuitka/tree/ReformulationAssertStatements.py +51 -31
- nuitka/tree/ReformulationAssignmentStatements.py +96 -91
- nuitka/tree/ReformulationBooleanExpressions.py +19 -17
- nuitka/tree/ReformulationCallExpressions.py +20 -18
- nuitka/tree/ReformulationClasses.py +45 -39
- nuitka/tree/ReformulationClasses3.py +239 -116
- nuitka/tree/ReformulationComparisonExpressions.py +29 -35
- nuitka/tree/ReformulationContractionExpressions.py +58 -55
- nuitka/tree/ReformulationDictionaryCreation.py +41 -35
- nuitka/tree/ReformulationExecStatements.py +42 -39
- nuitka/tree/ReformulationForLoopStatements.py +30 -34
- nuitka/tree/ReformulationFunctionStatements.py +59 -55
- nuitka/tree/ReformulationImportStatements.py +34 -29
- nuitka/tree/ReformulationLambdaExpressions.py +23 -24
- nuitka/tree/ReformulationMatchStatements.py +246 -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 +44 -24
- 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 +111 -22
- nuitka/utils/Distributions.py +445 -54
- nuitka/utils/Download.py +89 -57
- nuitka/utils/Execution.py +102 -58
- nuitka/utils/FileOperations.py +357 -128
- nuitka/utils/Hashing.py +55 -33
- nuitka/utils/Images.py +26 -19
- nuitka/utils/Importing.py +119 -37
- nuitka/utils/InlineCopies.py +52 -0
- nuitka/utils/InstalledPythons.py +85 -75
- nuitka/utils/InstanceCounters.py +20 -17
- nuitka/utils/Jinja2.py +30 -22
- nuitka/utils/Json.py +21 -19
- nuitka/utils/MacOSApp.py +26 -18
- nuitka/utils/MemoryUsage.py +20 -18
- nuitka/utils/ModuleNames.py +42 -26
- nuitka/utils/PackageResources.py +44 -0
- 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 +132 -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.5.1.dist-info}/LICENSE.txt +0 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.5.1.dist-info}/entry_points.txt +0 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.5.1.dist-info}/top_level.txt +0 -0
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
3
|
-
|
|
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
|
+
|
|
3
|
+
|
|
18
4
|
""" Branch related codes.
|
|
19
5
|
|
|
20
6
|
"""
|
|
@@ -63,3 +49,19 @@ def generateBranchCode(statement, emit, context):
|
|
|
63
49
|
getLabelCode(end_target, emit)
|
|
64
50
|
else:
|
|
65
51
|
getLabelCode(false_target, emit)
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
55
|
+
# integrates with CPython, but also works on its own.
|
|
56
|
+
#
|
|
57
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
58
|
+
# you may not use this file except in compliance with the License.
|
|
59
|
+
# You may obtain a copy of the License at
|
|
60
|
+
#
|
|
61
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
62
|
+
#
|
|
63
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
64
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
65
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
66
|
+
# See the License for the specific language governing permissions and
|
|
67
|
+
# limitations under the License.
|
|
@@ -1,25 +1,12 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
3
|
-
|
|
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
|
+
|
|
3
|
+
|
|
18
4
|
""" Built-in codes
|
|
19
5
|
|
|
20
6
|
This is code generation for built-in references, and some built-ins like range,
|
|
21
7
|
bin, etc.
|
|
22
8
|
"""
|
|
9
|
+
|
|
23
10
|
from nuitka import Builtins
|
|
24
11
|
from nuitka.PythonVersions import python_version
|
|
25
12
|
|
|
@@ -484,7 +471,14 @@ def getBuiltinCallViaSpecCode(spec, to_name, called_name, expression, emit, cont
|
|
|
484
471
|
PyObject *args[] = {%(arg_value_names)s};
|
|
485
472
|
char const *arg_names[] = {%(arg_names)s};
|
|
486
473
|
|
|
487
|
-
%(to_name)s = CALL_BUILTIN_KW_ARGS(
|
|
474
|
+
%(to_name)s = CALL_BUILTIN_KW_ARGS(
|
|
475
|
+
tstate,
|
|
476
|
+
%(called_name)s,
|
|
477
|
+
args,
|
|
478
|
+
arg_names,
|
|
479
|
+
sizeof(args) / sizeof(PyObject *),
|
|
480
|
+
%(kw_only_count)d
|
|
481
|
+
);
|
|
488
482
|
}
|
|
489
483
|
"""
|
|
490
484
|
% {
|
|
@@ -497,6 +491,7 @@ def getBuiltinCallViaSpecCode(spec, to_name, called_name, expression, emit, cont
|
|
|
497
491
|
(str(arg_value_name) if arg_value_name else "NULL")
|
|
498
492
|
for arg_value_name in arg_value_names
|
|
499
493
|
),
|
|
494
|
+
"kw_only_count": spec.getKwOnlyParameterCount(),
|
|
500
495
|
}
|
|
501
496
|
)
|
|
502
497
|
|
|
@@ -506,3 +501,19 @@ def getBuiltinCallViaSpecCode(spec, to_name, called_name, expression, emit, cont
|
|
|
506
501
|
emit=emit,
|
|
507
502
|
context=context,
|
|
508
503
|
)
|
|
504
|
+
|
|
505
|
+
|
|
506
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
507
|
+
# integrates with CPython, but also works on its own.
|
|
508
|
+
#
|
|
509
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
510
|
+
# you may not use this file except in compliance with the License.
|
|
511
|
+
# You may obtain a copy of the License at
|
|
512
|
+
#
|
|
513
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
514
|
+
#
|
|
515
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
516
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
517
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
518
|
+
# See the License for the specific language governing permissions and
|
|
519
|
+
# limitations under the License.
|
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
3
|
-
|
|
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
|
+
|
|
3
|
+
|
|
18
4
|
""" Code generation for calls.
|
|
19
5
|
|
|
20
6
|
The different kinds of calls get dedicated code. Most notable, calls with
|
|
@@ -207,28 +193,28 @@ def _getCallCodeKwSplitFromConstant(
|
|
|
207
193
|
kw_names = tuple(item[0] for item in kw_items)
|
|
208
194
|
|
|
209
195
|
if isMutable(values):
|
|
210
|
-
|
|
196
|
+
args_kw_split_name = context.allocateTempName("call_args_kw_split")
|
|
211
197
|
|
|
212
|
-
|
|
213
|
-
to_name=
|
|
198
|
+
args_kw_split_name.getCType().emitAssignmentCodeFromConstant(
|
|
199
|
+
to_name=args_kw_split_name,
|
|
214
200
|
constant=values,
|
|
215
201
|
may_escape=True,
|
|
216
202
|
emit=emit,
|
|
217
203
|
context=context,
|
|
218
204
|
)
|
|
219
|
-
split_name =
|
|
205
|
+
split_name = args_kw_split_name
|
|
220
206
|
else:
|
|
221
|
-
|
|
207
|
+
args_kw_split_name = context.getConstantCode(values)
|
|
222
208
|
split_name = None
|
|
223
209
|
|
|
224
210
|
emitLineNumberUpdateCode(expression, emit, context)
|
|
225
211
|
|
|
226
212
|
emit(
|
|
227
|
-
"""%s =
|
|
213
|
+
"""%s = CALL_FUNCTION_WITH_NO_ARGS_KW_SPLIT(tstate, %s, &PyTuple_GET_ITEM(%s, 0), %s);"""
|
|
228
214
|
% (
|
|
229
215
|
to_name,
|
|
230
216
|
called_name,
|
|
231
|
-
|
|
217
|
+
args_kw_split_name,
|
|
232
218
|
context.getConstantCode(kw_names),
|
|
233
219
|
)
|
|
234
220
|
)
|
|
@@ -252,7 +238,7 @@ def getCallCodeKwSplit(
|
|
|
252
238
|
{
|
|
253
239
|
PyObject *kw_values[%(kw_size)d] = {%(kw_value_names)s};
|
|
254
240
|
|
|
255
|
-
%(to_name)s =
|
|
241
|
+
%(to_name)s = CALL_FUNCTION_WITH_NO_ARGS_KW_SPLIT(tstate, %(called_name)s, kw_values, %(kw_names)s);
|
|
256
242
|
}
|
|
257
243
|
"""
|
|
258
244
|
% {
|
|
@@ -361,7 +347,7 @@ def _generateCallCodeKwDict(
|
|
|
361
347
|
|
|
362
348
|
emit(
|
|
363
349
|
"""\
|
|
364
|
-
%(to_name)s =
|
|
350
|
+
%(to_name)s = CALL_FUNCTION_WITH_KW_ARGS(tstate, %(called_name)s, %(kw_dict_name)s);
|
|
365
351
|
"""
|
|
366
352
|
% {
|
|
367
353
|
"to_name": to_name,
|
|
@@ -758,7 +744,7 @@ def _getCallCodeFromTuple(to_name, called_name, expression, args_value, emit, co
|
|
|
758
744
|
# recreated for cases, e.g. when calling C functions, so this is a good way of
|
|
759
745
|
# having them.
|
|
760
746
|
if isMutable(args_value):
|
|
761
|
-
arg_tuple_name = context.allocateTempName("
|
|
747
|
+
arg_tuple_name = context.allocateTempName("call_args_tuple")
|
|
762
748
|
|
|
763
749
|
arg_tuple_name.getCType().emitAssignmentCodeFromConstant(
|
|
764
750
|
to_name=arg_tuple_name,
|
|
@@ -776,7 +762,7 @@ def _getCallCodeFromTuple(to_name, called_name, expression, args_value, emit, co
|
|
|
776
762
|
|
|
777
763
|
emit(
|
|
778
764
|
"""\
|
|
779
|
-
%s =
|
|
765
|
+
%s = CALL_FUNCTION_WITH_POS_ARGS%d(tstate, %s, %s);
|
|
780
766
|
"""
|
|
781
767
|
% (to_name, arg_size, called_name, arg_tuple_name)
|
|
782
768
|
)
|
|
@@ -804,7 +790,7 @@ def _getInstanceCallCodePosArgs(
|
|
|
804
790
|
emitLineNumberUpdateCode(expression, emit, context)
|
|
805
791
|
|
|
806
792
|
emit(
|
|
807
|
-
"%s =
|
|
793
|
+
"%s = CALL_METHOD_WITH_POS_ARGS(%s, %s, %s);"
|
|
808
794
|
% (to_name, called_name, called_attribute_name, args_name)
|
|
809
795
|
)
|
|
810
796
|
|
|
@@ -823,7 +809,7 @@ def _getCallCodePosArgs(to_name, called_name, expression, args_name, emit, conte
|
|
|
823
809
|
emitLineNumberUpdateCode(expression, emit, context)
|
|
824
810
|
|
|
825
811
|
emit(
|
|
826
|
-
"%s =
|
|
812
|
+
"%s = CALL_FUNCTION_WITH_POS_ARGS(tstate, %s, %s);"
|
|
827
813
|
% (to_name, called_name, args_name)
|
|
828
814
|
)
|
|
829
815
|
|
|
@@ -869,7 +855,7 @@ def _getCallCodePosConstKeywordVariableArgs(
|
|
|
869
855
|
quick_mixed_calls_used.add((args_count, True, True))
|
|
870
856
|
|
|
871
857
|
if isMutable(args):
|
|
872
|
-
args_value_name = context.allocateTempName("
|
|
858
|
+
args_value_name = context.allocateTempName("call_pos_args_values")
|
|
873
859
|
|
|
874
860
|
args_value_name.getCType().emitAssignmentCodeFromConstant(
|
|
875
861
|
to_name=args_value_name,
|
|
@@ -889,7 +875,7 @@ def _getCallCodePosConstKeywordVariableArgs(
|
|
|
889
875
|
"""\
|
|
890
876
|
{
|
|
891
877
|
PyObject *kw_values[%(kw_size)d] = {%(kw_values)s};
|
|
892
|
-
%(to_name)s =
|
|
878
|
+
%(to_name)s = CALL_FUNCTION_WITH_POS_ARGS%(args_count)d_KW_SPLIT(\
|
|
893
879
|
tstate, %(called_name)s, %(pos_args)s, kw_values, %(kw_names)s);
|
|
894
880
|
}
|
|
895
881
|
"""
|
|
@@ -976,7 +962,7 @@ def getCallCodePosVariableKeywordVariableArgs(
|
|
|
976
962
|
{
|
|
977
963
|
PyObject *args[] = {%(call_arg_names)s};
|
|
978
964
|
PyObject *kw_values[%(kw_size)d] = {%(kw_value_names)s};
|
|
979
|
-
%(to_name)s = CALL_FUNCTION_WITH_ARGS%(args_count)
|
|
965
|
+
%(to_name)s = CALL_FUNCTION_WITH_ARGS%(args_count)d_KW_SPLIT(tstate, %(called_name)s, args, kw_values, %(kw_names)s);
|
|
980
966
|
}
|
|
981
967
|
"""
|
|
982
968
|
% {
|
|
@@ -1182,3 +1168,19 @@ def getCallsCode():
|
|
|
1182
1168
|
},
|
|
1183
1169
|
"\n".join(body_codes),
|
|
1184
1170
|
)
|
|
1171
|
+
|
|
1172
|
+
|
|
1173
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
1174
|
+
# integrates with CPython, but also works on its own.
|
|
1175
|
+
#
|
|
1176
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
1177
|
+
# you may not use this file except in compliance with the License.
|
|
1178
|
+
# You may obtain a copy of the License at
|
|
1179
|
+
#
|
|
1180
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
1181
|
+
#
|
|
1182
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
1183
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
1184
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1185
|
+
# See the License for the specific language governing permissions and
|
|
1186
|
+
# limitations under the License.
|
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
3
|
-
|
|
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
|
+
|
|
3
|
+
|
|
18
4
|
""" Codes for classes.
|
|
19
5
|
|
|
20
6
|
Most the class specific stuff is solved in re-formulation. Only the selection
|
|
@@ -152,3 +138,19 @@ def generateTypeOperationPrepareCode(to_name, expression, emit, context):
|
|
|
152
138
|
)
|
|
153
139
|
|
|
154
140
|
context.addCleanupTempName(value_name)
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
144
|
+
# integrates with CPython, but also works on its own.
|
|
145
|
+
#
|
|
146
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
147
|
+
# you may not use this file except in compliance with the License.
|
|
148
|
+
# You may obtain a copy of the License at
|
|
149
|
+
#
|
|
150
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
151
|
+
#
|
|
152
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
153
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
154
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
155
|
+
# See the License for the specific language governing permissions and
|
|
156
|
+
# limitations under the License.
|
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
3
|
-
|
|
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
|
+
|
|
3
|
+
|
|
18
4
|
""" The code generation.
|
|
19
5
|
|
|
20
6
|
No language specifics at all are supposed to be present here. Instead it is
|
|
@@ -264,9 +250,9 @@ from .MatchCodes import generateMatchArgsCode
|
|
|
264
250
|
from .ModuleCodes import (
|
|
265
251
|
generateModuleAttributeCode,
|
|
266
252
|
generateModuleAttributeFileCode,
|
|
267
|
-
generateNuitkaLoaderCreationCode,
|
|
268
253
|
getModuleCode,
|
|
269
254
|
)
|
|
255
|
+
from .NetworkxCodes import generateNetworkxUtilsDecoratorsArgmapCallCode
|
|
270
256
|
from .OperationCodes import (
|
|
271
257
|
generateOperationBinaryCode,
|
|
272
258
|
generateOperationNotCode,
|
|
@@ -289,12 +275,16 @@ from .PackageResourceCodes import (
|
|
|
289
275
|
generateImportlibResourcesReadBinaryCallCode,
|
|
290
276
|
generateImportlibResourcesReadTextCallCode,
|
|
291
277
|
generateOsListdirCallCode,
|
|
278
|
+
generateOsLstatCallCode,
|
|
292
279
|
generateOsPathAbspathCallCode,
|
|
293
280
|
generateOsPathBasenameCallCode,
|
|
281
|
+
generateOsPathDirnameCallCode,
|
|
294
282
|
generateOsPathExistsCallCode,
|
|
295
283
|
generateOsPathIsabsCallCode,
|
|
296
284
|
generateOsPathIsdirCallCode,
|
|
297
285
|
generateOsPathIsfileCallCode,
|
|
286
|
+
generateOsPathNormpathCallCode,
|
|
287
|
+
generateOsStatCallCode,
|
|
298
288
|
generateOsUnameCallCode,
|
|
299
289
|
generatePkglibGetDataCallCode,
|
|
300
290
|
generatePkgResourcesDistributionValueCode,
|
|
@@ -351,11 +341,17 @@ from .StringCodes import (
|
|
|
351
341
|
from .SubscriptCodes import (
|
|
352
342
|
generateAssignmentSubscriptCode,
|
|
353
343
|
generateDelSubscriptCode,
|
|
354
|
-
|
|
344
|
+
generateMatchSubscriptCheckCode,
|
|
355
345
|
generateSubscriptLookupCode,
|
|
356
346
|
)
|
|
347
|
+
from .TensorflowCodes import generateTensorflowFunctionCallCode
|
|
357
348
|
from .TryCodes import generateTryCode
|
|
358
349
|
from .TupleCodes import generateBuiltinTupleCode, generateTupleCreationCode
|
|
350
|
+
from .TypeAliasCodes import (
|
|
351
|
+
generateTypeAliasCode,
|
|
352
|
+
generateTypeGenericCode,
|
|
353
|
+
generateTypeVarCode,
|
|
354
|
+
)
|
|
359
355
|
from .VariableCodes import (
|
|
360
356
|
generateAssignmentVariableCode,
|
|
361
357
|
generateDelVariableCode,
|
|
@@ -364,8 +360,8 @@ from .VariableCodes import (
|
|
|
364
360
|
)
|
|
365
361
|
from .YieldCodes import (
|
|
366
362
|
generateYieldCode,
|
|
363
|
+
generateYieldFromAwaitableCode,
|
|
367
364
|
generateYieldFromCode,
|
|
368
|
-
generateYieldFromWaitableCode,
|
|
369
365
|
)
|
|
370
366
|
|
|
371
367
|
_generated_functions = {}
|
|
@@ -660,8 +656,10 @@ addExpressionDispatchDict(
|
|
|
660
656
|
"EXPRESSION_BUILTIN_ISSUBCLASS": generateBuiltinIssubclassCode,
|
|
661
657
|
"EXPRESSION_TYPE_CHECK": generateTypeCheckCode,
|
|
662
658
|
"EXPRESSION_SUBTYPE_CHECK": generateSubtypeCheckCode,
|
|
659
|
+
"EXPRESSION_MATCH_ARGS": generateMatchArgsCode,
|
|
663
660
|
"EXPRESSION_MATCH_TYPE_CHECK_SEQUENCE": generateMatchTypeCheckSequenceCode,
|
|
664
661
|
"EXPRESSION_MATCH_TYPE_CHECK_MAPPING": generateMatchTypeCheckMappingCode,
|
|
662
|
+
"EXPRESSION_MATCH_SUBSCRIPT_CHECK": generateMatchSubscriptCheckCode,
|
|
665
663
|
"EXPRESSION_BUILTIN_DIR1": generateBuiltinDir1Code,
|
|
666
664
|
"EXPRESSION_BUILTIN_VARS": generateBuiltinVarsCode,
|
|
667
665
|
"EXPRESSION_BUILTIN_HASATTR": generateBuiltinHasattrCode,
|
|
@@ -680,6 +678,8 @@ addExpressionDispatchDict(
|
|
|
680
678
|
"EXPRESSION_BUILTIN_XRANGE3": generateBuiltinXrange3Code,
|
|
681
679
|
"EXPRESSION_BUILTIN_MAKE_EXCEPTION": generateBuiltinMakeExceptionCode,
|
|
682
680
|
"EXPRESSION_BUILTIN_MAKE_EXCEPTION_IMPORT_ERROR": generateBuiltinMakeExceptionCode,
|
|
681
|
+
"EXPRESSION_BUILTIN_MAKE_EXCEPTION_MODULE_NOT_FOUND_ERROR": generateBuiltinMakeExceptionCode,
|
|
682
|
+
"EXPRESSION_BUILTIN_MAKE_EXCEPTION_ATTRIBUTE_ERROR": generateBuiltinMakeExceptionCode,
|
|
683
683
|
"EXPRESSION_BUILTIN_REF": generateBuiltinRefCode,
|
|
684
684
|
"EXPRESSION_BUILTIN_WITH_CONTEXT_REF": generateBuiltinRefCode,
|
|
685
685
|
"EXPRESSION_BUILTIN_EXCEPTION_REF": generateExceptionRefCode,
|
|
@@ -776,10 +776,12 @@ addExpressionDispatchDict(
|
|
|
776
776
|
"EXPRESSION_FUNCTION_CREATION_OLD": generateFunctionCreationCode,
|
|
777
777
|
"EXPRESSION_FUNCTION_CALL": generateFunctionCallCode,
|
|
778
778
|
"EXPRESSION_FUNCTION_ERROR_STR": generateFunctionErrorStrCode,
|
|
779
|
+
"EXPRESSION_IMPORT_MODULE_BUILTIN": generateImportModuleFixedCode,
|
|
779
780
|
"EXPRESSION_IMPORT_MODULE_FIXED": generateImportModuleFixedCode,
|
|
780
781
|
"EXPRESSION_IMPORT_MODULE_HARD": generateImportModuleHardCode,
|
|
781
782
|
"EXPRESSION_IMPORT_MODULE_NAME_HARD_MAYBE_EXISTS": generateImportModuleNameHardCode,
|
|
782
783
|
"EXPRESSION_IMPORT_MODULE_NAME_HARD_EXISTS": generateImportModuleNameHardCode,
|
|
784
|
+
"EXPRESSION_BUILTIN_PATCHABLE_TYPE_REF": generateImportModuleNameHardCode,
|
|
783
785
|
"EXPRESSION_IMPORTLIB_IMPORT_MODULE_REF": generateImportModuleNameHardCode,
|
|
784
786
|
"EXPRESSION_IMPORTLIB_IMPORT_MODULE_CALL": generateImportlibImportCallCode,
|
|
785
787
|
"EXPRESSION_IMPORT_NAME": generateImportNameCode,
|
|
@@ -850,12 +852,11 @@ addExpressionDispatchDict(
|
|
|
850
852
|
"EXPRESSION_OPERATION_NOT": generateOperationNotCode,
|
|
851
853
|
"EXPRESSION_OUTLINE_BODY": generateFunctionOutlineCode,
|
|
852
854
|
"EXPRESSION_OUTLINE_FUNCTION": generateFunctionOutlineCode,
|
|
853
|
-
|
|
854
|
-
"
|
|
855
|
-
"
|
|
855
|
+
"EXPRESSION_CLASS_MAPPING_BODY": generateFunctionOutlineCode,
|
|
856
|
+
"EXPRESSION_CLASS_DICT_BODY": generateFunctionOutlineCode,
|
|
857
|
+
"EXPRESSION_CLASS_DICT_BODY_P2": generateFunctionOutlineCode,
|
|
856
858
|
"EXPRESSION_SUBSCRIPT_LOOKUP": generateSubscriptLookupCode,
|
|
857
859
|
"EXPRESSION_SUBSCRIPT_LOOKUP_FOR_UNPACK": generateSubscriptLookupCode,
|
|
858
|
-
"EXPRESSION_SUBSCRIPT_CHECK": generateSubscriptCheckCode,
|
|
859
860
|
"EXPRESSION_SLICE_LOOKUP": generateSliceLookupCode,
|
|
860
861
|
"EXPRESSION_SET_OPERATION_UPDATE": generateSetOperationUpdateCode,
|
|
861
862
|
"EXPRESSION_SIDE_EFFECTS": generateSideEffectsCode,
|
|
@@ -865,7 +866,7 @@ addExpressionDispatchDict(
|
|
|
865
866
|
"EXPRESSION_VARIABLE_OR_BUILTIN_REF": generateVariableReferenceCode,
|
|
866
867
|
"EXPRESSION_YIELD": generateYieldCode,
|
|
867
868
|
"EXPRESSION_YIELD_FROM": generateYieldFromCode,
|
|
868
|
-
"
|
|
869
|
+
"EXPRESSION_YIELD_FROM_AWAITABLE": generateYieldFromAwaitableCode,
|
|
869
870
|
"EXPRESSION_ASYNC_WAIT": generateAsyncWaitCode,
|
|
870
871
|
"EXPRESSION_ASYNC_WAIT_ENTER": generateAsyncWaitCode,
|
|
871
872
|
"EXPRESSION_ASYNC_WAIT_EXIT": generateAsyncWaitCode,
|
|
@@ -879,7 +880,6 @@ addExpressionDispatchDict(
|
|
|
879
880
|
"EXPRESSION_LOCALS_VARIABLE_REF_OR_FALLBACK": generateLocalsDictVariableRefOrFallbackCode,
|
|
880
881
|
"EXPRESSION_LOCALS_VARIABLE_REF": generateLocalsDictVariableRefCode,
|
|
881
882
|
"EXPRESSION_RAISE_EXCEPTION": generateRaiseExpressionCode,
|
|
882
|
-
"EXPRESSION_NUITKA_LOADER_CREATION": generateNuitkaLoaderCreationCode,
|
|
883
883
|
"EXPRESSION_PKGUTIL_GET_DATA_REF": generateImportModuleNameHardCode,
|
|
884
884
|
"EXPRESSION_PKG_RESOURCES_REQUIRE_REF": generateImportModuleNameHardCode,
|
|
885
885
|
"EXPRESSION_PKG_RESOURCES_GET_DISTRIBUTION_REF": generateImportModuleNameHardCode,
|
|
@@ -910,12 +910,19 @@ addExpressionDispatchDict(
|
|
|
910
910
|
"EXPRESSION_IMPORTLIB_METADATA_ENTRY_POINTS_BEFORE310_CALL": generateImportlibMetadataEntryPointsSince310CallCode,
|
|
911
911
|
"EXPRESSION_IMPORTLIB_METADATA_ENTRY_POINTS_SINCE310_CALL": generateImportlibMetadataEntryPointsSince310CallCode,
|
|
912
912
|
"EXPRESSION_IMPORTLIB_METADATA_BACKPORT_ENTRY_POINTS_CALL": generateImportlibMetadataBackportEntryPointsCallCode,
|
|
913
|
+
"EXPRESSION_SYS_EXIT_REF": generateImportModuleNameHardCode,
|
|
913
914
|
"EXPRESSION_OS_UNAME_REF": generateImportModuleNameHardCode,
|
|
914
915
|
"EXPRESSION_OS_LISTDIR_REF": generateImportModuleNameHardCode,
|
|
916
|
+
"EXPRESSION_OS_STAT_REF": generateImportModuleNameHardCode,
|
|
917
|
+
"EXPRESSION_OS_LSTAT_REF": generateImportModuleNameHardCode,
|
|
915
918
|
"EXPRESSION_OS_PATH_EXISTS_REF": generateImportModuleNameHardCode,
|
|
916
919
|
"EXPRESSION_OS_PATH_ISFILE_REF": generateImportModuleNameHardCode,
|
|
917
920
|
"EXPRESSION_OS_PATH_ISDIR_REF": generateImportModuleNameHardCode,
|
|
921
|
+
"EXPRESSION_OS_PATH_DIRNAME_REF": generateImportModuleNameHardCode,
|
|
918
922
|
"EXPRESSION_OS_PATH_BASENAME_REF": generateImportModuleNameHardCode,
|
|
923
|
+
"EXPRESSION_OS_PATH_ABSPATH_REF": generateImportModuleNameHardCode,
|
|
924
|
+
"EXPRESSION_OS_PATH_NORMPATH_REF": generateImportModuleNameHardCode,
|
|
925
|
+
"EXPRESSION_BUILTINS_OPEN_REF": generateImportModuleNameHardCode,
|
|
919
926
|
"EXPRESSION_CTYPES_CDLL_REF": generateImportModuleNameHardCode,
|
|
920
927
|
"EXPRESSION_CTYPES_CDLL_SINCE38_CALL": generateCtypesCdllCallCode,
|
|
921
928
|
"EXPRESSION_CTYPES_CDLL_BEFORE38_CALL": generateCtypesCdllCallCode,
|
|
@@ -942,14 +949,26 @@ addExpressionDispatchDict(
|
|
|
942
949
|
"EXPRESSION_OS_PATH_ISFILE_CALL": generateOsPathIsfileCallCode,
|
|
943
950
|
"EXPRESSION_OS_PATH_ISDIR_CALL": generateOsPathIsdirCallCode,
|
|
944
951
|
"EXPRESSION_OS_PATH_BASENAME_CALL": generateOsPathBasenameCallCode,
|
|
952
|
+
"EXPRESSION_OS_PATH_DIRNAME_CALL": generateOsPathDirnameCallCode,
|
|
945
953
|
"EXPRESSION_OS_PATH_ABSPATH_CALL": generateOsPathAbspathCallCode,
|
|
954
|
+
"EXPRESSION_OS_PATH_NORMPATH_CALL": generateOsPathNormpathCallCode,
|
|
946
955
|
"EXPRESSION_OS_PATH_ISABS_CALL": generateOsPathIsabsCallCode,
|
|
947
956
|
"EXPRESSION_OS_LISTDIR_CALL": generateOsListdirCallCode,
|
|
948
|
-
"
|
|
957
|
+
"EXPRESSION_OS_STAT_CALL": generateOsStatCallCode,
|
|
958
|
+
"EXPRESSION_OS_LSTAT_CALL": generateOsLstatCallCode,
|
|
959
|
+
"EXPRESSION_TYPE_ALIAS": generateTypeAliasCode,
|
|
960
|
+
"EXPRESSION_TYPE_VARIABLE": generateTypeVarCode,
|
|
961
|
+
"EXPRESSION_TYPE_MAKE_GENERIC": generateTypeGenericCode,
|
|
949
962
|
"EXPRESSION_STR_OPERATION_FORMAT": generateStrFormatMethodCode,
|
|
950
963
|
# TODO: Should have all of these generically or not. This one is required for now.
|
|
951
964
|
"EXPRESSION_DICT_OPERATION_FROMKEYS_REF": generateDictOperationFromkeysRefCode,
|
|
952
965
|
"EXPRESSION_TYPE_OPERATION_PREPARE": generateTypeOperationPrepareCode,
|
|
966
|
+
# PyPI module "tensorflow" specific stuff
|
|
967
|
+
"EXPRESSION_TENSORFLOW_FUNCTION_REF": generateImportModuleNameHardCode,
|
|
968
|
+
"EXPRESSION_TENSORFLOW_FUNCTION_CALL": generateTensorflowFunctionCallCode,
|
|
969
|
+
# PyPI module "networkx" specific stuff
|
|
970
|
+
"EXPRESSION_NETWORKX_UTILS_DECORATORS_ARGMAP_REF": generateImportModuleNameHardCode,
|
|
971
|
+
"EXPRESSION_NETWORKX_UTILS_DECORATORS_ARGMAP_CALL": generateNetworkxUtilsDecoratorsArgmapCallCode,
|
|
953
972
|
}
|
|
954
973
|
)
|
|
955
974
|
|
|
@@ -1022,7 +1041,6 @@ setStatementDispatchDict(
|
|
|
1022
1041
|
"STATEMENT_LOOP_BREAK": generateLoopBreakCode,
|
|
1023
1042
|
"STATEMENT_LOOP_CONTINUE": generateLoopContinueCode,
|
|
1024
1043
|
"STATEMENT_RAISE_EXCEPTION": generateRaiseCode,
|
|
1025
|
-
"STATEMENT_RAISE_EXCEPTION_IMPLICIT": generateRaiseCode,
|
|
1026
1044
|
"STATEMENT_RERAISE_EXCEPTION": generateReraiseCode,
|
|
1027
1045
|
"STATEMENT_SPECIAL_UNPACK_CHECK": generateUnpackCheckCode,
|
|
1028
1046
|
"STATEMENT_SPECIAL_UNPACK_CHECK_FROM_ITERATED": generateUnpackCheckFromIteratedCode,
|
|
@@ -1037,3 +1055,18 @@ setStatementDispatchDict(
|
|
|
1037
1055
|
"STATEMENT_INJECT_C_CODE": generateInjectCCode,
|
|
1038
1056
|
}
|
|
1039
1057
|
)
|
|
1058
|
+
|
|
1059
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
1060
|
+
# integrates with CPython, but also works on its own.
|
|
1061
|
+
#
|
|
1062
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
1063
|
+
# you may not use this file except in compliance with the License.
|
|
1064
|
+
# You may obtain a copy of the License at
|
|
1065
|
+
#
|
|
1066
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
1067
|
+
#
|
|
1068
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
1069
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
1070
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1071
|
+
# See the License for the specific language governing permissions and
|
|
1072
|
+
# limitations under the License.
|
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
3
|
-
|
|
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
|
+
|
|
3
|
+
|
|
18
4
|
""" Select from code helpers.
|
|
19
5
|
|
|
20
6
|
This aims at being general, but right now is only used for comparison code helpers.
|
|
@@ -64,7 +50,7 @@ def selectCodeHelper(
|
|
|
64
50
|
if helper_function not in specialized_helpers_set:
|
|
65
51
|
if (
|
|
66
52
|
report_missing
|
|
67
|
-
and Options.
|
|
53
|
+
and Options.report_missing_code_helpers
|
|
68
54
|
and (
|
|
69
55
|
not non_specialized_helpers_set
|
|
70
56
|
or helper_function not in non_specialized_helpers_set
|
|
@@ -77,3 +63,19 @@ def selectCodeHelper(
|
|
|
77
63
|
helper_function = None
|
|
78
64
|
|
|
79
65
|
return result_type, helper_function
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
69
|
+
# integrates with CPython, but also works on its own.
|
|
70
|
+
#
|
|
71
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
72
|
+
# you may not use this file except in compliance with the License.
|
|
73
|
+
# You may obtain a copy of the License at
|
|
74
|
+
#
|
|
75
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
76
|
+
#
|
|
77
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
78
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
79
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
80
|
+
# See the License for the specific language governing permissions and
|
|
81
|
+
# limitations under the License.
|
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
3
|
-
|
|
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
|
+
|
|
3
|
+
|
|
18
4
|
""" Helpers for code generation.
|
|
19
5
|
|
|
20
6
|
This dispatch building of expressions and statements, as well as providing
|
|
@@ -62,9 +48,11 @@ def generateExpressionCode(to_name, expression, emit, context, allow_none=False)
|
|
|
62
48
|
"Problem with %r at %s"
|
|
63
49
|
% (
|
|
64
50
|
expression,
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
51
|
+
(
|
|
52
|
+
""
|
|
53
|
+
if expression is None
|
|
54
|
+
else expression.getSourceReference().getAsString()
|
|
55
|
+
),
|
|
68
56
|
)
|
|
69
57
|
)
|
|
70
58
|
raise
|
|
@@ -192,7 +180,10 @@ def generateStatementCode(statement, emit, context):
|
|
|
192
180
|
)
|
|
193
181
|
|
|
194
182
|
# Complain if any temporary was not dealt with yet.
|
|
195
|
-
assert not context.getCleanupTempNames(),
|
|
183
|
+
assert not context.getCleanupTempNames(), (
|
|
184
|
+
statement.asXmlText(),
|
|
185
|
+
context.getCleanupTempNames(),
|
|
186
|
+
)
|
|
196
187
|
except Exception:
|
|
197
188
|
printError(
|
|
198
189
|
"Problem with %r at %s"
|
|
@@ -446,3 +437,19 @@ def withCleanupFinally(name, release_name, needs_exception, emit, context):
|
|
|
446
437
|
|
|
447
438
|
emit("// Finished with no exception for %s:" % name)
|
|
448
439
|
getLabelCode(noexception_exit, emit)
|
|
440
|
+
|
|
441
|
+
|
|
442
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
443
|
+
# integrates with CPython, but also works on its own.
|
|
444
|
+
#
|
|
445
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
446
|
+
# you may not use this file except in compliance with the License.
|
|
447
|
+
# You may obtain a copy of the License at
|
|
448
|
+
#
|
|
449
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
450
|
+
#
|
|
451
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
452
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
453
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
454
|
+
# See the License for the specific language governing permissions and
|
|
455
|
+
# limitations under the License.
|