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
|
@@ -1,21 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env python
|
|
2
|
-
# Copyright
|
|
3
|
-
|
|
4
|
-
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
5
|
-
# integrates with CPython, but also works on its own.
|
|
6
|
-
#
|
|
7
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
-
# you may not use this file except in compliance with the License.
|
|
9
|
-
# You may obtain a copy of the License at
|
|
10
|
-
#
|
|
11
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
-
#
|
|
13
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
-
# See the License for the specific language governing permissions and
|
|
17
|
-
# limitations under the License.
|
|
18
|
-
#
|
|
2
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
3
|
+
|
|
19
4
|
|
|
20
5
|
""" Main program for DLL checker tool.
|
|
21
6
|
|
|
@@ -26,9 +11,7 @@ import sys
|
|
|
26
11
|
import tempfile
|
|
27
12
|
from optparse import OptionParser
|
|
28
13
|
|
|
29
|
-
from nuitka.freezer.DllDependenciesWin32 import
|
|
30
|
-
detectBinaryPathDLLsWindowsDependencyWalker,
|
|
31
|
-
)
|
|
14
|
+
from nuitka.freezer.DllDependenciesWin32 import detectBinaryPathDLLsWin32
|
|
32
15
|
from nuitka.Tracing import my_print
|
|
33
16
|
from nuitka.utils.SharedLibraries import getDLLVersion, getSxsFromDLL
|
|
34
17
|
from nuitka.utils.Timing import TimerReport
|
|
@@ -56,7 +39,7 @@ def main():
|
|
|
56
39
|
with TimerReport(
|
|
57
40
|
message="Finding dependencies for %s took %%.2f seconds" % filename
|
|
58
41
|
):
|
|
59
|
-
r =
|
|
42
|
+
r = detectBinaryPathDLLsWin32(
|
|
60
43
|
is_main_executable=False,
|
|
61
44
|
source_dir=tempfile.gettempdir(),
|
|
62
45
|
original_dir=os.path.dirname(filename),
|
|
@@ -74,3 +57,18 @@ def main():
|
|
|
74
57
|
|
|
75
58
|
if __name__ == "__main__":
|
|
76
59
|
main()
|
|
60
|
+
|
|
61
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
62
|
+
# integrates with CPython, but also works on its own.
|
|
63
|
+
#
|
|
64
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
65
|
+
# you may not use this file except in compliance with the License.
|
|
66
|
+
# You may obtain a copy of the License at
|
|
67
|
+
#
|
|
68
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
69
|
+
#
|
|
70
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
71
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
72
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
73
|
+
# See the License for the specific language governing permissions and
|
|
74
|
+
# limitations under the License.
|
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# integrates with CPython, but also works on its own.
|
|
5
|
-
#
|
|
6
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
# you may not use this file except in compliance with the License.
|
|
8
|
-
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
10
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
12
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
# See the License for the specific language governing permissions and
|
|
16
|
-
# limitations under the License.
|
|
17
|
-
#
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
18
4
|
""" Find module code and open it in Visual Code.
|
|
19
5
|
|
|
20
6
|
The idea is that this can be used during development, to accept module names,
|
|
@@ -34,6 +20,7 @@ from nuitka.importing.Importing import (
|
|
|
34
20
|
from nuitka.Tracing import tools_logger
|
|
35
21
|
from nuitka.utils.Execution import callProcess, getExecutablePath
|
|
36
22
|
from nuitka.utils.FileOperations import relpath
|
|
23
|
+
from nuitka.utils.Importing import getPackageDirFilename
|
|
37
24
|
from nuitka.utils.Utils import isWin32Windows
|
|
38
25
|
|
|
39
26
|
|
|
@@ -58,6 +45,7 @@ def editModuleCode(module_search_desc):
|
|
|
58
45
|
|
|
59
46
|
candidate = module_search_desc
|
|
60
47
|
|
|
48
|
+
# spell-checker: ignore ONEFIL
|
|
61
49
|
while not candidate.endswith(".DIS") and not os.path.basename(
|
|
62
50
|
candidate
|
|
63
51
|
).startswith("ONEFIL"):
|
|
@@ -75,14 +63,23 @@ def editModuleCode(module_search_desc):
|
|
|
75
63
|
|
|
76
64
|
candidate = module_search_desc
|
|
77
65
|
|
|
78
|
-
while not candidate.endswith(".dist"):
|
|
66
|
+
while not candidate.endswith(".dist") and candidate:
|
|
79
67
|
candidate = os.path.dirname(candidate)
|
|
80
68
|
|
|
81
|
-
|
|
69
|
+
if candidate:
|
|
70
|
+
module_name = relpath(module_search_desc, start=candidate).replace(
|
|
71
|
+
"/", "."
|
|
72
|
+
)
|
|
73
|
+
else:
|
|
74
|
+
module_name = None
|
|
82
75
|
else:
|
|
83
76
|
module_name = ModuleName(module_search_desc)
|
|
84
77
|
|
|
85
|
-
if module_name is
|
|
78
|
+
if module_name is None:
|
|
79
|
+
tools_logger.sysexit(
|
|
80
|
+
"Error, did not find module for '%s' " % module_search_desc
|
|
81
|
+
)
|
|
82
|
+
else:
|
|
86
83
|
addMainScriptDirectory(os.getcwd())
|
|
87
84
|
module_filename = findModuleCode(module_name)
|
|
88
85
|
|
|
@@ -90,9 +87,9 @@ def editModuleCode(module_search_desc):
|
|
|
90
87
|
tools_logger.sysexit("Error, did not find '%s' module" % module_name)
|
|
91
88
|
else:
|
|
92
89
|
if os.path.isdir(module_filename):
|
|
93
|
-
candidate =
|
|
90
|
+
candidate = getPackageDirFilename(module_filename)
|
|
94
91
|
|
|
95
|
-
if
|
|
92
|
+
if candidate is not None:
|
|
96
93
|
module_filename = candidate
|
|
97
94
|
|
|
98
95
|
if os.path.isdir(module_filename):
|
|
@@ -109,3 +106,19 @@ def editModuleCode(module_search_desc):
|
|
|
109
106
|
|
|
110
107
|
if visual_code_binary:
|
|
111
108
|
callProcess([visual_code_binary, module_filename])
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
112
|
+
# integrates with CPython, but also works on its own.
|
|
113
|
+
#
|
|
114
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
115
|
+
# you may not use this file except in compliance with the License.
|
|
116
|
+
# You may obtain a copy of the License at
|
|
117
|
+
#
|
|
118
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
119
|
+
#
|
|
120
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
121
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
122
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
123
|
+
# See the License for the specific language governing permissions and
|
|
124
|
+
# limitations under the License.
|
|
@@ -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. """
|
|
@@ -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
|
""" Internal tool, compression standalone distribution files and attach to onefile bootstrap binary.
|
|
19
5
|
|
|
20
6
|
"""
|
|
@@ -23,7 +9,6 @@ import os
|
|
|
23
9
|
import shutil
|
|
24
10
|
import struct
|
|
25
11
|
import sys
|
|
26
|
-
import time
|
|
27
12
|
from contextlib import contextmanager
|
|
28
13
|
|
|
29
14
|
from nuitka.__past__ import to_byte
|
|
@@ -34,14 +19,24 @@ from nuitka.Progress import (
|
|
|
34
19
|
setupProgressBar,
|
|
35
20
|
)
|
|
36
21
|
from nuitka.Tracing import onefile_logger
|
|
37
|
-
from nuitka.utils.
|
|
38
|
-
from nuitka.utils.
|
|
22
|
+
from nuitka.utils.AppDirs import getCacheDir
|
|
23
|
+
from nuitka.utils.FileOperations import (
|
|
24
|
+
areSamePaths,
|
|
25
|
+
getFileList,
|
|
26
|
+
getFileSize,
|
|
27
|
+
makePath,
|
|
28
|
+
)
|
|
29
|
+
from nuitka.utils.Hashing import Hash, HashCRC32
|
|
39
30
|
from nuitka.utils.Utils import (
|
|
40
31
|
decoratorRetries,
|
|
41
|
-
isPosixWindows,
|
|
42
32
|
isWin32OrPosixWindows,
|
|
43
33
|
isWin32Windows,
|
|
44
34
|
)
|
|
35
|
+
from nuitka.Version import version_string
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def getCompressorLevel(low_memory):
|
|
39
|
+
return 3 if low_memory else 22
|
|
45
40
|
|
|
46
41
|
|
|
47
42
|
def getCompressorFunction(expect_compression, low_memory):
|
|
@@ -50,7 +45,7 @@ def getCompressorFunction(expect_compression, low_memory):
|
|
|
50
45
|
if expect_compression:
|
|
51
46
|
from zstandard import ZstdCompressor # pylint: disable=I0021,import-error
|
|
52
47
|
|
|
53
|
-
compressor_context = ZstdCompressor(level=
|
|
48
|
+
compressor_context = ZstdCompressor(level=getCompressorLevel(low_memory))
|
|
54
49
|
|
|
55
50
|
@contextmanager
|
|
56
51
|
def useCompressedFile(output_file):
|
|
@@ -71,138 +66,180 @@ def getCompressorFunction(expect_compression, low_memory):
|
|
|
71
66
|
return b"X", useSameFile
|
|
72
67
|
|
|
73
68
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
69
|
+
def _attachOnefilePayloadFile(
|
|
70
|
+
output_file,
|
|
71
|
+
is_archive,
|
|
72
|
+
is_compressing,
|
|
73
|
+
use_compression_cache,
|
|
74
|
+
low_memory,
|
|
75
|
+
file_compressor,
|
|
76
|
+
filename_full,
|
|
77
|
+
count,
|
|
78
|
+
dist_dir,
|
|
79
|
+
filename_encoding,
|
|
80
|
+
file_checksums,
|
|
81
|
+
win_path_sep,
|
|
82
|
+
):
|
|
83
|
+
# Somewhat detail rich, at least unless we make more things mandatory, and
|
|
84
|
+
# we also need to pass all modes, since this can be run in a separate process
|
|
85
|
+
# that has no access to options.
|
|
86
|
+
# pylint: disable=too-many-arguments,too-many-branches,too-many-locals,too-many-statements
|
|
77
87
|
|
|
78
|
-
|
|
79
|
-
# and with as a context manager.
|
|
88
|
+
payload_item_size = 0
|
|
80
89
|
|
|
81
|
-
|
|
82
|
-
try:
|
|
83
|
-
with open(onefile_output_filename, "ab") as output_file:
|
|
84
|
-
if attempt != 1:
|
|
85
|
-
onefile_logger.warning(
|
|
86
|
-
"Succeeded to open binary for payload attachment in attempt %d."
|
|
87
|
-
% attempt
|
|
88
|
-
)
|
|
90
|
+
filename_relative = os.path.relpath(filename_full, dist_dir)
|
|
89
91
|
|
|
90
|
-
|
|
92
|
+
reportProgressBar(
|
|
93
|
+
item=filename_relative,
|
|
94
|
+
update=False,
|
|
95
|
+
)
|
|
91
96
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
+
# Might be changing from POSIX to Win32 Python on Windows.
|
|
98
|
+
if win_path_sep:
|
|
99
|
+
filename_relative = filename_relative.replace("/", "\\")
|
|
100
|
+
else:
|
|
101
|
+
filename_relative = filename_relative.replace("\\", "/")
|
|
97
102
|
|
|
98
|
-
|
|
99
|
-
onefile_logger.warning(
|
|
100
|
-
"""\
|
|
101
|
-
Failed to open binary for payload attachment in attempt %d.
|
|
102
|
-
Disable Anti-Virus, e.g. Windows Defender for build folders. Retrying after a second of delay."""
|
|
103
|
-
% attempt
|
|
104
|
-
)
|
|
105
|
-
else:
|
|
106
|
-
onefile_logger.warning(
|
|
107
|
-
"""\
|
|
108
|
-
Failed to open binary for payload attachment in attempt %d with error code %d.
|
|
109
|
-
Disable Anti-Virus, e.g. Windows Defender for build folders. Retrying after a second of delay."""
|
|
110
|
-
% (attempt, e.errno)
|
|
111
|
-
)
|
|
103
|
+
filename_encoded = (filename_relative + "\0").encode(filename_encoding)
|
|
112
104
|
|
|
113
|
-
|
|
114
|
-
|
|
105
|
+
output_file.write(filename_encoded)
|
|
106
|
+
payload_item_size += len(filename_encoded)
|
|
115
107
|
|
|
108
|
+
file_flags = 0
|
|
109
|
+
if not isWin32OrPosixWindows() and os.path.islink(filename_full):
|
|
110
|
+
link_target = os.readlink(filename_full)
|
|
116
111
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
onefile_output_filename,
|
|
120
|
-
start_binary,
|
|
121
|
-
expect_compression,
|
|
122
|
-
file_checksums,
|
|
123
|
-
win_path_sep,
|
|
124
|
-
low_memory,
|
|
125
|
-
):
|
|
126
|
-
# Somewhat detail rich, pylint: disable=too-many-statements
|
|
127
|
-
compression_indicator, compressor = getCompressorFunction(
|
|
128
|
-
expect_compression=expect_compression,
|
|
129
|
-
low_memory=low_memory,
|
|
130
|
-
)
|
|
112
|
+
file_flags |= 2
|
|
113
|
+
file_header = to_byte(file_flags)
|
|
131
114
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
):
|
|
135
|
-
payload_item_size = 0
|
|
115
|
+
output_file.write(file_header)
|
|
116
|
+
payload_item_size += len(file_header)
|
|
136
117
|
|
|
137
|
-
|
|
118
|
+
link_target_encoded = (link_target + "\0").encode(filename_encoding)
|
|
138
119
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
120
|
+
output_file.write(link_target_encoded)
|
|
121
|
+
payload_item_size += len(link_target_encoded)
|
|
122
|
+
else:
|
|
123
|
+
# This flag is only relevant for non-links.
|
|
124
|
+
if not isWin32OrPosixWindows() and os.access(filename_full, os.X_OK):
|
|
125
|
+
file_flags |= 1
|
|
126
|
+
|
|
127
|
+
with open(filename_full, "rb") as input_file:
|
|
128
|
+
input_file.seek(0, 2)
|
|
129
|
+
input_size = input_file.tell()
|
|
130
|
+
input_file.seek(0, 0)
|
|
131
|
+
|
|
132
|
+
file_header = b""
|
|
143
133
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
filename_relative = filename_relative.replace("/", "\\")
|
|
147
|
-
else:
|
|
148
|
-
filename_relative = filename_relative.replace("\\", "/")
|
|
134
|
+
if not isWin32OrPosixWindows():
|
|
135
|
+
file_header += to_byte(file_flags)
|
|
149
136
|
|
|
150
|
-
|
|
137
|
+
file_header += struct.pack("Q", input_size)
|
|
151
138
|
|
|
152
|
-
|
|
153
|
-
|
|
139
|
+
if file_checksums:
|
|
140
|
+
hash_crc32 = HashCRC32()
|
|
141
|
+
hash_crc32.updateFromFileHandle(input_file)
|
|
142
|
+
input_file.seek(0, 0)
|
|
143
|
+
|
|
144
|
+
# CRC32 value 0 is avoided, used as error indicator in C code.
|
|
145
|
+
file_header += struct.pack("I", hash_crc32.asDigest() or 1)
|
|
154
146
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
147
|
+
if is_archive and is_compressing:
|
|
148
|
+
compression_cache_filename = _getCacheFilename(
|
|
149
|
+
binary_filename=filename_full, low_memory=low_memory
|
|
150
|
+
)
|
|
158
151
|
|
|
159
|
-
|
|
160
|
-
|
|
152
|
+
if not os.path.exists(compression_cache_filename):
|
|
153
|
+
with open(compression_cache_filename, "wb") as archive_entry_file:
|
|
154
|
+
with file_compressor(
|
|
155
|
+
archive_entry_file
|
|
156
|
+
) as compressed_file_tmp2:
|
|
157
|
+
shutil.copyfileobj(input_file, compressed_file_tmp2)
|
|
161
158
|
|
|
162
|
-
|
|
159
|
+
compressed_size = archive_entry_file.tell()
|
|
160
|
+
else:
|
|
161
|
+
compressed_size = getFileSize(compression_cache_filename)
|
|
162
|
+
|
|
163
|
+
file_header += struct.pack("I", compressed_size)
|
|
164
|
+
|
|
165
|
+
output_file.write(file_header)
|
|
163
166
|
payload_item_size += len(file_header)
|
|
164
167
|
|
|
165
|
-
|
|
168
|
+
if is_archive and is_compressing:
|
|
169
|
+
with open(compression_cache_filename, "rb") as archive_entry_file:
|
|
170
|
+
pos1 = output_file.tell()
|
|
171
|
+
shutil.copyfileobj(archive_entry_file, output_file)
|
|
172
|
+
pos2 = output_file.tell()
|
|
173
|
+
assert pos2 - pos1 == compressed_size
|
|
166
174
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
else:
|
|
170
|
-
# This flag is only relevant for non-links.
|
|
171
|
-
if not isWin32OrPosixWindows() and os.access(filename_full, os.X_OK):
|
|
172
|
-
file_flags |= 1
|
|
175
|
+
if count == 0 or not use_compression_cache:
|
|
176
|
+
os.unlink(compression_cache_filename)
|
|
173
177
|
|
|
174
|
-
|
|
175
|
-
input_file.seek(0, 2)
|
|
176
|
-
input_size = input_file.tell()
|
|
177
|
-
input_file.seek(0, 0)
|
|
178
|
+
payload_item_size += compressed_size
|
|
178
179
|
|
|
179
|
-
|
|
180
|
+
else:
|
|
181
|
+
shutil.copyfileobj(input_file, output_file)
|
|
182
|
+
payload_item_size += input_size
|
|
180
183
|
|
|
181
|
-
|
|
182
|
-
|
|
184
|
+
reportProgressBar(
|
|
185
|
+
item=filename_relative,
|
|
186
|
+
update=True,
|
|
187
|
+
)
|
|
183
188
|
|
|
184
|
-
|
|
189
|
+
return payload_item_size
|
|
185
190
|
|
|
186
|
-
if file_checksums:
|
|
187
|
-
hash_crc32 = HashCRC32()
|
|
188
|
-
hash_crc32.updateFromFileHandle(input_file)
|
|
189
|
-
input_file.seek(0, 0)
|
|
190
191
|
|
|
191
|
-
|
|
192
|
-
|
|
192
|
+
def _getCacheFilename(binary_filename, low_memory):
|
|
193
|
+
hash_value = Hash()
|
|
193
194
|
|
|
194
|
-
|
|
195
|
-
|
|
195
|
+
hash_value.updateFromFile(filename=binary_filename)
|
|
196
|
+
|
|
197
|
+
# Have different values for different Python major versions.
|
|
198
|
+
hash_value.updateFromValues(sys.version, sys.executable)
|
|
199
|
+
|
|
200
|
+
# Take Nuitka version into account as well, ought to catch code changes.
|
|
201
|
+
hash_value.updateFromValues(version_string)
|
|
202
|
+
|
|
203
|
+
# Take zstandard version and compression level into account.
|
|
204
|
+
from zstandard import __version__
|
|
205
|
+
|
|
206
|
+
hash_value.updateFromValues(__version__, getCompressorLevel(low_memory))
|
|
207
|
+
|
|
208
|
+
cache_dir = getCacheDir("onefile-compression")
|
|
209
|
+
makePath(cache_dir)
|
|
210
|
+
|
|
211
|
+
return os.path.join(cache_dir, hash_value.asHexDigest())
|
|
196
212
|
|
|
197
|
-
shutil.copyfileobj(input_file, compressed_file)
|
|
198
|
-
payload_item_size += input_size
|
|
199
213
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
214
|
+
def _getInputFileList(dist_dir, start_binary):
|
|
215
|
+
file_list = getFileList(dist_dir, normalize=False)
|
|
216
|
+
file_list_size = len(file_list)
|
|
217
|
+
file_list = [
|
|
218
|
+
filename for filename in file_list if not areSamePaths(filename, start_binary)
|
|
219
|
+
]
|
|
220
|
+
file_list.insert(0, start_binary)
|
|
204
221
|
|
|
205
|
-
|
|
222
|
+
# If this fails, above code failed to find the start binary.
|
|
223
|
+
assert file_list_size == len(file_list)
|
|
224
|
+
|
|
225
|
+
return tuple(file_list)
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
def attachOnefilePayload(
|
|
229
|
+
dist_dir,
|
|
230
|
+
onefile_output_filename,
|
|
231
|
+
start_binary,
|
|
232
|
+
expect_compression,
|
|
233
|
+
as_archive,
|
|
234
|
+
use_compression_cache,
|
|
235
|
+
file_checksums,
|
|
236
|
+
win_path_sep,
|
|
237
|
+
low_memory,
|
|
238
|
+
):
|
|
239
|
+
compression_indicator, compressor = getCompressorFunction(
|
|
240
|
+
expect_compression=expect_compression,
|
|
241
|
+
low_memory=low_memory,
|
|
242
|
+
)
|
|
206
243
|
|
|
207
244
|
@decoratorRetries(
|
|
208
245
|
logger=onefile_logger,
|
|
@@ -218,9 +255,7 @@ def attachOnefilePayload(
|
|
|
218
255
|
output_file.write(b"KA" + compression_indicator)
|
|
219
256
|
|
|
220
257
|
# Move the binary to start immediately to the start position
|
|
221
|
-
file_list =
|
|
222
|
-
file_list.remove(start_binary)
|
|
223
|
-
file_list.insert(0, start_binary)
|
|
258
|
+
file_list = _getInputFileList(dist_dir=dist_dir, start_binary=start_binary)
|
|
224
259
|
|
|
225
260
|
if isWin32Windows():
|
|
226
261
|
filename_encoding = "utf-16le"
|
|
@@ -235,13 +270,39 @@ def attachOnefilePayload(
|
|
|
235
270
|
total=len(file_list),
|
|
236
271
|
)
|
|
237
272
|
|
|
238
|
-
|
|
239
|
-
|
|
273
|
+
# Abstract the differences here for the time being.
|
|
274
|
+
if as_archive:
|
|
275
|
+
# Fake compressor then
|
|
276
|
+
@contextmanager
|
|
277
|
+
def overall_compressor(f):
|
|
278
|
+
yield f
|
|
279
|
+
|
|
280
|
+
file_compressor = compressor
|
|
281
|
+
is_archive = True
|
|
282
|
+
else:
|
|
283
|
+
overall_compressor = compressor
|
|
284
|
+
|
|
285
|
+
@contextmanager
|
|
286
|
+
def file_compressor(f):
|
|
287
|
+
yield f
|
|
288
|
+
|
|
289
|
+
is_archive = False
|
|
290
|
+
|
|
291
|
+
with overall_compressor(output_file) as compressed_file:
|
|
292
|
+
for count, filename_full in enumerate(file_list, start=1):
|
|
240
293
|
payload_size += _attachOnefilePayloadFile(
|
|
241
|
-
|
|
294
|
+
output_file=compressed_file,
|
|
295
|
+
is_archive=is_archive,
|
|
296
|
+
file_compressor=file_compressor,
|
|
297
|
+
is_compressing=compression_indicator == b"Y",
|
|
298
|
+
use_compression_cache=use_compression_cache,
|
|
299
|
+
low_memory=low_memory,
|
|
242
300
|
filename_full=filename_full,
|
|
301
|
+
count=count,
|
|
243
302
|
dist_dir=dist_dir,
|
|
244
303
|
filename_encoding=filename_encoding,
|
|
304
|
+
file_checksums=file_checksums,
|
|
305
|
+
win_path_sep=win_path_sep,
|
|
245
306
|
)
|
|
246
307
|
|
|
247
308
|
# Using empty filename as a terminator.
|
|
@@ -261,6 +322,7 @@ def attachOnefilePayload(
|
|
|
261
322
|
)
|
|
262
323
|
)
|
|
263
324
|
|
|
325
|
+
# TODO: If put into a resource, this is not really needed anymore.
|
|
264
326
|
if isWin32Windows():
|
|
265
327
|
# add padding to have the start position at a double world boundary
|
|
266
328
|
# this is needed on windows so that a possible certificate immediately
|
|
@@ -290,8 +352,10 @@ def main():
|
|
|
290
352
|
file_checksums = sys.argv[4] == "True"
|
|
291
353
|
win_path_sep = sys.argv[5] == "True"
|
|
292
354
|
low_memory = sys.argv[6] == "True"
|
|
355
|
+
as_archive = sys.argv[7] == "True"
|
|
356
|
+
use_compression_cache = sys.argv[8] == "True"
|
|
293
357
|
|
|
294
|
-
if os.
|
|
358
|
+
if os.getenv("NUITKA_PROGRESS_BAR") == "1":
|
|
295
359
|
enableProgressBar()
|
|
296
360
|
|
|
297
361
|
attachOnefilePayload(
|
|
@@ -300,9 +364,27 @@ def main():
|
|
|
300
364
|
start_binary=start_binary,
|
|
301
365
|
# We wouldn't be here, if that was not the case.
|
|
302
366
|
expect_compression=True,
|
|
367
|
+
as_archive=as_archive,
|
|
368
|
+
use_compression_cache=use_compression_cache,
|
|
303
369
|
file_checksums=file_checksums,
|
|
304
370
|
win_path_sep=win_path_sep,
|
|
305
371
|
low_memory=low_memory,
|
|
306
372
|
)
|
|
307
373
|
|
|
308
374
|
sys.exit(0)
|
|
375
|
+
|
|
376
|
+
|
|
377
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
378
|
+
# integrates with CPython, but also works on its own.
|
|
379
|
+
#
|
|
380
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
381
|
+
# you may not use this file except in compliance with the License.
|
|
382
|
+
# You may obtain a copy of the License at
|
|
383
|
+
#
|
|
384
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
385
|
+
#
|
|
386
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
387
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
388
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
389
|
+
# See the License for the specific language governing permissions and
|
|
390
|
+
# limitations under the License.
|
|
@@ -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. """
|