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,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
|
""" Included entry points for standalone mode.
|
|
19
5
|
|
|
20
6
|
This keeps track of entry points for standalone. These should be extension
|
|
@@ -37,7 +23,7 @@ from nuitka.utils.FileOperations import (
|
|
|
37
23
|
isRelativePath,
|
|
38
24
|
)
|
|
39
25
|
from nuitka.utils.Importing import getSharedLibrarySuffix
|
|
40
|
-
from nuitka.utils.ModuleNames import ModuleName
|
|
26
|
+
from nuitka.utils.ModuleNames import ModuleName, checkModuleName
|
|
41
27
|
from nuitka.utils.SharedLibraries import getDLLVersion
|
|
42
28
|
|
|
43
29
|
IncludedEntryPoint = collections.namedtuple(
|
|
@@ -47,6 +33,7 @@ IncludedEntryPoint = collections.namedtuple(
|
|
|
47
33
|
"kind",
|
|
48
34
|
"source_path",
|
|
49
35
|
"dest_path",
|
|
36
|
+
"module_name",
|
|
50
37
|
"package_name",
|
|
51
38
|
"executable",
|
|
52
39
|
"reason",
|
|
@@ -56,7 +43,7 @@ IncludedEntryPoint = collections.namedtuple(
|
|
|
56
43
|
|
|
57
44
|
# Since inheritance is not a thing with namedtuple, have factory functions
|
|
58
45
|
def _makeIncludedEntryPoint(
|
|
59
|
-
logger, kind, source_path, dest_path, package_name, reason, executable
|
|
46
|
+
logger, kind, source_path, dest_path, module_name, package_name, reason, executable
|
|
60
47
|
):
|
|
61
48
|
if package_name is not None:
|
|
62
49
|
package_name = ModuleName(package_name)
|
|
@@ -70,23 +57,30 @@ def _makeIncludedEntryPoint(
|
|
|
70
57
|
assert not hasFilenameExtension(path=source_path, extensions=(".qml", ".json"))
|
|
71
58
|
|
|
72
59
|
return IncludedEntryPoint(
|
|
73
|
-
logger,
|
|
74
|
-
kind,
|
|
75
|
-
source_path,
|
|
76
|
-
os.path.normpath(dest_path),
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
60
|
+
logger=logger,
|
|
61
|
+
kind=kind,
|
|
62
|
+
source_path=source_path,
|
|
63
|
+
dest_path=os.path.normpath(dest_path),
|
|
64
|
+
module_name=module_name,
|
|
65
|
+
package_name=package_name,
|
|
66
|
+
executable=executable,
|
|
67
|
+
reason=reason,
|
|
80
68
|
)
|
|
81
69
|
|
|
82
70
|
|
|
83
71
|
def _makeDllOrExeEntryPoint(
|
|
84
|
-
logger, kind, source_path, dest_path, package_name, reason, executable
|
|
72
|
+
logger, kind, source_path, dest_path, module_name, package_name, reason, executable
|
|
85
73
|
):
|
|
86
74
|
assert type(dest_path) not in (tuple, list)
|
|
87
75
|
assert type(source_path) not in (tuple, list)
|
|
88
76
|
assert isRelativePath(dest_path), dest_path
|
|
89
77
|
assert ".dist" not in dest_path, dest_path
|
|
78
|
+
if module_name is not None:
|
|
79
|
+
assert checkModuleName(module_name), module_name
|
|
80
|
+
module_name = ModuleName(module_name)
|
|
81
|
+
if package_name is not None:
|
|
82
|
+
assert checkModuleName(package_name), package_name
|
|
83
|
+
package_name = ModuleName(package_name)
|
|
90
84
|
|
|
91
85
|
if not os.path.isfile(source_path):
|
|
92
86
|
logger.sysexit(
|
|
@@ -99,42 +93,52 @@ def _makeDllOrExeEntryPoint(
|
|
|
99
93
|
kind=kind,
|
|
100
94
|
source_path=source_path,
|
|
101
95
|
dest_path=dest_path,
|
|
96
|
+
module_name=module_name,
|
|
102
97
|
package_name=package_name,
|
|
103
98
|
reason=reason,
|
|
104
99
|
executable=executable,
|
|
105
100
|
)
|
|
106
101
|
|
|
107
102
|
|
|
108
|
-
def makeExtensionModuleEntryPoint(
|
|
103
|
+
def makeExtensionModuleEntryPoint(
|
|
104
|
+
logger, source_path, dest_path, module_name, package_name, reason
|
|
105
|
+
):
|
|
109
106
|
return _makeDllOrExeEntryPoint(
|
|
110
107
|
logger=logger,
|
|
111
108
|
kind="extension",
|
|
112
109
|
source_path=source_path,
|
|
113
110
|
dest_path=dest_path,
|
|
111
|
+
module_name=module_name,
|
|
114
112
|
package_name=package_name,
|
|
115
113
|
reason=reason,
|
|
116
114
|
executable=False,
|
|
117
115
|
)
|
|
118
116
|
|
|
119
117
|
|
|
120
|
-
def makeDllEntryPoint(
|
|
118
|
+
def makeDllEntryPoint(
|
|
119
|
+
logger, source_path, dest_path, module_name, package_name, reason
|
|
120
|
+
):
|
|
121
121
|
return _makeDllOrExeEntryPoint(
|
|
122
122
|
logger=logger,
|
|
123
123
|
kind="dll",
|
|
124
124
|
source_path=source_path,
|
|
125
125
|
dest_path=dest_path,
|
|
126
|
+
module_name=module_name,
|
|
126
127
|
package_name=package_name,
|
|
127
128
|
reason=reason,
|
|
128
129
|
executable=False,
|
|
129
130
|
)
|
|
130
131
|
|
|
131
132
|
|
|
132
|
-
def makeExeEntryPoint(
|
|
133
|
+
def makeExeEntryPoint(
|
|
134
|
+
logger, source_path, dest_path, module_name, package_name, reason
|
|
135
|
+
):
|
|
133
136
|
return _makeDllOrExeEntryPoint(
|
|
134
137
|
logger=logger,
|
|
135
138
|
kind="exe",
|
|
136
139
|
source_path=source_path,
|
|
137
140
|
dest_path=dest_path,
|
|
141
|
+
module_name=module_name,
|
|
138
142
|
package_name=package_name,
|
|
139
143
|
reason=reason,
|
|
140
144
|
executable=True,
|
|
@@ -147,6 +151,7 @@ def makeMainExecutableEntryPoint(dest_path):
|
|
|
147
151
|
kind="executable",
|
|
148
152
|
source_path=dest_path,
|
|
149
153
|
dest_path=os.path.basename(dest_path),
|
|
154
|
+
module_name=None,
|
|
150
155
|
package_name=None,
|
|
151
156
|
reason="main binary",
|
|
152
157
|
executable=True,
|
|
@@ -159,6 +164,7 @@ def _makeIgnoredEntryPoint(entry_point):
|
|
|
159
164
|
kind=entry_point.kind + "_ignored",
|
|
160
165
|
source_path=entry_point.source_path,
|
|
161
166
|
dest_path=entry_point.dest_path,
|
|
167
|
+
module_name=entry_point.module_name,
|
|
162
168
|
package_name=entry_point.package_name,
|
|
163
169
|
reason=entry_point.reason,
|
|
164
170
|
executable=entry_point.executable,
|
|
@@ -176,7 +182,7 @@ def _getTopLevelPackageName(package_name):
|
|
|
176
182
|
|
|
177
183
|
|
|
178
184
|
def _warnNonIdenticalEntryPoints(entry_point1, entry_point2):
|
|
179
|
-
# Well know
|
|
185
|
+
# Well know cases, where they duplicate all the DLLs, seems to work well
|
|
180
186
|
# enough to not report this. TODO: When we are adding to the report, it
|
|
181
187
|
# ought to be still added. spell-checker: ignore scipy
|
|
182
188
|
if frozenset(
|
|
@@ -187,10 +193,27 @@ def _warnNonIdenticalEntryPoints(entry_point1, entry_point2):
|
|
|
187
193
|
) == frozenset(("numpy", "scipy")):
|
|
188
194
|
return
|
|
189
195
|
|
|
196
|
+
if frozenset(
|
|
197
|
+
(
|
|
198
|
+
_getTopLevelPackageName(entry_point1.package_name),
|
|
199
|
+
_getTopLevelPackageName(entry_point2.package_name),
|
|
200
|
+
)
|
|
201
|
+
) == frozenset(("av", "cv2")):
|
|
202
|
+
return
|
|
203
|
+
|
|
204
|
+
def _describe(entry_point):
|
|
205
|
+
if entry_point.package_name:
|
|
206
|
+
return "'%s' of package '%s'" % (
|
|
207
|
+
entry_point.source_path,
|
|
208
|
+
entry_point.package_name,
|
|
209
|
+
)
|
|
210
|
+
else:
|
|
211
|
+
return "'%s'" % entry_point.source_path
|
|
212
|
+
|
|
190
213
|
inclusion_logger.warning(
|
|
191
214
|
"""\
|
|
192
|
-
Ignoring non-identical DLLs for
|
|
193
|
-
% (entry_point1.dest_path, entry_point1
|
|
215
|
+
Ignoring non-identical DLLs for %s, %s different from %s. Using first one and hoping for the best."""
|
|
216
|
+
% (entry_point1.dest_path, _describe(entry_point1), _describe(entry_point2))
|
|
194
217
|
)
|
|
195
218
|
|
|
196
219
|
|
|
@@ -206,6 +229,13 @@ def addIncludedEntryPoint(entry_point):
|
|
|
206
229
|
if areSamePaths(
|
|
207
230
|
entry_point.source_path, standalone_entry_point.source_path
|
|
208
231
|
):
|
|
232
|
+
if (
|
|
233
|
+
standalone_entry_point.kind == "extension"
|
|
234
|
+
and entry_point.kind == "dll"
|
|
235
|
+
):
|
|
236
|
+
entry_point = _makeIgnoredEntryPoint(entry_point)
|
|
237
|
+
break
|
|
238
|
+
|
|
209
239
|
return
|
|
210
240
|
|
|
211
241
|
if isShowInclusion():
|
|
@@ -285,19 +315,53 @@ def setMainEntryPoint(binary_filename):
|
|
|
285
315
|
|
|
286
316
|
|
|
287
317
|
def addExtensionModuleEntryPoint(module):
|
|
318
|
+
dest_path = module.getFullName().asPath()
|
|
319
|
+
|
|
320
|
+
if module.isExtensionModulePackage():
|
|
321
|
+
dest_path = os.path.join(dest_path, "__init__")
|
|
322
|
+
|
|
323
|
+
dest_path += getSharedLibrarySuffix(preferred=False)
|
|
324
|
+
|
|
288
325
|
standalone_entry_points.append(
|
|
289
326
|
makeExtensionModuleEntryPoint(
|
|
290
327
|
logger=general,
|
|
291
328
|
source_path=module.getFilename(),
|
|
292
|
-
dest_path=
|
|
293
|
-
|
|
329
|
+
dest_path=dest_path,
|
|
330
|
+
module_name=module.getFullName(),
|
|
294
331
|
package_name=module.getFullName().getPackageName(),
|
|
295
|
-
reason=
|
|
296
|
-
|
|
297
|
-
|
|
332
|
+
reason=(
|
|
333
|
+
"required extension module for CPython library startup"
|
|
334
|
+
if module.isTechnical()
|
|
335
|
+
else "used extension module"
|
|
336
|
+
),
|
|
298
337
|
)
|
|
299
338
|
)
|
|
300
339
|
|
|
301
340
|
|
|
341
|
+
def getIncludedExtensionModule(source_path):
|
|
342
|
+
for standalone_entry_point in standalone_entry_points:
|
|
343
|
+
if standalone_entry_point.kind == "extension":
|
|
344
|
+
if areSamePaths(source_path, standalone_entry_point.source_path):
|
|
345
|
+
return standalone_entry_point
|
|
346
|
+
|
|
347
|
+
return None
|
|
348
|
+
|
|
349
|
+
|
|
302
350
|
def getStandaloneEntryPoints():
|
|
303
351
|
return tuple(standalone_entry_points)
|
|
352
|
+
|
|
353
|
+
|
|
354
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
355
|
+
# integrates with CPython, but also works on its own.
|
|
356
|
+
#
|
|
357
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
358
|
+
# you may not use this file except in compliance with the License.
|
|
359
|
+
# You may obtain a copy of the License at
|
|
360
|
+
#
|
|
361
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
362
|
+
#
|
|
363
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
364
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
365
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
366
|
+
# See the License for the specific language governing permissions and
|
|
367
|
+
# limitations under the License.
|
nuitka/freezer/Onefile.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
|
""" Pack distribution folders into a single file.
|
|
19
5
|
|
|
20
6
|
"""
|
|
@@ -27,7 +13,6 @@ from nuitka import Options, OutputDirectories
|
|
|
27
13
|
from nuitka.build.SconsInterface import (
|
|
28
14
|
asBoolStr,
|
|
29
15
|
cleanSconsDirectory,
|
|
30
|
-
getSconsDataPath,
|
|
31
16
|
runScons,
|
|
32
17
|
setCommonSconsOptions,
|
|
33
18
|
)
|
|
@@ -69,19 +54,17 @@ def packDistFolderToOnefile(dist_dir):
|
|
|
69
54
|
Plugins.onOnefileFinished(onefile_output_filename)
|
|
70
55
|
|
|
71
56
|
|
|
72
|
-
def _runOnefileScons(onefile_compression):
|
|
57
|
+
def _runOnefileScons(onefile_compression, onefile_archive):
|
|
73
58
|
source_dir = OutputDirectories.getSourceDirectoryPath(onefile=True)
|
|
74
59
|
|
|
75
60
|
# Let plugins do their thing for onefile mode too.
|
|
76
61
|
Plugins.writeExtraCodeFiles(onefile=True)
|
|
77
62
|
|
|
78
63
|
options = {
|
|
79
|
-
"result_name": OutputDirectories.getResultBasePath(onefile=True),
|
|
80
64
|
"result_exe": OutputDirectories.getResultFullpath(onefile=True),
|
|
81
65
|
"source_dir": source_dir,
|
|
82
66
|
"debug_mode": asBoolStr(Options.is_debug),
|
|
83
67
|
"trace_mode": asBoolStr(Options.shallTraceExecution()),
|
|
84
|
-
"nuitka_src": getSconsDataPath(),
|
|
85
68
|
"onefile_splash_screen": asBoolStr(
|
|
86
69
|
Options.getWindowsSplashScreen() is not None
|
|
87
70
|
),
|
|
@@ -93,6 +76,7 @@ def _runOnefileScons(onefile_compression):
|
|
|
93
76
|
env_values["_NUITKA_ONEFILE_TEMP_BOOL"] = "1" if isOnefileTempDirMode() else "0"
|
|
94
77
|
env_values["_NUITKA_ONEFILE_COMPRESSION_BOOL"] = "1" if onefile_compression else "0"
|
|
95
78
|
env_values["_NUITKA_ONEFILE_BUILD_BOOL"] = "1" if onefile_compression else "0"
|
|
79
|
+
env_values["_NUITKA_ONEFILE_ARCHIVE_BOOL"] = "1" if onefile_archive else "0"
|
|
96
80
|
|
|
97
81
|
# Allow plugins to build definitions.
|
|
98
82
|
env_values.update(Plugins.getBuildDefinitions())
|
|
@@ -173,6 +157,8 @@ def runOnefileCompressor(
|
|
|
173
157
|
onefile_output_filename=onefile_output_filename,
|
|
174
158
|
start_binary=start_binary,
|
|
175
159
|
expect_compression=compressor_python is not None,
|
|
160
|
+
as_archive=Options.shallOnefileAsArchive(),
|
|
161
|
+
use_compression_cache=not Options.shallDisableCompressionCacheUsage(),
|
|
176
162
|
file_checksums=file_checksums,
|
|
177
163
|
win_path_sep=win_path_sep,
|
|
178
164
|
low_memory=Options.isLowMemory(),
|
|
@@ -206,6 +192,8 @@ def runOnefileCompressor(
|
|
|
206
192
|
str(file_checksums),
|
|
207
193
|
str(win_path_sep),
|
|
208
194
|
str(Options.isLowMemory()),
|
|
195
|
+
str(Options.shallOnefileAsArchive()),
|
|
196
|
+
str(not Options.shallDisableCompressionCacheUsage()),
|
|
209
197
|
],
|
|
210
198
|
shell=False,
|
|
211
199
|
)
|
|
@@ -243,6 +231,7 @@ def packDistFolderToOnefileBootstrap(onefile_output_filename, dist_dir):
|
|
|
243
231
|
# Create the bootstrap binary for unpacking.
|
|
244
232
|
_runOnefileScons(
|
|
245
233
|
onefile_compression=compressor_python is not None,
|
|
234
|
+
onefile_archive=Options.shallOnefileAsArchive(),
|
|
246
235
|
)
|
|
247
236
|
|
|
248
237
|
if isWin32Windows():
|
|
@@ -281,7 +270,28 @@ def packDistFolderToOnefileBootstrap(onefile_output_filename, dist_dir):
|
|
|
281
270
|
if Options.isRemoveBuildDir():
|
|
282
271
|
onefile_logger.info("Removing onefile build directory '%s'." % source_dir)
|
|
283
272
|
|
|
284
|
-
removeDirectory(
|
|
273
|
+
removeDirectory(
|
|
274
|
+
path=source_dir,
|
|
275
|
+
logger=onefile_logger,
|
|
276
|
+
ignore_errors=False,
|
|
277
|
+
extra_recommendation=None,
|
|
278
|
+
)
|
|
285
279
|
assert not os.path.exists(source_dir)
|
|
286
280
|
else:
|
|
287
281
|
onefile_logger.info("Keeping onefile build directory '%s'." % source_dir)
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
285
|
+
# integrates with CPython, but also works on its own.
|
|
286
|
+
#
|
|
287
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
288
|
+
# you may not use this file except in compliance with the License.
|
|
289
|
+
# You may obtain a copy of the License at
|
|
290
|
+
#
|
|
291
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
292
|
+
#
|
|
293
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
294
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
295
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
296
|
+
# See the License for the specific language governing permissions and
|
|
297
|
+
# limitations under the License.
|
nuitka/freezer/Standalone.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
|
""" Pack and copy files for standalone mode.
|
|
19
5
|
|
|
20
6
|
This is expected to work for macOS, Windows, and Linux. Other things like
|
|
@@ -26,7 +12,11 @@ import os
|
|
|
26
12
|
|
|
27
13
|
from nuitka.containers.OrderedSets import OrderedSet
|
|
28
14
|
from nuitka.Errors import NuitkaForbiddenDLLEncounter
|
|
29
|
-
from nuitka.importing.Importing import
|
|
15
|
+
from nuitka.importing.Importing import (
|
|
16
|
+
getPythonUnpackedSearchPath,
|
|
17
|
+
locateModule,
|
|
18
|
+
)
|
|
19
|
+
from nuitka.importing.StandardLibrary import isStandardLibraryPath
|
|
30
20
|
from nuitka.Options import (
|
|
31
21
|
isShowProgress,
|
|
32
22
|
shallNotStoreDependsExeCachedResults,
|
|
@@ -38,6 +28,12 @@ from nuitka.Progress import (
|
|
|
38
28
|
reportProgressBar,
|
|
39
29
|
setupProgressBar,
|
|
40
30
|
)
|
|
31
|
+
from nuitka.PythonFlavors import (
|
|
32
|
+
getHomebrewInstallPath,
|
|
33
|
+
isAnacondaPython,
|
|
34
|
+
isHomebrewPython,
|
|
35
|
+
)
|
|
36
|
+
from nuitka.PythonVersions import getSystemPrefixPath
|
|
41
37
|
from nuitka.Tracing import general, inclusion_logger
|
|
42
38
|
from nuitka.utils.FileOperations import areInSamePaths, isFilenameBelowPath
|
|
43
39
|
from nuitka.utils.SharedLibraries import copyDllFile, setSharedLibraryRPATH
|
|
@@ -56,8 +52,12 @@ from .DllDependenciesMacOS import (
|
|
|
56
52
|
fixupBinaryDLLPathsMacOS,
|
|
57
53
|
)
|
|
58
54
|
from .DllDependenciesPosix import detectBinaryPathDLLsPosix
|
|
59
|
-
from .DllDependenciesWin32 import
|
|
60
|
-
from .IncludedEntryPoints import
|
|
55
|
+
from .DllDependenciesWin32 import detectBinaryPathDLLsWin32
|
|
56
|
+
from .IncludedEntryPoints import (
|
|
57
|
+
addIncludedEntryPoint,
|
|
58
|
+
getIncludedExtensionModule,
|
|
59
|
+
makeDllEntryPoint,
|
|
60
|
+
)
|
|
61
61
|
|
|
62
62
|
|
|
63
63
|
def checkFreezingModuleSet():
|
|
@@ -135,7 +135,7 @@ def _detectBinaryDLLs(
|
|
|
135
135
|
message="Running 'depends.exe' for %s took %%.2f seconds" % binary_filename,
|
|
136
136
|
decider=isShowProgress,
|
|
137
137
|
):
|
|
138
|
-
return
|
|
138
|
+
return detectBinaryPathDLLsWin32(
|
|
139
139
|
is_main_executable=is_main_executable,
|
|
140
140
|
source_dir=source_dir,
|
|
141
141
|
original_dir=os.path.dirname(original_filename),
|
|
@@ -227,10 +227,32 @@ def copyDllsUsed(dist_dir, standalone_entry_points):
|
|
|
227
227
|
)
|
|
228
228
|
|
|
229
229
|
|
|
230
|
+
def _reduceToPythonPath(used_dlls):
|
|
231
|
+
inside_paths = getPythonUnpackedSearchPath()
|
|
232
|
+
|
|
233
|
+
if isAnacondaPython():
|
|
234
|
+
inside_paths.insert(0, getSystemPrefixPath())
|
|
235
|
+
|
|
236
|
+
if isHomebrewPython():
|
|
237
|
+
inside_paths.insert(0, getHomebrewInstallPath())
|
|
238
|
+
|
|
239
|
+
def decideInside(dll_filename):
|
|
240
|
+
return any(
|
|
241
|
+
isFilenameBelowPath(path=inside_path, filename=dll_filename)
|
|
242
|
+
for inside_path in inside_paths
|
|
243
|
+
)
|
|
244
|
+
|
|
245
|
+
used_dlls = set(
|
|
246
|
+
dll_filename for dll_filename in used_dlls if decideInside(dll_filename)
|
|
247
|
+
)
|
|
248
|
+
|
|
249
|
+
return used_dlls
|
|
250
|
+
|
|
251
|
+
|
|
230
252
|
def _detectUsedDLLs(standalone_entry_point, source_dir):
|
|
231
253
|
binary_filename = standalone_entry_point.source_path
|
|
232
254
|
try:
|
|
233
|
-
|
|
255
|
+
used_dll_paths = _detectBinaryDLLs(
|
|
234
256
|
is_main_executable=standalone_entry_point.kind == "executable",
|
|
235
257
|
source_dir=source_dir,
|
|
236
258
|
original_filename=standalone_entry_point.source_path,
|
|
@@ -240,57 +262,74 @@ def _detectUsedDLLs(standalone_entry_point, source_dir):
|
|
|
240
262
|
update_cache=not shallNotStoreDependsExeCachedResults(),
|
|
241
263
|
)
|
|
242
264
|
except NuitkaForbiddenDLLEncounter:
|
|
243
|
-
inclusion_logger.info(
|
|
265
|
+
inclusion_logger.info(
|
|
266
|
+
"Not including due to forbidden DLL '%s'." % binary_filename
|
|
267
|
+
)
|
|
244
268
|
else:
|
|
245
269
|
# Plugins generally decide if they allow dependencies from the outside
|
|
246
270
|
# based on the package name.
|
|
247
|
-
allow_outside_dependencies = Plugins.decideAllowOutsideDependencies(
|
|
248
|
-
standalone_entry_point.package_name
|
|
249
|
-
)
|
|
250
271
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
272
|
+
if standalone_entry_point.module_name is not None and used_dll_paths:
|
|
273
|
+
module_name, module_filename, _kind, finding = locateModule(
|
|
274
|
+
standalone_entry_point.module_name, parent_package=None, level=0
|
|
275
|
+
)
|
|
254
276
|
|
|
255
|
-
|
|
256
|
-
|
|
277
|
+
# Make sure we are not surprised here.
|
|
278
|
+
assert (
|
|
279
|
+
module_name == standalone_entry_point.module_name
|
|
280
|
+
), standalone_entry_point.module_name
|
|
281
|
+
assert finding == "absolute", standalone_entry_point.module_name
|
|
257
282
|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
283
|
+
if isStandardLibraryPath(module_filename):
|
|
284
|
+
allow_outside_dependencies = True
|
|
285
|
+
else:
|
|
286
|
+
allow_outside_dependencies = Plugins.decideAllowOutsideDependencies(
|
|
287
|
+
standalone_entry_point.module_name
|
|
262
288
|
)
|
|
263
289
|
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
)
|
|
290
|
+
if allow_outside_dependencies is False:
|
|
291
|
+
used_dll_paths = _reduceToPythonPath(used_dll_paths)
|
|
267
292
|
|
|
268
293
|
# Allow plugins can prevent inclusion, this may discard things from used_dlls.
|
|
269
294
|
removed_dlls = Plugins.removeDllDependencies(
|
|
270
|
-
dll_filename=binary_filename, dll_filenames=
|
|
295
|
+
dll_filename=binary_filename, dll_filenames=used_dll_paths
|
|
271
296
|
)
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
for
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
297
|
+
used_dll_paths = tuple(OrderedSet(used_dll_paths) - OrderedSet(removed_dlls))
|
|
298
|
+
|
|
299
|
+
for used_dll_path in used_dll_paths:
|
|
300
|
+
extension_standalone_entry_point = getIncludedExtensionModule(used_dll_path)
|
|
301
|
+
if extension_standalone_entry_point is not None:
|
|
302
|
+
# Sometimes an extension module is used like a DLL, make sure to
|
|
303
|
+
# remove it as a DLL then, there is no value in keeping those. Need
|
|
304
|
+
# to keep it's destination path from that extension module then.
|
|
305
|
+
dest_path = extension_standalone_entry_point.dest_path
|
|
306
|
+
elif (
|
|
307
|
+
standalone_entry_point.package_name is not None
|
|
308
|
+
and standalone_entry_point.package_name.hasOneOfNamespaces(
|
|
309
|
+
"openvino",
|
|
310
|
+
"av",
|
|
311
|
+
)
|
|
312
|
+
and areInSamePaths(standalone_entry_point.source_path, used_dll_path)
|
|
280
313
|
):
|
|
314
|
+
# TODO: If used by a DLL from the same folder, put it there,
|
|
315
|
+
# otherwise top level, but for now this is limited to a few cases
|
|
316
|
+
# where required that way (openvino) or known to be good only (av),
|
|
317
|
+
# because it broke other things. spell-checker: ignore openvino
|
|
318
|
+
|
|
281
319
|
dest_path = os.path.normpath(
|
|
282
320
|
os.path.join(
|
|
283
321
|
os.path.dirname(standalone_entry_point.dest_path),
|
|
284
|
-
os.path.basename(
|
|
322
|
+
os.path.basename(used_dll_path),
|
|
285
323
|
)
|
|
286
324
|
)
|
|
287
325
|
else:
|
|
288
|
-
dest_path = os.path.basename(
|
|
326
|
+
dest_path = os.path.basename(used_dll_path)
|
|
289
327
|
|
|
290
328
|
dll_entry_point = makeDllEntryPoint(
|
|
291
329
|
logger=inclusion_logger,
|
|
292
|
-
source_path=
|
|
330
|
+
source_path=used_dll_path,
|
|
293
331
|
dest_path=dest_path,
|
|
332
|
+
module_name=standalone_entry_point.module_name,
|
|
294
333
|
package_name=standalone_entry_point.package_name,
|
|
295
334
|
reason="Used by '%s'" % standalone_entry_point.dest_path,
|
|
296
335
|
)
|
|
@@ -313,3 +352,19 @@ def detectUsedDLLs(standalone_entry_points, source_dir):
|
|
|
313
352
|
)
|
|
314
353
|
|
|
315
354
|
closeProgressBar()
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
358
|
+
# integrates with CPython, but also works on its own.
|
|
359
|
+
#
|
|
360
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
361
|
+
# you may not use this file except in compliance with the License.
|
|
362
|
+
# You may obtain a copy of the License at
|
|
363
|
+
#
|
|
364
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
365
|
+
#
|
|
366
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
367
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
368
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
369
|
+
# See the License for the specific language governing permissions and
|
|
370
|
+
# limitations under the License.
|
nuitka/freezer/__init__.py
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
""" Dummy file to make this directory a package. """
|
|
5
|
+
|
|
3
6
|
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
4
7
|
# integrates with CPython, but also works on its own.
|
|
5
8
|
#
|
|
@@ -14,5 +17,3 @@
|
|
|
14
17
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
18
|
# See the License for the specific language governing permissions and
|
|
16
19
|
# limitations under the License.
|
|
17
|
-
#
|
|
18
|
-
""" Dummy file to make this directory a package. """
|
|
@@ -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
|
""" Ignore listing of modules that are not found, but probably that's acceptable.
|
|
19
5
|
|
|
20
6
|
"""
|
|
@@ -445,3 +431,19 @@ please report this as a bug."""
|
|
|
445
431
|
)
|
|
446
432
|
|
|
447
433
|
return module_name.hasOneOfNamespaces(getModuleIgnoreList())
|
|
434
|
+
|
|
435
|
+
|
|
436
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
437
|
+
# integrates with CPython, but also works on its own.
|
|
438
|
+
#
|
|
439
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
440
|
+
# you may not use this file except in compliance with the License.
|
|
441
|
+
# You may obtain a copy of the License at
|
|
442
|
+
#
|
|
443
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
444
|
+
#
|
|
445
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
446
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
447
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
448
|
+
# See the License for the specific language governing permissions and
|
|
449
|
+
# limitations under the License.
|