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/utils/StaticLibraries.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
|
""" This module deals with finding and information about static libraries.
|
|
19
5
|
|
|
20
6
|
"""
|
|
@@ -26,6 +12,7 @@ from nuitka.PythonFlavors import (
|
|
|
26
12
|
isAnacondaPython,
|
|
27
13
|
isDebianPackagePython,
|
|
28
14
|
isNuitkaPython,
|
|
15
|
+
isRyePython,
|
|
29
16
|
)
|
|
30
17
|
from nuitka.PythonVersions import (
|
|
31
18
|
getPythonABI,
|
|
@@ -36,7 +23,12 @@ from nuitka.PythonVersions import (
|
|
|
36
23
|
from nuitka.Tracing import general
|
|
37
24
|
|
|
38
25
|
from .FileOperations import getFileContentByLine, getFileList
|
|
39
|
-
from .Utils import
|
|
26
|
+
from .Utils import (
|
|
27
|
+
getLinuxDistribution,
|
|
28
|
+
isDebianBasedLinux,
|
|
29
|
+
isMacOS,
|
|
30
|
+
isWin32Windows,
|
|
31
|
+
)
|
|
40
32
|
|
|
41
33
|
_ldconf_paths = None
|
|
42
34
|
|
|
@@ -52,14 +44,15 @@ def locateStaticLinkLibrary(dll_name):
|
|
|
52
44
|
|
|
53
45
|
def _locateStaticLinkLibrary(dll_name):
|
|
54
46
|
# singleton, pylint: disable=global-statement
|
|
47
|
+
|
|
55
48
|
#
|
|
56
49
|
global _ldconf_paths
|
|
57
50
|
|
|
58
51
|
if _ldconf_paths is None:
|
|
59
52
|
_ldconf_paths = OrderedSet()
|
|
60
53
|
|
|
61
|
-
for
|
|
62
|
-
for conf_line in getFileContentByLine(
|
|
54
|
+
for conf_filename in getFileList("/etc/ld.so.conf.d", only_suffixes=".conf"):
|
|
55
|
+
for conf_line in getFileContentByLine(conf_filename):
|
|
63
56
|
conf_line = conf_line.split("#", 1)[0]
|
|
64
57
|
conf_line = conf_line.strip()
|
|
65
58
|
|
|
@@ -98,6 +91,19 @@ def isDebianSuitableForStaticLinking():
|
|
|
98
91
|
return True
|
|
99
92
|
|
|
100
93
|
|
|
94
|
+
def _getSysConfigVarLIBPL():
|
|
95
|
+
# Return the LIBPL config variable, or None if it's not set or retrievable
|
|
96
|
+
try:
|
|
97
|
+
import sysconfig
|
|
98
|
+
|
|
99
|
+
return sysconfig.get_config_var("LIBPL")
|
|
100
|
+
|
|
101
|
+
except ImportError:
|
|
102
|
+
# Cannot detect this properly for Python 2.6, but we don't care much
|
|
103
|
+
# about that anyway.
|
|
104
|
+
return None
|
|
105
|
+
|
|
106
|
+
|
|
101
107
|
def _getSystemStaticLibPythonPath():
|
|
102
108
|
# Return driven function with many cases, pylint: disable=too-many-branches,too-many-return-statements
|
|
103
109
|
|
|
@@ -143,52 +149,57 @@ def _getSystemStaticLibPythonPath():
|
|
|
143
149
|
for candidate in candidates:
|
|
144
150
|
if os.path.exists(candidate):
|
|
145
151
|
return candidate
|
|
152
|
+
|
|
153
|
+
return None
|
|
154
|
+
|
|
155
|
+
if isMacOS() and isRyePython():
|
|
156
|
+
return None
|
|
157
|
+
|
|
158
|
+
candidate = os.path.join(sys_prefix, "lib", "libpython" + python_abi_version + ".a")
|
|
159
|
+
|
|
160
|
+
if os.path.exists(candidate):
|
|
161
|
+
return candidate
|
|
162
|
+
|
|
163
|
+
# For Python2 this works. TODO: Figure out Debian and Python3.
|
|
164
|
+
if (
|
|
165
|
+
python_version < 0x300
|
|
166
|
+
and isDebianPackagePython()
|
|
167
|
+
and isDebianSuitableForStaticLinking()
|
|
168
|
+
):
|
|
169
|
+
candidate = locateStaticLinkLibrary("python" + python_abi_version)
|
|
146
170
|
else:
|
|
171
|
+
candidate = None
|
|
172
|
+
|
|
173
|
+
if candidate is not None and os.path.exists(candidate):
|
|
174
|
+
# Also check libz, can be missing
|
|
175
|
+
if not locateStaticLinkLibrary("z"):
|
|
176
|
+
general.warning(
|
|
177
|
+
"Error, missing 'libz-dev' installation needed for static lib-python."
|
|
178
|
+
)
|
|
179
|
+
|
|
180
|
+
return candidate
|
|
181
|
+
|
|
182
|
+
# This is not necessarily only for Python3 on Debian, but maybe others as well,
|
|
183
|
+
# but that's what's been tested. spell-checker: ignore libpl
|
|
184
|
+
if python_version >= 0x300 and isDebianPackagePython() and isDebianBasedLinux():
|
|
147
185
|
candidate = os.path.join(
|
|
148
|
-
|
|
186
|
+
_getSysConfigVarLIBPL(),
|
|
187
|
+
"libpython" + python_abi_version + "-pic.a",
|
|
149
188
|
)
|
|
150
189
|
|
|
151
190
|
if os.path.exists(candidate):
|
|
152
191
|
return candidate
|
|
153
192
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
)
|
|
160
|
-
candidate = locateStaticLinkLibrary("python" + python_abi_version)
|
|
161
|
-
else:
|
|
162
|
-
candidate = None
|
|
163
|
-
|
|
164
|
-
if candidate is not None and os.path.exists(candidate):
|
|
165
|
-
# Also check libz, can be missing
|
|
166
|
-
if not locateStaticLinkLibrary("z"):
|
|
167
|
-
general.warning(
|
|
168
|
-
"Error, missing 'libz-dev' installation needed for static lib-python."
|
|
169
|
-
)
|
|
193
|
+
libpl = _getSysConfigVarLIBPL()
|
|
194
|
+
if libpl is not None:
|
|
195
|
+
candidate = os.path.join(
|
|
196
|
+
libpl,
|
|
197
|
+
"libpython" + python_abi_version + ".a",
|
|
198
|
+
)
|
|
170
199
|
|
|
200
|
+
if os.path.exists(candidate):
|
|
171
201
|
return candidate
|
|
172
202
|
|
|
173
|
-
# This is not necessarily only for Python3 on Debian, but maybe others as well,
|
|
174
|
-
# but that's what's been tested.
|
|
175
|
-
if python_version >= 0x300 and isDebianPackagePython() and isDebianBasedLinux():
|
|
176
|
-
try:
|
|
177
|
-
import sysconfig
|
|
178
|
-
|
|
179
|
-
candidate = os.path.join(
|
|
180
|
-
sysconfig.get_config_var("LIBPL"),
|
|
181
|
-
"libpython" + python_abi_version + "-pic.a",
|
|
182
|
-
)
|
|
183
|
-
|
|
184
|
-
if os.path.exists(candidate):
|
|
185
|
-
return candidate
|
|
186
|
-
|
|
187
|
-
except ImportError:
|
|
188
|
-
# Cannot detect this properly for Python 2.6, but we don't care much
|
|
189
|
-
# about that anyway.
|
|
190
|
-
pass
|
|
191
|
-
|
|
192
203
|
return None
|
|
193
204
|
|
|
194
205
|
|
|
@@ -199,3 +210,19 @@ def getSystemStaticLibPythonPath():
|
|
|
199
210
|
_static_lib_python_path = _getSystemStaticLibPythonPath()
|
|
200
211
|
|
|
201
212
|
return _static_lib_python_path
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
216
|
+
# integrates with CPython, but also works on its own.
|
|
217
|
+
#
|
|
218
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
219
|
+
# you may not use this file except in compliance with the License.
|
|
220
|
+
# You may obtain a copy of the License at
|
|
221
|
+
#
|
|
222
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
223
|
+
#
|
|
224
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
225
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
226
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
227
|
+
# See the License for the specific language governing permissions and
|
|
228
|
+
# limitations under the License.
|
nuitka/utils/ThreadedExecutor.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
|
""" Threaded pool execution.
|
|
19
5
|
|
|
20
6
|
This can use Python3 native, or even Python2.7 backport, or has a Python2.6
|
|
@@ -84,3 +70,18 @@ def getThreadIdent():
|
|
|
84
70
|
|
|
85
71
|
assert RLock
|
|
86
72
|
assert ThreadPoolExecutor
|
|
73
|
+
|
|
74
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
75
|
+
# integrates with CPython, but also works on its own.
|
|
76
|
+
#
|
|
77
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
78
|
+
# you may not use this file except in compliance with the License.
|
|
79
|
+
# You may obtain a copy of the License at
|
|
80
|
+
#
|
|
81
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
82
|
+
#
|
|
83
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
84
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
85
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
86
|
+
# See the License for the specific language governing permissions and
|
|
87
|
+
# limitations under the License.
|
nuitka/utils/Timing.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
|
""" Time taking.
|
|
19
5
|
|
|
20
6
|
Mostly for measurements of Nuitka of itself, e.g. how long did it take to
|
|
@@ -64,9 +50,9 @@ class TimerReport(object):
|
|
|
64
50
|
|
|
65
51
|
# Shortcuts.
|
|
66
52
|
if decider is True:
|
|
67
|
-
decider = lambda:
|
|
53
|
+
decider = lambda: 1
|
|
68
54
|
elif decider is False:
|
|
69
|
-
decider = lambda:
|
|
55
|
+
decider = lambda: 0
|
|
70
56
|
|
|
71
57
|
if logger is None:
|
|
72
58
|
logger = general
|
|
@@ -97,4 +83,20 @@ class TimerReport(object):
|
|
|
97
83
|
)
|
|
98
84
|
|
|
99
85
|
if exception_type is None and above_threshold and self.decider():
|
|
100
|
-
self.logger.info(self.message % self.timer.getDelta())
|
|
86
|
+
self.logger.info(self.message % self.timer.getDelta(), keep_format=True)
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
90
|
+
# integrates with CPython, but also works on its own.
|
|
91
|
+
#
|
|
92
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
93
|
+
# you may not use this file except in compliance with the License.
|
|
94
|
+
# You may obtain a copy of the License at
|
|
95
|
+
#
|
|
96
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
97
|
+
#
|
|
98
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
99
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
100
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
101
|
+
# See the License for the specific language governing permissions and
|
|
102
|
+
# limitations under the License.
|
nuitka/utils/Utils.py
CHANGED
|
@@ -1,32 +1,21 @@
|
|
|
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
|
""" Utility module.
|
|
19
5
|
|
|
20
6
|
Here the small things that fit nowhere else and don't deserve their own module.
|
|
21
7
|
|
|
22
8
|
"""
|
|
23
9
|
|
|
10
|
+
import ctypes
|
|
24
11
|
import functools
|
|
25
12
|
import os
|
|
26
13
|
import sys
|
|
27
14
|
import time
|
|
28
15
|
from contextlib import contextmanager
|
|
29
16
|
|
|
17
|
+
from nuitka.__past__ import WindowsError # pylint: disable=I0021,redefined-builtin
|
|
18
|
+
|
|
30
19
|
|
|
31
20
|
def getOS():
|
|
32
21
|
if os.name == "nt":
|
|
@@ -98,6 +87,8 @@ def getLinuxDistribution():
|
|
|
98
87
|
|
|
99
88
|
if os.path.exists("/etc/os-release"):
|
|
100
89
|
result, base, version = _parseOsReleaseFileContents("/etc/os-release")
|
|
90
|
+
elif os.path.exists("/usr/lib/os-release"):
|
|
91
|
+
result, base, version = _parseOsReleaseFileContents("/usr/lib/os-release")
|
|
101
92
|
elif os.path.exists("/etc/SuSE-release"):
|
|
102
93
|
result, base, version = _parseOsReleaseFileContents("/etc/SuSE-release")
|
|
103
94
|
elif os.path.exists("/etc/issue"):
|
|
@@ -137,9 +128,47 @@ def getWindowsRelease():
|
|
|
137
128
|
if not isWin32OrPosixWindows():
|
|
138
129
|
return None
|
|
139
130
|
|
|
131
|
+
class OsVersionInfoEx(ctypes.Structure):
|
|
132
|
+
_fields_ = [
|
|
133
|
+
("dwOSVersionInfoSize", ctypes.c_ulong),
|
|
134
|
+
("dwMajorVersion", ctypes.c_ulong),
|
|
135
|
+
("dwMinorVersion", ctypes.c_ulong),
|
|
136
|
+
("dwBuildNumber", ctypes.c_ulong),
|
|
137
|
+
("dwPlatformId", ctypes.c_ulong),
|
|
138
|
+
("szCSDVersion", ctypes.c_wchar * 128),
|
|
139
|
+
("wServicePackMajor", ctypes.c_ushort),
|
|
140
|
+
("wServicePackMinor", ctypes.c_ushort),
|
|
141
|
+
("wSuiteMask", ctypes.c_ushort),
|
|
142
|
+
("wProductType", ctypes.c_byte),
|
|
143
|
+
("wReserved", ctypes.c_byte),
|
|
144
|
+
]
|
|
145
|
+
|
|
146
|
+
def __init__(self):
|
|
147
|
+
self.dwOSVersionInfoSize = ctypes.sizeof( # pylint: disable=invalid-name
|
|
148
|
+
self
|
|
149
|
+
)
|
|
150
|
+
|
|
151
|
+
os_version_value = OsVersionInfoEx()
|
|
152
|
+
|
|
153
|
+
result = ctypes.windll.ntdll.RtlGetVersion(ctypes.byref(os_version_value))
|
|
154
|
+
if result != 0:
|
|
155
|
+
raiseWindowsError("Failed to get OS version")
|
|
156
|
+
|
|
157
|
+
version = os_version_value.dwMajorVersion
|
|
158
|
+
|
|
159
|
+
if os_version_value.dwBuildNumber >= 21996 and version == 10:
|
|
160
|
+
version = 11
|
|
161
|
+
|
|
162
|
+
return version
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
def getMacOSRelease():
|
|
166
|
+
if not isMacOS():
|
|
167
|
+
return None
|
|
168
|
+
|
|
140
169
|
import platform
|
|
141
170
|
|
|
142
|
-
return platform.
|
|
171
|
+
return platform.mac_ver()[0]
|
|
143
172
|
|
|
144
173
|
|
|
145
174
|
def isDebianBasedLinux():
|
|
@@ -154,6 +183,12 @@ def isFedoraBasedLinux():
|
|
|
154
183
|
return (base or dist_name) == "Fedora"
|
|
155
184
|
|
|
156
185
|
|
|
186
|
+
def isArchBasedLinux():
|
|
187
|
+
dist_name, base, _dist_version = getLinuxDistribution()
|
|
188
|
+
|
|
189
|
+
return (base or dist_name) == "Arch"
|
|
190
|
+
|
|
191
|
+
|
|
157
192
|
def isAndroidBasedLinux():
|
|
158
193
|
# spell-checker: ignore googlesource
|
|
159
194
|
if not isLinux():
|
|
@@ -209,6 +244,10 @@ def isOpenBSD():
|
|
|
209
244
|
return getOS() == "OpenBSD"
|
|
210
245
|
|
|
211
246
|
|
|
247
|
+
def isBSD():
|
|
248
|
+
return "BSD" in getOS()
|
|
249
|
+
|
|
250
|
+
|
|
212
251
|
_is_alpine = None
|
|
213
252
|
|
|
214
253
|
|
|
@@ -330,8 +369,20 @@ def withNoSyntaxWarning():
|
|
|
330
369
|
yield
|
|
331
370
|
|
|
332
371
|
|
|
372
|
+
@contextmanager
|
|
373
|
+
def withNoWarning():
|
|
374
|
+
with withWarningRemoved(Warning):
|
|
375
|
+
yield
|
|
376
|
+
|
|
377
|
+
|
|
333
378
|
def decoratorRetries(
|
|
334
|
-
logger,
|
|
379
|
+
logger,
|
|
380
|
+
purpose,
|
|
381
|
+
consequence,
|
|
382
|
+
extra_recommendation=None,
|
|
383
|
+
attempts=5,
|
|
384
|
+
sleep_time=1,
|
|
385
|
+
exception_type=OSError,
|
|
335
386
|
):
|
|
336
387
|
"""Make retries for errors on Windows.
|
|
337
388
|
|
|
@@ -339,6 +390,10 @@ def decoratorRetries(
|
|
|
339
390
|
a virus checker warning.
|
|
340
391
|
"""
|
|
341
392
|
|
|
393
|
+
recommendation = "Disable Anti-Virus, e.g. Windows Defender for build folders."
|
|
394
|
+
if extra_recommendation is not None:
|
|
395
|
+
recommendation = "%s. %s" % (extra_recommendation, recommendation)
|
|
396
|
+
|
|
342
397
|
def inner(func):
|
|
343
398
|
if os.name != "nt":
|
|
344
399
|
return func
|
|
@@ -353,8 +408,9 @@ def decoratorRetries(
|
|
|
353
408
|
logger.warning(
|
|
354
409
|
"""\
|
|
355
410
|
Failed to %s in attempt %d due to %s.
|
|
356
|
-
|
|
357
|
-
|
|
411
|
+
%s
|
|
412
|
+
Retrying after a second of delay."""
|
|
413
|
+
% (purpose, attempt, str(e), recommendation)
|
|
358
414
|
)
|
|
359
415
|
|
|
360
416
|
else:
|
|
@@ -362,15 +418,17 @@ Disable Anti-Virus, e.g. Windows Defender for build folders. Retrying after a se
|
|
|
362
418
|
logger.warning(
|
|
363
419
|
"""\
|
|
364
420
|
Failed to %s in attempt %d.
|
|
365
|
-
|
|
366
|
-
|
|
421
|
+
%s
|
|
422
|
+
Retrying after a second of delay."""
|
|
423
|
+
% (purpose, attempt, recommendation)
|
|
367
424
|
)
|
|
368
425
|
else:
|
|
369
426
|
logger.warning(
|
|
370
427
|
"""\
|
|
371
428
|
Failed to %s in attempt %d with error code %d.
|
|
372
|
-
|
|
373
|
-
|
|
429
|
+
%s
|
|
430
|
+
Retrying after a second of delay."""
|
|
431
|
+
% (purpose, attempt, e.errno, recommendation)
|
|
374
432
|
)
|
|
375
433
|
|
|
376
434
|
time.sleep(sleep_time)
|
|
@@ -389,3 +447,35 @@ Disable Anti-Virus, e.g. Windows Defender for build folders. Retrying after a se
|
|
|
389
447
|
return retryingFunction
|
|
390
448
|
|
|
391
449
|
return inner
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
def raiseWindowsError(message):
|
|
453
|
+
raise WindowsError(
|
|
454
|
+
ctypes.GetLastError(),
|
|
455
|
+
"%s (%s)" % (message, ctypes.FormatError(ctypes.GetLastError())),
|
|
456
|
+
)
|
|
457
|
+
|
|
458
|
+
|
|
459
|
+
def getLaunchingNuitkaProcessEnvironmentValue(environment_variable_name):
|
|
460
|
+
# Hack, we need this to bootstrap and it's actually living in __main__
|
|
461
|
+
# module of nuitka package and renamed to where we can get at easily for
|
|
462
|
+
# other uses. pylint: disable=no-name-in-module,redefined-outer-name
|
|
463
|
+
from nuitka import getLaunchingNuitkaProcessEnvironmentValue
|
|
464
|
+
|
|
465
|
+
return getLaunchingNuitkaProcessEnvironmentValue(environment_variable_name)
|
|
466
|
+
|
|
467
|
+
|
|
468
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
469
|
+
# integrates with CPython, but also works on its own.
|
|
470
|
+
#
|
|
471
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
472
|
+
# you may not use this file except in compliance with the License.
|
|
473
|
+
# You may obtain a copy of the License at
|
|
474
|
+
#
|
|
475
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
476
|
+
#
|
|
477
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
478
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
479
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
480
|
+
# See the License for the specific language governing permissions and
|
|
481
|
+
# limitations under the License.
|
nuitka/utils/WindowsFileUsage.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
|
""" This is work in progress and hangs unfortunately on some file handles.
|
|
19
5
|
|
|
20
6
|
"""
|
|
@@ -30,7 +16,7 @@ STATUS_INVALID_HANDLE = 0xC0000008
|
|
|
30
16
|
STATUS_BUFFER_TOO_SMALL = 0xC0000023
|
|
31
17
|
|
|
32
18
|
|
|
33
|
-
def
|
|
19
|
+
def getWindowsAllProcessHandles():
|
|
34
20
|
"""Return all process system handles."""
|
|
35
21
|
|
|
36
22
|
i = 2048
|
|
@@ -198,13 +184,14 @@ def getWindowsAllProcessFileHandles():
|
|
|
198
184
|
|
|
199
185
|
ObjectTypeInformation = 2
|
|
200
186
|
|
|
201
|
-
|
|
187
|
+
# spell-checker: ignore psapi
|
|
188
|
+
psapi = ctypes.WinDLL("psapi.dll")
|
|
202
189
|
psapi.GetProcessImageFileNameW.restype = ctypes.wintypes.DWORD
|
|
203
190
|
|
|
204
191
|
this_process = ctypes.windll.kernel32.GetCurrentProcess()
|
|
205
192
|
this_process_id = ctypes.windll.kernel32.GetCurrentProcessId()
|
|
206
193
|
|
|
207
|
-
for process, handles in
|
|
194
|
+
for process, handles in getWindowsAllProcessHandles().items():
|
|
208
195
|
# Ignore ourselves, we do not matter normally.
|
|
209
196
|
|
|
210
197
|
if this_process_id == process:
|
|
@@ -333,3 +320,18 @@ def getWindowsAllProcessFileHandles():
|
|
|
333
320
|
|
|
334
321
|
if __name__ == "__main__":
|
|
335
322
|
getWindowsAllProcessFileHandles()
|
|
323
|
+
|
|
324
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
325
|
+
# integrates with CPython, but also works on its own.
|
|
326
|
+
#
|
|
327
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
328
|
+
# you may not use this file except in compliance with the License.
|
|
329
|
+
# You may obtain a copy of the License at
|
|
330
|
+
#
|
|
331
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
332
|
+
#
|
|
333
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
334
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
335
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
336
|
+
# See the License for the specific language governing permissions and
|
|
337
|
+
# limitations under the License.
|
nuitka/utils/WindowsResources.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 for handling Windows resources.
|
|
19
5
|
|
|
20
6
|
Nuitka needs to do a couple of things with Windows resources, e.g. adding
|
|
@@ -351,7 +337,7 @@ def getDefaultWindowsExecutableManifest():
|
|
|
351
337
|
# Note: Supported OS are lied about by CPython.
|
|
352
338
|
template = (
|
|
353
339
|
"""\
|
|
354
|
-
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
|
340
|
+
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
|
|
355
341
|
<assemblyIdentity type="win32" name="Mini" version="1.0.0.0"/>
|
|
356
342
|
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
|
357
343
|
<application>
|
|
@@ -362,6 +348,11 @@ def getDefaultWindowsExecutableManifest():
|
|
|
362
348
|
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
|
|
363
349
|
</application>
|
|
364
350
|
</compatibility>
|
|
351
|
+
<asmv3:application>
|
|
352
|
+
<asmv3:windowsSettings xmlns:ws2="http://schemas.microsoft.com/SMI/2016/WindowsSettings">
|
|
353
|
+
<ws2:longPathAware>true</ws2:longPathAware>
|
|
354
|
+
</asmv3:windowsSettings>
|
|
355
|
+
</asmv3:application>
|
|
365
356
|
%s
|
|
366
357
|
</assembly>
|
|
367
358
|
"""
|
|
@@ -634,3 +625,19 @@ def addVersionInfoResource(
|
|
|
634
625
|
lang_id=0,
|
|
635
626
|
logger=logger,
|
|
636
627
|
)
|
|
628
|
+
|
|
629
|
+
|
|
630
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
631
|
+
# integrates with CPython, but also works on its own.
|
|
632
|
+
#
|
|
633
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
634
|
+
# you may not use this file except in compliance with the License.
|
|
635
|
+
# You may obtain a copy of the License at
|
|
636
|
+
#
|
|
637
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
638
|
+
#
|
|
639
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
640
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
641
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
642
|
+
# See the License for the specific language governing permissions and
|
|
643
|
+
# limitations under the License.
|