Nuitka-winsvc 2.5.1__cp311-cp311-win_amd64.whl → 2.6__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-2.5.1.data → Nuitka_winsvc-2.6.data}/scripts/nuitka-run.cmd +1 -1
- {Nuitka_winsvc-2.5.1.data → Nuitka_winsvc-2.6.data}/scripts/nuitka.cmd +1 -1
- {Nuitka_winsvc-2.5.1.dist-info → Nuitka_winsvc-2.6.dist-info}/METADATA +80 -122
- Nuitka_winsvc-2.6.dist-info/RECORD +988 -0
- {Nuitka_winsvc-2.5.1.dist-info → Nuitka_winsvc-2.6.dist-info}/WHEEL +1 -1
- nuitka/Builtins.py +1 -1
- nuitka/BytecodeCaching.py +1 -1
- nuitka/Bytecodes.py +1 -1
- nuitka/CacheCleanup.py +1 -1
- nuitka/Constants.py +1 -1
- nuitka/Errors.py +1 -1
- nuitka/HardImportRegistry.py +1 -1
- nuitka/MainControl.py +93 -94
- nuitka/ModuleRegistry.py +1 -1
- nuitka/OptionParsing.py +90 -20
- nuitka/Options.py +160 -53
- nuitka/OutputDirectories.py +5 -3
- nuitka/PostProcessing.py +76 -27
- nuitka/Progress.py +1 -1
- nuitka/PythonFlavors.py +9 -3
- nuitka/PythonOperators.py +1 -1
- nuitka/PythonVersions.py +8 -4
- nuitka/Serialization.py +1 -1
- nuitka/SourceCodeReferences.py +1 -1
- nuitka/Tracing.py +2 -1
- nuitka/TreeXML.py +1 -1
- nuitka/Variables.py +1 -1
- nuitka/Version.py +2 -2
- nuitka/__init__.py +1 -1
- nuitka/__main__.py +4 -1
- nuitka/__past__.py +1 -1
- nuitka/build/Backend.scons +44 -66
- nuitka/build/CCompilerVersion.scons +2 -1
- nuitka/build/DataComposerInterface.py +2 -1
- nuitka/build/Offsets.scons +644 -0
- nuitka/build/Onefile.scons +5 -13
- nuitka/build/SconsCaching.py +9 -7
- nuitka/build/SconsCompilerSettings.py +54 -31
- nuitka/build/SconsHacks.py +3 -3
- nuitka/build/SconsInterface.py +86 -56
- nuitka/build/SconsProgress.py +12 -5
- nuitka/build/SconsSpawn.py +3 -3
- nuitka/build/SconsUtils.py +20 -1
- nuitka/build/__init__.py +1 -1
- nuitka/build/include/nuitka/allocator.h +3 -1
- nuitka/build/include/nuitka/builtins.h +1 -1
- nuitka/build/include/nuitka/calling.h +1 -1
- nuitka/build/include/nuitka/checkers.h +1 -1
- nuitka/build/include/nuitka/checksum_tools.h +1 -1
- nuitka/build/include/nuitka/compiled_asyncgen.h +4 -2
- nuitka/build/include/nuitka/compiled_cell.h +1 -1
- nuitka/build/include/nuitka/compiled_coroutine.h +3 -2
- nuitka/build/include/nuitka/compiled_frame.h +5 -12
- nuitka/build/include/nuitka/compiled_function.h +2 -3
- nuitka/build/include/nuitka/compiled_generator.h +3 -2
- nuitka/build/include/nuitka/compiled_method.h +1 -1
- nuitka/build/include/nuitka/constants.h +7 -1
- nuitka/build/include/nuitka/constants_blob.h +1 -1
- nuitka/build/include/nuitka/debug_settings.h +1 -1
- nuitka/build/include/nuitka/environment_variables.h +1 -1
- nuitka/build/include/nuitka/environment_variables_system.h +1 -1
- nuitka/build/include/nuitka/exception_groups.h +1 -1
- nuitka/build/include/nuitka/exceptions.h +1 -1
- nuitka/build/include/nuitka/filesystem_paths.h +4 -1
- nuitka/build/include/nuitka/freelists.h +2 -2
- nuitka/build/include/nuitka/helper/attributes.h +1 -1
- nuitka/build/include/nuitka/helper/boolean.h +1 -1
- nuitka/build/include/nuitka/helper/bytearrays.h +1 -1
- nuitka/build/include/nuitka/helper/bytes.h +1 -1
- nuitka/build/include/nuitka/helper/calling_generated.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_dual_eq.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_dual_ge.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_dual_gt.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_dual_le.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_dual_lt.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_dual_ne.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_eq.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_ge.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_gt.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_le.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_lt.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_ne.h +1 -1
- nuitka/build/include/nuitka/helper/complex.h +1 -1
- nuitka/build/include/nuitka/helper/dictionaries.h +11 -3
- nuitka/build/include/nuitka/helper/floats.h +1 -1
- nuitka/build/include/nuitka/helper/import_hard.h +1 -1
- nuitka/build/include/nuitka/helper/indexes.h +1 -1
- nuitka/build/include/nuitka/helper/ints.h +1 -1
- nuitka/build/include/nuitka/helper/iterators.h +1 -1
- nuitka/build/include/nuitka/helper/lists.h +1 -1
- nuitka/build/include/nuitka/helper/lists_generated.h +1 -1
- nuitka/build/include/nuitka/helper/mappings.h +1 -1
- nuitka/build/include/nuitka/helper/operations.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_add.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_bitand.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_bitor.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_bitxor.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_divmod.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_dual_add.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_floordiv.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_lshift.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_matmult.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_mod.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_mult.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_olddiv.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_pow.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_rshift.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_sub.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_truediv.h +1 -1
- nuitka/build/include/nuitka/helper/operations_builtin_types.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_add.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_bitand.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_bitor.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_bitxor.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_floordiv.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_lshift.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_matmult.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_mod.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_mult.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_olddiv.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_pow.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_rshift.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_sub.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_truediv.h +1 -1
- nuitka/build/include/nuitka/helper/raising.h +1 -1
- nuitka/build/include/nuitka/helper/rangeobjects.h +1 -1
- nuitka/build/include/nuitka/helper/richcomparisons.h +1 -1
- nuitka/build/include/nuitka/helper/sequences.h +1 -1
- nuitka/build/include/nuitka/helper/sets.h +1 -1
- nuitka/build/include/nuitka/helper/slices.h +1 -1
- nuitka/build/include/nuitka/helper/strings.h +1 -1
- nuitka/build/include/nuitka/helper/subscripts.h +1 -1
- nuitka/build/include/nuitka/helper/tuples.h +13 -1
- nuitka/build/include/nuitka/helpers.h +1 -43
- nuitka/build/include/nuitka/importing.h +1 -1
- nuitka/build/include/nuitka/jit_sources.h +1 -1
- nuitka/build/include/nuitka/prelude.h +11 -10
- nuitka/build/include/nuitka/printing.h +1 -1
- nuitka/build/include/nuitka/python_pgo.h +1 -1
- nuitka/build/include/nuitka/safe_string_ops.h +1 -1
- nuitka/build/include/nuitka/threading.h +1 -1
- nuitka/build/include/nuitka/tracing.h +1 -1
- nuitka/build/include/nuitka/type_aliases.h +1 -1
- nuitka/build/include/nuitka/unfreezing.h +1 -1
- nuitka/build/inline_copy/pefile/LICENSE.txt +21 -0
- nuitka/build/inline_copy/pefile/pefile.py +8034 -0
- nuitka/build/static_src/CompiledAsyncgenType.c +85 -71
- nuitka/build/static_src/CompiledCellType.c +2 -1
- nuitka/build/static_src/CompiledCodeHelpers.c +8 -26
- nuitka/build/static_src/CompiledCoroutineType.c +33 -35
- nuitka/build/static_src/CompiledFrameType.c +63 -5
- nuitka/build/static_src/CompiledFunctionType.c +11 -13
- nuitka/build/static_src/CompiledGeneratorType.c +64 -11
- nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +33 -24
- nuitka/build/static_src/CompiledMethodType.c +2 -1
- nuitka/build/static_src/GenerateHeadersMain.c +30 -0
- nuitka/build/static_src/HelpersAllocator.c +1 -1
- nuitka/build/static_src/HelpersAttributes.c +5 -2
- nuitka/build/static_src/HelpersBuiltin.c +2 -2
- nuitka/build/static_src/HelpersBuiltinTypeMethods.c +1 -1
- nuitka/build/static_src/HelpersBytes.c +1 -1
- nuitka/build/static_src/HelpersCalling.c +1 -1
- nuitka/build/static_src/HelpersCallingGenerated.c +6 -16
- nuitka/build/static_src/HelpersChecksumTools.c +1 -1
- nuitka/build/static_src/HelpersClasses.c +1 -1
- nuitka/build/static_src/HelpersComparisonDualEq.c +1 -1
- nuitka/build/static_src/HelpersComparisonDualGe.c +1 -1
- nuitka/build/static_src/HelpersComparisonDualGt.c +1 -1
- nuitka/build/static_src/HelpersComparisonDualLe.c +1 -1
- nuitka/build/static_src/HelpersComparisonDualLt.c +1 -1
- nuitka/build/static_src/HelpersComparisonDualNe.c +1 -1
- nuitka/build/static_src/HelpersComparisonEq.c +1 -1
- nuitka/build/static_src/HelpersComparisonEqUtils.c +1 -1
- nuitka/build/static_src/HelpersComparisonGe.c +1 -1
- nuitka/build/static_src/HelpersComparisonGt.c +1 -1
- nuitka/build/static_src/HelpersComparisonLe.c +1 -1
- nuitka/build/static_src/HelpersComparisonLt.c +1 -1
- nuitka/build/static_src/HelpersComparisonNe.c +1 -1
- nuitka/build/static_src/HelpersConsole.c +1 -1
- nuitka/build/static_src/HelpersConstantsBlob.c +199 -50
- nuitka/build/static_src/HelpersDeepcopy.c +4 -1
- nuitka/build/static_src/HelpersDictionaries.c +15 -3
- nuitka/build/static_src/HelpersDictionariesGenerated.c +13 -2
- nuitka/build/static_src/HelpersDumpBacktraces.c +1 -1
- nuitka/build/static_src/HelpersEnvironmentVariables.c +1 -1
- nuitka/build/static_src/HelpersEnvironmentVariablesSystem.c +1 -1
- nuitka/build/static_src/HelpersExceptions.c +1 -1
- nuitka/build/static_src/HelpersFiles.c +18 -10
- nuitka/build/static_src/HelpersFilesystemPaths.c +36 -16
- nuitka/build/static_src/HelpersFloats.c +1 -1
- nuitka/build/static_src/HelpersHeapStorage.c +1 -1
- nuitka/build/static_src/HelpersImport.c +1 -1
- nuitka/build/static_src/HelpersImportHard.c +1 -1
- nuitka/build/static_src/HelpersJitSources.c +1 -1
- nuitka/build/static_src/HelpersLists.c +2 -1
- nuitka/build/static_src/HelpersListsGenerated.c +1 -1
- nuitka/build/static_src/HelpersMappings.c +1 -1
- nuitka/build/static_src/HelpersMatching.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryAdd.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryAddUtils.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryBitand.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryBitor.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryBitxor.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryDivmod.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryDivmodUtils.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryDualAdd.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryFloordiv.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryInplaceAdd.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryLshift.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryMatmult.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryMod.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryMult.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryMultUtils.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryOlddiv.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryPow.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryPowUtils.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryRshift.c +1 -1
- nuitka/build/static_src/HelpersOperationBinarySub.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryTruediv.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceAdd.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceAddUtils.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceBitand.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceBitor.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceBitxor.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceFloordiv.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceLshift.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceMatmult.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceMod.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceMult.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceOlddiv.c +1 -1
- nuitka/build/static_src/HelpersOperationInplacePow.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceRshift.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceSub.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceTruediv.c +1 -1
- nuitka/build/static_src/HelpersProfiling.c +1 -1
- nuitka/build/static_src/HelpersPythonPgo.c +5 -2
- nuitka/build/static_src/HelpersRaising.c +1 -1
- nuitka/build/static_src/HelpersSafeStrings.c +1 -1
- nuitka/build/static_src/HelpersSequences.c +1 -1
- nuitka/build/static_src/HelpersSlices.c +1 -1
- nuitka/build/static_src/HelpersStrings.c +1 -1
- nuitka/build/static_src/HelpersTuples.c +2 -2
- nuitka/build/static_src/HelpersTypes.c +1 -1
- nuitka/build/static_src/InspectPatcher.c +2 -1
- nuitka/build/static_src/MainProgram.c +30 -9
- nuitka/build/static_src/MetaPathBasedLoader.c +2 -1
- nuitka/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c +1 -1
- nuitka/build/static_src/MetaPathBasedLoaderResourceReader.c +1 -1
- nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +17 -4
- nuitka/build/static_src/OnefileBootstrap.c +3 -3
- nuitka/build/static_src/OnefileSplashScreen.cpp +1 -1
- nuitka/code_generation/AsyncgenCodes.py +5 -6
- nuitka/code_generation/AttributeCodes.py +1 -1
- nuitka/code_generation/BinaryOperationHelperDefinitions.py +1 -1
- nuitka/code_generation/BranchCodes.py +1 -1
- nuitka/code_generation/BuiltinCodes.py +15 -5
- nuitka/code_generation/CallCodes.py +1 -1
- nuitka/code_generation/ClassCodes.py +1 -1
- nuitka/code_generation/CodeGeneration.py +23 -17
- nuitka/code_generation/CodeHelperSelection.py +1 -1
- nuitka/code_generation/CodeHelpers.py +1 -1
- nuitka/code_generation/CodeObjectCodes.py +19 -2
- nuitka/code_generation/ComparisonCodes.py +1 -1
- nuitka/code_generation/ComparisonHelperDefinitions.py +1 -1
- nuitka/code_generation/ConditionalCodes.py +1 -1
- nuitka/code_generation/ConstantCodes.py +1 -1
- nuitka/code_generation/Contexts.py +52 -39
- nuitka/code_generation/CoroutineCodes.py +4 -5
- nuitka/code_generation/CtypesCodes.py +1 -1
- nuitka/code_generation/DictCodes.py +1 -1
- nuitka/code_generation/Emission.py +1 -1
- nuitka/code_generation/ErrorCodes.py +1 -1
- nuitka/code_generation/EvalCodes.py +1 -1
- nuitka/code_generation/ExceptionCodes.py +1 -1
- nuitka/code_generation/ExpressionCTypeSelectionHelpers.py +1 -1
- nuitka/code_generation/ExpressionCodes.py +1 -1
- nuitka/code_generation/FrameCodes.py +26 -17
- nuitka/code_generation/FunctionCodes.py +9 -15
- nuitka/code_generation/GeneratorCodes.py +9 -10
- nuitka/code_generation/GlobalConstants.py +6 -4
- nuitka/code_generation/GlobalsLocalsCodes.py +1 -1
- nuitka/code_generation/IdCodes.py +1 -1
- nuitka/code_generation/ImportCodes.py +1 -1
- nuitka/code_generation/Indentation.py +1 -1
- nuitka/code_generation/IndexCodes.py +1 -1
- nuitka/code_generation/InjectCCodes.py +1 -1
- nuitka/code_generation/IntegerCodes.py +1 -1
- nuitka/code_generation/IteratorCodes.py +1 -1
- nuitka/code_generation/JitCodes.py +1 -1
- nuitka/code_generation/LabelCodes.py +1 -1
- nuitka/code_generation/LineNumberCodes.py +1 -1
- nuitka/code_generation/ListCodes.py +1 -1
- nuitka/code_generation/LoaderCodes.py +1 -1
- nuitka/code_generation/LocalsDictCodes.py +1 -1
- nuitka/code_generation/LoopCodes.py +1 -1
- nuitka/code_generation/MatchCodes.py +1 -1
- nuitka/code_generation/ModuleCodes.py +31 -4
- nuitka/code_generation/Namify.py +4 -1
- nuitka/code_generation/NetworkxCodes.py +1 -1
- nuitka/code_generation/OperationCodes.py +1 -1
- nuitka/code_generation/PackageResourceCodes.py +4 -10
- nuitka/code_generation/PrintCodes.py +1 -1
- nuitka/code_generation/PythonAPICodes.py +1 -1
- nuitka/code_generation/RaisingCodes.py +1 -1
- nuitka/code_generation/Reports.py +1 -1
- nuitka/code_generation/ReturnCodes.py +1 -1
- nuitka/code_generation/SetCodes.py +1 -1
- nuitka/code_generation/SliceCodes.py +1 -1
- nuitka/code_generation/StringCodes.py +1 -1
- nuitka/code_generation/SubscriptCodes.py +1 -1
- nuitka/code_generation/TensorflowCodes.py +1 -1
- nuitka/code_generation/TryCodes.py +1 -1
- nuitka/code_generation/TupleCodes.py +1 -1
- nuitka/code_generation/TypeAliasCodes.py +1 -1
- nuitka/code_generation/VariableCodes.py +1 -1
- nuitka/code_generation/VariableDeclarations.py +1 -1
- nuitka/code_generation/YieldCodes.py +1 -1
- nuitka/code_generation/__init__.py +1 -1
- nuitka/code_generation/c_types/CTypeBases.py +1 -1
- nuitka/code_generation/c_types/CTypeBooleans.py +1 -1
- nuitka/code_generation/c_types/CTypeCFloats.py +1 -1
- nuitka/code_generation/c_types/CTypeCLongs.py +1 -1
- nuitka/code_generation/c_types/CTypeModuleDictVariables.py +1 -1
- nuitka/code_generation/c_types/CTypeNuitkaBooleans.py +1 -1
- nuitka/code_generation/c_types/CTypeNuitkaInts.py +1 -1
- nuitka/code_generation/c_types/CTypeNuitkaVoids.py +1 -1
- nuitka/code_generation/c_types/CTypePyObjectPointers.py +1 -1
- nuitka/code_generation/c_types/CTypeVoids.py +1 -1
- nuitka/code_generation/c_types/__init__.py +1 -1
- nuitka/code_generation/templates/CodeTemplatesAsyncgens.py +1 -1
- nuitka/code_generation/templates/CodeTemplatesConstants.py +2 -2
- nuitka/code_generation/templates/CodeTemplatesCoroutines.py +1 -1
- nuitka/code_generation/templates/CodeTemplatesExceptions.py +1 -1
- nuitka/code_generation/templates/CodeTemplatesFrames.py +21 -25
- nuitka/code_generation/templates/CodeTemplatesFunction.py +1 -1
- nuitka/code_generation/templates/CodeTemplatesGeneratorFunction.py +3 -3
- nuitka/code_generation/templates/CodeTemplatesIterators.py +1 -1
- nuitka/code_generation/templates/CodeTemplatesLoader.py +26 -3
- nuitka/code_generation/templates/CodeTemplatesModules.py +21 -8
- nuitka/code_generation/templates/CodeTemplatesVariables.py +24 -21
- nuitka/code_generation/templates/TemplateDebugWrapper.py +1 -1
- nuitka/code_generation/templates/__init__.py +1 -1
- nuitka/code_generation/templates_c/CodeTemplateCallsMethodPositional.c.j2 +1 -1
- nuitka/code_generation/templates_c/CodeTemplateCallsMixed.c.j2 +1 -1
- nuitka/code_generation/templates_c/CodeTemplateCallsPositional.c.j2 +1 -1
- nuitka/code_generation/templates_c/CodeTemplateCallsPositionalMethodDescr.c.j2 +21 -1
- nuitka/code_generation/templates_c/CodeTemplateMakeListHinted.c.j2 +1 -1
- nuitka/code_generation/templates_c/CodeTemplateMakeListSmall.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperBuiltinMethodOperation.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperDictionaryCopy.c.j2 +5 -2
- nuitka/code_generation/templates_c/HelperImportHard.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperLongTools.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperObjectTools.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationBinary.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationBinaryDual.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparison.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonBytes.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonDual.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonFloat.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonInt.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonList.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonLong.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonStr.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonTuple.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationInplace.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsBinary.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsBytes.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsCommon.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsFloat.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsInt.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsList.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsLong.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsSet.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsStr.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsTuple.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsUnicode.c.j2 +1 -1
- nuitka/containers/Namedtuples.py +1 -1
- nuitka/containers/OrderedSetsFallback.py +1 -1
- nuitka/containers/__init__.py +1 -1
- nuitka/distutils/Build.py +1 -1
- nuitka/distutils/DistutilCommands.py +2 -2
- nuitka/distutils/__init__.py +1 -1
- nuitka/finalizations/Finalization.py +1 -1
- nuitka/finalizations/FinalizeMarkups.py +1 -1
- nuitka/finalizations/__init__.py +1 -1
- nuitka/freezer/DependsExe.py +2 -1
- nuitka/freezer/DllDependenciesCommon.py +1 -1
- nuitka/freezer/DllDependenciesMacOS.py +1 -1
- nuitka/freezer/DllDependenciesPosix.py +1 -1
- nuitka/freezer/DllDependenciesWin32.py +111 -25
- nuitka/freezer/ImportDetection.py +5 -2
- nuitka/freezer/IncludedDataFiles.py +11 -2
- nuitka/freezer/IncludedEntryPoints.py +1 -1
- nuitka/freezer/Onefile.py +14 -15
- nuitka/freezer/Standalone.py +6 -3
- nuitka/freezer/__init__.py +1 -1
- nuitka/importing/IgnoreListing.py +1 -1
- nuitka/importing/ImportCache.py +1 -1
- nuitka/importing/ImportResolving.py +1 -1
- nuitka/importing/Importing.py +4 -3
- nuitka/importing/PreloadedPackages.py +1 -1
- nuitka/importing/Recursion.py +37 -12
- nuitka/importing/StandardLibrary.py +1 -1
- nuitka/importing/__init__.py +1 -1
- nuitka/nodes/AsyncgenNodes.py +1 -1
- nuitka/nodes/AttributeLookupNodes.py +1 -1
- nuitka/nodes/AttributeNodes.py +1 -1
- nuitka/nodes/AttributeNodesGenerated.py +1 -1
- nuitka/nodes/BuiltinAllNodes.py +1 -1
- nuitka/nodes/BuiltinAnyNodes.py +1 -1
- nuitka/nodes/BuiltinComplexNodes.py +1 -1
- nuitka/nodes/BuiltinDecodingNodes.py +1 -1
- nuitka/nodes/BuiltinDecoratorNodes.py +1 -1
- nuitka/nodes/BuiltinDictNodes.py +1 -1
- nuitka/nodes/BuiltinFormatNodes.py +1 -1
- nuitka/nodes/BuiltinHashNodes.py +1 -1
- nuitka/nodes/BuiltinInputNodes.py +1 -1
- nuitka/nodes/BuiltinIntegerNodes.py +1 -1
- nuitka/nodes/BuiltinIteratorNodes.py +2 -2
- nuitka/nodes/BuiltinLenNodes.py +1 -1
- nuitka/nodes/BuiltinNextNodes.py +1 -1
- nuitka/nodes/BuiltinOpenNodes.py +1 -1
- nuitka/nodes/BuiltinOperationNodeBasesGenerated.py +1 -1
- nuitka/nodes/BuiltinRangeNodes.py +1 -1
- nuitka/nodes/BuiltinRefNodes.py +1 -1
- nuitka/nodes/BuiltinSumNodes.py +1 -1
- nuitka/nodes/BuiltinTypeNodes.py +1 -1
- nuitka/nodes/BuiltinVarsNodes.py +1 -1
- nuitka/nodes/BytesNodes.py +1 -1
- nuitka/nodes/CallNodes.py +1 -1
- nuitka/nodes/Checkers.py +1 -1
- nuitka/nodes/ChildrenHavingMixins.py +227 -3
- nuitka/nodes/ClassNodes.py +1 -1
- nuitka/nodes/CodeObjectSpecs.py +4 -4
- nuitka/nodes/ComparisonNodes.py +1 -1
- nuitka/nodes/ConditionalNodes.py +1 -1
- nuitka/nodes/ConstantRefNodes.py +1 -1
- nuitka/nodes/ContainerMakingNodes.py +1 -1
- nuitka/nodes/ContainerOperationNodes.py +1 -1
- nuitka/nodes/CoroutineNodes.py +1 -1
- nuitka/nodes/CtypesNodes.py +1 -1
- nuitka/nodes/DictionaryNodes.py +2 -2
- nuitka/nodes/ExceptionNodes.py +1 -1
- nuitka/nodes/ExecEvalNodes.py +1 -1
- nuitka/nodes/ExpressionBases.py +1 -1
- nuitka/nodes/ExpressionBasesGenerated.py +1 -1
- nuitka/nodes/ExpressionShapeMixins.py +1 -1
- nuitka/nodes/FrameNodes.py +19 -7
- nuitka/nodes/FunctionAttributeNodes.py +1 -1
- nuitka/nodes/FunctionNodes.py +1 -1
- nuitka/nodes/FutureSpecs.py +34 -2
- nuitka/nodes/GeneratorNodes.py +1 -1
- nuitka/nodes/GlobalsLocalsNodes.py +1 -1
- nuitka/nodes/HardImportNodesGenerated.py +140 -56
- nuitka/nodes/ImportHardNodes.py +1 -1
- nuitka/nodes/ImportNodes.py +1 -1
- nuitka/nodes/IndicatorMixins.py +1 -1
- nuitka/nodes/InjectCNodes.py +1 -1
- nuitka/nodes/IterationHandles.py +1 -1
- nuitka/nodes/KeyValuePairNodes.py +1 -1
- nuitka/nodes/ListOperationNodes.py +1 -1
- nuitka/nodes/LocalsDictNodes.py +1 -1
- nuitka/nodes/LocalsScopes.py +1 -1
- nuitka/nodes/LoopNodes.py +1 -1
- nuitka/nodes/MatchNodes.py +1 -1
- nuitka/nodes/ModuleAttributeNodes.py +1 -1
- nuitka/nodes/ModuleNodes.py +2 -2
- nuitka/nodes/NetworkxNodes.py +1 -1
- nuitka/nodes/NodeBases.py +1 -1
- nuitka/nodes/NodeMakingHelpers.py +1 -1
- nuitka/nodes/NodeMetaClasses.py +1 -1
- nuitka/nodes/OperatorNodes.py +1 -1
- nuitka/nodes/OperatorNodesUnary.py +1 -1
- nuitka/nodes/OsSysNodes.py +1 -1
- nuitka/nodes/OutlineNodes.py +1 -1
- nuitka/nodes/PackageMetadataNodes.py +1 -1
- nuitka/nodes/PackageResourceNodes.py +42 -7
- nuitka/nodes/PrintNodes.py +1 -1
- nuitka/nodes/ReturnNodes.py +1 -1
- nuitka/nodes/SideEffectNodes.py +1 -1
- nuitka/nodes/SliceNodes.py +1 -1
- nuitka/nodes/StatementBasesGenerated.py +1 -1
- nuitka/nodes/StatementNodes.py +1 -1
- nuitka/nodes/StrNodes.py +1 -1
- nuitka/nodes/StringConcatenationNodes.py +1 -1
- nuitka/nodes/SubscriptNodes.py +1 -1
- nuitka/nodes/TensorflowNodes.py +1 -1
- nuitka/nodes/TryNodes.py +1 -1
- nuitka/nodes/TypeMatchNodes.py +1 -1
- nuitka/nodes/TypeNodes.py +1 -1
- nuitka/nodes/VariableAssignNodes.py +3 -2
- nuitka/nodes/VariableDelNodes.py +1 -1
- nuitka/nodes/VariableNameNodes.py +1 -1
- nuitka/nodes/VariableRefNodes.py +1 -1
- nuitka/nodes/VariableReleaseNodes.py +1 -1
- nuitka/nodes/YieldNodes.py +1 -1
- nuitka/nodes/__init__.py +1 -1
- nuitka/nodes/shapes/BuiltinTypeShapes.py +1 -1
- nuitka/nodes/shapes/ControlFlowDescriptions.py +1 -1
- nuitka/nodes/shapes/IteratorShapes.py +71 -0
- nuitka/nodes/shapes/ShapeMixins.py +4 -3
- nuitka/nodes/shapes/StandardShapes.py +2 -51
- nuitka/nodes/shapes/__init__.py +1 -1
- nuitka/optimizations/BytecodeDemotion.py +1 -1
- nuitka/optimizations/FunctionInlining.py +1 -1
- nuitka/optimizations/Graphs.py +1 -1
- nuitka/optimizations/Optimization.py +1 -1
- nuitka/optimizations/OptimizeBuiltinCalls.py +1 -1
- nuitka/optimizations/Tags.py +1 -1
- nuitka/optimizations/TraceCollections.py +1 -1
- nuitka/optimizations/ValueTraces.py +1 -1
- nuitka/optimizations/__init__.py +1 -1
- nuitka/pgo/PGO.py +1 -1
- nuitka/pgo/__init__.py +1 -1
- nuitka/plugins/PluginBase.py +24 -3
- nuitka/plugins/Plugins.py +67 -14
- nuitka/plugins/YamlPluginBase.py +1 -1
- nuitka/plugins/__init__.py +1 -1
- nuitka/plugins/standard/AntiBloatPlugin.py +2 -1
- nuitka/plugins/standard/ConsiderPyLintAnnotationsPlugin.py +2 -1
- nuitka/plugins/standard/DataFilesPlugin.py +2 -2
- nuitka/plugins/standard/DelvewheelPlugin.py +2 -1
- nuitka/plugins/standard/DillPlugin/DillPlugin.c +1 -1
- nuitka/plugins/standard/DillPlugin/dill-postLoad.py +1 -1
- nuitka/plugins/standard/DillPlugin.py +2 -2
- nuitka/plugins/standard/DllFilesPlugin.py +80 -14
- nuitka/plugins/standard/EnumPlugin.py +2 -2
- nuitka/plugins/standard/EventletPlugin.py +2 -1
- nuitka/plugins/standard/GeventPlugin.py +2 -1
- nuitka/plugins/standard/GiPlugin.py +2 -1
- nuitka/plugins/standard/GlfwPlugin.py +2 -1
- nuitka/plugins/standard/ImplicitImports.py +8 -6
- nuitka/plugins/standard/KivyPlugin.py +2 -1
- nuitka/plugins/standard/MatplotlibPlugin.py +3 -2
- nuitka/plugins/standard/MultiprocessingPlugin.py +2 -1
- nuitka/plugins/standard/NumpyPlugin.py +2 -1
- nuitka/plugins/standard/OptionsNannyPlugin.py +7 -6
- nuitka/plugins/standard/PbrPlugin.py +2 -2
- nuitka/plugins/standard/PkgResourcesPlugin.py +2 -1
- nuitka/plugins/standard/PlaywrightPlugin.py +10 -15
- nuitka/plugins/standard/PmwPlugin.py +2 -1
- nuitka/plugins/standard/PySidePyQtPlugin.py +12 -15
- nuitka/plugins/standard/PywebViewPlugin.py +2 -1
- nuitka/plugins/standard/SpacyPlugin.py +2 -1
- nuitka/plugins/standard/TensorflowPlugin.py +2 -1
- nuitka/plugins/standard/TkinterPlugin.py +38 -5
- nuitka/plugins/standard/TorchPlugin.py +2 -1
- nuitka/plugins/standard/TransformersPlugin.py +2 -2
- nuitka/plugins/standard/TrioPlugin.py +2 -1
- nuitka/plugins/standard/UpxPlugin.py +2 -1
- nuitka/plugins/standard/__init__.py +1 -1
- nuitka/plugins/standard/standard.nuitka-package.config.yml +173 -49
- nuitka/reports/CompilationReportReader.py +5 -1
- nuitka/reports/LicenseReport.rst.j2 +1 -1
- nuitka/reports/Reports.py +5 -1
- nuitka/reports/__init__.py +1 -1
- nuitka/specs/BuiltinBytesOperationSpecs.py +1 -1
- nuitka/specs/BuiltinDictOperationSpecs.py +1 -1
- nuitka/specs/BuiltinListOperationSpecs.py +1 -1
- nuitka/specs/BuiltinParameterSpecs.py +1 -1
- nuitka/specs/BuiltinStrOperationSpecs.py +1 -1
- nuitka/specs/BuiltinTypeOperationSpecs.py +1 -1
- nuitka/specs/BuiltinUnicodeOperationSpecs.py +1 -1
- nuitka/specs/HardImportSpecs.py +10 -2
- nuitka/specs/ParameterSpecs.py +17 -2
- nuitka/specs/__init__.py +1 -1
- nuitka/tools/Basics.py +1 -1
- nuitka/tools/__init__.py +1 -1
- nuitka/tools/commercial/__init__.py +1 -1
- nuitka/tools/data_composer/DataComposer.py +125 -1
- nuitka/tools/data_composer/__init__.py +1 -1
- nuitka/tools/data_composer/__main__.py +1 -1
- nuitka/tools/environments/CreateEnvironment.py +1 -1
- nuitka/tools/environments/Virtualenv.py +14 -6
- nuitka/tools/environments/__init__.py +1 -1
- nuitka/tools/general/__init__.py +1 -1
- nuitka/tools/general/dll_report/__init__.py +1 -1
- nuitka/tools/general/dll_report/__main__.py +1 -1
- nuitka/tools/general/find_module/FindModuleCode.py +2 -2
- nuitka/tools/general/find_module/__init__.py +1 -1
- nuitka/tools/general/generate_header/GenerateHeader.py +73 -0
- nuitka/tools/general/generate_header/__init__.py +19 -0
- nuitka/tools/onefile_compressor/OnefileCompressor.py +1 -1
- nuitka/tools/onefile_compressor/__init__.py +1 -1
- nuitka/tools/onefile_compressor/__main__.py +1 -1
- nuitka/tools/podman/Podman.py +1 -1
- nuitka/tools/podman/__init__.py +1 -1
- nuitka/tools/podman/__main__.py +8 -4
- nuitka/tools/profiler/__init__.py +1 -1
- nuitka/tools/profiler/__main__.py +1 -1
- nuitka/tools/scanning/DisplayPackageDLLs.py +43 -20
- nuitka/tools/scanning/DisplayPackageData.py +1 -1
- nuitka/tools/scanning/__init__.py +1 -1
- nuitka/tools/specialize/CTypeDescriptions.py +1 -1
- nuitka/tools/specialize/Common.py +1 -1
- nuitka/tools/specialize/SpecializeC.py +1 -1
- nuitka/tools/specialize/SpecializePython.py +7 -3
- nuitka/tools/specialize/__init__.py +1 -1
- nuitka/tools/testing/Common.py +140 -19
- nuitka/tools/testing/Constructs.py +1 -1
- nuitka/tools/testing/OutputComparison.py +5 -4
- nuitka/tools/testing/Pythons.py +1 -1
- nuitka/tools/testing/RuntimeTracing.py +1 -1
- nuitka/tools/testing/SearchModes.py +1 -1
- nuitka/tools/testing/Valgrind.py +1 -1
- nuitka/tools/testing/__init__.py +1 -1
- nuitka/tools/testing/check_reference_counts/__init__.py +1 -1
- nuitka/tools/testing/check_reference_counts/__main__.py +6 -2
- nuitka/tools/testing/compare_with_cpython/__init__.py +1 -1
- nuitka/tools/testing/compare_with_cpython/__main__.py +51 -14
- nuitka/tools/testing/find_sxs_modules/__init__.py +1 -1
- nuitka/tools/testing/find_sxs_modules/__main__.py +1 -1
- nuitka/tools/testing/measure_construct_performance/__init__.py +1 -1
- nuitka/tools/testing/measure_construct_performance/__main__.py +1 -1
- nuitka/tools/testing/run_nuitka_tests/__init__.py +1 -1
- nuitka/tools/testing/run_nuitka_tests/__main__.py +1 -1
- nuitka/tools/watch/AutoStage.py +1 -1
- nuitka/tools/watch/Common.py +55 -0
- nuitka/tools/watch/Conda.py +125 -0
- nuitka/tools/watch/GitHub.py +1 -1
- nuitka/tools/watch/Pacman.py +73 -0
- nuitka/tools/watch/Pipenv.py +143 -0
- nuitka/tools/watch/__init__.py +1 -1
- nuitka/tools/watch/__main__.py +117 -264
- nuitka/tree/Building.py +1 -1
- nuitka/tree/ComplexCallHelperFunctions.py +1 -1
- nuitka/tree/Extractions.py +1 -1
- nuitka/tree/InternalModule.py +1 -1
- nuitka/tree/Operations.py +1 -1
- nuitka/tree/ReformulationAssertStatements.py +1 -1
- nuitka/tree/ReformulationAssignmentStatements.py +1 -1
- nuitka/tree/ReformulationBooleanExpressions.py +1 -1
- nuitka/tree/ReformulationCallExpressions.py +1 -1
- nuitka/tree/ReformulationClasses.py +1 -1
- nuitka/tree/ReformulationClasses3.py +1 -1
- nuitka/tree/ReformulationComparisonExpressions.py +1 -1
- nuitka/tree/ReformulationContractionExpressions.py +3 -1
- nuitka/tree/ReformulationDictionaryCreation.py +1 -1
- nuitka/tree/ReformulationExecStatements.py +1 -1
- nuitka/tree/ReformulationForLoopStatements.py +1 -1
- nuitka/tree/ReformulationFunctionStatements.py +1 -1
- nuitka/tree/ReformulationImportStatements.py +1 -1
- nuitka/tree/ReformulationLambdaExpressions.py +2 -1
- nuitka/tree/ReformulationMatchStatements.py +1 -1
- nuitka/tree/ReformulationMultidist.py +1 -1
- nuitka/tree/ReformulationNamespacePackages.py +1 -1
- nuitka/tree/ReformulationPrintStatements.py +1 -1
- nuitka/tree/ReformulationSequenceCreation.py +1 -1
- nuitka/tree/ReformulationSubscriptExpressions.py +1 -1
- nuitka/tree/ReformulationTryExceptStatements.py +1 -1
- nuitka/tree/ReformulationTryFinallyStatements.py +1 -1
- nuitka/tree/ReformulationWhileLoopStatements.py +1 -1
- nuitka/tree/ReformulationWithStatements.py +1 -1
- nuitka/tree/ReformulationYieldExpressions.py +1 -1
- nuitka/tree/SourceHandling.py +1 -1
- nuitka/tree/SyntaxErrors.py +1 -1
- nuitka/tree/TreeHelpers.py +24 -10
- nuitka/tree/VariableClosure.py +1 -1
- nuitka/tree/__init__.py +1 -1
- nuitka/utils/AppDirs.py +5 -2
- nuitka/utils/CStrings.py +1 -1
- nuitka/utils/CommandLineOptions.py +2 -2
- nuitka/utils/Distributions.py +177 -15
- nuitka/utils/Download.py +14 -6
- nuitka/utils/Execution.py +43 -14
- nuitka/utils/FileOperations.py +29 -5
- nuitka/utils/Hashing.py +6 -2
- nuitka/utils/Images.py +8 -2
- nuitka/utils/Importing.py +1 -1
- nuitka/utils/InlineCopies.py +1 -1
- nuitka/utils/InstalledPythons.py +1 -1
- nuitka/utils/InstanceCounters.py +1 -1
- nuitka/utils/Jinja2.py +1 -1
- nuitka/utils/Json.py +2 -2
- nuitka/utils/MacOSApp.py +4 -3
- nuitka/utils/MemoryUsage.py +1 -1
- nuitka/utils/ModuleNames.py +1 -1
- nuitka/utils/PackageResources.py +1 -1
- nuitka/utils/ReExecute.py +1 -1
- nuitka/utils/Rest.py +1 -1
- nuitka/utils/SharedLibraries.py +76 -7
- nuitka/utils/Shebang.py +1 -1
- nuitka/utils/Signing.py +11 -5
- nuitka/utils/SlotMetaClasses.py +1 -1
- nuitka/utils/StaticLibraries.py +25 -1
- nuitka/utils/ThreadedExecutor.py +1 -1
- nuitka/utils/Timing.py +1 -1
- nuitka/utils/Utils.py +1 -1
- nuitka/utils/WindowsFileUsage.py +1 -1
- nuitka/utils/WindowsResources.py +3 -1
- nuitka/utils/Yaml.py +1 -1
- nuitka/utils/__init__.py +1 -1
- Nuitka_winsvc-2.5.1.dist-info/RECORD +0 -977
- {Nuitka_winsvc-2.5.1.dist-info → Nuitka_winsvc-2.6.dist-info}/LICENSE.txt +0 -0
- {Nuitka_winsvc-2.5.1.dist-info → Nuitka_winsvc-2.6.dist-info}/entry_points.txt +0 -0
- {Nuitka_winsvc-2.5.1.dist-info → Nuitka_winsvc-2.6.dist-info}/top_level.txt +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
static {{ target.getTypeDecl() }} COMPARE_{{op_code}}_{{target.getHelperCodeName()}}_{{left.getHelperCodeName()}}_{{right.getHelperCodeName()}}({{left.getVariableDecl("operand1")}}, {{right.getVariableDecl("operand2")}}) {
|
|
4
4
|
{{left.getCheckValueCode("operand1")}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
{% from 'HelperSlotsCommon.c.j2' import goto_exit %}
|
|
4
4
|
{% from 'HelperSlotsBinary.c.j2' import binary_operation, call_binary_slot with context %}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
{% from 'HelperSlotsCommon.c.j2' import goto_exit %}
|
|
4
4
|
{% from 'HelperSlotsInt.c.j2' import int_slot with context %}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
{# This contains macros that are used for all slot helper macros #}
|
|
4
4
|
{% macro goto_exit(props, target, result, qual="all") %}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
{% from 'HelperSlotsCommon.c.j2' import goto_exit, constant_int_exit_target, constant_float_exit_target %}
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
{% from 'HelperSlotsCommon.c.j2' import goto_exit, constant_int_exit_target, constant_float_exit_target %}
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
{% from 'HelperSlotsCommon.c.j2' import goto_exit, constant_long_exit_target, constant_int_exit_target %}
|
|
4
4
|
{% from 'HelperLongTools.c.j2' import declare_long_access with context %}
|
nuitka/containers/Namedtuples.py
CHANGED
nuitka/containers/__init__.py
CHANGED
nuitka/distutils/Build.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright
|
|
1
|
+
# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
""" Nuitka distutils integration.
|
|
@@ -283,7 +283,7 @@ class build(distutils.command.build.build):
|
|
|
283
283
|
sys.executable,
|
|
284
284
|
"-m",
|
|
285
285
|
"nuitka",
|
|
286
|
-
"--module",
|
|
286
|
+
"--mode=module",
|
|
287
287
|
"--enable-plugin=pylint-warnings",
|
|
288
288
|
"--output-dir=%s" % output_dir,
|
|
289
289
|
"--nofollow-import-to=*.tests",
|
nuitka/distutils/__init__.py
CHANGED
nuitka/finalizations/__init__.py
CHANGED
nuitka/freezer/DependsExe.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright
|
|
1
|
+
# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
""" Interface to depends.exe on Windows.
|
|
@@ -55,6 +55,7 @@ Nuitka will make use of Dependency Walker (https://dependencywalker.com) tool
|
|
|
55
55
|
to analyze the dependencies of Python extension modules.""",
|
|
56
56
|
reject="Nuitka does not work in --standalone or --onefile on Windows without.",
|
|
57
57
|
assume_yes_for_downloads=assumeYesForDownloads(),
|
|
58
|
+
download_ok=True,
|
|
58
59
|
)
|
|
59
60
|
|
|
60
61
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright
|
|
1
|
+
# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
"""DLL dependency scan methods for Win32 Windows.
|
|
@@ -12,8 +12,9 @@ import sys
|
|
|
12
12
|
from nuitka.__past__ import iterItems
|
|
13
13
|
from nuitka.build.SconsUtils import readSconsReport
|
|
14
14
|
from nuitka.containers.OrderedSets import OrderedSet
|
|
15
|
-
from nuitka.Options import isShowProgress
|
|
15
|
+
from nuitka.Options import isExperimental, isShowProgress
|
|
16
16
|
from nuitka.plugins.Plugins import Plugins
|
|
17
|
+
from nuitka.PythonFlavors import isAnacondaPython
|
|
17
18
|
from nuitka.PythonVersions import getSystemPrefixPath
|
|
18
19
|
from nuitka.Tracing import inclusion_logger
|
|
19
20
|
from nuitka.utils.AppDirs import getCacheDir
|
|
@@ -22,13 +23,15 @@ from nuitka.utils.FileOperations import (
|
|
|
22
23
|
getDirectoryRealPath,
|
|
23
24
|
getFileContentByLine,
|
|
24
25
|
getSubDirectoriesWithDlls,
|
|
26
|
+
isFilenameSameAsOrBelowPath,
|
|
25
27
|
listDllFilesFromDirectory,
|
|
26
28
|
makePath,
|
|
27
29
|
putTextFileContents,
|
|
28
30
|
withFileLock,
|
|
29
31
|
)
|
|
30
32
|
from nuitka.utils.Hashing import Hash
|
|
31
|
-
from nuitka.utils.SharedLibraries import getPyWin32Dir
|
|
33
|
+
from nuitka.utils.SharedLibraries import getPEFileUsedDllNames, getPyWin32Dir
|
|
34
|
+
from nuitka.utils.Utils import getArchitecture
|
|
32
35
|
from nuitka.Version import version_string
|
|
33
36
|
|
|
34
37
|
from .DependsExe import detectDLLsWithDependencyWalker
|
|
@@ -37,6 +40,46 @@ from .DllDependenciesCommon import getPackageSpecificDLLDirectories
|
|
|
37
40
|
_scan_dir_cache = {}
|
|
38
41
|
|
|
39
42
|
|
|
43
|
+
def detectDLLsWithPEFile(binary_filename, scan_dirs):
|
|
44
|
+
pe_dll_names = getPEFileUsedDllNames(binary_filename)
|
|
45
|
+
|
|
46
|
+
result = OrderedSet()
|
|
47
|
+
|
|
48
|
+
# Get DLL imports from PE file
|
|
49
|
+
for dll_name in pe_dll_names:
|
|
50
|
+
dll_name = dll_name.lower()
|
|
51
|
+
|
|
52
|
+
# Search DLL path from scan dirs
|
|
53
|
+
for scan_dir in scan_dirs:
|
|
54
|
+
dll_filename = os.path.normcase(
|
|
55
|
+
os.path.abspath(os.path.join(scan_dir, dll_name))
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
if os.path.isfile(dll_filename):
|
|
59
|
+
result.add(dll_filename)
|
|
60
|
+
|
|
61
|
+
break
|
|
62
|
+
else:
|
|
63
|
+
if dll_name.startswith("API-MS-WIN-") or dll_name.startswith("EXT-MS-WIN-"):
|
|
64
|
+
continue
|
|
65
|
+
|
|
66
|
+
# Ignore this runtime DLL of Python2, will be coming via manifest.
|
|
67
|
+
# spell-checker: ignore msvcr90
|
|
68
|
+
if dll_name == "msvcr90.dll":
|
|
69
|
+
continue
|
|
70
|
+
|
|
71
|
+
# Ignore API DLLs, they can come in from PATH, but we do not want to
|
|
72
|
+
# include them.
|
|
73
|
+
if dll_name.startswith("api-ms-win-"):
|
|
74
|
+
continue
|
|
75
|
+
|
|
76
|
+
# Ignore UCRT runtime, this must come from OS, spell-checker: ignore ucrtbase
|
|
77
|
+
if dll_name == "ucrtbase.dll":
|
|
78
|
+
continue
|
|
79
|
+
|
|
80
|
+
return result
|
|
81
|
+
|
|
82
|
+
|
|
40
83
|
def detectBinaryPathDLLsWin32(
|
|
41
84
|
is_main_executable,
|
|
42
85
|
source_dir,
|
|
@@ -47,10 +90,17 @@ def detectBinaryPathDLLsWin32(
|
|
|
47
90
|
use_cache,
|
|
48
91
|
update_cache,
|
|
49
92
|
):
|
|
93
|
+
dependency_tool = (
|
|
94
|
+
"pefile"
|
|
95
|
+
if (getArchitecture() == "arm64" or isExperimental("force-dependencies-pefile"))
|
|
96
|
+
else "depends.exe"
|
|
97
|
+
)
|
|
98
|
+
|
|
50
99
|
# This is the caching mechanism and plugin handling for DLL imports.
|
|
51
100
|
if use_cache or update_cache:
|
|
101
|
+
|
|
52
102
|
cache_filename = _getCacheFilename(
|
|
53
|
-
dependency_tool=
|
|
103
|
+
dependency_tool=dependency_tool,
|
|
54
104
|
is_main_executable=is_main_executable,
|
|
55
105
|
source_dir=source_dir,
|
|
56
106
|
original_dir=original_dir,
|
|
@@ -85,9 +135,17 @@ def detectBinaryPathDLLsWin32(
|
|
|
85
135
|
package_name=package_name, original_dir=original_dir, use_path=use_path
|
|
86
136
|
)
|
|
87
137
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
138
|
+
if dependency_tool == "depends.exe":
|
|
139
|
+
result = detectDLLsWithDependencyWalker(
|
|
140
|
+
binary_filename=binary_filename,
|
|
141
|
+
source_dir=source_dir,
|
|
142
|
+
scan_dirs=scan_dirs,
|
|
143
|
+
)
|
|
144
|
+
else:
|
|
145
|
+
result = detectDLLsWithPEFile(
|
|
146
|
+
binary_filename=binary_filename,
|
|
147
|
+
scan_dirs=scan_dirs,
|
|
148
|
+
)
|
|
91
149
|
|
|
92
150
|
if update_cache:
|
|
93
151
|
putTextFileContents(filename=cache_filename, contents=result)
|
|
@@ -95,9 +153,53 @@ def detectBinaryPathDLLsWin32(
|
|
|
95
153
|
return result
|
|
96
154
|
|
|
97
155
|
|
|
156
|
+
_path_contributions = {}
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
def _getPathContribution(use_path):
|
|
160
|
+
"""Contributions from PATH environment variable.
|
|
161
|
+
|
|
162
|
+
These are ignored if use_path is False, but for
|
|
163
|
+
Anaconda we need to keep those elements pointing
|
|
164
|
+
to inside of it.
|
|
165
|
+
"""
|
|
166
|
+
if use_path not in _path_contributions:
|
|
167
|
+
_path_contributions[use_path] = OrderedSet()
|
|
168
|
+
|
|
169
|
+
for path_dir in os.environ["PATH"].split(";"):
|
|
170
|
+
if not os.path.isdir(path_dir):
|
|
171
|
+
continue
|
|
172
|
+
|
|
173
|
+
# spell-checker: ignore SYSTEMROOT
|
|
174
|
+
if areSamePaths(path_dir, os.path.join(os.environ["SYSTEMROOT"])):
|
|
175
|
+
continue
|
|
176
|
+
if areSamePaths(
|
|
177
|
+
path_dir, os.path.join(os.environ["SYSTEMROOT"], "System32")
|
|
178
|
+
):
|
|
179
|
+
continue
|
|
180
|
+
if areSamePaths(
|
|
181
|
+
path_dir, os.path.join(os.environ["SYSTEMROOT"], "SysWOW64")
|
|
182
|
+
):
|
|
183
|
+
continue
|
|
184
|
+
|
|
185
|
+
# For Anaconda, we cannot ignore PATH on its inside.
|
|
186
|
+
if not use_path:
|
|
187
|
+
if not isAnacondaPython() or not isFilenameSameAsOrBelowPath(
|
|
188
|
+
filename=path_dir,
|
|
189
|
+
path=(
|
|
190
|
+
getSystemPrefixPath(),
|
|
191
|
+
sys.prefix,
|
|
192
|
+
),
|
|
193
|
+
):
|
|
194
|
+
continue
|
|
195
|
+
|
|
196
|
+
_path_contributions[use_path].add(path_dir)
|
|
197
|
+
|
|
198
|
+
return _path_contributions[use_path]
|
|
199
|
+
|
|
200
|
+
|
|
98
201
|
def _getScanDirectories(package_name, original_dir, use_path):
|
|
99
202
|
# TODO: Move PyWin32 specific stuff to yaml dll section
|
|
100
|
-
# pylint: disable=too-many-branches
|
|
101
203
|
|
|
102
204
|
cache_key = package_name, original_dir
|
|
103
205
|
|
|
@@ -124,23 +226,7 @@ def _getScanDirectories(package_name, original_dir, use_path):
|
|
|
124
226
|
if py_win32_dir is not None:
|
|
125
227
|
scan_dirs.append(py_win32_dir)
|
|
126
228
|
|
|
127
|
-
|
|
128
|
-
for path_dir in os.environ["PATH"].split(";"):
|
|
129
|
-
if not os.path.isdir(path_dir):
|
|
130
|
-
continue
|
|
131
|
-
|
|
132
|
-
if areSamePaths(path_dir, os.path.join(os.environ["SYSTEMROOT"])):
|
|
133
|
-
continue
|
|
134
|
-
if areSamePaths(
|
|
135
|
-
path_dir, os.path.join(os.environ["SYSTEMROOT"], "System32")
|
|
136
|
-
):
|
|
137
|
-
continue
|
|
138
|
-
if areSamePaths(
|
|
139
|
-
path_dir, os.path.join(os.environ["SYSTEMROOT"], "SysWOW64")
|
|
140
|
-
):
|
|
141
|
-
continue
|
|
142
|
-
|
|
143
|
-
scan_dirs.append(path_dir)
|
|
229
|
+
scan_dirs.extend(_getPathContribution(use_path=use_path))
|
|
144
230
|
|
|
145
231
|
result = []
|
|
146
232
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright
|
|
1
|
+
# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
""" Detect imports made for code by Python.
|
|
@@ -137,7 +137,10 @@ print("\\n".join(sorted(
|
|
|
137
137
|
"_collections_abc.py",
|
|
138
138
|
"_collections_abc.pyc",
|
|
139
139
|
):
|
|
140
|
-
|
|
140
|
+
# Note: This was only useful for 3.13.0, and 3.13.1 already
|
|
141
|
+
# didn't need it anymore. So precise version check for a major
|
|
142
|
+
# version is correct here.
|
|
143
|
+
if python_version == 0x3D0:
|
|
141
144
|
detections.append((module_name, 2, "sourcefile", filename))
|
|
142
145
|
|
|
143
146
|
module_name = ModuleName("_collections_abc")
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright
|
|
1
|
+
# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
""" Included data files for standalone mode.
|
|
@@ -27,7 +27,7 @@ from nuitka.Options import (
|
|
|
27
27
|
shallMakeModule,
|
|
28
28
|
)
|
|
29
29
|
from nuitka.OutputDirectories import getStandaloneDirectoryPath
|
|
30
|
-
from nuitka.Tracing import general, options_logger
|
|
30
|
+
from nuitka.Tracing import general, inclusion_logger, options_logger
|
|
31
31
|
from nuitka.utils.FileOperations import (
|
|
32
32
|
areSamePaths,
|
|
33
33
|
containsPathElements,
|
|
@@ -336,6 +336,15 @@ def addIncludedDataFile(included_datafile):
|
|
|
336
336
|
):
|
|
337
337
|
included_datafile.tags.add("external")
|
|
338
338
|
|
|
339
|
+
dest_path = getOutputPath(included_datafile.dest_path)
|
|
340
|
+
|
|
341
|
+
if areSamePaths(dest_path, included_datafile.source_path):
|
|
342
|
+
inclusion_logger.sysexit(
|
|
343
|
+
"""\
|
|
344
|
+
Error, when asking to copy files external data, you cannot output to\
|
|
345
|
+
same directory and need to use '--output-dir' option."""
|
|
346
|
+
)
|
|
347
|
+
|
|
339
348
|
_included_data_files.append(included_datafile)
|
|
340
349
|
|
|
341
350
|
|
nuitka/freezer/Onefile.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright
|
|
1
|
+
# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
""" Pack distribution folders into a single file.
|
|
@@ -13,8 +13,8 @@ from nuitka import Options, OutputDirectories
|
|
|
13
13
|
from nuitka.build.SconsInterface import (
|
|
14
14
|
asBoolStr,
|
|
15
15
|
cleanSconsDirectory,
|
|
16
|
+
getCommonSconsOptions,
|
|
16
17
|
runScons,
|
|
17
|
-
setCommonSconsOptions,
|
|
18
18
|
)
|
|
19
19
|
from nuitka.Options import getOnefileTempDirSpec, isOnefileTempDirMode
|
|
20
20
|
from nuitka.OutputDirectories import getResultFullpath
|
|
@@ -55,22 +55,20 @@ def packDistFolderToOnefile(dist_dir):
|
|
|
55
55
|
|
|
56
56
|
|
|
57
57
|
def _runOnefileScons(onefile_compression, onefile_archive):
|
|
58
|
+
scons_options, env_values = getCommonSconsOptions()
|
|
59
|
+
|
|
58
60
|
source_dir = OutputDirectories.getSourceDirectoryPath(onefile=True)
|
|
59
61
|
|
|
60
62
|
# Let plugins do their thing for onefile mode too.
|
|
61
63
|
Plugins.writeExtraCodeFiles(onefile=True)
|
|
62
64
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
),
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
env_values = setCommonSconsOptions(options)
|
|
65
|
+
scons_options["result_exe"] = OutputDirectories.getResultFullpath(onefile=True)
|
|
66
|
+
scons_options["source_dir"] = source_dir
|
|
67
|
+
scons_options["debug_mode"] = asBoolStr(Options.is_debug)
|
|
68
|
+
scons_options["trace_mode"] = asBoolStr(Options.shallTraceExecution())
|
|
69
|
+
scons_options["onefile_splash_screen"] = asBoolStr(
|
|
70
|
+
Options.getWindowsSplashScreen() is not None
|
|
71
|
+
)
|
|
74
72
|
|
|
75
73
|
env_values["_NUITKA_ONEFILE_TEMP_SPEC"] = getOnefileTempDirSpec()
|
|
76
74
|
env_values["_NUITKA_ONEFILE_TEMP_BOOL"] = "1" if isOnefileTempDirMode() else "0"
|
|
@@ -96,7 +94,7 @@ def _runOnefileScons(onefile_compression, onefile_archive):
|
|
|
96
94
|
env_values['_NUITKA_WINSVC_UNINSTALL_WIDE_STRING'] = winsvcMetrics['uninstall']
|
|
97
95
|
|
|
98
96
|
result = runScons(
|
|
99
|
-
|
|
97
|
+
scons_options=scons_options,
|
|
100
98
|
env_values=env_values,
|
|
101
99
|
scons_filename="Onefile.scons",
|
|
102
100
|
)
|
|
@@ -133,7 +131,7 @@ another discoverable Python >= 3.5 on your system."""
|
|
|
133
131
|
else:
|
|
134
132
|
onefile_logger.warning(
|
|
135
133
|
"""\
|
|
136
|
-
Onefile mode cannot compress without 'zstandard'
|
|
134
|
+
Onefile mode cannot compress without 'zstandard' package installed."""
|
|
137
135
|
)
|
|
138
136
|
|
|
139
137
|
return _compressor_python
|
|
@@ -244,6 +242,7 @@ def packDistFolderToOnefileBootstrap(onefile_output_filename, dist_dir):
|
|
|
244
242
|
|
|
245
243
|
if isMacOS():
|
|
246
244
|
addMacOSCodeSignature(filenames=[onefile_output_filename])
|
|
245
|
+
assert payload_used_in_build
|
|
247
246
|
|
|
248
247
|
if not payload_used_in_build:
|
|
249
248
|
runOnefileCompressor(
|
nuitka/freezer/Standalone.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright
|
|
1
|
+
# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
""" Pack and copy files for standalone mode.
|
|
@@ -33,6 +33,7 @@ from nuitka.PythonFlavors import (
|
|
|
33
33
|
isAnacondaPython,
|
|
34
34
|
isHomebrewPython,
|
|
35
35
|
isMSYS2MingwPython,
|
|
36
|
+
isNuitkaPython,
|
|
36
37
|
)
|
|
37
38
|
from nuitka.PythonVersions import getSystemPrefixPath
|
|
38
39
|
from nuitka.Tracing import general, inclusion_logger
|
|
@@ -126,7 +127,9 @@ def _detectBinaryDLLs(
|
|
|
126
127
|
"otool" (macOS) the list of used DLLs is retrieved.
|
|
127
128
|
"""
|
|
128
129
|
|
|
129
|
-
if
|
|
130
|
+
if isNuitkaPython():
|
|
131
|
+
return OrderedSet()
|
|
132
|
+
elif getOS() in ("Linux", "NetBSD", "FreeBSD", "OpenBSD") or isPosixWindows():
|
|
130
133
|
return detectBinaryPathDLLsPosix(
|
|
131
134
|
dll_filename=original_filename,
|
|
132
135
|
package_name=package_name,
|
|
@@ -261,7 +264,7 @@ def _reduceToPythonPath(used_dll_paths):
|
|
|
261
264
|
else:
|
|
262
265
|
if dll_filename not in _excluded_system_dlls:
|
|
263
266
|
_excluded_system_dlls.add(dll_filename)
|
|
264
|
-
inclusion_logger.
|
|
267
|
+
inclusion_logger.debug("Not including system DLL '%s'" % dll_filename)
|
|
265
268
|
|
|
266
269
|
removed_dll_paths.add(dll_filename)
|
|
267
270
|
|
nuitka/freezer/__init__.py
CHANGED
nuitka/importing/ImportCache.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright
|
|
1
|
+
# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
""" This cares about resolving module names at compile time compensating meta path based importers.
|
nuitka/importing/Importing.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright
|
|
1
|
+
# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
""" Locating modules and package source on disk.
|
|
@@ -718,8 +718,9 @@ def getPackageSearchPath(package_name):
|
|
|
718
718
|
if isPackageDir(package_dir) or force_package:
|
|
719
719
|
result.append(package_dir)
|
|
720
720
|
|
|
721
|
-
|
|
722
|
-
|
|
721
|
+
return OrderedSet(
|
|
722
|
+
element for element in OrderedSet(result) if os.path.exists(element)
|
|
723
|
+
)
|
|
723
724
|
|
|
724
725
|
|
|
725
726
|
def _findModuleInPath(module_name):
|