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,25 +1,10 @@
|
|
|
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
|
"""DLL dependency scan methods for POSIX (Linux, *BSD, MSYS2).
|
|
19
5
|
|
|
20
6
|
"""
|
|
21
7
|
|
|
22
|
-
|
|
23
8
|
import os
|
|
24
9
|
import sys
|
|
25
10
|
|
|
@@ -28,7 +13,11 @@ from nuitka.PythonFlavors import isAnacondaPython
|
|
|
28
13
|
from nuitka.Tracing import inclusion_logger
|
|
29
14
|
from nuitka.utils.Execution import executeProcess, withEnvironmentPathAdded
|
|
30
15
|
from nuitka.utils.SharedLibraries import getSharedLibraryRPATH
|
|
31
|
-
from nuitka.utils.Utils import
|
|
16
|
+
from nuitka.utils.Utils import (
|
|
17
|
+
isAlpineLinux,
|
|
18
|
+
isAndroidBasedLinux,
|
|
19
|
+
isPosixWindows,
|
|
20
|
+
)
|
|
32
21
|
|
|
33
22
|
from .DllDependenciesCommon import getLdLibraryPath
|
|
34
23
|
|
|
@@ -204,6 +193,9 @@ _linux_dll_ignore_list = [
|
|
|
204
193
|
# The DRM layer should also be taken from the OS in question and won't
|
|
205
194
|
# allow loading native drivers otherwise.
|
|
206
195
|
"libdrm.so",
|
|
196
|
+
# The zlib can be assumed to be everywhere, and outside dependencies
|
|
197
|
+
# may actually load it.
|
|
198
|
+
"libz.so",
|
|
207
199
|
]
|
|
208
200
|
|
|
209
201
|
if isAnacondaPython() or isAlpineLinux():
|
|
@@ -211,3 +203,21 @@ if isAnacondaPython() or isAlpineLinux():
|
|
|
211
203
|
# so they have to be included.
|
|
212
204
|
# Alpine linux does not include `libstdc++.so` by default.
|
|
213
205
|
_linux_dll_ignore_list.remove("libstdc++.so")
|
|
206
|
+
|
|
207
|
+
if isAndroidBasedLinux():
|
|
208
|
+
_linux_dll_ignore_list.remove("libz.so")
|
|
209
|
+
|
|
210
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
211
|
+
# integrates with CPython, but also works on its own.
|
|
212
|
+
#
|
|
213
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
214
|
+
# you may not use this file except in compliance with the License.
|
|
215
|
+
# You may obtain a copy of the License at
|
|
216
|
+
#
|
|
217
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
218
|
+
#
|
|
219
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
220
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
221
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
222
|
+
# See the License for the specific language governing permissions and
|
|
223
|
+
# 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
|
"""DLL dependency scan methods for Win32 Windows.
|
|
19
5
|
|
|
20
6
|
Note: MSYS2, aka POSIX Windows is dealt with in the "DllDependenciesPosix" module.
|
|
@@ -28,6 +14,7 @@ from nuitka.build.SconsUtils import readSconsReport
|
|
|
28
14
|
from nuitka.containers.OrderedSets import OrderedSet
|
|
29
15
|
from nuitka.Options import isShowProgress
|
|
30
16
|
from nuitka.plugins.Plugins import Plugins
|
|
17
|
+
from nuitka.PythonVersions import getSystemPrefixPath
|
|
31
18
|
from nuitka.Tracing import inclusion_logger
|
|
32
19
|
from nuitka.utils.AppDirs import getCacheDir
|
|
33
20
|
from nuitka.utils.FileOperations import (
|
|
@@ -50,7 +37,7 @@ from .DllDependenciesCommon import getPackageSpecificDLLDirectories
|
|
|
50
37
|
_scan_dir_cache = {}
|
|
51
38
|
|
|
52
39
|
|
|
53
|
-
def
|
|
40
|
+
def detectBinaryPathDLLsWin32(
|
|
54
41
|
is_main_executable,
|
|
55
42
|
source_dir,
|
|
56
43
|
original_dir,
|
|
@@ -113,10 +100,15 @@ def _getScanDirectories(package_name, original_dir):
|
|
|
113
100
|
if cache_key in _scan_dir_cache:
|
|
114
101
|
return _scan_dir_cache[cache_key]
|
|
115
102
|
|
|
116
|
-
scan_dirs = [sys.
|
|
103
|
+
scan_dirs = [os.path.dirname(sys.executable), getSystemPrefixPath()]
|
|
117
104
|
|
|
118
105
|
if package_name is not None:
|
|
119
|
-
scan_dirs.extend(
|
|
106
|
+
scan_dirs.extend(
|
|
107
|
+
getPackageSpecificDLLDirectories(
|
|
108
|
+
package_name=package_name,
|
|
109
|
+
consider_plugins=False,
|
|
110
|
+
)
|
|
111
|
+
)
|
|
120
112
|
|
|
121
113
|
if original_dir is not None:
|
|
122
114
|
scan_dirs.append(original_dir)
|
|
@@ -200,7 +192,23 @@ def _getCacheFilename(
|
|
|
200
192
|
# Take Nuitka version into account as well, ought to catch code changes.
|
|
201
193
|
hash_value.updateFromValues(version_string)
|
|
202
194
|
|
|
203
|
-
cache_dir = os.path.join(getCacheDir(
|
|
195
|
+
cache_dir = os.path.join(getCacheDir("library_dependencies"), dependency_tool)
|
|
204
196
|
makePath(cache_dir)
|
|
205
197
|
|
|
206
198
|
return os.path.join(cache_dir, hash_value.asHexDigest())
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
202
|
+
# integrates with CPython, but also works on its own.
|
|
203
|
+
#
|
|
204
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
205
|
+
# you may not use this file except in compliance with the License.
|
|
206
|
+
# You may obtain a copy of the License at
|
|
207
|
+
#
|
|
208
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
209
|
+
#
|
|
210
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
211
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
212
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
213
|
+
# See the License for the specific language governing permissions and
|
|
214
|
+
# 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
|
""" Detect imports made for code by Python.
|
|
19
5
|
|
|
20
6
|
In the freezer, this is a step done to detect the technically needed modules to
|
|
@@ -224,6 +210,7 @@ def _detectEarlyImports():
|
|
|
224
210
|
"base64_codec",
|
|
225
211
|
"hex_codec",
|
|
226
212
|
"rot_13",
|
|
213
|
+
"punycode",
|
|
227
214
|
):
|
|
228
215
|
if non_locale_encoding in encoding_names:
|
|
229
216
|
encoding_names.remove(non_locale_encoding)
|
|
@@ -348,3 +335,19 @@ def detectStdlibAutoInclusionModules():
|
|
|
348
335
|
_stdlib_modules_names = tuple(sorted(_stdlib_modules_names))
|
|
349
336
|
|
|
350
337
|
return _stdlib_modules_names
|
|
338
|
+
|
|
339
|
+
|
|
340
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
341
|
+
# integrates with CPython, but also works on its own.
|
|
342
|
+
#
|
|
343
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
344
|
+
# you may not use this file except in compliance with the License.
|
|
345
|
+
# You may obtain a copy of the License at
|
|
346
|
+
#
|
|
347
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
348
|
+
#
|
|
349
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
350
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
351
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
352
|
+
# See the License for the specific language governing permissions and
|
|
353
|
+
# 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
|
""" Included data files for standalone mode.
|
|
19
5
|
|
|
20
6
|
This keeps track of data files for standalone mode. Do not should them for
|
|
@@ -28,17 +14,21 @@ import os
|
|
|
28
14
|
from nuitka.containers.OrderedDicts import OrderedDict
|
|
29
15
|
from nuitka.containers.OrderedSets import OrderedSet
|
|
30
16
|
from nuitka.Options import (
|
|
17
|
+
getOutputPath,
|
|
31
18
|
getShallIncludeDataDirs,
|
|
32
19
|
getShallIncludeDataFiles,
|
|
20
|
+
getShallIncludeExternallyDataFilePatterns,
|
|
33
21
|
getShallIncludePackageData,
|
|
34
22
|
getShallNotIncludeDataFilePatterns,
|
|
23
|
+
isAcceleratedMode,
|
|
35
24
|
isOnefileMode,
|
|
36
25
|
isStandaloneMode,
|
|
37
26
|
shallMakeModule,
|
|
38
27
|
)
|
|
39
28
|
from nuitka.OutputDirectories import getStandaloneDirectoryPath
|
|
40
|
-
from nuitka.Tracing import options_logger
|
|
29
|
+
from nuitka.Tracing import general, options_logger
|
|
41
30
|
from nuitka.utils.FileOperations import (
|
|
31
|
+
areSamePaths,
|
|
42
32
|
containsPathElements,
|
|
43
33
|
copyFileWithPermissions,
|
|
44
34
|
getFileContents,
|
|
@@ -46,6 +36,7 @@ from nuitka.utils.FileOperations import (
|
|
|
46
36
|
getFilenameExtension,
|
|
47
37
|
getFileSize,
|
|
48
38
|
isFilenameBelowPath,
|
|
39
|
+
isLegalPath,
|
|
49
40
|
isRelativePath,
|
|
50
41
|
makePath,
|
|
51
42
|
openTextFile,
|
|
@@ -108,13 +99,21 @@ class IncludedDataFile(object):
|
|
|
108
99
|
self.kind = kind
|
|
109
100
|
self.source_path = source_path
|
|
110
101
|
self.dest_path = os.path.normpath(dest_path)
|
|
102
|
+
|
|
103
|
+
is_legal, illegal_reason = isLegalPath(dest_path)
|
|
104
|
+
if not is_legal:
|
|
105
|
+
general.sysexit(
|
|
106
|
+
"Error, cannot add data file with '%s' path, as '%s'"
|
|
107
|
+
% (dest_path, illegal_reason)
|
|
108
|
+
)
|
|
109
|
+
|
|
111
110
|
self.reason = reason
|
|
112
111
|
self.data = data
|
|
113
112
|
self.tags = tags_set
|
|
114
113
|
self.tracer = tracer
|
|
115
114
|
|
|
116
115
|
def __repr__(self):
|
|
117
|
-
return "<%s %s source %s dest %s reason '%s' tags '%s'>" % (
|
|
116
|
+
return "<%s %s source '%s' dest '%s' reason '%s' tags '%s'>" % (
|
|
118
117
|
self.__class__.__name__,
|
|
119
118
|
self.kind,
|
|
120
119
|
self.source_path,
|
|
@@ -157,18 +156,6 @@ def makeIncludedDataFile(source_path, dest_path, reason, tracer, tags):
|
|
|
157
156
|
if "framework_resource" in tags and not isMacOS():
|
|
158
157
|
tracer.sysexit("Using resource files on non-MacOS")
|
|
159
158
|
|
|
160
|
-
inside = True
|
|
161
|
-
if not isRelativePath(dest_path):
|
|
162
|
-
if "framework_resource" in tags and not isOnefileMode():
|
|
163
|
-
inside = isRelativePath(os.path.join("Resources", dest_path))
|
|
164
|
-
else:
|
|
165
|
-
inside = False
|
|
166
|
-
|
|
167
|
-
if not inside:
|
|
168
|
-
tracer.sysexit(
|
|
169
|
-
"Error, cannot use dest path '%s' outside of distribution." % dest_path
|
|
170
|
-
)
|
|
171
|
-
|
|
172
159
|
# Refuse directories, these must be kept distinct.
|
|
173
160
|
if os.path.isdir(source_path):
|
|
174
161
|
tracer.sysexit(
|
|
@@ -176,6 +163,27 @@ def makeIncludedDataFile(source_path, dest_path, reason, tracer, tags):
|
|
|
176
163
|
% source_path
|
|
177
164
|
)
|
|
178
165
|
|
|
166
|
+
# In accelerated mode, data files can be everywhere, but they cannot
|
|
167
|
+
# change place.
|
|
168
|
+
if isAcceleratedMode():
|
|
169
|
+
if "package_data" not in tags and not areSamePaths(source_path, dest_path):
|
|
170
|
+
tracer.sysexit(
|
|
171
|
+
"Error, cannot change paths for data files in accelerated mode from '%s' to '%s'."
|
|
172
|
+
% (source_path, dest_path)
|
|
173
|
+
)
|
|
174
|
+
else:
|
|
175
|
+
inside = True
|
|
176
|
+
if not isRelativePath(dest_path):
|
|
177
|
+
if "framework_resource" in tags and not isOnefileMode():
|
|
178
|
+
inside = isRelativePath(os.path.join("Resources", dest_path))
|
|
179
|
+
else:
|
|
180
|
+
inside = False
|
|
181
|
+
|
|
182
|
+
if not inside:
|
|
183
|
+
tracer.sysexit(
|
|
184
|
+
"Error, cannot use dest path '%s' outside of distribution." % dest_path
|
|
185
|
+
)
|
|
186
|
+
|
|
179
187
|
return IncludedDataFile(
|
|
180
188
|
kind="data_file",
|
|
181
189
|
source_path=source_path,
|
|
@@ -196,8 +204,11 @@ default_ignored_suffixes = (
|
|
|
196
204
|
".pyi",
|
|
197
205
|
".so",
|
|
198
206
|
".pyd",
|
|
207
|
+
".pyx",
|
|
199
208
|
".dll",
|
|
200
209
|
".dylib",
|
|
210
|
+
".exe",
|
|
211
|
+
".bin",
|
|
201
212
|
)
|
|
202
213
|
|
|
203
214
|
default_ignored_suffixes += getSharedLibrarySuffixes()
|
|
@@ -205,6 +216,7 @@ default_ignored_suffixes += getSharedLibrarySuffixes()
|
|
|
205
216
|
default_ignored_dirs = (
|
|
206
217
|
"__pycache__",
|
|
207
218
|
"site-packages",
|
|
219
|
+
"dist-packages",
|
|
208
220
|
"vendor-packages",
|
|
209
221
|
)
|
|
210
222
|
|
|
@@ -224,13 +236,22 @@ def makeIncludedDataDirectory(
|
|
|
224
236
|
ignore_suffixes=(),
|
|
225
237
|
only_suffixes=(),
|
|
226
238
|
normalize=True,
|
|
239
|
+
raw=False,
|
|
227
240
|
):
|
|
228
241
|
assert isRelativePath(dest_path), dest_path
|
|
229
242
|
assert os.path.isdir(source_path), source_path
|
|
230
243
|
|
|
231
|
-
ignore_dirs = tuple(ignore_dirs)
|
|
232
|
-
|
|
233
|
-
|
|
244
|
+
ignore_dirs = tuple(ignore_dirs)
|
|
245
|
+
if not raw:
|
|
246
|
+
ignore_dirs += default_ignored_dirs
|
|
247
|
+
|
|
248
|
+
ignore_filenames = tuple(ignore_filenames)
|
|
249
|
+
if not raw:
|
|
250
|
+
ignore_filenames += default_ignored_filenames
|
|
251
|
+
|
|
252
|
+
ignore_suffixes = tuple(ignore_suffixes)
|
|
253
|
+
if not raw:
|
|
254
|
+
ignore_suffixes += default_ignored_suffixes
|
|
234
255
|
|
|
235
256
|
for filename in getFileList(
|
|
236
257
|
source_path,
|
|
@@ -252,7 +273,7 @@ def makeIncludedDataDirectory(
|
|
|
252
273
|
tags=tags,
|
|
253
274
|
)
|
|
254
275
|
|
|
255
|
-
included_datafile.tags.add("data-dir-contents")
|
|
276
|
+
included_datafile.tags.add("raw-dir-contents" if raw else "data-dir-contents")
|
|
256
277
|
|
|
257
278
|
yield included_datafile
|
|
258
279
|
|
|
@@ -282,11 +303,11 @@ _included_data_files = []
|
|
|
282
303
|
def addIncludedDataFile(included_datafile):
|
|
283
304
|
included_datafile.tags.update(getDataFileTags(included_datafile.dest_path))
|
|
284
305
|
|
|
285
|
-
for
|
|
306
|
+
for external_datafile_pattern in getShallNotIncludeDataFilePatterns():
|
|
286
307
|
if fnmatch.fnmatch(
|
|
287
|
-
included_datafile.dest_path,
|
|
308
|
+
included_datafile.dest_path, external_datafile_pattern
|
|
288
309
|
) or isFilenameBelowPath(
|
|
289
|
-
path=
|
|
310
|
+
path=external_datafile_pattern, filename=included_datafile.dest_path
|
|
290
311
|
):
|
|
291
312
|
included_datafile.tags.add("inhibit")
|
|
292
313
|
included_datafile.tags.remove("copy")
|
|
@@ -303,6 +324,15 @@ def addIncludedDataFile(included_datafile):
|
|
|
303
324
|
# if candidate.dest_path == included_datafile.dest_path:
|
|
304
325
|
# assert False, included_datafile
|
|
305
326
|
|
|
327
|
+
if included_datafile.needsCopy():
|
|
328
|
+
for external_datafile_pattern in getShallIncludeExternallyDataFilePatterns():
|
|
329
|
+
if fnmatch.fnmatch(
|
|
330
|
+
included_datafile.dest_path, external_datafile_pattern
|
|
331
|
+
) or isFilenameBelowPath(
|
|
332
|
+
path=external_datafile_pattern, filename=included_datafile.dest_path
|
|
333
|
+
):
|
|
334
|
+
included_datafile.tags.add("external")
|
|
335
|
+
|
|
306
336
|
_included_data_files.append(included_datafile)
|
|
307
337
|
|
|
308
338
|
|
|
@@ -326,6 +356,8 @@ def _addIncludedDataFilesFromFileOptions():
|
|
|
326
356
|
else:
|
|
327
357
|
rel_path = os.path.join(dest_path, relpath(filename, source_path))
|
|
328
358
|
|
|
359
|
+
rel_path = os.path.normpath(rel_path)
|
|
360
|
+
|
|
329
361
|
if containsPathElements(rel_path, default_ignored_dirs):
|
|
330
362
|
continue
|
|
331
363
|
|
|
@@ -348,7 +380,7 @@ def _addIncludedDataFilesFromFileOptions():
|
|
|
348
380
|
|
|
349
381
|
for included_datafile in makeIncludedDataDirectory(
|
|
350
382
|
source_path=source_path,
|
|
351
|
-
dest_path=dest_path,
|
|
383
|
+
dest_path=os.path.normpath(dest_path),
|
|
352
384
|
reason="specified data dir '%s' on command line" % source_path,
|
|
353
385
|
tracer=options_logger,
|
|
354
386
|
tags="user",
|
|
@@ -505,7 +537,25 @@ def _reportDataFiles():
|
|
|
505
537
|
_data_file_traces.clear()
|
|
506
538
|
|
|
507
539
|
|
|
508
|
-
def
|
|
540
|
+
def _checkPathConflict(dest_path, standalone_entry_points):
|
|
541
|
+
assert os.path.normpath(dest_path) == dest_path
|
|
542
|
+
|
|
543
|
+
while dest_path:
|
|
544
|
+
for standalone_entry_point in standalone_entry_points:
|
|
545
|
+
if dest_path == standalone_entry_point.dest_path:
|
|
546
|
+
options_logger.sysexit(
|
|
547
|
+
"""\
|
|
548
|
+
Error, data file to be placed in distribution as '%s' conflicts with %s '%s'."""
|
|
549
|
+
% (
|
|
550
|
+
dest_path,
|
|
551
|
+
standalone_entry_point.kind,
|
|
552
|
+
standalone_entry_point.dest_path,
|
|
553
|
+
)
|
|
554
|
+
)
|
|
555
|
+
dest_path = os.path.dirname(dest_path)
|
|
556
|
+
|
|
557
|
+
|
|
558
|
+
def _handleDataFile(included_datafile, standalone_entry_points):
|
|
509
559
|
"""Handle a data file."""
|
|
510
560
|
tracer = included_datafile.tracer
|
|
511
561
|
|
|
@@ -517,24 +567,28 @@ def _handleDataFile(included_datafile):
|
|
|
517
567
|
"Error, package data files are only included in standalone or onefile mode."
|
|
518
568
|
)
|
|
519
569
|
|
|
520
|
-
dist_dir = getStandaloneDirectoryPath()
|
|
521
|
-
|
|
522
570
|
key = tracer, included_datafile.reason
|
|
523
571
|
if key not in _data_file_traces:
|
|
524
572
|
_data_file_traces[key] = []
|
|
525
573
|
|
|
526
574
|
_data_file_traces[key].append((included_datafile.kind, included_datafile.dest_path))
|
|
527
575
|
|
|
528
|
-
|
|
576
|
+
dist_dir = getStandaloneDirectoryPath()
|
|
577
|
+
|
|
578
|
+
if "external" in included_datafile.tags:
|
|
579
|
+
dest_path = getOutputPath(included_datafile.dest_path)
|
|
580
|
+
else:
|
|
581
|
+
_checkPathConflict(included_datafile.dest_path, standalone_entry_points)
|
|
529
582
|
dest_path = os.path.join(dist_dir, included_datafile.dest_path)
|
|
583
|
+
|
|
584
|
+
if included_datafile.kind == "data_blob":
|
|
530
585
|
makePath(os.path.dirname(dest_path))
|
|
531
586
|
|
|
532
587
|
with openTextFile(filename=dest_path, mode="wb") as output_file:
|
|
533
588
|
output_file.write(included_datafile.data)
|
|
534
589
|
elif included_datafile.kind == "data_file":
|
|
535
|
-
dest_path = os.path.join(dist_dir, included_datafile.dest_path)
|
|
536
|
-
|
|
537
590
|
makePath(os.path.dirname(dest_path))
|
|
591
|
+
|
|
538
592
|
copyFileWithPermissions(
|
|
539
593
|
source_path=included_datafile.source_path,
|
|
540
594
|
dest_path=dest_path,
|
|
@@ -544,7 +598,7 @@ def _handleDataFile(included_datafile):
|
|
|
544
598
|
assert False, included_datafile
|
|
545
599
|
|
|
546
600
|
|
|
547
|
-
def copyDataFiles():
|
|
601
|
+
def copyDataFiles(standalone_entry_points):
|
|
548
602
|
"""Copy the data files needed for standalone distribution.
|
|
549
603
|
|
|
550
604
|
Notes:
|
|
@@ -572,7 +626,24 @@ plugins '--embed-*' options. Not done for '%s'."""
|
|
|
572
626
|
)
|
|
573
627
|
|
|
574
628
|
_handleDataFile(
|
|
575
|
-
included_datafile,
|
|
629
|
+
included_datafile=included_datafile,
|
|
630
|
+
standalone_entry_points=standalone_entry_points,
|
|
576
631
|
)
|
|
577
632
|
|
|
578
633
|
_reportDataFiles()
|
|
634
|
+
|
|
635
|
+
|
|
636
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
637
|
+
# integrates with CPython, but also works on its own.
|
|
638
|
+
#
|
|
639
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
640
|
+
# you may not use this file except in compliance with the License.
|
|
641
|
+
# You may obtain a copy of the License at
|
|
642
|
+
#
|
|
643
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
644
|
+
#
|
|
645
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
646
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
647
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
648
|
+
# See the License for the specific language governing permissions and
|
|
649
|
+
# limitations under the License.
|