Nuitka-winsvc 1.8__cp311-cp311-win_amd64.whl → 2.4.8__cp311-cp311-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of Nuitka-winsvc might be problematic. Click here for more details.
- Nuitka_winsvc-1.8.data/scripts/nuitka-run.bat → Nuitka_winsvc-2.4.8.data/scripts/nuitka-run.cmd +9 -9
- Nuitka_winsvc-1.8.data/scripts/nuitka.bat → Nuitka_winsvc-2.4.8.data/scripts/nuitka.cmd +15 -15
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/METADATA +4 -3
- Nuitka_winsvc-2.4.8.dist-info/RECORD +954 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/WHEEL +1 -1
- nuitka/Builtins.py +18 -17
- nuitka/BytecodeCaching.py +24 -20
- nuitka/Bytecodes.py +23 -19
- nuitka/CacheCleanup.py +28 -23
- nuitka/Constants.py +19 -17
- nuitka/Errors.py +23 -17
- nuitka/HardImportRegistry.py +400 -0
- nuitka/MainControl.py +200 -112
- nuitka/ModuleRegistry.py +83 -20
- nuitka/OptionParsing.py +368 -175
- nuitka/Options.py +632 -213
- nuitka/OutputDirectories.py +40 -21
- nuitka/PostProcessing.py +73 -50
- nuitka/Progress.py +58 -24
- nuitka/PythonFlavors.py +141 -32
- nuitka/PythonOperators.py +18 -17
- nuitka/PythonVersions.py +106 -19
- nuitka/Serialization.py +68 -55
- nuitka/SourceCodeReferences.py +19 -17
- nuitka/Tracing.py +108 -70
- nuitka/TreeXML.py +31 -26
- nuitka/Variables.py +39 -41
- nuitka/Version.py +21 -7
- nuitka/__init__.py +5 -4
- nuitka/__main__.py +95 -29
- nuitka/__past__.py +44 -34
- nuitka/build/Backend.scons +202 -140
- nuitka/build/CCompilerVersion.scons +39 -31
- nuitka/build/DataComposerInterface.py +20 -17
- nuitka/build/Onefile.scons +50 -54
- nuitka/build/SconsCaching.py +93 -90
- nuitka/build/SconsCompilerSettings.py +157 -69
- nuitka/build/SconsHacks.py +25 -19
- nuitka/build/SconsInterface.py +154 -54
- nuitka/build/SconsProgress.py +19 -18
- nuitka/build/SconsSpawn.py +62 -33
- nuitka/build/SconsUtils.py +147 -55
- nuitka/build/__init__.py +5 -4
- nuitka/build/include/nuitka/allocator.h +105 -22
- nuitka/build/include/nuitka/builtins.h +17 -17
- nuitka/build/include/nuitka/calling.h +18 -18
- nuitka/build/include/nuitka/checkers.h +17 -18
- nuitka/build/include/nuitka/checksum_tools.h +14 -19
- nuitka/build/include/nuitka/compiled_asyncgen.h +18 -18
- nuitka/build/include/nuitka/compiled_cell.h +33 -18
- nuitka/build/include/nuitka/compiled_coroutine.h +18 -18
- nuitka/build/include/nuitka/compiled_frame.h +91 -53
- nuitka/build/include/nuitka/compiled_function.h +42 -20
- nuitka/build/include/nuitka/compiled_generator.h +24 -18
- nuitka/build/include/nuitka/compiled_method.h +17 -18
- nuitka/build/include/nuitka/constants.h +29 -18
- nuitka/build/include/nuitka/constants_blob.h +17 -17
- nuitka/build/include/nuitka/environment_variables.h +30 -0
- nuitka/build/include/nuitka/environment_variables_system.h +45 -0
- nuitka/build/include/nuitka/exception_groups.h +23 -26
- nuitka/build/include/nuitka/exceptions.h +593 -190
- nuitka/build/include/nuitka/filesystem_paths.h +26 -20
- nuitka/build/include/nuitka/freelists.h +38 -18
- nuitka/build/include/nuitka/helper/attributes.h +24 -18
- nuitka/build/include/nuitka/helper/boolean.h +17 -17
- nuitka/build/include/nuitka/helper/bytearrays.h +17 -17
- nuitka/build/include/nuitka/helper/bytes.h +14 -15
- nuitka/build/include/nuitka/helper/calling_generated.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_eq.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_ge.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_gt.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_le.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_lt.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_ne.h +17 -17
- nuitka/build/include/nuitka/helper/complex.h +17 -17
- nuitka/build/include/nuitka/helper/dictionaries.h +24 -22
- nuitka/build/include/nuitka/helper/floats.h +17 -18
- nuitka/build/include/nuitka/helper/import_hard.h +25 -17
- nuitka/build/include/nuitka/helper/indexes.h +17 -18
- nuitka/build/include/nuitka/helper/ints.h +32 -20
- nuitka/build/include/nuitka/helper/iterators.h +17 -17
- nuitka/build/include/nuitka/helper/lists.h +26 -24
- nuitka/build/include/nuitka/helper/lists_generated.h +22 -22
- nuitka/build/include/nuitka/helper/mappings.h +17 -18
- nuitka/build/include/nuitka/helper/operations.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_add.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_bitand.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_bitor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_bitxor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_divmod.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_floordiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_lshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_matmult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_mod.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_mult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_olddiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_pow.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_rshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_sub.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_truediv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_builtin_types.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_add.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_bitand.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_bitor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_bitxor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_floordiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_lshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_matmult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_mod.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_mult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_olddiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_pow.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_rshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_sub.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_truediv.h +17 -17
- nuitka/build/include/nuitka/helper/raising.h +29 -17
- nuitka/build/include/nuitka/helper/rangeobjects.h +17 -17
- nuitka/build/include/nuitka/helper/richcomparisons.h +14 -14
- nuitka/build/include/nuitka/helper/sequences.h +19 -13
- nuitka/build/include/nuitka/helper/sets.h +11 -12
- nuitka/build/include/nuitka/helper/slices.h +31 -25
- nuitka/build/include/nuitka/helper/strings.h +16 -17
- nuitka/build/include/nuitka/helper/subscripts.h +18 -201
- nuitka/build/include/nuitka/helper/tuples.h +64 -52
- nuitka/build/include/nuitka/helpers.h +38 -20
- nuitka/build/include/nuitka/importing.h +28 -21
- nuitka/build/include/nuitka/jit_sources.h +25 -0
- nuitka/build/include/nuitka/prelude.h +128 -46
- nuitka/build/include/nuitka/printing.h +22 -17
- nuitka/build/include/nuitka/python_pgo.h +19 -18
- nuitka/build/include/nuitka/safe_string_ops.h +20 -18
- nuitka/build/include/nuitka/threading.h +32 -33
- nuitka/build/include/nuitka/tracing.h +28 -18
- nuitka/build/include/nuitka/type_aliases.h +27 -0
- nuitka/build/include/nuitka/unfreezing.h +29 -23
- nuitka/build/inline_copy/bin/scons.py +14 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Variables/ListVariable.py +6 -6
- nuitka/build/inline_copy/pkg_resources/pkg_resources/__init__.py +0 -3
- nuitka/build/inline_copy/python_hacl/LICENSE.txt +201 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_MD5.c +1430 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_MD5.h +66 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA1.c +463 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA1.h +66 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA2.c +1273 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA2.h +204 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA3.c +734 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA3.h +131 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Streaming_Types.h +83 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/FStar_UInt128_Verified.h +346 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/FStar_UInt_8_16_32_64.h +107 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/fstar_uint128_struct_endianness.h +68 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/internal/target.h +293 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/lowstar_endianness.h +231 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/types.h +14 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_MD5.h +56 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA1.h +56 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA2.h +164 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA3.h +65 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/python_hacl_namespaces.h +89 -0
- nuitka/build/inline_copy/tqdm/tqdm/__init__.py +2 -2
- nuitka/build/inline_copy/tqdm/tqdm/_monitor.py +4 -1
- nuitka/build/inline_copy/tqdm/tqdm/utils.py +14 -8
- nuitka/build/inline_copy/tqdm/tqdm/version.py +1 -8
- nuitka/build/inline_copy/zlib/LICENSE +22 -0
- nuitka/build/inline_copy/zlib/crc32.c +1049 -0
- nuitka/build/inline_copy/zlib/crc32.h +9446 -0
- nuitka/build/inline_copy/zlib/zconf.h +551 -0
- nuitka/build/inline_copy/zlib/zlib.h +1938 -0
- nuitka/build/inline_copy/zlib/zutil.h +275 -0
- nuitka/build/static_src/CompiledAsyncgenType.c +176 -182
- nuitka/build/static_src/CompiledCellType.c +63 -40
- nuitka/build/static_src/CompiledCodeHelpers.c +181 -128
- nuitka/build/static_src/CompiledCoroutineType.c +196 -203
- nuitka/build/static_src/CompiledFrameType.c +287 -133
- nuitka/build/static_src/CompiledFunctionType.c +389 -95
- nuitka/build/static_src/CompiledGeneratorType.c +376 -252
- nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +185 -198
- nuitka/build/static_src/CompiledMethodType.c +83 -71
- nuitka/build/static_src/HelpersAllocator.c +88 -19
- nuitka/build/static_src/HelpersAttributes.c +33 -54
- nuitka/build/static_src/HelpersBuiltin.c +43 -33
- nuitka/build/static_src/HelpersBuiltinTypeMethods.c +17 -17
- nuitka/build/static_src/HelpersBytes.c +19 -20
- nuitka/build/static_src/HelpersCalling.c +33 -30
- nuitka/build/static_src/HelpersCallingGenerated.c +1000 -181
- nuitka/build/static_src/HelpersChecksumTools.c +35 -21
- nuitka/build/static_src/HelpersClasses.c +17 -17
- nuitka/build/static_src/HelpersComparisonEq.c +518 -492
- nuitka/build/static_src/HelpersComparisonEqUtils.c +21 -19
- nuitka/build/static_src/HelpersComparisonGe.c +513 -497
- nuitka/build/static_src/HelpersComparisonGt.c +512 -496
- nuitka/build/static_src/HelpersComparisonLe.c +513 -497
- nuitka/build/static_src/HelpersComparisonLt.c +512 -496
- nuitka/build/static_src/HelpersComparisonNe.c +520 -492
- nuitka/build/static_src/HelpersConsole.c +96 -0
- nuitka/build/static_src/HelpersConstantsBlob.c +542 -519
- nuitka/build/static_src/HelpersDeepcopy.c +33 -33
- nuitka/build/static_src/HelpersDictionaries.c +51 -29
- nuitka/build/static_src/HelpersDictionariesGenerated.c +177 -68
- nuitka/build/static_src/HelpersDumpBacktraces.c +63 -0
- nuitka/build/static_src/HelpersEnvironmentVariables.c +65 -0
- nuitka/build/static_src/HelpersEnvironmentVariablesSystem.c +93 -0
- nuitka/build/static_src/HelpersExceptions.c +161 -50
- nuitka/build/static_src/HelpersFiles.c +37 -17
- nuitka/build/static_src/HelpersFilesystemPaths.c +292 -181
- nuitka/build/static_src/HelpersFloats.c +37 -31
- nuitka/build/static_src/HelpersHeapStorage.c +21 -17
- nuitka/build/static_src/HelpersImport.c +48 -20
- nuitka/build/static_src/HelpersImportHard.c +53 -17
- nuitka/build/static_src/HelpersJitSources.c +46 -0
- nuitka/build/static_src/HelpersLists.c +140 -50
- nuitka/build/static_src/HelpersListsGenerated.c +41 -41
- nuitka/build/static_src/HelpersMappings.c +17 -17
- nuitka/build/static_src/HelpersMatching.c +137 -51
- nuitka/build/static_src/HelpersOperationBinaryAdd.c +173 -146
- nuitka/build/static_src/HelpersOperationBinaryAddUtils.c +99 -52
- nuitka/build/static_src/HelpersOperationBinaryBitand.c +50 -50
- nuitka/build/static_src/HelpersOperationBinaryBitor.c +50 -50
- nuitka/build/static_src/HelpersOperationBinaryBitxor.c +50 -50
- nuitka/build/static_src/HelpersOperationBinaryDivmod.c +41 -41
- nuitka/build/static_src/HelpersOperationBinaryDivmodUtils.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryFloordiv.c +41 -41
- nuitka/build/static_src/HelpersOperationBinaryInplaceAdd.c +20 -21
- nuitka/build/static_src/HelpersOperationBinaryLshift.c +47 -47
- nuitka/build/static_src/HelpersOperationBinaryMatmult.c +24 -24
- nuitka/build/static_src/HelpersOperationBinaryMod.c +107 -107
- nuitka/build/static_src/HelpersOperationBinaryMult.c +81 -75
- nuitka/build/static_src/HelpersOperationBinaryMultUtils.c +33 -30
- nuitka/build/static_src/HelpersOperationBinaryOlddiv.c +41 -41
- nuitka/build/static_src/HelpersOperationBinaryPow.c +44 -44
- nuitka/build/static_src/HelpersOperationBinaryPowUtils.c +12 -12
- nuitka/build/static_src/HelpersOperationBinaryRshift.c +47 -47
- nuitka/build/static_src/HelpersOperationBinarySub.c +80 -80
- nuitka/build/static_src/HelpersOperationBinaryTruediv.c +41 -41
- nuitka/build/static_src/HelpersOperationInplaceAdd.c +171 -153
- nuitka/build/static_src/HelpersOperationInplaceAddUtils.c +24 -22
- nuitka/build/static_src/HelpersOperationInplaceBitand.c +53 -53
- nuitka/build/static_src/HelpersOperationInplaceBitor.c +53 -53
- nuitka/build/static_src/HelpersOperationInplaceBitxor.c +53 -53
- nuitka/build/static_src/HelpersOperationInplaceFloordiv.c +62 -62
- nuitka/build/static_src/HelpersOperationInplaceLshift.c +44 -44
- nuitka/build/static_src/HelpersOperationInplaceMatmult.c +37 -37
- nuitka/build/static_src/HelpersOperationInplaceMod.c +134 -134
- nuitka/build/static_src/HelpersOperationInplaceMult.c +78 -78
- nuitka/build/static_src/HelpersOperationInplaceOlddiv.c +62 -62
- nuitka/build/static_src/HelpersOperationInplacePow.c +62 -62
- nuitka/build/static_src/HelpersOperationInplaceRshift.c +44 -44
- nuitka/build/static_src/HelpersOperationInplaceSub.c +112 -112
- nuitka/build/static_src/HelpersOperationInplaceTruediv.c +62 -62
- nuitka/build/static_src/HelpersProfiling.c +24 -23
- nuitka/build/static_src/HelpersPythonPgo.c +22 -22
- nuitka/build/static_src/HelpersRaising.c +88 -20
- nuitka/build/static_src/HelpersSafeStrings.c +34 -22
- nuitka/build/static_src/HelpersSequences.c +18 -19
- nuitka/build/static_src/HelpersSlices.c +29 -23
- nuitka/build/static_src/HelpersStrings.c +234 -37
- nuitka/build/static_src/HelpersTuples.c +46 -34
- nuitka/build/static_src/HelpersTypes.c +68 -23
- nuitka/build/static_src/InspectPatcher.c +108 -27
- nuitka/build/static_src/MainProgram.c +359 -263
- nuitka/build/static_src/MetaPathBasedLoader.c +367 -242
- nuitka/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c +39 -26
- nuitka/build/static_src/MetaPathBasedLoaderResourceReader.c +17 -18
- nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +97 -22
- nuitka/build/static_src/OnefileBootstrap.c +276 -164
- nuitka/build/static_src/OnefileSplashScreen.cpp +51 -27
- nuitka/code_generation/AsyncgenCodes.py +19 -17
- nuitka/code_generation/AttributeCodes.py +31 -27
- nuitka/code_generation/BinaryOperationHelperDefinitions.py +24 -20
- nuitka/code_generation/BranchCodes.py +19 -17
- nuitka/code_generation/BuiltinCodes.py +20 -17
- nuitka/code_generation/CallCodes.py +19 -17
- nuitka/code_generation/ClassCodes.py +19 -17
- nuitka/code_generation/CodeGeneration.py +48 -27
- nuitka/code_generation/CodeHelperSelection.py +19 -17
- nuitka/code_generation/CodeHelpers.py +24 -20
- nuitka/code_generation/CodeObjectCodes.py +34 -24
- nuitka/code_generation/ComparisonCodes.py +38 -20
- nuitka/code_generation/ComparisonHelperDefinitions.py +19 -17
- nuitka/code_generation/ConditionalCodes.py +19 -17
- nuitka/code_generation/ConstantCodes.py +82 -28
- nuitka/code_generation/Contexts.py +152 -26
- nuitka/code_generation/CoroutineCodes.py +19 -17
- nuitka/code_generation/CtypesCodes.py +19 -17
- nuitka/code_generation/DictCodes.py +25 -23
- nuitka/code_generation/Emission.py +21 -18
- nuitka/code_generation/ErrorCodes.py +27 -33
- nuitka/code_generation/EvalCodes.py +24 -20
- nuitka/code_generation/ExceptionCodes.py +27 -18
- nuitka/code_generation/ExpressionCTypeSelectionHelpers.py +20 -17
- nuitka/code_generation/ExpressionCodes.py +19 -17
- nuitka/code_generation/FrameCodes.py +24 -20
- nuitka/code_generation/FunctionCodes.py +24 -21
- nuitka/code_generation/GeneratorCodes.py +23 -20
- nuitka/code_generation/GlobalConstants.py +43 -23
- nuitka/code_generation/GlobalsLocalsCodes.py +21 -19
- nuitka/code_generation/IdCodes.py +19 -17
- nuitka/code_generation/ImportCodes.py +90 -50
- nuitka/code_generation/Indentation.py +23 -22
- nuitka/code_generation/IndexCodes.py +19 -17
- nuitka/code_generation/InjectCCodes.py +14 -12
- nuitka/code_generation/IntegerCodes.py +19 -17
- nuitka/code_generation/IteratorCodes.py +19 -17
- nuitka/code_generation/JitCodes.py +44 -0
- nuitka/code_generation/LabelCodes.py +19 -17
- nuitka/code_generation/LineNumberCodes.py +19 -17
- nuitka/code_generation/ListCodes.py +32 -36
- nuitka/code_generation/LoaderCodes.py +22 -17
- nuitka/code_generation/LocalsDictCodes.py +56 -32
- nuitka/code_generation/LoopCodes.py +19 -17
- nuitka/code_generation/MatchCodes.py +42 -22
- nuitka/code_generation/ModuleCodes.py +43 -25
- nuitka/code_generation/Namify.py +27 -23
- nuitka/code_generation/NetworkxCodes.py +51 -0
- nuitka/code_generation/OperationCodes.py +29 -31
- nuitka/code_generation/PackageResourceCodes.py +59 -23
- nuitka/code_generation/PrintCodes.py +19 -17
- nuitka/code_generation/PythonAPICodes.py +19 -17
- nuitka/code_generation/RaisingCodes.py +19 -17
- nuitka/code_generation/Reports.py +19 -17
- nuitka/code_generation/ReturnCodes.py +19 -17
- nuitka/code_generation/SetCodes.py +19 -17
- nuitka/code_generation/SliceCodes.py +22 -20
- nuitka/code_generation/StringCodes.py +19 -17
- nuitka/code_generation/SubscriptCodes.py +24 -30
- nuitka/code_generation/TensorflowCodes.py +54 -0
- nuitka/code_generation/TryCodes.py +19 -17
- nuitka/code_generation/TupleCodes.py +20 -18
- nuitka/code_generation/TypeAliasCodes.py +71 -0
- nuitka/code_generation/VariableCodes.py +26 -22
- nuitka/code_generation/VariableDeclarations.py +20 -17
- nuitka/code_generation/YieldCodes.py +22 -20
- nuitka/code_generation/__init__.py +5 -4
- nuitka/code_generation/c_types/CTypeBases.py +19 -17
- nuitka/code_generation/c_types/CTypeBooleans.py +19 -17
- nuitka/code_generation/c_types/CTypeCFloats.py +19 -17
- nuitka/code_generation/c_types/CTypeCLongs.py +19 -18
- nuitka/code_generation/c_types/CTypeModuleDictVariables.py +19 -17
- nuitka/code_generation/c_types/CTypeNuitkaBooleans.py +19 -17
- nuitka/code_generation/c_types/CTypeNuitkaInts.py +19 -18
- nuitka/code_generation/c_types/CTypeNuitkaVoids.py +19 -17
- nuitka/code_generation/c_types/CTypePyObjectPointers.py +27 -25
- nuitka/code_generation/c_types/CTypeVoids.py +20 -17
- nuitka/code_generation/c_types/__init__.py +5 -4
- nuitka/code_generation/templates/CodeTemplatesAsyncgens.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesConstants.py +132 -36
- nuitka/code_generation/templates/CodeTemplatesCoroutines.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesExceptions.py +19 -18
- nuitka/code_generation/templates/CodeTemplatesFrames.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesFunction.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesGeneratorFunction.py +19 -17
- nuitka/code_generation/templates/CodeTemplatesIterators.py +18 -18
- nuitka/code_generation/templates/CodeTemplatesLoader.py +25 -19
- nuitka/code_generation/templates/CodeTemplatesModules.py +244 -165
- nuitka/code_generation/templates/CodeTemplatesVariables.py +42 -27
- nuitka/code_generation/templates/TemplateDebugWrapper.py +19 -18
- nuitka/code_generation/templates/__init__.py +5 -4
- nuitka/code_generation/templates_c/CodeTemplateCallsMethodPositional.c.j2 +19 -19
- nuitka/code_generation/templates_c/CodeTemplateCallsMixed.c.j2 +18 -18
- nuitka/code_generation/templates_c/CodeTemplateCallsPositional.c.j2 +76 -25
- nuitka/code_generation/templates_c/CodeTemplateCallsPositionalMethodDescr.c.j2 +22 -22
- nuitka/code_generation/templates_c/CodeTemplateMakeListHinted.c.j2 +19 -19
- nuitka/code_generation/templates_c/CodeTemplateMakeListSmall.c.j2 +19 -19
- nuitka/code_generation/templates_c/HelperBuiltinMethodOperation.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperDictionaryCopy.c.j2 +121 -48
- nuitka/code_generation/templates_c/HelperImportHard.c.j2 +18 -18
- nuitka/code_generation/templates_c/HelperLongTools.c.j2 +18 -18
- nuitka/code_generation/templates_c/HelperObjectTools.c.j2 +6 -6
- nuitka/code_generation/templates_c/HelperOperationBinary.c.j2 +23 -23
- nuitka/code_generation/templates_c/HelperOperationComparison.c.j2 +35 -35
- nuitka/code_generation/templates_c/HelperOperationComparisonBytes.c.j2 +28 -28
- nuitka/code_generation/templates_c/HelperOperationComparisonFloat.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationComparisonInt.c.j2 +18 -18
- nuitka/code_generation/templates_c/HelperOperationComparisonList.c.j2 +44 -32
- nuitka/code_generation/templates_c/HelperOperationComparisonLong.c.j2 +20 -20
- nuitka/code_generation/templates_c/HelperOperationComparisonStr.c.j2 +28 -28
- nuitka/code_generation/templates_c/HelperOperationComparisonTuple.c.j2 +24 -24
- nuitka/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +33 -29
- nuitka/code_generation/templates_c/HelperOperationInplace.c.j2 +20 -20
- nuitka/code_generation/templates_c/HelperSlotsBinary.c.j2 +27 -27
- nuitka/code_generation/templates_c/HelperSlotsBytes.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsCommon.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsFloat.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsInt.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsList.c.j2 +21 -18
- nuitka/code_generation/templates_c/HelperSlotsLong.c.j2 +26 -24
- nuitka/code_generation/templates_c/HelperSlotsSet.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsStr.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsTuple.c.j2 +21 -18
- nuitka/code_generation/templates_c/HelperSlotsUnicode.c.j2 +17 -17
- nuitka/containers/Namedtuples.py +19 -18
- nuitka/containers/OrderedSetsFallback.py +19 -17
- nuitka/containers/__init__.py +5 -4
- nuitka/distutils/Build.py +19 -18
- nuitka/distutils/DistutilCommands.py +34 -23
- nuitka/distutils/__init__.py +5 -4
- nuitka/finalizations/Finalization.py +20 -17
- nuitka/finalizations/FinalizeMarkups.py +21 -41
- nuitka/finalizations/__init__.py +5 -4
- nuitka/freezer/DependsExe.py +48 -28
- nuitka/freezer/DllDependenciesCommon.py +47 -20
- nuitka/freezer/DllDependenciesMacOS.py +147 -57
- nuitka/freezer/DllDependenciesPosix.py +29 -19
- nuitka/freezer/DllDependenciesWin32.py +29 -21
- nuitka/freezer/ImportDetection.py +20 -17
- nuitka/freezer/IncludedDataFiles.py +118 -47
- nuitka/freezer/IncludedEntryPoints.py +102 -38
- nuitka/freezer/Onefile.py +32 -22
- nuitka/freezer/Standalone.py +105 -50
- nuitka/freezer/__init__.py +5 -4
- nuitka/importing/IgnoreListing.py +19 -17
- nuitka/importing/ImportCache.py +24 -21
- nuitka/importing/ImportResolving.py +103 -95
- nuitka/importing/Importing.py +286 -92
- nuitka/importing/PreloadedPackages.py +21 -18
- nuitka/importing/Recursion.py +131 -47
- nuitka/importing/StandardLibrary.py +46 -28
- nuitka/importing/__init__.py +5 -4
- nuitka/nodes/AsyncgenNodes.py +19 -17
- nuitka/nodes/AttributeLookupNodes.py +19 -17
- nuitka/nodes/AttributeNodes.py +19 -17
- nuitka/nodes/AttributeNodesGenerated.py +49 -24
- nuitka/nodes/BuiltinAllNodes.py +19 -17
- nuitka/nodes/BuiltinAnyNodes.py +19 -17
- nuitka/nodes/BuiltinComplexNodes.py +20 -17
- nuitka/nodes/BuiltinDecodingNodes.py +19 -17
- nuitka/nodes/BuiltinDecoratorNodes.py +19 -17
- nuitka/nodes/BuiltinDictNodes.py +19 -17
- nuitka/nodes/BuiltinFormatNodes.py +20 -17
- nuitka/nodes/BuiltinHashNodes.py +19 -17
- nuitka/nodes/BuiltinInputNodes.py +19 -17
- nuitka/nodes/BuiltinIntegerNodes.py +19 -17
- nuitka/nodes/BuiltinIteratorNodes.py +24 -20
- nuitka/nodes/BuiltinLenNodes.py +19 -17
- nuitka/nodes/BuiltinNextNodes.py +19 -17
- nuitka/nodes/BuiltinOpenNodes.py +52 -18
- nuitka/nodes/BuiltinOperationNodeBasesGenerated.py +40 -23
- nuitka/nodes/BuiltinRangeNodes.py +21 -19
- nuitka/nodes/BuiltinRefNodes.py +68 -19
- nuitka/nodes/BuiltinSumNodes.py +20 -18
- nuitka/nodes/BuiltinTypeNodes.py +19 -17
- nuitka/nodes/BuiltinVarsNodes.py +19 -18
- nuitka/nodes/BytesNodes.py +19 -17
- nuitka/nodes/CallNodes.py +19 -17
- nuitka/nodes/Checkers.py +19 -17
- nuitka/nodes/ChildrenHavingMixins.py +1250 -302
- nuitka/nodes/ClassNodes.py +49 -29
- nuitka/nodes/CodeObjectSpecs.py +29 -18
- nuitka/nodes/ComparisonNodes.py +19 -17
- nuitka/nodes/ConditionalNodes.py +21 -23
- nuitka/nodes/ConstantRefNodes.py +57 -17
- nuitka/nodes/ContainerMakingNodes.py +19 -17
- nuitka/nodes/ContainerOperationNodes.py +19 -17
- nuitka/nodes/CoroutineNodes.py +19 -17
- nuitka/nodes/CtypesNodes.py +19 -18
- nuitka/nodes/DictionaryNodes.py +19 -18
- nuitka/nodes/ExceptionNodes.py +29 -17
- nuitka/nodes/ExecEvalNodes.py +19 -17
- nuitka/nodes/ExpressionBases.py +34 -26
- nuitka/nodes/ExpressionBasesGenerated.py +54 -32
- nuitka/nodes/ExpressionShapeMixins.py +19 -17
- nuitka/nodes/FrameNodes.py +19 -17
- nuitka/nodes/FunctionAttributeNodes.py +19 -17
- nuitka/nodes/FunctionNodes.py +81 -35
- nuitka/nodes/FutureSpecs.py +35 -20
- nuitka/nodes/GeneratorNodes.py +21 -19
- nuitka/nodes/GlobalsLocalsNodes.py +22 -17
- nuitka/nodes/HardImportNodesGenerated.py +545 -129
- nuitka/nodes/ImportHardNodes.py +46 -38
- nuitka/nodes/ImportNodes.py +436 -446
- nuitka/nodes/IndicatorMixins.py +19 -17
- nuitka/nodes/InjectCNodes.py +19 -18
- nuitka/nodes/IterationHandles.py +55 -34
- nuitka/nodes/KeyValuePairNodes.py +19 -17
- nuitka/nodes/ListOperationNodes.py +33 -21
- nuitka/nodes/LocalsDictNodes.py +19 -17
- nuitka/nodes/LocalsScopes.py +41 -41
- nuitka/nodes/LoopNodes.py +28 -17
- nuitka/nodes/MatchNodes.py +37 -24
- nuitka/nodes/ModuleAttributeNodes.py +18 -35
- nuitka/nodes/ModuleNodes.py +90 -31
- nuitka/nodes/NetworkxNodes.py +45 -0
- nuitka/nodes/NodeBases.py +45 -43
- nuitka/nodes/NodeMakingHelpers.py +21 -19
- nuitka/nodes/NodeMetaClasses.py +45 -28
- nuitka/nodes/OperatorNodes.py +28 -26
- nuitka/nodes/OperatorNodesUnary.py +20 -17
- nuitka/nodes/OsSysNodes.py +66 -18
- nuitka/nodes/OutlineNodes.py +22 -20
- nuitka/nodes/PackageMetadataNodes.py +37 -27
- nuitka/nodes/PackageResourceNodes.py +29 -23
- nuitka/nodes/PrintNodes.py +19 -17
- nuitka/nodes/ReturnNodes.py +20 -18
- nuitka/nodes/SideEffectNodes.py +19 -17
- nuitka/nodes/SliceNodes.py +20 -18
- nuitka/nodes/StatementBasesGenerated.py +125 -77
- nuitka/nodes/StatementNodes.py +19 -17
- nuitka/nodes/StrNodes.py +19 -17
- nuitka/nodes/StringConcatenationNodes.py +20 -17
- nuitka/nodes/SubscriptNodes.py +26 -24
- nuitka/nodes/TensorflowNodes.py +38 -0
- nuitka/nodes/TryNodes.py +19 -17
- nuitka/nodes/TypeMatchNodes.py +19 -17
- nuitka/nodes/TypeNodes.py +40 -17
- nuitka/nodes/VariableAssignNodes.py +122 -64
- nuitka/nodes/VariableDelNodes.py +19 -17
- nuitka/nodes/VariableNameNodes.py +19 -17
- nuitka/nodes/VariableRefNodes.py +63 -26
- nuitka/nodes/VariableReleaseNodes.py +19 -17
- nuitka/nodes/YieldNodes.py +21 -19
- nuitka/nodes/__init__.py +5 -4
- nuitka/nodes/shapes/BuiltinTypeShapes.py +145 -39
- nuitka/nodes/shapes/ControlFlowDescriptions.py +19 -17
- nuitka/nodes/shapes/ShapeMixins.py +40 -17
- nuitka/nodes/shapes/StandardShapes.py +27 -20
- nuitka/nodes/shapes/__init__.py +5 -4
- nuitka/optimizations/BytecodeDemotion.py +19 -17
- nuitka/optimizations/FunctionInlining.py +22 -23
- nuitka/optimizations/Graphs.py +19 -17
- nuitka/optimizations/Optimization.py +39 -35
- nuitka/optimizations/OptimizeBuiltinCalls.py +31 -27
- nuitka/optimizations/Tags.py +19 -18
- nuitka/optimizations/TraceCollections.py +67 -24
- nuitka/optimizations/ValueTraces.py +92 -25
- nuitka/optimizations/__init__.py +5 -4
- nuitka/pgo/PGO.py +33 -23
- nuitka/pgo/__init__.py +5 -4
- nuitka/plugins/PluginBase.py +610 -109
- nuitka/plugins/Plugins.py +241 -58
- nuitka/plugins/YamlPluginBase.py +121 -0
- nuitka/plugins/__init__.py +5 -4
- nuitka/plugins/standard/AntiBloatPlugin.py +357 -129
- nuitka/plugins/standard/ConsiderPyLintAnnotationsPlugin.py +20 -19
- nuitka/plugins/standard/DataFilesPlugin.py +65 -29
- nuitka/plugins/standard/DelvewheelPlugin.py +32 -24
- nuitka/plugins/standard/DillPlugin/DillPlugin.c +37 -0
- nuitka/plugins/standard/DillPlugin/dill-postLoad.py +256 -0
- nuitka/plugins/standard/DillPlugin.py +42 -134
- nuitka/plugins/standard/DllFilesPlugin.py +125 -42
- nuitka/plugins/standard/EnumPlugin.py +19 -17
- nuitka/plugins/standard/EventletPlugin.py +19 -17
- nuitka/plugins/standard/GeventPlugin.py +19 -17
- nuitka/plugins/standard/GiPlugin.py +44 -28
- nuitka/plugins/standard/GlfwPlugin.py +20 -17
- nuitka/plugins/standard/ImplicitImports.py +407 -46
- nuitka/plugins/standard/KivyPlugin.py +30 -17
- nuitka/plugins/standard/MatplotlibPlugin.py +88 -42
- nuitka/plugins/standard/MultiprocessingPlugin.py +25 -20
- nuitka/plugins/standard/NumpyPlugin.py +19 -17
- nuitka/plugins/standard/OptionsNannyPlugin.py +48 -76
- nuitka/plugins/standard/PbrPlugin.py +21 -19
- nuitka/plugins/standard/PkgResourcesPlugin.py +34 -23
- nuitka/plugins/standard/PmwPlugin.py +30 -27
- nuitka/plugins/standard/PySidePyQtPlugin.py +74 -80
- nuitka/plugins/standard/PywebViewPlugin.py +19 -17
- nuitka/plugins/standard/SpacyPlugin.py +136 -0
- nuitka/plugins/standard/TensorflowPlugin.py +20 -17
- nuitka/plugins/standard/TkinterPlugin.py +103 -53
- nuitka/plugins/standard/TorchPlugin.py +20 -17
- nuitka/plugins/standard/TransformersPlugin.py +94 -30
- nuitka/plugins/standard/TrioPlugin.py +18 -15
- nuitka/plugins/standard/UpxPlugin.py +21 -19
- nuitka/plugins/standard/__init__.py +5 -4
- nuitka/plugins/standard/standard.nuitka-package.config.yml +3449 -1299
- nuitka/plugins/standard/stdlib2.nuitka-package.config.yml +14 -14
- nuitka/plugins/standard/stdlib3.nuitka-package.config.yml +121 -66
- nuitka/reports/CompilationReportReader.py +67 -0
- nuitka/reports/LicenseReport.rst.j2 +21 -21
- nuitka/reports/Reports.py +352 -76
- nuitka/reports/__init__.py +5 -4
- nuitka/specs/BuiltinBytesOperationSpecs.py +18 -17
- nuitka/specs/BuiltinDictOperationSpecs.py +18 -17
- nuitka/specs/BuiltinListOperationSpecs.py +18 -17
- nuitka/specs/BuiltinParameterSpecs.py +30 -20
- nuitka/specs/BuiltinStrOperationSpecs.py +19 -18
- nuitka/specs/BuiltinTypeOperationSpecs.py +18 -18
- nuitka/specs/BuiltinUnicodeOperationSpecs.py +18 -17
- nuitka/specs/HardImportSpecs.py +67 -22
- nuitka/specs/ParameterSpecs.py +56 -41
- nuitka/specs/__init__.py +5 -4
- nuitka/tools/Basics.py +20 -18
- nuitka/tools/__init__.py +5 -4
- nuitka/tools/commercial/__init__.py +7 -6
- nuitka/tools/data_composer/DataComposer.py +78 -62
- nuitka/tools/data_composer/__init__.py +5 -4
- nuitka/tools/data_composer/__main__.py +18 -17
- nuitka/tools/environments/CreateEnvironment.py +20 -17
- nuitka/tools/environments/Virtualenv.py +60 -32
- nuitka/tools/environments/__init__.py +5 -4
- nuitka/tools/general/__init__.py +5 -4
- nuitka/tools/general/dll_report/__init__.py +5 -4
- nuitka/tools/general/dll_report/__main__.py +19 -21
- nuitka/tools/general/find_module/FindModuleCode.py +35 -22
- nuitka/tools/general/find_module/__init__.py +5 -4
- nuitka/tools/onefile_compressor/OnefileCompressor.py +213 -131
- nuitka/tools/onefile_compressor/__init__.py +5 -4
- nuitka/tools/onefile_compressor/__main__.py +18 -17
- nuitka/tools/podman/Podman.py +19 -17
- nuitka/tools/podman/__init__.py +5 -4
- nuitka/tools/podman/__main__.py +35 -19
- nuitka/tools/profiler/__init__.py +5 -4
- nuitka/tools/profiler/__main__.py +18 -17
- nuitka/tools/scanning/DisplayPackageDLLs.py +47 -22
- nuitka/tools/scanning/DisplayPackageData.py +31 -19
- nuitka/tools/scanning/__init__.py +5 -4
- nuitka/tools/specialize/CTypeDescriptions.py +93 -71
- nuitka/tools/specialize/Common.py +18 -17
- nuitka/tools/specialize/SpecializeC.py +31 -27
- nuitka/tools/specialize/SpecializePython.py +108 -45
- nuitka/tools/specialize/__init__.py +5 -4
- nuitka/tools/testing/Common.py +106 -52
- nuitka/tools/testing/Constructs.py +19 -17
- nuitka/tools/testing/OutputComparison.py +54 -18
- nuitka/tools/testing/Pythons.py +19 -18
- nuitka/tools/testing/RuntimeTracing.py +20 -19
- nuitka/tools/testing/SearchModes.py +26 -20
- nuitka/tools/testing/Valgrind.py +19 -17
- nuitka/tools/testing/__init__.py +5 -4
- nuitka/tools/testing/check_reference_counts/__init__.py +5 -4
- nuitka/tools/testing/check_reference_counts/__main__.py +18 -18
- nuitka/tools/testing/compare_with_cpython/__init__.py +5 -4
- nuitka/tools/testing/compare_with_cpython/__main__.py +36 -29
- nuitka/tools/testing/find_sxs_modules/__init__.py +5 -4
- nuitka/tools/testing/find_sxs_modules/__main__.py +17 -17
- nuitka/tools/testing/measure_construct_performance/__init__.py +5 -4
- nuitka/tools/testing/measure_construct_performance/__main__.py +22 -25
- nuitka/tools/testing/run_nuitka_tests/__init__.py +5 -4
- nuitka/tools/testing/run_nuitka_tests/__main__.py +57 -40
- nuitka/tools/watch/AutoStage.py +144 -0
- nuitka/tools/watch/GitHub.py +113 -0
- nuitka/tools/watch/__init__.py +5 -4
- nuitka/tools/watch/__main__.py +322 -91
- nuitka/tree/Building.py +176 -147
- nuitka/tree/ComplexCallHelperFunctions.py +80 -58
- nuitka/tree/Extractions.py +19 -17
- nuitka/tree/InternalModule.py +29 -20
- nuitka/tree/Operations.py +19 -17
- nuitka/tree/ReformulationAssertStatements.py +20 -17
- nuitka/tree/ReformulationAssignmentStatements.py +92 -91
- nuitka/tree/ReformulationBooleanExpressions.py +19 -17
- nuitka/tree/ReformulationCallExpressions.py +20 -18
- nuitka/tree/ReformulationClasses.py +45 -39
- nuitka/tree/ReformulationClasses3.py +146 -98
- nuitka/tree/ReformulationComparisonExpressions.py +29 -35
- nuitka/tree/ReformulationContractionExpressions.py +58 -55
- nuitka/tree/ReformulationDictionaryCreation.py +40 -35
- nuitka/tree/ReformulationExecStatements.py +42 -39
- nuitka/tree/ReformulationForLoopStatements.py +30 -34
- nuitka/tree/ReformulationFunctionStatements.py +58 -54
- nuitka/tree/ReformulationImportStatements.py +34 -29
- nuitka/tree/ReformulationLambdaExpressions.py +23 -24
- nuitka/tree/ReformulationMatchStatements.py +244 -92
- nuitka/tree/ReformulationMultidist.py +22 -18
- nuitka/tree/ReformulationNamespacePackages.py +55 -46
- nuitka/tree/ReformulationPrintStatements.py +23 -24
- nuitka/tree/ReformulationSequenceCreation.py +50 -49
- nuitka/tree/ReformulationSubscriptExpressions.py +19 -17
- nuitka/tree/ReformulationTryExceptStatements.py +19 -17
- nuitka/tree/ReformulationTryFinallyStatements.py +34 -17
- nuitka/tree/ReformulationWhileLoopStatements.py +19 -17
- nuitka/tree/ReformulationWithStatements.py +39 -41
- nuitka/tree/ReformulationYieldExpressions.py +21 -19
- nuitka/tree/SourceHandling.py +76 -31
- nuitka/tree/SyntaxErrors.py +19 -17
- nuitka/tree/TreeHelpers.py +33 -20
- nuitka/tree/VariableClosure.py +35 -39
- nuitka/tree/__init__.py +5 -4
- nuitka/utils/AppDirs.py +41 -20
- nuitka/utils/CStrings.py +66 -21
- nuitka/utils/CommandLineOptions.py +84 -19
- nuitka/utils/Distributions.py +445 -54
- nuitka/utils/Download.py +89 -57
- nuitka/utils/Execution.py +73 -34
- nuitka/utils/FileOperations.py +318 -74
- nuitka/utils/Hashing.py +55 -33
- nuitka/utils/Images.py +26 -19
- nuitka/utils/Importing.py +118 -24
- nuitka/utils/InstalledPythons.py +80 -75
- nuitka/utils/InstanceCounters.py +20 -17
- nuitka/utils/Jinja2.py +30 -22
- nuitka/utils/Json.py +19 -17
- nuitka/utils/MacOSApp.py +26 -18
- nuitka/utils/MemoryUsage.py +20 -18
- nuitka/utils/ModuleNames.py +42 -26
- nuitka/utils/ReExecute.py +50 -28
- nuitka/utils/Rest.py +20 -17
- nuitka/utils/SharedLibraries.py +161 -75
- nuitka/utils/Shebang.py +20 -17
- nuitka/utils/Signing.py +63 -18
- nuitka/utils/SlotMetaClasses.py +57 -0
- nuitka/utils/StaticLibraries.py +83 -56
- nuitka/utils/ThreadedExecutor.py +18 -17
- nuitka/utils/Timing.py +22 -20
- nuitka/utils/Utils.py +115 -25
- nuitka/utils/WindowsFileUsage.py +22 -20
- nuitka/utils/WindowsResources.py +25 -18
- nuitka/utils/Yaml.py +62 -24
- nuitka/utils/__init__.py +5 -4
- Nuitka_winsvc-1.8.dist-info/RECORD +0 -905
- nuitka/build/inline_copy/tqdm/tqdm/_tqdm_gui.py +0 -9
- nuitka/build/inline_copy/tqdm/tqdm/gui.py +0 -191
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/LICENSE.txt +0 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/entry_points.txt +0 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/top_level.txt +0 -0
nuitka/nodes/MatchNodes.py
CHANGED
|
@@ -1,42 +1,33 @@
|
|
|
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
|
""" Nodes for match statement for Python3.10+ """
|
|
19
5
|
|
|
20
|
-
from .ChildrenHavingMixins import
|
|
6
|
+
from .ChildrenHavingMixins import ChildrenHavingExpressionMatchTypeMixin
|
|
21
7
|
from .ExpressionBases import ExpressionBase
|
|
22
8
|
from .ExpressionShapeMixins import ExpressionTupleShapeExactMixin
|
|
23
9
|
|
|
24
10
|
|
|
25
11
|
class ExpressionMatchArgs(
|
|
26
|
-
ExpressionTupleShapeExactMixin,
|
|
12
|
+
ExpressionTupleShapeExactMixin,
|
|
13
|
+
ChildrenHavingExpressionMatchTypeMixin,
|
|
14
|
+
ExpressionBase,
|
|
27
15
|
):
|
|
28
16
|
kind = "EXPRESSION_MATCH_ARGS"
|
|
29
17
|
|
|
30
|
-
named_children = ("expression",)
|
|
18
|
+
named_children = ("expression", "match_type")
|
|
31
19
|
|
|
32
|
-
__slots__ = ("
|
|
20
|
+
__slots__ = ("positional_count", "keywords")
|
|
33
21
|
|
|
34
|
-
def __init__(self, expression, max_allowed, source_ref):
|
|
35
|
-
|
|
22
|
+
def __init__(self, expression, match_type, max_allowed, keywords, source_ref):
|
|
23
|
+
ChildrenHavingExpressionMatchTypeMixin.__init__(
|
|
24
|
+
self, expression=expression, match_type=match_type
|
|
25
|
+
)
|
|
36
26
|
|
|
37
27
|
ExpressionBase.__init__(self, source_ref)
|
|
38
28
|
|
|
39
|
-
self.
|
|
29
|
+
self.positional_count = max_allowed
|
|
30
|
+
self.keywords = tuple(keywords)
|
|
40
31
|
|
|
41
32
|
def computeExpression(self, trace_collection):
|
|
42
33
|
# TODO: May know that match args doesn't raise from the shape of
|
|
@@ -45,3 +36,25 @@ class ExpressionMatchArgs(
|
|
|
45
36
|
trace_collection.onExceptionRaiseExit(BaseException)
|
|
46
37
|
|
|
47
38
|
return self, None, None
|
|
39
|
+
|
|
40
|
+
def getPositionalArgsCount(self):
|
|
41
|
+
return self.positional_count
|
|
42
|
+
|
|
43
|
+
def getKeywordArgs(self):
|
|
44
|
+
return self.keywords
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
48
|
+
# integrates with CPython, but also works on its own.
|
|
49
|
+
#
|
|
50
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
51
|
+
# you may not use this file except in compliance with the License.
|
|
52
|
+
# You may obtain a copy of the License at
|
|
53
|
+
#
|
|
54
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
55
|
+
#
|
|
56
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
57
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
58
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
59
|
+
# See the License for the specific language governing permissions and
|
|
60
|
+
# 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
|
""" Module/Package attribute nodes
|
|
19
5
|
|
|
20
6
|
The represent special values of the modules. The "__name__", "__package__",
|
|
@@ -30,7 +16,7 @@ quickly, in others they will present boundaries for optimization.
|
|
|
30
16
|
from nuitka import Options
|
|
31
17
|
|
|
32
18
|
from .ConstantRefNodes import makeConstantRefNode
|
|
33
|
-
from .ExpressionBases import ExpressionBase
|
|
19
|
+
from .ExpressionBases import ExpressionBase
|
|
34
20
|
|
|
35
21
|
|
|
36
22
|
class ExpressionModuleAttributeBase(ExpressionBase):
|
|
@@ -178,20 +164,17 @@ class ExpressionModuleAttributeSpecRef(ExpressionModuleAttributeBase):
|
|
|
178
164
|
return self, None, None
|
|
179
165
|
|
|
180
166
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
def computeExpressionRaw(self, trace_collection):
|
|
196
|
-
# Nothing can be done here.
|
|
197
|
-
return self, None, None
|
|
167
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
168
|
+
# integrates with CPython, but also works on its own.
|
|
169
|
+
#
|
|
170
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
171
|
+
# you may not use this file except in compliance with the License.
|
|
172
|
+
# You may obtain a copy of the License at
|
|
173
|
+
#
|
|
174
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
175
|
+
#
|
|
176
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
177
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
178
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
179
|
+
# See the License for the specific language governing permissions and
|
|
180
|
+
# limitations under the License.
|
nuitka/nodes/ModuleNodes.py
CHANGED
|
@@ -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
|
""" Module/Package nodes
|
|
19
5
|
|
|
20
6
|
The top of the tree. Packages are also modules. Modules are what hold a program
|
|
@@ -34,6 +20,7 @@ from nuitka.PythonVersions import python_version
|
|
|
34
20
|
from nuitka.SourceCodeReferences import fromFilename
|
|
35
21
|
from nuitka.tree.SourceHandling import parsePyIFile, readSourceCodeFromFilename
|
|
36
22
|
from nuitka.utils.CStrings import encodePythonIdentifierToC
|
|
23
|
+
from nuitka.utils.Importing import getPackageDirFilename
|
|
37
24
|
from nuitka.utils.ModuleNames import ModuleName
|
|
38
25
|
|
|
39
26
|
from .ChildrenHavingMixins import (
|
|
@@ -57,6 +44,7 @@ class PythonModuleBase(NodeBase):
|
|
|
57
44
|
|
|
58
45
|
def __init__(self, module_name, reason, source_ref):
|
|
59
46
|
assert type(module_name) is ModuleName, module_name
|
|
47
|
+
assert module_name != "", source_ref
|
|
60
48
|
|
|
61
49
|
NodeBase.__init__(self, source_ref=source_ref)
|
|
62
50
|
|
|
@@ -144,7 +132,7 @@ class PythonModuleBase(NodeBase):
|
|
|
144
132
|
)
|
|
145
133
|
|
|
146
134
|
def getCodeName(self):
|
|
147
|
-
#
|
|
135
|
+
# Virtual method, pylint: disable=no-self-use
|
|
148
136
|
return None
|
|
149
137
|
|
|
150
138
|
def getCompileTimeFilename(self):
|
|
@@ -194,7 +182,10 @@ class PythonModuleBase(NodeBase):
|
|
|
194
182
|
current = filename
|
|
195
183
|
|
|
196
184
|
levels = full_name.count(".")
|
|
197
|
-
if
|
|
185
|
+
if (
|
|
186
|
+
self.isCompiledPythonPackage()
|
|
187
|
+
and not self.isCompiledPythonNamespacePackage()
|
|
188
|
+
):
|
|
198
189
|
levels += 1
|
|
199
190
|
|
|
200
191
|
for _i in range(levels):
|
|
@@ -202,8 +193,19 @@ class PythonModuleBase(NodeBase):
|
|
|
202
193
|
|
|
203
194
|
result = os.path.join(os.path.basename(current), result)
|
|
204
195
|
|
|
196
|
+
# Avoid unnecessary unicode path values
|
|
197
|
+
if str is not bytes:
|
|
198
|
+
try:
|
|
199
|
+
result = str(result)
|
|
200
|
+
except UnicodeDecodeError:
|
|
201
|
+
pass
|
|
202
|
+
|
|
205
203
|
return result
|
|
206
204
|
|
|
205
|
+
@staticmethod
|
|
206
|
+
def isExtensionModulePackage():
|
|
207
|
+
return False
|
|
208
|
+
|
|
207
209
|
|
|
208
210
|
class CompiledPythonModule(
|
|
209
211
|
ModuleChildrenHavingBodyOptionalStatementsOrNoneFunctionsTupleMixin,
|
|
@@ -453,7 +455,10 @@ class CompiledPythonModule(
|
|
|
453
455
|
# For code name of modules, we need to translate to C identifiers,
|
|
454
456
|
# removing characters illegal for that.
|
|
455
457
|
|
|
456
|
-
|
|
458
|
+
if self.code_name is None:
|
|
459
|
+
self.code_name = encodePythonIdentifierToC(self.module_name)
|
|
460
|
+
|
|
461
|
+
return self.code_name
|
|
457
462
|
|
|
458
463
|
@staticmethod
|
|
459
464
|
def getChildQualname(function_name):
|
|
@@ -474,6 +479,11 @@ class CompiledPythonModule(
|
|
|
474
479
|
self.used_modules = None
|
|
475
480
|
|
|
476
481
|
def getUsedModules(self):
|
|
482
|
+
if self.trace_collection is None:
|
|
483
|
+
# Optimization is not yet done at all, but report writing for error
|
|
484
|
+
# exit may happen.
|
|
485
|
+
return ()
|
|
486
|
+
|
|
477
487
|
return self.trace_collection.getModuleUsageAttempts()
|
|
478
488
|
|
|
479
489
|
def getUsedDistributions(self):
|
|
@@ -538,9 +548,11 @@ class CompiledPythonModule(
|
|
|
538
548
|
|
|
539
549
|
self.trace_collection = TraceCollectionModule(
|
|
540
550
|
self,
|
|
541
|
-
very_trusted_module_variables=
|
|
542
|
-
|
|
543
|
-
|
|
551
|
+
very_trusted_module_variables=(
|
|
552
|
+
old_collection.getVeryTrustedModuleVariables()
|
|
553
|
+
if old_collection is not None
|
|
554
|
+
else {}
|
|
555
|
+
),
|
|
544
556
|
)
|
|
545
557
|
|
|
546
558
|
module_body = self.subnode_body
|
|
@@ -707,6 +719,10 @@ class CompiledPythonPackage(CompiledPythonModule):
|
|
|
707
719
|
source_ref=source_ref,
|
|
708
720
|
)
|
|
709
721
|
|
|
722
|
+
@staticmethod
|
|
723
|
+
def isCompiledPythonPackage():
|
|
724
|
+
return True
|
|
725
|
+
|
|
710
726
|
def getOutputFilename(self):
|
|
711
727
|
result = self.getFilename()
|
|
712
728
|
|
|
@@ -720,6 +736,14 @@ class CompiledPythonPackage(CompiledPythonModule):
|
|
|
720
736
|
return not hasPythonFlagIsolated()
|
|
721
737
|
|
|
722
738
|
|
|
739
|
+
class CompiledPythonNamespacePackage(CompiledPythonPackage):
|
|
740
|
+
kind = "COMPILED_PYTHON_NAMESPACE_PACKAGE"
|
|
741
|
+
|
|
742
|
+
@staticmethod
|
|
743
|
+
def isCompiledPythonNamespacePackage():
|
|
744
|
+
return True
|
|
745
|
+
|
|
746
|
+
|
|
723
747
|
def makeUncompiledPythonModule(
|
|
724
748
|
module_name, reason, filename, bytecode, is_package, technical
|
|
725
749
|
):
|
|
@@ -934,7 +958,7 @@ class PythonMainModule(CompiledPythonModule):
|
|
|
934
958
|
)
|
|
935
959
|
|
|
936
960
|
# Technically required, but not found must not happen
|
|
937
|
-
assert finding != "not-found"
|
|
961
|
+
assert finding != "not-found", early_module_name
|
|
938
962
|
|
|
939
963
|
self.standard_library_modules.add(
|
|
940
964
|
makeModuleUsageAttempt(
|
|
@@ -952,13 +976,14 @@ class PythonMainModule(CompiledPythonModule):
|
|
|
952
976
|
class PythonExtensionModule(PythonModuleBase):
|
|
953
977
|
kind = "PYTHON_EXTENSION_MODULE"
|
|
954
978
|
|
|
955
|
-
__slots__ = ("used_modules", "technical")
|
|
979
|
+
__slots__ = ("used_modules", "module_filename", "technical", "is_package")
|
|
956
980
|
|
|
957
981
|
avoid_duplicates = set()
|
|
958
982
|
|
|
959
983
|
def __init__(
|
|
960
984
|
self,
|
|
961
985
|
module_name,
|
|
986
|
+
module_filename,
|
|
962
987
|
reason,
|
|
963
988
|
technical,
|
|
964
989
|
source_ref,
|
|
@@ -986,11 +1011,22 @@ class PythonExtensionModule(PythonModuleBase):
|
|
|
986
1011
|
|
|
987
1012
|
self.used_modules = None
|
|
988
1013
|
|
|
1014
|
+
if os.path.isdir(module_filename):
|
|
1015
|
+
module_filename = getPackageDirFilename(module_filename)
|
|
1016
|
+
self.is_package = True
|
|
1017
|
+
else:
|
|
1018
|
+
self.is_package = False
|
|
1019
|
+
|
|
1020
|
+
self.module_filename = module_filename
|
|
1021
|
+
|
|
1022
|
+
def isExtensionModulePackage(self):
|
|
1023
|
+
return self.is_package
|
|
1024
|
+
|
|
989
1025
|
def finalize(self):
|
|
990
1026
|
del self.used_modules
|
|
991
1027
|
|
|
992
1028
|
def getFilename(self):
|
|
993
|
-
return self.
|
|
1029
|
+
return self.module_filename
|
|
994
1030
|
|
|
995
1031
|
@staticmethod
|
|
996
1032
|
def startTraversal():
|
|
@@ -1000,24 +1036,31 @@ class PythonExtensionModule(PythonModuleBase):
|
|
|
1000
1036
|
"""Must be present as it's used in CPython library initialization."""
|
|
1001
1037
|
return self.technical
|
|
1002
1038
|
|
|
1003
|
-
def
|
|
1039
|
+
def _getPyIFilename(self):
|
|
1004
1040
|
"""Get Python type description filename."""
|
|
1005
1041
|
|
|
1006
1042
|
path = self.getFilename()
|
|
1007
1043
|
filename = os.path.basename(path)
|
|
1008
1044
|
dirname = os.path.dirname(path)
|
|
1009
1045
|
|
|
1010
|
-
|
|
1046
|
+
for suffix in (".pyi", ".py"):
|
|
1047
|
+
candidate = os.path.join(dirname, filename.split(".")[0]) + suffix
|
|
1048
|
+
|
|
1049
|
+
if os.path.exists(candidate):
|
|
1050
|
+
return candidate
|
|
1051
|
+
|
|
1052
|
+
return None
|
|
1011
1053
|
|
|
1012
1054
|
def _readPyIFile(self):
|
|
1013
1055
|
"""Read the .pyi file if present and scan for dependencies."""
|
|
1014
1056
|
|
|
1015
1057
|
if self.used_modules is None:
|
|
1016
|
-
pyi_filename = self.
|
|
1058
|
+
pyi_filename = self._getPyIFilename()
|
|
1017
1059
|
|
|
1018
|
-
if
|
|
1060
|
+
if pyi_filename is not None:
|
|
1019
1061
|
pyi_deps = parsePyIFile(
|
|
1020
|
-
module_name=self.getFullName(),
|
|
1062
|
+
module_name=self.getFullName(),
|
|
1063
|
+
pyi_filename=pyi_filename,
|
|
1021
1064
|
)
|
|
1022
1065
|
|
|
1023
1066
|
# These are not to be taken serious.
|
|
@@ -1057,3 +1100,19 @@ class PythonExtensionModule(PythonModuleBase):
|
|
|
1057
1100
|
|
|
1058
1101
|
def getParentModule(self):
|
|
1059
1102
|
return self
|
|
1103
|
+
|
|
1104
|
+
|
|
1105
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
1106
|
+
# integrates with CPython, but also works on its own.
|
|
1107
|
+
#
|
|
1108
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
1109
|
+
# you may not use this file except in compliance with the License.
|
|
1110
|
+
# You may obtain a copy of the License at
|
|
1111
|
+
#
|
|
1112
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
1113
|
+
#
|
|
1114
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
1115
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
1116
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1117
|
+
# See the License for the specific language governing permissions and
|
|
1118
|
+
# limitations under the License.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
""" Nodes that represent networkx functions
|
|
5
|
+
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from nuitka.HardImportRegistry import addModuleDynamicHard
|
|
9
|
+
|
|
10
|
+
# TODO: Disabled for now, keyword only arguments and star list argument are
|
|
11
|
+
# having ordering issues for call matching and code generation.
|
|
12
|
+
|
|
13
|
+
if False: # pylint: disable=using-constant-test
|
|
14
|
+
from .HardImportNodesGenerated import ( # pylint: disable=no-name-in-module
|
|
15
|
+
ExpressionNetworkxUtilsDecoratorsArgmapCallBase,
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
addModuleDynamicHard(module_name="networkx.utils.decorators")
|
|
19
|
+
|
|
20
|
+
class ExpressionNetworkxUtilsDecoratorsArgmapCall(
|
|
21
|
+
ExpressionNetworkxUtilsDecoratorsArgmapCallBase
|
|
22
|
+
):
|
|
23
|
+
kind = "EXPRESSION_NETWORKX_UTILS_DECORATORS_ARGMAP_CALL"
|
|
24
|
+
|
|
25
|
+
def replaceWithCompileTimeValue(self, trace_collection):
|
|
26
|
+
# TODO: The node generation should allow for this to not be necessary
|
|
27
|
+
trace_collection.onExceptionRaiseExit(BaseException)
|
|
28
|
+
|
|
29
|
+
return self, None, None
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
33
|
+
# integrates with CPython, but also works on its own.
|
|
34
|
+
#
|
|
35
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
36
|
+
# you may not use this file except in compliance with the License.
|
|
37
|
+
# You may obtain a copy of the License at
|
|
38
|
+
#
|
|
39
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
40
|
+
#
|
|
41
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
42
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
43
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
44
|
+
# See the License for the specific language governing permissions and
|
|
45
|
+
# limitations under the License.
|
nuitka/nodes/NodeBases.py
CHANGED
|
@@ -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
|
""" Node base classes.
|
|
19
5
|
|
|
20
6
|
These classes provide the generic base classes available for nodes,
|
|
@@ -28,7 +14,7 @@ expression only stuff.
|
|
|
28
14
|
import ast
|
|
29
15
|
from abc import abstractmethod
|
|
30
16
|
|
|
31
|
-
from nuitka import Options, Tracing, TreeXML
|
|
17
|
+
from nuitka import Options, Tracing, TreeXML
|
|
32
18
|
from nuitka.__past__ import iterItems
|
|
33
19
|
from nuitka.Errors import NuitkaNodeError
|
|
34
20
|
from nuitka.PythonVersions import python_version
|
|
@@ -38,6 +24,7 @@ from nuitka.utils.InstanceCounters import (
|
|
|
38
24
|
counted_init,
|
|
39
25
|
isCountingInstances,
|
|
40
26
|
)
|
|
27
|
+
from nuitka.Variables import TempVariable
|
|
41
28
|
|
|
42
29
|
from .FutureSpecs import fromFlags
|
|
43
30
|
from .NodeMakingHelpers import makeStatementOnlyNodesFromExpressions
|
|
@@ -332,8 +319,9 @@ class NodeBase(NodeMetaClassBase):
|
|
|
332
319
|
# For overload by module nodes
|
|
333
320
|
return False
|
|
334
321
|
|
|
335
|
-
|
|
336
|
-
|
|
322
|
+
@staticmethod
|
|
323
|
+
def isExpressionBuiltin():
|
|
324
|
+
return False
|
|
337
325
|
|
|
338
326
|
@staticmethod
|
|
339
327
|
def isStatementAssignmentVariable():
|
|
@@ -379,6 +367,10 @@ class NodeBase(NodeMetaClassBase):
|
|
|
379
367
|
def isExpressionMakeSequence():
|
|
380
368
|
return False
|
|
381
369
|
|
|
370
|
+
@staticmethod
|
|
371
|
+
def isExpressionVariableRefOrTempVariableRef():
|
|
372
|
+
return False
|
|
373
|
+
|
|
382
374
|
@staticmethod
|
|
383
375
|
def isNumberConstant():
|
|
384
376
|
return False
|
|
@@ -399,10 +391,6 @@ class NodeBase(NodeMetaClassBase):
|
|
|
399
391
|
def isExpressionClassBodyBase():
|
|
400
392
|
return False
|
|
401
393
|
|
|
402
|
-
@staticmethod
|
|
403
|
-
def isExpressionImportModuleNameHard():
|
|
404
|
-
return False
|
|
405
|
-
|
|
406
394
|
@staticmethod
|
|
407
395
|
def isExpressionFunctionCreation():
|
|
408
396
|
return False
|
|
@@ -470,7 +458,7 @@ class NodeBase(NodeMetaClassBase):
|
|
|
470
458
|
return False
|
|
471
459
|
|
|
472
460
|
def needsFrame(self):
|
|
473
|
-
"""Unless we are
|
|
461
|
+
"""Unless we are told otherwise, this depends on exception raise."""
|
|
474
462
|
|
|
475
463
|
return self.mayRaiseException(BaseException)
|
|
476
464
|
|
|
@@ -508,17 +496,18 @@ class CodeNodeMixin(object):
|
|
|
508
496
|
provider = self.getParentVariableProvider().getEntryPoint()
|
|
509
497
|
parent_name = provider.getCodeName()
|
|
510
498
|
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
assert isinstance(self, CodeNodeMixin)
|
|
514
|
-
|
|
515
|
-
if self.name:
|
|
516
|
-
name = uid + "_" + self.name.strip("<>")
|
|
499
|
+
if self.code_prefix == "helper_function":
|
|
500
|
+
name = self.name
|
|
517
501
|
else:
|
|
518
|
-
|
|
502
|
+
uid = "_%d" % provider.getChildUID(self)
|
|
503
|
+
|
|
504
|
+
if self.name:
|
|
505
|
+
name = uid + "_" + self.name.strip("<>")
|
|
506
|
+
else:
|
|
507
|
+
name = uid
|
|
519
508
|
|
|
520
|
-
|
|
521
|
-
|
|
509
|
+
if str is not bytes:
|
|
510
|
+
name = name.encode("ascii", "c_identifier").decode()
|
|
522
511
|
|
|
523
512
|
self.code_name = "%s$$$%s_%s" % (parent_name, self.code_prefix, name)
|
|
524
513
|
|
|
@@ -567,7 +556,7 @@ class ClosureGiverNodeMixin(CodeNodeMixin):
|
|
|
567
556
|
|
|
568
557
|
return "%s_%d" % (name, self.temp_scopes[name])
|
|
569
558
|
|
|
570
|
-
def allocateTempVariable(self, temp_scope, name, temp_type
|
|
559
|
+
def allocateTempVariable(self, temp_scope, name, temp_type):
|
|
571
560
|
if temp_scope is not None:
|
|
572
561
|
full_name = "%s__%s" % (temp_scope, name)
|
|
573
562
|
else:
|
|
@@ -591,14 +580,11 @@ class ClosureGiverNodeMixin(CodeNodeMixin):
|
|
|
591
580
|
if temp_name in self.temp_variables:
|
|
592
581
|
return self.temp_variables[temp_name]
|
|
593
582
|
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
assert False, temp_type
|
|
600
|
-
|
|
601
|
-
result = temp_class(owner=self, variable_name=temp_name)
|
|
583
|
+
result = TempVariable(
|
|
584
|
+
owner=self,
|
|
585
|
+
variable_name=temp_name,
|
|
586
|
+
variable_type=temp_type,
|
|
587
|
+
)
|
|
602
588
|
|
|
603
589
|
self.temp_variables[temp_name] = result
|
|
604
590
|
|
|
@@ -858,3 +844,19 @@ def fromXML(provider, xml, source_ref=None):
|
|
|
858
844
|
except (TypeError, AttributeError):
|
|
859
845
|
Tracing.printLine(node_class, args, source_ref)
|
|
860
846
|
raise
|
|
847
|
+
|
|
848
|
+
|
|
849
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
850
|
+
# integrates with CPython, but also works on its own.
|
|
851
|
+
#
|
|
852
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
853
|
+
# you may not use this file except in compliance with the License.
|
|
854
|
+
# You may obtain a copy of the License at
|
|
855
|
+
#
|
|
856
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
857
|
+
#
|
|
858
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
859
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
860
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
861
|
+
# See the License for the specific language governing permissions and
|
|
862
|
+
# 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
|
""" These are just helpers to create nodes, often to replace existing nodes
|
|
19
5
|
|
|
20
6
|
These are for use in optimizations and computations, and therefore cover
|
|
@@ -43,7 +29,7 @@ def makeConstantReplacementNode(constant, node, user_provided):
|
|
|
43
29
|
|
|
44
30
|
|
|
45
31
|
def makeRaiseExceptionReplacementExpression(
|
|
46
|
-
expression, exception_type, exception_value
|
|
32
|
+
expression, exception_type, exception_value, no_warning=False
|
|
47
33
|
):
|
|
48
34
|
from .BuiltinRefNodes import ExpressionBuiltinExceptionRef
|
|
49
35
|
from .ExceptionNodes import ExpressionRaiseException
|
|
@@ -52,7 +38,7 @@ def makeRaiseExceptionReplacementExpression(
|
|
|
52
38
|
|
|
53
39
|
assert type(exception_type) is str
|
|
54
40
|
|
|
55
|
-
if Options.shallWarnImplicitRaises():
|
|
41
|
+
if not no_warning and Options.shallWarnImplicitRaises():
|
|
56
42
|
unusual_logger.warning(
|
|
57
43
|
'%s: Will always raise exception: "%s(%s)"'
|
|
58
44
|
% (
|
|
@@ -456,3 +442,19 @@ def makeRaiseImportErrorReplacementExpression(expression, module_name):
|
|
|
456
442
|
exception_type="ImportError",
|
|
457
443
|
exception_value=module_name.asString(),
|
|
458
444
|
)
|
|
445
|
+
|
|
446
|
+
|
|
447
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
448
|
+
# integrates with CPython, but also works on its own.
|
|
449
|
+
#
|
|
450
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
451
|
+
# you may not use this file except in compliance with the License.
|
|
452
|
+
# You may obtain a copy of the License at
|
|
453
|
+
#
|
|
454
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
455
|
+
#
|
|
456
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
457
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
458
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
459
|
+
# See the License for the specific language governing permissions and
|
|
460
|
+
# limitations under the License.
|