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/tree/SourceHandling.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
|
""" Read/write source code from files.
|
|
19
5
|
|
|
20
6
|
Reading is tremendously more complex than one might think, due to encoding
|
|
@@ -31,10 +17,7 @@ from nuitka.containers.OrderedSets import OrderedSet
|
|
|
31
17
|
from nuitka.plugins.Plugins import Plugins
|
|
32
18
|
from nuitka.PythonVersions import python_version, python_version_str
|
|
33
19
|
from nuitka.Tracing import general, my_print
|
|
34
|
-
from nuitka.utils.FileOperations import
|
|
35
|
-
getFileContentByLine,
|
|
36
|
-
putTextFileContents,
|
|
37
|
-
)
|
|
20
|
+
from nuitka.utils.FileOperations import putTextFileContents
|
|
38
21
|
from nuitka.utils.Shebang import getShebangFromSource, parseShebang
|
|
39
22
|
from nuitka.utils.Utils import isWin32OrPosixWindows
|
|
40
23
|
|
|
@@ -174,7 +157,20 @@ def getSourceCodeDiff(source_code, source_code_modified):
|
|
|
174
157
|
return list(diff)
|
|
175
158
|
|
|
176
159
|
|
|
177
|
-
|
|
160
|
+
_source_code_cache = {}
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
def readSourceCodeFromFilenameWithInformation(
|
|
164
|
+
module_name, source_filename, pre_load=False
|
|
165
|
+
):
|
|
166
|
+
key = (module_name, source_filename)
|
|
167
|
+
|
|
168
|
+
if key in _source_code_cache:
|
|
169
|
+
if pre_load:
|
|
170
|
+
return _source_code_cache[key]
|
|
171
|
+
else:
|
|
172
|
+
return _source_code_cache.pop(key)
|
|
173
|
+
|
|
178
174
|
if python_version < 0x300:
|
|
179
175
|
source_code = _readSourceCodeFromFilename2(source_filename)
|
|
180
176
|
else:
|
|
@@ -184,13 +180,19 @@ def readSourceCodeFromFilenameWithInformation(module_name, source_filename):
|
|
|
184
180
|
# module and doesn't want any changes from plugins in that case.
|
|
185
181
|
if module_name is not None:
|
|
186
182
|
source_code_modified, contributing_plugins = Plugins.onModuleSourceCode(
|
|
187
|
-
module_name=module_name,
|
|
183
|
+
module_name=module_name,
|
|
184
|
+
source_filename=source_filename,
|
|
185
|
+
source_code=source_code,
|
|
188
186
|
)
|
|
189
187
|
else:
|
|
190
188
|
source_code_modified = source_code
|
|
191
189
|
contributing_plugins = ()
|
|
192
190
|
|
|
193
|
-
if
|
|
191
|
+
if (
|
|
192
|
+
module_name is not None
|
|
193
|
+
and Options.shallShowSourceModifications(module_name)
|
|
194
|
+
and source_code_modified != source_code
|
|
195
|
+
):
|
|
194
196
|
source_diff = getSourceCodeDiff(source_code, source_code_modified)
|
|
195
197
|
|
|
196
198
|
if source_diff:
|
|
@@ -198,12 +200,19 @@ def readSourceCodeFromFilenameWithInformation(module_name, source_filename):
|
|
|
198
200
|
for line in source_diff:
|
|
199
201
|
my_print(line, end="\n" if not line.startswith("---") else "")
|
|
200
202
|
|
|
201
|
-
|
|
203
|
+
result = source_code_modified, source_code, contributing_plugins
|
|
204
|
+
|
|
205
|
+
if pre_load:
|
|
206
|
+
_source_code_cache[key] = result
|
|
202
207
|
|
|
208
|
+
return result
|
|
203
209
|
|
|
204
|
-
|
|
210
|
+
|
|
211
|
+
def readSourceCodeFromFilename(module_name, source_filename, pre_load=False):
|
|
205
212
|
return readSourceCodeFromFilenameWithInformation(
|
|
206
|
-
module_name=module_name,
|
|
213
|
+
module_name=module_name,
|
|
214
|
+
source_filename=source_filename,
|
|
215
|
+
pre_load=pre_load,
|
|
207
216
|
)[0]
|
|
208
217
|
|
|
209
218
|
|
|
@@ -255,6 +264,10 @@ def checkPythonVersionFromCode(source_code):
|
|
|
255
264
|
result = 0x3B0 > python_version >= 0x3A0
|
|
256
265
|
elif basename == "python3.11":
|
|
257
266
|
result = 0x3C0 > python_version >= 0x3B0
|
|
267
|
+
elif basename == "python3.12":
|
|
268
|
+
result = 0x3D0 > python_version >= 0x3C0
|
|
269
|
+
elif basename == "python3.13":
|
|
270
|
+
result = 0x3E0 > python_version >= 0x3D0
|
|
258
271
|
else:
|
|
259
272
|
result = None
|
|
260
273
|
|
|
@@ -274,6 +287,7 @@ That will make use the correct Python version for Nuitka.
|
|
|
274
287
|
|
|
275
288
|
|
|
276
289
|
def readSourceLine(source_ref):
|
|
290
|
+
"""Read a single source line, mainly for use in error reporting only."""
|
|
277
291
|
import linecache
|
|
278
292
|
|
|
279
293
|
return linecache.getline(
|
|
@@ -281,6 +295,13 @@ def readSourceLine(source_ref):
|
|
|
281
295
|
)
|
|
282
296
|
|
|
283
297
|
|
|
298
|
+
def readSourceLines(source_ref):
|
|
299
|
+
"""Read a source lines with linecache, for use with cached function source finding."""
|
|
300
|
+
import linecache
|
|
301
|
+
|
|
302
|
+
return linecache.getlines(source_ref.filename)
|
|
303
|
+
|
|
304
|
+
|
|
284
305
|
def writeSourceCode(filename, source_code):
|
|
285
306
|
# Prevent accidental overwriting. When this happens the collision detection
|
|
286
307
|
# or something else has failed.
|
|
@@ -301,7 +322,14 @@ def parsePyIFile(module_name, pyi_filename):
|
|
|
301
322
|
in_import_part = ""
|
|
302
323
|
in_quote = None
|
|
303
324
|
|
|
304
|
-
|
|
325
|
+
pyi_contents = readSourceCodeFromFilename(
|
|
326
|
+
# Do not pass module name, or else plugins modify it, which they
|
|
327
|
+
# should not.
|
|
328
|
+
module_name=None,
|
|
329
|
+
source_filename=pyi_filename,
|
|
330
|
+
)
|
|
331
|
+
|
|
332
|
+
for line in pyi_contents.splitlines():
|
|
305
333
|
line = line.strip()
|
|
306
334
|
|
|
307
335
|
if in_quote:
|
|
@@ -326,7 +354,8 @@ def parsePyIFile(module_name, pyi_filename):
|
|
|
326
354
|
elif line.startswith("from "):
|
|
327
355
|
parts = line.split(None, 3)
|
|
328
356
|
assert parts[0] == "from"
|
|
329
|
-
|
|
357
|
+
if parts[2] != "import":
|
|
358
|
+
continue
|
|
330
359
|
|
|
331
360
|
origin_name = parts[1]
|
|
332
361
|
|
|
@@ -345,11 +374,11 @@ def parsePyIFile(module_name, pyi_filename):
|
|
|
345
374
|
if dot_count > 0:
|
|
346
375
|
if origin_name:
|
|
347
376
|
origin_name = module_name.getRelativePackageName(
|
|
348
|
-
level=dot_count
|
|
377
|
+
level=dot_count - 1
|
|
349
378
|
).getChildNamed(origin_name)
|
|
350
379
|
else:
|
|
351
380
|
origin_name = module_name.getRelativePackageName(
|
|
352
|
-
level=dot_count
|
|
381
|
+
level=dot_count - 1
|
|
353
382
|
)
|
|
354
383
|
|
|
355
384
|
if origin_name != module_name:
|
|
@@ -390,3 +419,19 @@ def parsePyIFile(module_name, pyi_filename):
|
|
|
390
419
|
pyi_deps.add(in_import_part + "." + name)
|
|
391
420
|
|
|
392
421
|
return pyi_deps
|
|
422
|
+
|
|
423
|
+
|
|
424
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
425
|
+
# integrates with CPython, but also works on its own.
|
|
426
|
+
#
|
|
427
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
428
|
+
# you may not use this file except in compliance with the License.
|
|
429
|
+
# You may obtain a copy of the License at
|
|
430
|
+
#
|
|
431
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
432
|
+
#
|
|
433
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
434
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
435
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
436
|
+
# See the License for the specific language governing permissions and
|
|
437
|
+
# limitations under the License.
|
nuitka/tree/SyntaxErrors.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
|
""" Handling of syntax errors.
|
|
19
5
|
|
|
20
6
|
Format SyntaxError/IndentationError exception for output, as well as
|
|
@@ -139,3 +125,19 @@ def raiseSyntaxError(reason, source_ref, display_file=True, display_line=True):
|
|
|
139
125
|
exc.generated_by_nuitka = True
|
|
140
126
|
|
|
141
127
|
raise exc
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
131
|
+
# integrates with CPython, but also works on its own.
|
|
132
|
+
#
|
|
133
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
134
|
+
# you may not use this file except in compliance with the License.
|
|
135
|
+
# You may obtain a copy of the License at
|
|
136
|
+
#
|
|
137
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
138
|
+
#
|
|
139
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
140
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
141
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
142
|
+
# See the License for the specific language governing permissions and
|
|
143
|
+
# limitations under the License.
|
nuitka/tree/TreeHelpers.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
|
""" Helper functions for parsing the AST nodes and building the Nuitka node tree.
|
|
19
5
|
|
|
20
6
|
"""
|
|
@@ -76,6 +62,9 @@ def extractDocFromBody(node):
|
|
|
76
62
|
if Options.hasPythonFlagNoDocStrings():
|
|
77
63
|
doc = None
|
|
78
64
|
|
|
65
|
+
if doc is not None and python_version >= 0x3D0:
|
|
66
|
+
doc = doc.lstrip()
|
|
67
|
+
|
|
79
68
|
return body, doc
|
|
80
69
|
|
|
81
70
|
|
|
@@ -142,7 +131,7 @@ def detectFunctionBodyKind(nodes, start_value=None):
|
|
|
142
131
|
for name, field in ast.iter_fields(node):
|
|
143
132
|
if name in ("name", "body"):
|
|
144
133
|
pass
|
|
145
|
-
elif name in ("bases", "decorator_list", "keywords"):
|
|
134
|
+
elif name in ("bases", "decorator_list", "keywords", "type_params"):
|
|
146
135
|
for child in field:
|
|
147
136
|
_check(child)
|
|
148
137
|
elif name == "starargs":
|
|
@@ -159,7 +148,7 @@ def detectFunctionBodyKind(nodes, start_value=None):
|
|
|
159
148
|
for name, field in ast.iter_fields(node):
|
|
160
149
|
if name in ("name", "body"):
|
|
161
150
|
pass
|
|
162
|
-
elif name in ("bases", "decorator_list"):
|
|
151
|
+
elif name in ("bases", "decorator_list", "type_params"):
|
|
163
152
|
for child in field:
|
|
164
153
|
_check(child)
|
|
165
154
|
elif name == "args":
|
|
@@ -211,7 +200,10 @@ def detectFunctionBodyKind(nodes, start_value=None):
|
|
|
211
200
|
if name in ("name", "body", "comparators"):
|
|
212
201
|
pass
|
|
213
202
|
elif name == "generators":
|
|
214
|
-
|
|
203
|
+
if python_version < 0x3B0:
|
|
204
|
+
_check(field[0].iter)
|
|
205
|
+
else:
|
|
206
|
+
_check(field[0])
|
|
215
207
|
elif name in ("body", "elt"):
|
|
216
208
|
_check(field)
|
|
217
209
|
else:
|
|
@@ -302,6 +294,8 @@ def setBuildingDispatchers(path_args3, path_args2, path_args1):
|
|
|
302
294
|
|
|
303
295
|
|
|
304
296
|
def buildNode(provider, node, source_ref, allow_none=False):
|
|
297
|
+
# too many exception handlers, pylint: disable=too-many-branches
|
|
298
|
+
|
|
305
299
|
if node is None and allow_none:
|
|
306
300
|
return None
|
|
307
301
|
|
|
@@ -341,6 +335,9 @@ def buildNode(provider, node, source_ref, allow_none=False):
|
|
|
341
335
|
# we got interrupted.
|
|
342
336
|
optimization_logger.info("Interrupted at '%s'." % source_ref)
|
|
343
337
|
raise
|
|
338
|
+
except SystemExit:
|
|
339
|
+
optimization_logger.warning("Problem at '%s'." % source_ref.getAsString())
|
|
340
|
+
raise
|
|
344
341
|
except:
|
|
345
342
|
optimization_logger.warning(
|
|
346
343
|
"Problem at '%s' with %s." % (source_ref.getAsString(), ast.dump(node))
|
|
@@ -691,3 +688,19 @@ def popBuildContext():
|
|
|
691
688
|
|
|
692
689
|
def getBuildContext():
|
|
693
690
|
return build_contexts[-1]
|
|
691
|
+
|
|
692
|
+
|
|
693
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
694
|
+
# integrates with CPython, but also works on its own.
|
|
695
|
+
#
|
|
696
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
697
|
+
# you may not use this file except in compliance with the License.
|
|
698
|
+
# You may obtain a copy of the License at
|
|
699
|
+
#
|
|
700
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
701
|
+
#
|
|
702
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
703
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
704
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
705
|
+
# See the License for the specific language governing permissions and
|
|
706
|
+
# limitations under the License.
|
nuitka/tree/VariableClosure.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
|
""" Variable closure taking.
|
|
19
5
|
|
|
20
6
|
This is the completion of variable object completion. The variables were not
|
|
@@ -42,7 +28,6 @@ from nuitka.nodes.VariableRefNodes import (
|
|
|
42
28
|
ExpressionTempVariableRef,
|
|
43
29
|
makeExpressionVariableRef,
|
|
44
30
|
)
|
|
45
|
-
from nuitka.nodes.VariableReleaseNodes import makeStatementReleaseVariable
|
|
46
31
|
from nuitka.PythonVersions import (
|
|
47
32
|
getErrorMessageExecWithNestedFunction,
|
|
48
33
|
python_version,
|
|
@@ -51,7 +36,7 @@ from nuitka.Variables import isSharedAmongScopes, releaseSharedScopeInformation
|
|
|
51
36
|
|
|
52
37
|
from .Operations import VisitorNoopMixin, visitTree
|
|
53
38
|
from .ReformulationFunctionStatements import addFunctionVariableReleases
|
|
54
|
-
from .ReformulationTryFinallyStatements import
|
|
39
|
+
from .ReformulationTryFinallyStatements import makeTryFinallyReleaseStatement
|
|
55
40
|
from .SyntaxErrors import raiseSyntaxError
|
|
56
41
|
|
|
57
42
|
# Note: We do the variable scope assignment, as an extra step from tree
|
|
@@ -162,7 +147,7 @@ class VariableClosureLookupVisitorPhase1(VisitorNoopMixin):
|
|
|
162
147
|
temp_scope = provider.allocateTempScope("class_inplace")
|
|
163
148
|
|
|
164
149
|
tmp_variable = provider.allocateTempVariable(
|
|
165
|
-
temp_scope=temp_scope, name="value"
|
|
150
|
+
temp_scope=temp_scope, name="value", temp_type="object"
|
|
166
151
|
)
|
|
167
152
|
|
|
168
153
|
statements = mergeStatements(
|
|
@@ -172,7 +157,7 @@ class VariableClosureLookupVisitorPhase1(VisitorNoopMixin):
|
|
|
172
157
|
source=node.subnode_source.subnode_left,
|
|
173
158
|
source_ref=node.source_ref,
|
|
174
159
|
),
|
|
175
|
-
|
|
160
|
+
makeTryFinallyReleaseStatement(
|
|
176
161
|
provider=provider,
|
|
177
162
|
tried=(
|
|
178
163
|
makeStatementAssignmentVariable(
|
|
@@ -198,9 +183,7 @@ class VariableClosureLookupVisitorPhase1(VisitorNoopMixin):
|
|
|
198
183
|
source_ref=node.source_ref,
|
|
199
184
|
),
|
|
200
185
|
),
|
|
201
|
-
|
|
202
|
-
variable=tmp_variable, source_ref=node.source_ref
|
|
203
|
-
),
|
|
186
|
+
variables=(tmp_variable,),
|
|
204
187
|
source_ref=node.source_ref,
|
|
205
188
|
),
|
|
206
189
|
)
|
|
@@ -308,32 +291,19 @@ class VariableClosureLookupVisitorPhase1(VisitorNoopMixin):
|
|
|
308
291
|
elif node.isExpressionGeneratorObjectBody():
|
|
309
292
|
if python_version >= 0x300:
|
|
310
293
|
self._handleNonLocal(node)
|
|
311
|
-
|
|
312
|
-
# Only Python3.4 or later allows for generators to have qualname.
|
|
313
|
-
if python_version >= 0x340:
|
|
314
294
|
self._handleQualnameSetup(node)
|
|
315
295
|
elif node.isExpressionCoroutineObjectBody():
|
|
316
296
|
self._handleNonLocal(node)
|
|
317
|
-
|
|
318
297
|
self._handleQualnameSetup(node)
|
|
319
298
|
elif node.isExpressionAsyncgenObjectBody():
|
|
320
299
|
self._handleNonLocal(node)
|
|
321
|
-
|
|
322
300
|
self._handleQualnameSetup(node)
|
|
323
|
-
elif node.
|
|
301
|
+
elif node.isExpressionClassMappingBody():
|
|
324
302
|
self._handleNonLocal(node)
|
|
325
|
-
|
|
326
|
-
# Python3.4 allows for class declarations to be made global, even
|
|
327
|
-
# after they were declared, so we need to fix this up.
|
|
328
|
-
if python_version >= 0x340:
|
|
329
|
-
self._handleQualnameSetup(node)
|
|
303
|
+
self._handleQualnameSetup(node)
|
|
330
304
|
elif node.isExpressionFunctionBody():
|
|
331
305
|
if python_version >= 0x300:
|
|
332
306
|
self._handleNonLocal(node)
|
|
333
|
-
|
|
334
|
-
# Python 3.4 allows for class declarations to be made global, even
|
|
335
|
-
# after they were declared, so we need to fix this up.
|
|
336
|
-
if python_version >= 0x340:
|
|
337
307
|
self._handleQualnameSetup(node)
|
|
338
308
|
# Check if continue and break are properly in loops. If not, raise a
|
|
339
309
|
# syntax error.
|
|
@@ -471,6 +441,16 @@ can not delete variable '%s' referenced in nested scope"""
|
|
|
471
441
|
while node != class_var.getOwner():
|
|
472
442
|
node = node.getParentVariableProvider()
|
|
473
443
|
node.getLocalsScope().registerClosureVariable(class_var)
|
|
444
|
+
elif node.isStatementAssignmentVariableGeneric():
|
|
445
|
+
node.parent.replaceChild(
|
|
446
|
+
node,
|
|
447
|
+
makeStatementAssignmentVariable(
|
|
448
|
+
source=node.subnode_source,
|
|
449
|
+
variable=node.variable,
|
|
450
|
+
variable_version=node.variable_version,
|
|
451
|
+
source_ref=node.source_ref,
|
|
452
|
+
),
|
|
453
|
+
)
|
|
474
454
|
|
|
475
455
|
|
|
476
456
|
def completeVariableClosures(tree):
|
|
@@ -485,3 +465,19 @@ def completeVariableClosures(tree):
|
|
|
485
465
|
|
|
486
466
|
# Only used to detect syntax errors.
|
|
487
467
|
releaseSharedScopeInformation(tree)
|
|
468
|
+
|
|
469
|
+
|
|
470
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
471
|
+
# integrates with CPython, but also works on its own.
|
|
472
|
+
#
|
|
473
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
474
|
+
# you may not use this file except in compliance with the License.
|
|
475
|
+
# You may obtain a copy of the License at
|
|
476
|
+
#
|
|
477
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
478
|
+
#
|
|
479
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
480
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
481
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
482
|
+
# See the License for the specific language governing permissions and
|
|
483
|
+
# limitations under the License.
|
nuitka/tree/__init__.py
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
""" Dummy file to make this directory a package. """
|
|
5
|
+
|
|
3
6
|
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
4
7
|
# integrates with CPython, but also works on its own.
|
|
5
8
|
#
|
|
@@ -14,5 +17,3 @@
|
|
|
14
17
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
18
|
# See the License for the specific language governing permissions and
|
|
16
19
|
# limitations under the License.
|
|
17
|
-
#
|
|
18
|
-
""" Dummy file to make this directory a package. """
|
nuitka/utils/AppDirs.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
|
""" Wrapper around appdirs from PyPI
|
|
19
5
|
|
|
20
6
|
We do not assume to be installed and fallback to an inline copy and if that
|
|
@@ -35,15 +21,20 @@ from nuitka.Tracing import general
|
|
|
35
21
|
from .FileOperations import makePath
|
|
36
22
|
from .Importing import importFromInlineCopy
|
|
37
23
|
|
|
38
|
-
appdirs = importFromInlineCopy("appdirs", must_exist=False)
|
|
24
|
+
appdirs = importFromInlineCopy("appdirs", must_exist=False, delete_module=True)
|
|
39
25
|
|
|
40
26
|
if appdirs is None:
|
|
41
27
|
import appdirs # pylint: disable=I0021,import-error
|
|
42
28
|
|
|
29
|
+
|
|
30
|
+
def getAppdirsModule():
|
|
31
|
+
return appdirs
|
|
32
|
+
|
|
33
|
+
|
|
43
34
|
_cache_dir = None
|
|
44
35
|
|
|
45
36
|
|
|
46
|
-
def
|
|
37
|
+
def _getCacheDir():
|
|
47
38
|
global _cache_dir # singleton, pylint: disable=global-statement
|
|
48
39
|
|
|
49
40
|
if _cache_dir is None:
|
|
@@ -73,8 +64,38 @@ def getCacheDir():
|
|
|
73
64
|
"""\
|
|
74
65
|
Error, failed to create cache directory '%s'. If this is due to a special environment, \
|
|
75
66
|
please consider making a PR for a general solution that adds support for it, or use \
|
|
76
|
-
NUITKA_CACHE_DIR set to a writable directory."""
|
|
67
|
+
'NUITKA_CACHE_DIR' set to a writable directory."""
|
|
77
68
|
% _cache_dir
|
|
78
69
|
)
|
|
79
70
|
|
|
80
71
|
return _cache_dir
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
def getCacheDirEnvironmentVariableName(cache_basename):
|
|
75
|
+
env_name = cache_basename.replace("-", "_").upper()
|
|
76
|
+
|
|
77
|
+
return "NUITKA_CACHE_DIR_" + env_name
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
def getCacheDir(cache_basename):
|
|
81
|
+
cache_dir = os.getenv(getCacheDirEnvironmentVariableName(cache_basename))
|
|
82
|
+
if cache_dir is None:
|
|
83
|
+
cache_dir = os.path.join(_getCacheDir(), cache_basename)
|
|
84
|
+
|
|
85
|
+
return cache_dir
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
89
|
+
# integrates with CPython, but also works on its own.
|
|
90
|
+
#
|
|
91
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
92
|
+
# you may not use this file except in compliance with the License.
|
|
93
|
+
# You may obtain a copy of the License at
|
|
94
|
+
#
|
|
95
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
96
|
+
#
|
|
97
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
98
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
99
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
100
|
+
# See the License for the specific language governing permissions and
|
|
101
|
+
# limitations under the License.
|