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,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
|
/* These helpers are used to work with float values.
|
|
19
4
|
|
|
20
5
|
*/
|
|
@@ -50,37 +35,58 @@ PyObject *TO_FLOAT(PyObject *value) {
|
|
|
50
35
|
|
|
51
36
|
#if NUITKA_FLOAT_HAS_FREELIST
|
|
52
37
|
|
|
53
|
-
static
|
|
54
|
-
|
|
55
|
-
return &interp->float_state;
|
|
56
|
-
}
|
|
38
|
+
static PyFloatObject *_Nuitka_AllocatePyFloatObject(PyThreadState *tstate) {
|
|
39
|
+
// This is the CPython name, spell-checker: ignore numfree
|
|
57
40
|
|
|
58
|
-
|
|
59
|
-
struct _Py_float_state *state =
|
|
60
|
-
|
|
61
|
-
|
|
41
|
+
#if PYTHON_VERSION < 0x3d0
|
|
42
|
+
struct _Py_float_state *state = &tstate->interp->float_state;
|
|
43
|
+
PyFloatObject **free_list = &state->free_list;
|
|
44
|
+
int *numfree = &state->numfree;
|
|
45
|
+
#else
|
|
46
|
+
struct _Py_object_freelists *freelists = _Nuitka_object_freelists_GET(tstate);
|
|
47
|
+
struct _Py_float_freelist *state = &freelists->floats;
|
|
48
|
+
PyFloatObject **free_list = &state->items;
|
|
49
|
+
int *numfree = &state->numfree;
|
|
50
|
+
#endif
|
|
51
|
+
PyFloatObject *result_float = *free_list;
|
|
62
52
|
|
|
63
53
|
if (result_float) {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
Py_SET_TYPE(result_float, &PyFloat_Type);
|
|
54
|
+
(*numfree) -= 1;
|
|
55
|
+
*free_list = (PyFloatObject *)Py_TYPE(result_float);
|
|
68
56
|
} else {
|
|
69
|
-
result_float = (PyFloatObject *)
|
|
57
|
+
result_float = (PyFloatObject *)NuitkaObject_Malloc(sizeof(PyFloatObject));
|
|
70
58
|
}
|
|
71
59
|
|
|
72
60
|
Py_SET_TYPE(result_float, &PyFloat_Type);
|
|
73
61
|
Nuitka_Py_NewReference((PyObject *)result_float);
|
|
62
|
+
|
|
74
63
|
assert(result_float != NULL);
|
|
75
64
|
|
|
76
65
|
return result_float;
|
|
77
66
|
}
|
|
78
67
|
|
|
79
68
|
PyObject *MAKE_FLOAT_FROM_DOUBLE(double value) {
|
|
80
|
-
|
|
69
|
+
PyThreadState *tstate = PyThreadState_GET();
|
|
70
|
+
|
|
71
|
+
PyFloatObject *result = _Nuitka_AllocatePyFloatObject(tstate);
|
|
81
72
|
|
|
82
73
|
PyFloat_SET_DOUBLE(result, value);
|
|
83
74
|
return (PyObject *)result;
|
|
84
75
|
}
|
|
85
76
|
|
|
86
77
|
#endif
|
|
78
|
+
|
|
79
|
+
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
80
|
+
// integrates with CPython, but also works on its own.
|
|
81
|
+
//
|
|
82
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
83
|
+
// you may not use this file except in compliance with the License.
|
|
84
|
+
// You may obtain a copy of the License at
|
|
85
|
+
//
|
|
86
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
87
|
+
//
|
|
88
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
89
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
90
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
91
|
+
// See the License for the specific language governing permissions and
|
|
92
|
+
// 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
|
/** For making "yield" and "yield from" capable of persisting current C stack.
|
|
19
4
|
*
|
|
20
5
|
* These copy objects pointed to into an array foreseen for this task.
|
|
@@ -43,6 +28,8 @@ void Nuitka_PreserveHeap(void *dest, ...) {
|
|
|
43
28
|
memcpy(w, source, size);
|
|
44
29
|
w += size;
|
|
45
30
|
}
|
|
31
|
+
|
|
32
|
+
va_end(ap);
|
|
46
33
|
}
|
|
47
34
|
|
|
48
35
|
void Nuitka_RestoreHeap(void *source, ...) {
|
|
@@ -61,4 +48,21 @@ void Nuitka_RestoreHeap(void *source, ...) {
|
|
|
61
48
|
memcpy(dest, w, size);
|
|
62
49
|
w += size;
|
|
63
50
|
}
|
|
51
|
+
|
|
52
|
+
va_end(ap);
|
|
64
53
|
}
|
|
54
|
+
|
|
55
|
+
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
56
|
+
// integrates with CPython, but also works on its own.
|
|
57
|
+
//
|
|
58
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
59
|
+
// you may not use this file except in compliance with the License.
|
|
60
|
+
// You may obtain a copy of the License at
|
|
61
|
+
//
|
|
62
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
63
|
+
//
|
|
64
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
65
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
66
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
67
|
+
// See the License for the specific language governing permissions and
|
|
68
|
+
// 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
|
/** For making imports work.
|
|
19
4
|
*
|
|
20
5
|
* These make the actual built-in importing mechanic work with Nuitka. We
|
|
@@ -46,7 +31,7 @@ PyObject *IMPORT_MODULE_KW(PyThreadState *tstate, PyObject *module_name, PyObjec
|
|
|
46
31
|
|
|
47
32
|
NUITKA_ASSIGN_BUILTIN(__import__);
|
|
48
33
|
|
|
49
|
-
PyObject *import_result =
|
|
34
|
+
PyObject *import_result = CALL_FUNCTION_WITH_KW_ARGS(tstate, NUITKA_ACCESS_BUILTIN(__import__), kw_args);
|
|
50
35
|
|
|
51
36
|
Py_DECREF(kw_args);
|
|
52
37
|
|
|
@@ -158,19 +143,23 @@ bool IMPORT_MODULE_STAR(PyThreadState *tstate, PyObject *target, bool is_module,
|
|
|
158
143
|
}
|
|
159
144
|
|
|
160
145
|
all_case = true;
|
|
161
|
-
} else
|
|
162
|
-
|
|
146
|
+
} else {
|
|
147
|
+
assert(HAS_ERROR_OCCURRED(tstate));
|
|
163
148
|
|
|
164
|
-
|
|
165
|
-
|
|
149
|
+
if (EXCEPTION_MATCH_BOOL_SINGLE(tstate, GET_ERROR_OCCURRED(tstate), PyExc_AttributeError)) {
|
|
150
|
+
CLEAR_ERROR_OCCURRED(tstate);
|
|
166
151
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
152
|
+
iter = MAKE_ITERATOR(tstate, PyModule_GetDict(module));
|
|
153
|
+
CHECK_OBJECT(iter);
|
|
154
|
+
|
|
155
|
+
all_case = false;
|
|
156
|
+
} else {
|
|
157
|
+
return false;
|
|
158
|
+
}
|
|
170
159
|
}
|
|
171
160
|
|
|
172
161
|
for (;;) {
|
|
173
|
-
PyObject *item =
|
|
162
|
+
PyObject *item = ITERATOR_NEXT_ITERATOR(iter);
|
|
174
163
|
if (item == NULL) {
|
|
175
164
|
break;
|
|
176
165
|
}
|
|
@@ -187,7 +176,21 @@ bool IMPORT_MODULE_STAR(PyThreadState *tstate, PyObject *target, bool is_module,
|
|
|
187
176
|
|
|
188
177
|
// When we are not using the "__all__", we should skip private variables.
|
|
189
178
|
if (all_case == false) {
|
|
190
|
-
|
|
179
|
+
PyObject *startswith_value;
|
|
180
|
+
#if PYTHON_VERSION < 0x300
|
|
181
|
+
if (PyString_Check(item)) {
|
|
182
|
+
startswith_value = STR_STARTSWITH2(tstate, item, const_str_underscore);
|
|
183
|
+
} else {
|
|
184
|
+
startswith_value = UNICODE_STARTSWITH2(tstate, item, const_str_underscore);
|
|
185
|
+
}
|
|
186
|
+
#else
|
|
187
|
+
startswith_value = UNICODE_STARTSWITH2(tstate, item, const_str_underscore);
|
|
188
|
+
#endif
|
|
189
|
+
|
|
190
|
+
CHECK_OBJECT(startswith_value);
|
|
191
|
+
Py_DECREF(startswith_value);
|
|
192
|
+
|
|
193
|
+
if (startswith_value == Py_True) {
|
|
191
194
|
continue;
|
|
192
195
|
}
|
|
193
196
|
}
|
|
@@ -237,7 +240,7 @@ PyObject *IMPORT_NAME_FROM_MODULE(PyThreadState *tstate, PyObject *module, PyObj
|
|
|
237
240
|
Py_DECREF(filename);
|
|
238
241
|
Py_DECREF(name);
|
|
239
242
|
|
|
240
|
-
#elif PYTHON_VERSION >=
|
|
243
|
+
#elif PYTHON_VERSION >= 0x300 || !defined(_NUITKA_FULL_COMPAT)
|
|
241
244
|
PyErr_Format(PyExc_ImportError, "cannot import name '%s'", Nuitka_String_AsString(import_name));
|
|
242
245
|
#else
|
|
243
246
|
PyErr_Format(PyExc_ImportError, "cannot import name %s", Nuitka_String_AsString(import_name));
|
|
@@ -422,7 +425,7 @@ PyObject *IMPORT_NAME_OR_MODULE(PyThreadState *tstate, PyObject *module, PyObjec
|
|
|
422
425
|
}
|
|
423
426
|
|
|
424
427
|
if (level_int > 0) {
|
|
425
|
-
PyObject *fromlist = MAKE_TUPLE1(import_name);
|
|
428
|
+
PyObject *fromlist = MAKE_TUPLE1(tstate, import_name);
|
|
426
429
|
|
|
427
430
|
result = IMPORT_MODULE5(tstate, const_str_empty, globals, globals, fromlist, level);
|
|
428
431
|
|
|
@@ -472,3 +475,32 @@ PyObject *IMPORT_NAME_OR_MODULE(PyThreadState *tstate, PyObject *module, PyObjec
|
|
|
472
475
|
return result;
|
|
473
476
|
}
|
|
474
477
|
#endif
|
|
478
|
+
|
|
479
|
+
PyObject *IMPORT_MODULE_FIXED(PyThreadState *tstate, PyObject *module_name, PyObject *value_name) {
|
|
480
|
+
PyObject *import_result = IMPORT_MODULE1(tstate, module_name);
|
|
481
|
+
|
|
482
|
+
if (unlikely(import_result == NULL)) {
|
|
483
|
+
return import_result;
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
PyObject *result = Nuitka_GetModule(tstate, value_name);
|
|
487
|
+
|
|
488
|
+
Py_DECREF(import_result);
|
|
489
|
+
|
|
490
|
+
return result;
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
494
|
+
// integrates with CPython, but also works on its own.
|
|
495
|
+
//
|
|
496
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
497
|
+
// you may not use this file except in compliance with the License.
|
|
498
|
+
// You may obtain a copy of the License at
|
|
499
|
+
//
|
|
500
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
501
|
+
//
|
|
502
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
503
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
504
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
505
|
+
// See the License for the specific language governing permissions and
|
|
506
|
+
// 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
|
/* WARNING, this code is GENERATED. Modify the template HelperImportHard.c.j2 instead! */
|
|
19
4
|
|
|
20
5
|
/* This file is included from another C file, help IDEs to still parse it on its own. */
|
|
@@ -33,8 +18,7 @@ PyObject *IMPORT_HARD___FUTURE__(void) {
|
|
|
33
18
|
#ifndef __NUITKA_NO_ASSERT__
|
|
34
19
|
PyErr_PrintEx(0);
|
|
35
20
|
#endif
|
|
36
|
-
|
|
37
|
-
abort();
|
|
21
|
+
NUITKA_ERROR_EXIT("Unexpected failure of hard import of '__future__'");
|
|
38
22
|
}
|
|
39
23
|
}
|
|
40
24
|
|
|
@@ -53,8 +37,7 @@ PyObject *IMPORT_HARD__FROZEN_IMPORTLIB(void) {
|
|
|
53
37
|
#ifndef __NUITKA_NO_ASSERT__
|
|
54
38
|
PyErr_PrintEx(0);
|
|
55
39
|
#endif
|
|
56
|
-
|
|
57
|
-
abort();
|
|
40
|
+
NUITKA_ERROR_EXIT("Unexpected failure of hard import of '_frozen_importlib'");
|
|
58
41
|
}
|
|
59
42
|
}
|
|
60
43
|
|
|
@@ -74,8 +57,7 @@ PyObject *IMPORT_HARD__FROZEN_IMPORTLIB_EXTERNAL(void) {
|
|
|
74
57
|
#ifndef __NUITKA_NO_ASSERT__
|
|
75
58
|
PyErr_PrintEx(0);
|
|
76
59
|
#endif
|
|
77
|
-
|
|
78
|
-
abort();
|
|
60
|
+
NUITKA_ERROR_EXIT("Unexpected failure of hard import of '_frozen_importlib_external'");
|
|
79
61
|
}
|
|
80
62
|
}
|
|
81
63
|
|
|
@@ -94,14 +76,31 @@ PyObject *IMPORT_HARD__IO(void) {
|
|
|
94
76
|
#ifndef __NUITKA_NO_ASSERT__
|
|
95
77
|
PyErr_PrintEx(0);
|
|
96
78
|
#endif
|
|
97
|
-
|
|
98
|
-
abort();
|
|
79
|
+
NUITKA_ERROR_EXIT("Unexpected failure of hard import of '_io'");
|
|
99
80
|
}
|
|
100
81
|
}
|
|
101
82
|
|
|
102
83
|
return module_import_hard__io;
|
|
103
84
|
}
|
|
104
85
|
|
|
86
|
+
/* C helper for hard import of module "builtins" import. */
|
|
87
|
+
PyObject *IMPORT_HARD_BUILTINS(void) {
|
|
88
|
+
static PyObject *module_import_hard_builtins = NULL;
|
|
89
|
+
|
|
90
|
+
if (module_import_hard_builtins == NULL) {
|
|
91
|
+
module_import_hard_builtins = PyImport_ImportModule("builtins");
|
|
92
|
+
|
|
93
|
+
if (unlikely(module_import_hard_builtins == NULL)) {
|
|
94
|
+
#ifndef __NUITKA_NO_ASSERT__
|
|
95
|
+
PyErr_PrintEx(0);
|
|
96
|
+
#endif
|
|
97
|
+
NUITKA_ERROR_EXIT("Unexpected failure of hard import of 'builtins'");
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
return module_import_hard_builtins;
|
|
102
|
+
}
|
|
103
|
+
|
|
105
104
|
/* C helper for hard import of module "ctypes" import. */
|
|
106
105
|
PyObject *IMPORT_HARD_CTYPES(void) {
|
|
107
106
|
static PyObject *module_import_hard_ctypes = NULL;
|
|
@@ -113,8 +112,7 @@ PyObject *IMPORT_HARD_CTYPES(void) {
|
|
|
113
112
|
#ifndef __NUITKA_NO_ASSERT__
|
|
114
113
|
PyErr_PrintEx(0);
|
|
115
114
|
#endif
|
|
116
|
-
|
|
117
|
-
abort();
|
|
115
|
+
NUITKA_ERROR_EXIT("Unexpected failure of hard import of 'ctypes'");
|
|
118
116
|
}
|
|
119
117
|
}
|
|
120
118
|
|
|
@@ -132,8 +130,7 @@ PyObject *IMPORT_HARD_CTYPES__MACHOLIB(void) {
|
|
|
132
130
|
#ifndef __NUITKA_NO_ASSERT__
|
|
133
131
|
PyErr_PrintEx(0);
|
|
134
132
|
#endif
|
|
135
|
-
|
|
136
|
-
abort();
|
|
133
|
+
NUITKA_ERROR_EXIT("Unexpected failure of hard import of 'ctypes.macholib'");
|
|
137
134
|
}
|
|
138
135
|
}
|
|
139
136
|
|
|
@@ -152,8 +149,7 @@ PyObject *IMPORT_HARD_CTYPES__WINTYPES(void) {
|
|
|
152
149
|
#ifndef __NUITKA_NO_ASSERT__
|
|
153
150
|
PyErr_PrintEx(0);
|
|
154
151
|
#endif
|
|
155
|
-
|
|
156
|
-
abort();
|
|
152
|
+
NUITKA_ERROR_EXIT("Unexpected failure of hard import of 'ctypes.wintypes'");
|
|
157
153
|
}
|
|
158
154
|
}
|
|
159
155
|
|
|
@@ -172,8 +168,7 @@ PyObject *IMPORT_HARD_FUNCTOOLS(void) {
|
|
|
172
168
|
#ifndef __NUITKA_NO_ASSERT__
|
|
173
169
|
PyErr_PrintEx(0);
|
|
174
170
|
#endif
|
|
175
|
-
|
|
176
|
-
abort();
|
|
171
|
+
NUITKA_ERROR_EXIT("Unexpected failure of hard import of 'functools'");
|
|
177
172
|
}
|
|
178
173
|
}
|
|
179
174
|
|
|
@@ -191,8 +186,7 @@ PyObject *IMPORT_HARD_IMPORTLIB(void) {
|
|
|
191
186
|
#ifndef __NUITKA_NO_ASSERT__
|
|
192
187
|
PyErr_PrintEx(0);
|
|
193
188
|
#endif
|
|
194
|
-
|
|
195
|
-
abort();
|
|
189
|
+
NUITKA_ERROR_EXIT("Unexpected failure of hard import of 'importlib'");
|
|
196
190
|
}
|
|
197
191
|
}
|
|
198
192
|
|
|
@@ -211,8 +205,7 @@ PyObject *IMPORT_HARD_IMPORTLIB__METADATA(void) {
|
|
|
211
205
|
#ifndef __NUITKA_NO_ASSERT__
|
|
212
206
|
PyErr_PrintEx(0);
|
|
213
207
|
#endif
|
|
214
|
-
|
|
215
|
-
abort();
|
|
208
|
+
NUITKA_ERROR_EXIT("Unexpected failure of hard import of 'importlib.metadata'");
|
|
216
209
|
}
|
|
217
210
|
}
|
|
218
211
|
|
|
@@ -232,8 +225,7 @@ PyObject *IMPORT_HARD_IMPORTLIB__RESOURCES(void) {
|
|
|
232
225
|
#ifndef __NUITKA_NO_ASSERT__
|
|
233
226
|
PyErr_PrintEx(0);
|
|
234
227
|
#endif
|
|
235
|
-
|
|
236
|
-
abort();
|
|
228
|
+
NUITKA_ERROR_EXIT("Unexpected failure of hard import of 'importlib.resources'");
|
|
237
229
|
}
|
|
238
230
|
}
|
|
239
231
|
|
|
@@ -282,8 +274,7 @@ PyObject *IMPORT_HARD_IO(void) {
|
|
|
282
274
|
#ifndef __NUITKA_NO_ASSERT__
|
|
283
275
|
PyErr_PrintEx(0);
|
|
284
276
|
#endif
|
|
285
|
-
|
|
286
|
-
abort();
|
|
277
|
+
NUITKA_ERROR_EXIT("Unexpected failure of hard import of 'io'");
|
|
287
278
|
}
|
|
288
279
|
}
|
|
289
280
|
|
|
@@ -301,8 +292,7 @@ PyObject *IMPORT_HARD_NTPATH(void) {
|
|
|
301
292
|
#ifndef __NUITKA_NO_ASSERT__
|
|
302
293
|
PyErr_PrintEx(0);
|
|
303
294
|
#endif
|
|
304
|
-
|
|
305
|
-
abort();
|
|
295
|
+
NUITKA_ERROR_EXIT("Unexpected failure of hard import of 'ntpath'");
|
|
306
296
|
}
|
|
307
297
|
}
|
|
308
298
|
|
|
@@ -320,8 +310,7 @@ PyObject *IMPORT_HARD_OS(void) {
|
|
|
320
310
|
#ifndef __NUITKA_NO_ASSERT__
|
|
321
311
|
PyErr_PrintEx(0);
|
|
322
312
|
#endif
|
|
323
|
-
|
|
324
|
-
abort();
|
|
313
|
+
NUITKA_ERROR_EXIT("Unexpected failure of hard import of 'os'");
|
|
325
314
|
}
|
|
326
315
|
}
|
|
327
316
|
|
|
@@ -354,8 +343,7 @@ PyObject *IMPORT_HARD_PKGUTIL(void) {
|
|
|
354
343
|
#ifndef __NUITKA_NO_ASSERT__
|
|
355
344
|
PyErr_PrintEx(0);
|
|
356
345
|
#endif
|
|
357
|
-
|
|
358
|
-
abort();
|
|
346
|
+
NUITKA_ERROR_EXIT("Unexpected failure of hard import of 'pkgutil'");
|
|
359
347
|
}
|
|
360
348
|
}
|
|
361
349
|
|
|
@@ -373,8 +361,7 @@ PyObject *IMPORT_HARD_POSIXPATH(void) {
|
|
|
373
361
|
#ifndef __NUITKA_NO_ASSERT__
|
|
374
362
|
PyErr_PrintEx(0);
|
|
375
363
|
#endif
|
|
376
|
-
|
|
377
|
-
abort();
|
|
364
|
+
NUITKA_ERROR_EXIT("Unexpected failure of hard import of 'posixpath'");
|
|
378
365
|
}
|
|
379
366
|
}
|
|
380
367
|
|
|
@@ -407,8 +394,7 @@ PyObject *IMPORT_HARD_SYS(void) {
|
|
|
407
394
|
#ifndef __NUITKA_NO_ASSERT__
|
|
408
395
|
PyErr_PrintEx(0);
|
|
409
396
|
#endif
|
|
410
|
-
|
|
411
|
-
abort();
|
|
397
|
+
NUITKA_ERROR_EXIT("Unexpected failure of hard import of 'sys'");
|
|
412
398
|
}
|
|
413
399
|
}
|
|
414
400
|
|
|
@@ -426,14 +412,28 @@ PyObject *IMPORT_HARD_SYSCONFIG(void) {
|
|
|
426
412
|
#ifndef __NUITKA_NO_ASSERT__
|
|
427
413
|
PyErr_PrintEx(0);
|
|
428
414
|
#endif
|
|
429
|
-
|
|
430
|
-
abort();
|
|
415
|
+
NUITKA_ERROR_EXIT("Unexpected failure of hard import of 'sysconfig'");
|
|
431
416
|
}
|
|
432
417
|
}
|
|
433
418
|
|
|
434
419
|
return module_import_hard_sysconfig;
|
|
435
420
|
}
|
|
436
421
|
|
|
422
|
+
/* C helper for hard import of module "tensorflow" import. */
|
|
423
|
+
PyObject *IMPORT_HARD_TENSORFLOW(void) {
|
|
424
|
+
static PyObject *module_import_hard_tensorflow = NULL;
|
|
425
|
+
|
|
426
|
+
if (module_import_hard_tensorflow == NULL) {
|
|
427
|
+
module_import_hard_tensorflow = PyImport_ImportModule("tensorflow");
|
|
428
|
+
|
|
429
|
+
if (unlikely(module_import_hard_tensorflow == NULL)) {
|
|
430
|
+
return NULL;
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
return module_import_hard_tensorflow;
|
|
435
|
+
}
|
|
436
|
+
|
|
437
437
|
/* C helper for hard import of module "types" import. */
|
|
438
438
|
PyObject *IMPORT_HARD_TYPES(void) {
|
|
439
439
|
static PyObject *module_import_hard_types = NULL;
|
|
@@ -445,8 +445,7 @@ PyObject *IMPORT_HARD_TYPES(void) {
|
|
|
445
445
|
#ifndef __NUITKA_NO_ASSERT__
|
|
446
446
|
PyErr_PrintEx(0);
|
|
447
447
|
#endif
|
|
448
|
-
|
|
449
|
-
abort();
|
|
448
|
+
NUITKA_ERROR_EXIT("Unexpected failure of hard import of 'types'");
|
|
450
449
|
}
|
|
451
450
|
}
|
|
452
451
|
|
|
@@ -465,8 +464,7 @@ PyObject *IMPORT_HARD_TYPING(void) {
|
|
|
465
464
|
#ifndef __NUITKA_NO_ASSERT__
|
|
466
465
|
PyErr_PrintEx(0);
|
|
467
466
|
#endif
|
|
468
|
-
|
|
469
|
-
abort();
|
|
467
|
+
NUITKA_ERROR_EXIT("Unexpected failure of hard import of 'typing'");
|
|
470
468
|
}
|
|
471
469
|
}
|
|
472
470
|
|
|
@@ -485,8 +483,7 @@ PyObject *IMPORT_HARD_UNITTEST(void) {
|
|
|
485
483
|
#ifndef __NUITKA_NO_ASSERT__
|
|
486
484
|
PyErr_PrintEx(0);
|
|
487
485
|
#endif
|
|
488
|
-
|
|
489
|
-
abort();
|
|
486
|
+
NUITKA_ERROR_EXIT("Unexpected failure of hard import of 'unittest'");
|
|
490
487
|
}
|
|
491
488
|
}
|
|
492
489
|
|
|
@@ -494,6 +491,7 @@ PyObject *IMPORT_HARD_UNITTEST(void) {
|
|
|
494
491
|
}
|
|
495
492
|
|
|
496
493
|
/* C helper for hard import of module "unittest.mock" import. */
|
|
494
|
+
#if PYTHON_VERSION >= 0x300
|
|
497
495
|
PyObject *IMPORT_HARD_UNITTEST__MOCK(void) {
|
|
498
496
|
static PyObject *module_import_hard_unittest__mock = NULL;
|
|
499
497
|
|
|
@@ -504,10 +502,25 @@ PyObject *IMPORT_HARD_UNITTEST__MOCK(void) {
|
|
|
504
502
|
#ifndef __NUITKA_NO_ASSERT__
|
|
505
503
|
PyErr_PrintEx(0);
|
|
506
504
|
#endif
|
|
507
|
-
|
|
508
|
-
abort();
|
|
505
|
+
NUITKA_ERROR_EXIT("Unexpected failure of hard import of 'unittest.mock'");
|
|
509
506
|
}
|
|
510
507
|
}
|
|
511
508
|
|
|
512
509
|
return module_import_hard_unittest__mock;
|
|
513
510
|
}
|
|
511
|
+
#endif
|
|
512
|
+
|
|
513
|
+
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
514
|
+
// integrates with CPython, but also works on its own.
|
|
515
|
+
//
|
|
516
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
517
|
+
// you may not use this file except in compliance with the License.
|
|
518
|
+
// You may obtain a copy of the License at
|
|
519
|
+
//
|
|
520
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
521
|
+
//
|
|
522
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
523
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
524
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
525
|
+
// See the License for the specific language governing permissions and
|
|
526
|
+
// limitations under the License.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
// Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
// This file is included from another C file, help IDEs to still parse it on
|
|
4
|
+
// its own.
|
|
5
|
+
#ifdef __IDE_ONLY__
|
|
6
|
+
#include "nuitka/prelude.h"
|
|
7
|
+
#endif
|
|
8
|
+
|
|
9
|
+
#ifdef _NUITKA_STANDALONE
|
|
10
|
+
|
|
11
|
+
static char const *uncompiled_sources_dict_attribute_name = "_uncompiled_function_sources_dict";
|
|
12
|
+
|
|
13
|
+
void SET_UNCOMPILED_FUNCTION_SOURCE_DICT(PyObject *name, PyObject *source) {
|
|
14
|
+
PyObject *uncompiled_function_sources_dict =
|
|
15
|
+
PyObject_GetAttrString((PyObject *)builtin_module, uncompiled_sources_dict_attribute_name);
|
|
16
|
+
|
|
17
|
+
if (uncompiled_function_sources_dict == NULL) {
|
|
18
|
+
PyThreadState *tstate = PyThreadState_GET();
|
|
19
|
+
|
|
20
|
+
DROP_ERROR_OCCURRED(tstate);
|
|
21
|
+
|
|
22
|
+
uncompiled_function_sources_dict = MAKE_DICT_EMPTY(tstate);
|
|
23
|
+
|
|
24
|
+
PyObject_SetAttrString((PyObject *)builtin_module, uncompiled_sources_dict_attribute_name,
|
|
25
|
+
uncompiled_function_sources_dict);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
bool res = DICT_SET_ITEM(uncompiled_function_sources_dict, name, source);
|
|
29
|
+
assert(res == false);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
#endif
|
|
33
|
+
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
34
|
+
// integrates with CPython, but also works on its own.
|
|
35
|
+
//
|
|
36
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
37
|
+
// you may not use this file except in compliance with the License.
|
|
38
|
+
// You may obtain a copy of the License at
|
|
39
|
+
//
|
|
40
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
41
|
+
//
|
|
42
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
43
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
44
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
45
|
+
// See the License for the specific language governing permissions and
|
|
46
|
+
// limitations under the License.
|