Nuitka-winsvc 2.0.6__cp311-cp311-win_amd64.whl → 2.1__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.0.6.data → Nuitka_winsvc-2.1.data}/scripts/nuitka-run.bat +9 -9
- {Nuitka_winsvc-2.0.6.data → Nuitka_winsvc-2.1.data}/scripts/nuitka.bat +15 -15
- {Nuitka_winsvc-2.0.6.dist-info → Nuitka_winsvc-2.1.dist-info}/METADATA +1 -1
- Nuitka_winsvc-2.1.dist-info/RECORD +920 -0
- nuitka/Builtins.py +18 -17
- nuitka/BytecodeCaching.py +20 -19
- nuitka/Bytecodes.py +19 -17
- nuitka/CacheCleanup.py +22 -22
- nuitka/Constants.py +19 -17
- nuitka/Errors.py +19 -17
- nuitka/HardImportRegistry.py +20 -17
- nuitka/MainControl.py +31 -19
- nuitka/ModuleRegistry.py +40 -20
- nuitka/OptionParsing.py +59 -43
- nuitka/Options.py +42 -17
- nuitka/OutputDirectories.py +19 -17
- nuitka/PostProcessing.py +19 -17
- nuitka/Progress.py +19 -17
- nuitka/PythonFlavors.py +22 -18
- nuitka/PythonOperators.py +18 -17
- nuitka/PythonVersions.py +19 -17
- nuitka/Serialization.py +21 -25
- nuitka/SourceCodeReferences.py +19 -17
- nuitka/Tracing.py +33 -20
- nuitka/TreeXML.py +19 -17
- nuitka/Variables.py +19 -17
- nuitka/Version.py +2 -2
- nuitka/__init__.py +5 -4
- nuitka/__main__.py +18 -17
- nuitka/__past__.py +18 -17
- nuitka/build/Backend.scons +18 -21
- nuitka/build/CCompilerVersion.scons +17 -17
- nuitka/build/DataComposerInterface.py +19 -17
- nuitka/build/Onefile.scons +18 -21
- nuitka/build/SconsCaching.py +24 -43
- nuitka/build/SconsCompilerSettings.py +25 -29
- nuitka/build/SconsHacks.py +19 -17
- nuitka/build/SconsInterface.py +20 -25
- nuitka/build/SconsProgress.py +19 -17
- nuitka/build/SconsSpawn.py +40 -29
- nuitka/build/SconsUtils.py +85 -20
- nuitka/build/__init__.py +5 -4
- nuitka/build/include/nuitka/allocator.h +17 -17
- nuitka/build/include/nuitka/builtins.h +17 -17
- nuitka/build/include/nuitka/calling.h +17 -17
- nuitka/build/include/nuitka/checkers.h +17 -18
- nuitka/build/include/nuitka/checksum_tools.h +14 -15
- nuitka/build/include/nuitka/compiled_asyncgen.h +17 -17
- nuitka/build/include/nuitka/compiled_cell.h +17 -17
- nuitka/build/include/nuitka/compiled_coroutine.h +17 -17
- nuitka/build/include/nuitka/compiled_frame.h +17 -17
- nuitka/build/include/nuitka/compiled_function.h +17 -17
- nuitka/build/include/nuitka/compiled_generator.h +17 -17
- nuitka/build/include/nuitka/compiled_method.h +16 -17
- nuitka/build/include/nuitka/constants.h +17 -18
- nuitka/build/include/nuitka/constants_blob.h +17 -17
- nuitka/build/include/nuitka/environment_variables.h +16 -16
- nuitka/build/include/nuitka/environment_variables_system.h +17 -18
- nuitka/build/include/nuitka/exception_groups.h +17 -18
- nuitka/build/include/nuitka/exceptions.h +17 -17
- nuitka/build/include/nuitka/filesystem_paths.h +17 -18
- nuitka/build/include/nuitka/freelists.h +16 -17
- nuitka/build/include/nuitka/helper/attributes.h +17 -17
- 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 +17 -17
- nuitka/build/include/nuitka/helper/floats.h +17 -18
- nuitka/build/include/nuitka/helper/import_hard.h +17 -17
- nuitka/build/include/nuitka/helper/indexes.h +17 -18
- nuitka/build/include/nuitka/helper/ints.h +17 -18
- nuitka/build/include/nuitka/helper/iterators.h +17 -17
- nuitka/build/include/nuitka/helper/lists.h +17 -18
- nuitka/build/include/nuitka/helper/lists_generated.h +17 -17
- 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 +17 -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 +13 -13
- nuitka/build/include/nuitka/helper/sets.h +11 -12
- nuitka/build/include/nuitka/helper/slices.h +17 -17
- nuitka/build/include/nuitka/helper/strings.h +16 -17
- nuitka/build/include/nuitka/helper/subscripts.h +17 -17
- nuitka/build/include/nuitka/helper/tuples.h +17 -18
- nuitka/build/include/nuitka/helpers.h +17 -17
- nuitka/build/include/nuitka/importing.h +17 -17
- nuitka/build/include/nuitka/prelude.h +17 -17
- nuitka/build/include/nuitka/printing.h +17 -17
- nuitka/build/include/nuitka/python_pgo.h +17 -18
- nuitka/build/include/nuitka/safe_string_ops.h +17 -18
- nuitka/build/include/nuitka/threading.h +17 -17
- nuitka/build/include/nuitka/tracing.h +17 -17
- nuitka/build/include/nuitka/unfreezing.h +17 -17
- nuitka/build/static_src/CompiledAsyncgenType.c +17 -17
- nuitka/build/static_src/CompiledCellType.c +17 -18
- nuitka/build/static_src/CompiledCodeHelpers.c +17 -17
- nuitka/build/static_src/CompiledCoroutineType.c +17 -17
- nuitka/build/static_src/CompiledFrameType.c +17 -18
- nuitka/build/static_src/CompiledFunctionType.c +17 -18
- nuitka/build/static_src/CompiledGeneratorType.c +17 -18
- nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +17 -17
- nuitka/build/static_src/CompiledMethodType.c +17 -17
- nuitka/build/static_src/HelpersAllocator.c +17 -17
- nuitka/build/static_src/HelpersAttributes.c +16 -18
- nuitka/build/static_src/HelpersBuiltin.c +17 -17
- nuitka/build/static_src/HelpersBuiltinTypeMethods.c +17 -17
- nuitka/build/static_src/HelpersBytes.c +17 -18
- nuitka/build/static_src/HelpersCalling.c +17 -17
- nuitka/build/static_src/HelpersCallingGenerated.c +17 -17
- nuitka/build/static_src/HelpersChecksumTools.c +17 -18
- nuitka/build/static_src/HelpersClasses.c +17 -17
- nuitka/build/static_src/HelpersComparisonEq.c +17 -17
- nuitka/build/static_src/HelpersComparisonEqUtils.c +17 -17
- nuitka/build/static_src/HelpersComparisonGe.c +17 -17
- nuitka/build/static_src/HelpersComparisonGt.c +17 -17
- nuitka/build/static_src/HelpersComparisonLe.c +17 -17
- nuitka/build/static_src/HelpersComparisonLt.c +17 -17
- nuitka/build/static_src/HelpersComparisonNe.c +17 -17
- nuitka/build/static_src/HelpersConstantsBlob.c +17 -17
- nuitka/build/static_src/HelpersDeepcopy.c +17 -17
- nuitka/build/static_src/HelpersDictionaries.c +17 -17
- nuitka/build/static_src/HelpersDictionariesGenerated.c +16 -17
- nuitka/build/static_src/HelpersDumpBacktraces.c +17 -18
- nuitka/build/static_src/HelpersEnvironmentVariables.c +17 -17
- nuitka/build/static_src/HelpersEnvironmentVariablesSystem.c +17 -17
- nuitka/build/static_src/HelpersExceptions.c +17 -18
- nuitka/build/static_src/HelpersFiles.c +17 -17
- nuitka/build/static_src/HelpersFilesystemPaths.c +17 -17
- nuitka/build/static_src/HelpersFloats.c +17 -17
- nuitka/build/static_src/HelpersHeapStorage.c +17 -17
- nuitka/build/static_src/HelpersImport.c +17 -17
- nuitka/build/static_src/HelpersImportHard.c +17 -17
- nuitka/build/static_src/HelpersLists.c +17 -18
- nuitka/build/static_src/HelpersListsGenerated.c +17 -17
- nuitka/build/static_src/HelpersMappings.c +17 -17
- nuitka/build/static_src/HelpersMatching.c +17 -18
- nuitka/build/static_src/HelpersOperationBinaryAdd.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryAddUtils.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryBitand.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryBitor.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryBitxor.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryDivmod.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryDivmodUtils.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryFloordiv.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryInplaceAdd.c +17 -18
- nuitka/build/static_src/HelpersOperationBinaryLshift.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryMatmult.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryMod.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryMult.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryMultUtils.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryOlddiv.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryPow.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryPowUtils.c +12 -12
- nuitka/build/static_src/HelpersOperationBinaryRshift.c +17 -17
- nuitka/build/static_src/HelpersOperationBinarySub.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryTruediv.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceAdd.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceAddUtils.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceBitand.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceBitor.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceBitxor.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceFloordiv.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceLshift.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceMatmult.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceMod.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceMult.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceOlddiv.c +17 -17
- nuitka/build/static_src/HelpersOperationInplacePow.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceRshift.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceSub.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceTruediv.c +17 -17
- nuitka/build/static_src/HelpersProfiling.c +17 -17
- nuitka/build/static_src/HelpersPythonPgo.c +17 -17
- nuitka/build/static_src/HelpersRaising.c +17 -17
- nuitka/build/static_src/HelpersSafeStrings.c +17 -17
- nuitka/build/static_src/HelpersSequences.c +17 -18
- nuitka/build/static_src/HelpersSlices.c +17 -18
- nuitka/build/static_src/HelpersStrings.c +17 -17
- nuitka/build/static_src/HelpersTuples.c +17 -17
- nuitka/build/static_src/HelpersTypes.c +17 -18
- nuitka/build/static_src/InspectPatcher.c +17 -17
- nuitka/build/static_src/MainProgram.c +17 -17
- nuitka/build/static_src/MetaPathBasedLoader.c +18 -18
- nuitka/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c +17 -17
- nuitka/build/static_src/MetaPathBasedLoaderResourceReader.c +17 -18
- nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +17 -18
- nuitka/build/static_src/OnefileBootstrap.c +17 -17
- nuitka/build/static_src/OnefileSplashScreen.cpp +17 -18
- nuitka/code_generation/AsyncgenCodes.py +19 -17
- nuitka/code_generation/AttributeCodes.py +19 -17
- nuitka/code_generation/BinaryOperationHelperDefinitions.py +19 -17
- nuitka/code_generation/BranchCodes.py +19 -17
- nuitka/code_generation/BuiltinCodes.py +19 -17
- nuitka/code_generation/CallCodes.py +19 -17
- nuitka/code_generation/ClassCodes.py +19 -17
- nuitka/code_generation/CodeGeneration.py +19 -17
- nuitka/code_generation/CodeHelperSelection.py +19 -17
- nuitka/code_generation/CodeHelpers.py +19 -17
- nuitka/code_generation/CodeObjectCodes.py +19 -17
- nuitka/code_generation/ComparisonCodes.py +19 -17
- nuitka/code_generation/ComparisonHelperDefinitions.py +19 -17
- nuitka/code_generation/ConditionalCodes.py +19 -17
- nuitka/code_generation/ConstantCodes.py +19 -17
- nuitka/code_generation/Contexts.py +19 -17
- nuitka/code_generation/CoroutineCodes.py +19 -17
- nuitka/code_generation/CtypesCodes.py +19 -17
- nuitka/code_generation/DictCodes.py +19 -17
- nuitka/code_generation/Emission.py +19 -17
- nuitka/code_generation/ErrorCodes.py +19 -17
- nuitka/code_generation/EvalCodes.py +19 -17
- nuitka/code_generation/ExceptionCodes.py +19 -17
- nuitka/code_generation/ExpressionCTypeSelectionHelpers.py +19 -17
- nuitka/code_generation/ExpressionCodes.py +19 -17
- nuitka/code_generation/FrameCodes.py +19 -17
- nuitka/code_generation/FunctionCodes.py +19 -17
- nuitka/code_generation/GeneratorCodes.py +19 -17
- nuitka/code_generation/GlobalConstants.py +19 -17
- nuitka/code_generation/GlobalsLocalsCodes.py +19 -17
- nuitka/code_generation/IdCodes.py +19 -17
- nuitka/code_generation/ImportCodes.py +19 -17
- nuitka/code_generation/Indentation.py +19 -17
- 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/LabelCodes.py +19 -17
- nuitka/code_generation/LineNumberCodes.py +19 -17
- nuitka/code_generation/ListCodes.py +19 -17
- nuitka/code_generation/LoaderCodes.py +19 -17
- nuitka/code_generation/LocalsDictCodes.py +19 -17
- nuitka/code_generation/LoopCodes.py +19 -17
- nuitka/code_generation/MatchCodes.py +19 -17
- nuitka/code_generation/ModuleCodes.py +19 -17
- nuitka/code_generation/Namify.py +19 -17
- nuitka/code_generation/OperationCodes.py +21 -25
- nuitka/code_generation/PackageResourceCodes.py +19 -17
- 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 +19 -17
- nuitka/code_generation/StringCodes.py +19 -17
- nuitka/code_generation/SubscriptCodes.py +19 -17
- nuitka/code_generation/TryCodes.py +19 -17
- nuitka/code_generation/TupleCodes.py +19 -17
- nuitka/code_generation/VariableCodes.py +19 -17
- nuitka/code_generation/VariableDeclarations.py +19 -17
- nuitka/code_generation/YieldCodes.py +19 -17
- 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 -17
- 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 -17
- nuitka/code_generation/c_types/CTypeNuitkaVoids.py +19 -17
- nuitka/code_generation/c_types/CTypePyObjectPointers.py +19 -17
- nuitka/code_generation/c_types/CTypeVoids.py +19 -17
- nuitka/code_generation/c_types/__init__.py +5 -4
- nuitka/code_generation/templates/CodeTemplatesAsyncgens.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesConstants.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesCoroutines.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesExceptions.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesFrames.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesFunction.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesGeneratorFunction.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesIterators.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesLoader.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesModules.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesVariables.py +18 -17
- nuitka/code_generation/templates/TemplateDebugWrapper.py +19 -17
- nuitka/code_generation/templates/__init__.py +5 -4
- nuitka/code_generation/templates_c/CodeTemplateCallsMethodPositional.c.j2 +17 -17
- nuitka/code_generation/templates_c/CodeTemplateCallsMixed.c.j2 +17 -17
- nuitka/code_generation/templates_c/CodeTemplateCallsPositional.c.j2 +17 -17
- nuitka/code_generation/templates_c/CodeTemplateCallsPositionalMethodDescr.c.j2 +17 -17
- nuitka/code_generation/templates_c/CodeTemplateMakeListHinted.c.j2 +17 -17
- nuitka/code_generation/templates_c/CodeTemplateMakeListSmall.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperBuiltinMethodOperation.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperDictionaryCopy.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperImportHard.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperLongTools.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperObjectTools.c.j2 +6 -6
- nuitka/code_generation/templates_c/HelperOperationBinary.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationComparison.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationComparisonBytes.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationComparisonFloat.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationComparisonInt.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationComparisonList.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationComparisonLong.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationComparisonStr.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationComparisonTuple.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationInplace.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsBinary.c.j2 +17 -17
- 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 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsLong.c.j2 +17 -17
- 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 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsUnicode.c.j2 +17 -17
- nuitka/containers/Namedtuples.py +19 -17
- nuitka/containers/OrderedSetsFallback.py +19 -17
- nuitka/containers/__init__.py +5 -4
- nuitka/distutils/Build.py +18 -17
- nuitka/distutils/DistutilCommands.py +19 -17
- nuitka/distutils/__init__.py +5 -4
- nuitka/finalizations/Finalization.py +19 -17
- nuitka/finalizations/FinalizeMarkups.py +20 -21
- nuitka/finalizations/__init__.py +5 -4
- nuitka/freezer/DependsExe.py +19 -17
- nuitka/freezer/DllDependenciesCommon.py +19 -17
- nuitka/freezer/DllDependenciesMacOS.py +19 -17
- nuitka/freezer/DllDependenciesPosix.py +18 -17
- nuitka/freezer/DllDependenciesWin32.py +20 -18
- nuitka/freezer/ImportDetection.py +19 -17
- nuitka/freezer/IncludedDataFiles.py +22 -17
- nuitka/freezer/IncludedEntryPoints.py +19 -17
- nuitka/freezer/Onefile.py +19 -17
- nuitka/freezer/Standalone.py +19 -17
- nuitka/freezer/__init__.py +5 -4
- nuitka/importing/IgnoreListing.py +19 -17
- nuitka/importing/ImportCache.py +19 -17
- nuitka/importing/ImportResolving.py +19 -17
- nuitka/importing/Importing.py +20 -18
- nuitka/importing/PreloadedPackages.py +19 -17
- nuitka/importing/Recursion.py +19 -17
- nuitka/importing/StandardLibrary.py +19 -17
- 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 +18 -17
- nuitka/nodes/BuiltinAllNodes.py +19 -17
- nuitka/nodes/BuiltinAnyNodes.py +19 -17
- nuitka/nodes/BuiltinComplexNodes.py +19 -17
- nuitka/nodes/BuiltinDecodingNodes.py +19 -17
- nuitka/nodes/BuiltinDecoratorNodes.py +19 -17
- nuitka/nodes/BuiltinDictNodes.py +19 -17
- nuitka/nodes/BuiltinFormatNodes.py +19 -17
- nuitka/nodes/BuiltinHashNodes.py +19 -17
- nuitka/nodes/BuiltinInputNodes.py +19 -17
- nuitka/nodes/BuiltinIntegerNodes.py +19 -17
- nuitka/nodes/BuiltinIteratorNodes.py +19 -17
- nuitka/nodes/BuiltinLenNodes.py +19 -17
- nuitka/nodes/BuiltinNextNodes.py +19 -17
- nuitka/nodes/BuiltinOpenNodes.py +19 -17
- nuitka/nodes/BuiltinOperationNodeBasesGenerated.py +19 -17
- nuitka/nodes/BuiltinRangeNodes.py +19 -17
- nuitka/nodes/BuiltinRefNodes.py +19 -17
- nuitka/nodes/BuiltinSumNodes.py +19 -17
- nuitka/nodes/BuiltinTypeNodes.py +19 -17
- nuitka/nodes/BuiltinVarsNodes.py +19 -17
- nuitka/nodes/BytesNodes.py +19 -17
- nuitka/nodes/CallNodes.py +19 -17
- nuitka/nodes/Checkers.py +19 -17
- nuitka/nodes/ChildrenHavingMixins.py +125 -17
- nuitka/nodes/ClassNodes.py +19 -17
- nuitka/nodes/CodeObjectSpecs.py +19 -17
- nuitka/nodes/ComparisonNodes.py +19 -17
- nuitka/nodes/ConditionalNodes.py +19 -17
- nuitka/nodes/ConstantRefNodes.py +19 -17
- nuitka/nodes/ContainerMakingNodes.py +19 -17
- nuitka/nodes/ContainerOperationNodes.py +19 -17
- nuitka/nodes/CoroutineNodes.py +19 -17
- nuitka/nodes/CtypesNodes.py +19 -17
- nuitka/nodes/DictionaryNodes.py +19 -17
- nuitka/nodes/ExceptionNodes.py +19 -17
- nuitka/nodes/ExecEvalNodes.py +19 -17
- nuitka/nodes/ExpressionBases.py +19 -17
- nuitka/nodes/ExpressionBasesGenerated.py +18 -17
- nuitka/nodes/ExpressionShapeMixins.py +19 -17
- nuitka/nodes/FrameNodes.py +19 -17
- nuitka/nodes/FunctionAttributeNodes.py +19 -17
- nuitka/nodes/FunctionNodes.py +20 -18
- nuitka/nodes/FutureSpecs.py +19 -17
- nuitka/nodes/GeneratorNodes.py +19 -17
- nuitka/nodes/GlobalsLocalsNodes.py +19 -17
- nuitka/nodes/HardImportNodesGenerated.py +103 -17
- nuitka/nodes/ImportHardNodes.py +19 -17
- nuitka/nodes/ImportNodes.py +19 -17
- nuitka/nodes/IndicatorMixins.py +19 -17
- nuitka/nodes/InjectCNodes.py +19 -17
- nuitka/nodes/IterationHandles.py +19 -17
- nuitka/nodes/KeyValuePairNodes.py +19 -17
- nuitka/nodes/ListOperationNodes.py +19 -17
- nuitka/nodes/LocalsDictNodes.py +19 -17
- nuitka/nodes/LocalsScopes.py +19 -17
- nuitka/nodes/LoopNodes.py +25 -17
- nuitka/nodes/MatchNodes.py +19 -17
- nuitka/nodes/ModuleAttributeNodes.py +19 -17
- nuitka/nodes/ModuleNodes.py +27 -17
- nuitka/nodes/NodeBases.py +24 -18
- nuitka/nodes/NodeMakingHelpers.py +21 -19
- nuitka/nodes/NodeMetaClasses.py +19 -18
- nuitka/nodes/OperatorNodes.py +19 -17
- nuitka/nodes/OperatorNodesUnary.py +19 -17
- nuitka/nodes/OsSysNodes.py +34 -17
- nuitka/nodes/OutlineNodes.py +19 -17
- nuitka/nodes/PackageMetadataNodes.py +19 -17
- nuitka/nodes/PackageResourceNodes.py +19 -17
- nuitka/nodes/PrintNodes.py +19 -17
- nuitka/nodes/ReturnNodes.py +19 -17
- nuitka/nodes/SideEffectNodes.py +19 -17
- nuitka/nodes/SliceNodes.py +19 -17
- nuitka/nodes/StatementBasesGenerated.py +18 -17
- nuitka/nodes/StatementNodes.py +19 -17
- nuitka/nodes/StrNodes.py +19 -17
- nuitka/nodes/StringConcatenationNodes.py +19 -17
- nuitka/nodes/SubscriptNodes.py +19 -17
- nuitka/nodes/TryNodes.py +19 -17
- nuitka/nodes/TypeMatchNodes.py +19 -17
- nuitka/nodes/TypeNodes.py +19 -17
- nuitka/nodes/VariableAssignNodes.py +97 -59
- nuitka/nodes/VariableDelNodes.py +19 -17
- nuitka/nodes/VariableNameNodes.py +19 -17
- nuitka/nodes/VariableRefNodes.py +27 -17
- nuitka/nodes/VariableReleaseNodes.py +19 -17
- nuitka/nodes/YieldNodes.py +19 -17
- nuitka/nodes/__init__.py +5 -4
- nuitka/nodes/shapes/BuiltinTypeShapes.py +18 -17
- nuitka/nodes/shapes/ControlFlowDescriptions.py +19 -17
- nuitka/nodes/shapes/ShapeMixins.py +19 -17
- nuitka/nodes/shapes/StandardShapes.py +18 -17
- nuitka/nodes/shapes/__init__.py +5 -4
- nuitka/optimizations/BytecodeDemotion.py +19 -17
- nuitka/optimizations/FunctionInlining.py +19 -17
- nuitka/optimizations/Graphs.py +19 -17
- nuitka/optimizations/Optimization.py +19 -17
- nuitka/optimizations/OptimizeBuiltinCalls.py +19 -17
- nuitka/optimizations/Tags.py +19 -17
- nuitka/optimizations/TraceCollections.py +20 -18
- nuitka/optimizations/ValueTraces.py +40 -24
- nuitka/optimizations/__init__.py +5 -4
- nuitka/pgo/PGO.py +19 -17
- nuitka/pgo/__init__.py +5 -4
- nuitka/plugins/PluginBase.py +197 -51
- nuitka/plugins/Plugins.py +20 -18
- nuitka/plugins/__init__.py +5 -4
- nuitka/plugins/standard/AntiBloatPlugin.py +59 -31
- nuitka/plugins/standard/ConsiderPyLintAnnotationsPlugin.py +19 -17
- nuitka/plugins/standard/DataFilesPlugin.py +28 -18
- nuitka/plugins/standard/DelvewheelPlugin.py +23 -20
- nuitka/plugins/standard/DillPlugin/DillPlugin.c +17 -17
- nuitka/plugins/standard/DillPlugin/dill-postLoad.py +21 -18
- nuitka/plugins/standard/DillPlugin.py +19 -17
- nuitka/plugins/standard/DllFilesPlugin.py +52 -22
- 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 +19 -17
- nuitka/plugins/standard/GlfwPlugin.py +19 -17
- nuitka/plugins/standard/ImplicitImports.py +28 -19
- nuitka/plugins/standard/KivyPlugin.py +19 -17
- nuitka/plugins/standard/MatplotlibPlugin.py +19 -17
- nuitka/plugins/standard/MultiprocessingPlugin.py +19 -17
- nuitka/plugins/standard/NumpyPlugin.py +19 -17
- nuitka/plugins/standard/OptionsNannyPlugin.py +19 -17
- nuitka/plugins/standard/PbrPlugin.py +19 -17
- nuitka/plugins/standard/PkgResourcesPlugin.py +19 -17
- nuitka/plugins/standard/PmwPlugin.py +19 -17
- nuitka/plugins/standard/PySidePyQtPlugin.py +19 -17
- nuitka/plugins/standard/PywebViewPlugin.py +19 -17
- nuitka/plugins/standard/TensorflowPlugin.py +19 -17
- nuitka/plugins/standard/TkinterPlugin.py +19 -17
- nuitka/plugins/standard/TorchPlugin.py +19 -17
- nuitka/plugins/standard/TransformersPlugin.py +19 -17
- nuitka/plugins/standard/TrioPlugin.py +17 -15
- nuitka/plugins/standard/UpxPlugin.py +20 -18
- nuitka/plugins/standard/__init__.py +5 -4
- nuitka/plugins/standard/standard.nuitka-package.config.yml +47 -2
- nuitka/reports/CompilationReportReader.py +19 -17
- nuitka/reports/LicenseReport.rst.j2 +17 -17
- nuitka/reports/Reports.py +74 -21
- 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 +19 -17
- nuitka/specs/BuiltinStrOperationSpecs.py +18 -17
- nuitka/specs/BuiltinTypeOperationSpecs.py +18 -17
- nuitka/specs/BuiltinUnicodeOperationSpecs.py +18 -17
- nuitka/specs/HardImportSpecs.py +27 -19
- nuitka/specs/ParameterSpecs.py +19 -17
- nuitka/specs/__init__.py +5 -4
- nuitka/tools/Basics.py +19 -17
- nuitka/tools/__init__.py +5 -4
- nuitka/tools/commercial/__init__.py +7 -6
- nuitka/tools/data_composer/DataComposer.py +19 -17
- nuitka/tools/data_composer/__init__.py +5 -4
- nuitka/tools/data_composer/__main__.py +18 -17
- nuitka/tools/environments/CreateEnvironment.py +19 -17
- nuitka/tools/environments/Virtualenv.py +19 -17
- 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 +17 -17
- nuitka/tools/general/find_module/FindModuleCode.py +19 -17
- nuitka/tools/general/find_module/__init__.py +5 -4
- nuitka/tools/onefile_compressor/OnefileCompressor.py +20 -18
- 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 +18 -17
- nuitka/tools/profiler/__init__.py +5 -4
- nuitka/tools/profiler/__main__.py +18 -17
- nuitka/tools/scanning/DisplayPackageDLLs.py +19 -17
- nuitka/tools/scanning/DisplayPackageData.py +19 -17
- nuitka/tools/scanning/__init__.py +5 -4
- nuitka/tools/specialize/CTypeDescriptions.py +18 -17
- nuitka/tools/specialize/Common.py +18 -17
- nuitka/tools/specialize/SpecializeC.py +19 -17
- nuitka/tools/specialize/SpecializePython.py +20 -17
- nuitka/tools/specialize/__init__.py +5 -4
- nuitka/tools/testing/Common.py +25 -27
- nuitka/tools/testing/Constructs.py +19 -17
- nuitka/tools/testing/OutputComparison.py +19 -17
- nuitka/tools/testing/Pythons.py +19 -17
- nuitka/tools/testing/RuntimeTracing.py +18 -17
- nuitka/tools/testing/SearchModes.py +19 -17
- 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 +17 -17
- nuitka/tools/testing/compare_with_cpython/__init__.py +5 -4
- nuitka/tools/testing/compare_with_cpython/__main__.py +17 -17
- 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 +17 -17
- nuitka/tools/testing/run_nuitka_tests/__init__.py +5 -4
- nuitka/tools/testing/run_nuitka_tests/__main__.py +17 -17
- nuitka/tools/watch/GitHub.py +18 -17
- nuitka/tools/watch/__init__.py +5 -4
- nuitka/tools/watch/__main__.py +20 -19
- nuitka/tree/Building.py +19 -17
- nuitka/tree/ComplexCallHelperFunctions.py +19 -17
- nuitka/tree/Extractions.py +19 -17
- nuitka/tree/InternalModule.py +19 -17
- nuitka/tree/Operations.py +19 -17
- nuitka/tree/ReformulationAssertStatements.py +19 -17
- nuitka/tree/ReformulationAssignmentStatements.py +19 -17
- nuitka/tree/ReformulationBooleanExpressions.py +19 -17
- nuitka/tree/ReformulationCallExpressions.py +19 -17
- nuitka/tree/ReformulationClasses.py +19 -17
- nuitka/tree/ReformulationClasses3.py +19 -17
- nuitka/tree/ReformulationComparisonExpressions.py +19 -17
- nuitka/tree/ReformulationContractionExpressions.py +19 -17
- nuitka/tree/ReformulationDictionaryCreation.py +19 -17
- nuitka/tree/ReformulationExecStatements.py +18 -17
- nuitka/tree/ReformulationForLoopStatements.py +19 -17
- nuitka/tree/ReformulationFunctionStatements.py +19 -17
- nuitka/tree/ReformulationImportStatements.py +19 -17
- nuitka/tree/ReformulationLambdaExpressions.py +19 -17
- nuitka/tree/ReformulationMatchStatements.py +19 -17
- nuitka/tree/ReformulationMultidist.py +19 -17
- nuitka/tree/ReformulationNamespacePackages.py +19 -17
- nuitka/tree/ReformulationPrintStatements.py +19 -17
- nuitka/tree/ReformulationSequenceCreation.py +19 -17
- nuitka/tree/ReformulationSubscriptExpressions.py +19 -17
- nuitka/tree/ReformulationTryExceptStatements.py +19 -17
- nuitka/tree/ReformulationTryFinallyStatements.py +19 -17
- nuitka/tree/ReformulationWhileLoopStatements.py +19 -17
- nuitka/tree/ReformulationWithStatements.py +19 -17
- nuitka/tree/ReformulationYieldExpressions.py +19 -17
- nuitka/tree/SourceHandling.py +19 -17
- nuitka/tree/SyntaxErrors.py +19 -17
- nuitka/tree/TreeHelpers.py +19 -17
- nuitka/tree/VariableClosure.py +19 -17
- nuitka/tree/__init__.py +5 -4
- nuitka/utils/AppDirs.py +30 -18
- nuitka/utils/CStrings.py +19 -17
- nuitka/utils/CommandLineOptions.py +19 -17
- nuitka/utils/Distributions.py +34 -22
- nuitka/utils/Download.py +20 -18
- nuitka/utils/Execution.py +22 -18
- nuitka/utils/FileOperations.py +31 -17
- nuitka/utils/Hashing.py +19 -17
- nuitka/utils/Images.py +19 -17
- nuitka/utils/Importing.py +31 -18
- nuitka/utils/InstalledPythons.py +19 -17
- nuitka/utils/InstanceCounters.py +19 -17
- nuitka/utils/Jinja2.py +19 -17
- nuitka/utils/Json.py +19 -17
- nuitka/utils/MacOSApp.py +19 -17
- nuitka/utils/MemoryUsage.py +19 -17
- nuitka/utils/ModuleNames.py +19 -17
- nuitka/utils/ReExecute.py +19 -17
- nuitka/utils/Rest.py +19 -17
- nuitka/utils/SharedLibraries.py +19 -17
- nuitka/utils/Shebang.py +19 -17
- nuitka/utils/Signing.py +19 -17
- nuitka/utils/SlotMetaClasses.py +19 -17
- nuitka/utils/StaticLibraries.py +19 -17
- nuitka/utils/ThreadedExecutor.py +18 -17
- nuitka/utils/Timing.py +19 -17
- nuitka/utils/Utils.py +19 -17
- nuitka/utils/WindowsFileUsage.py +18 -17
- nuitka/utils/WindowsResources.py +19 -17
- nuitka/utils/Yaml.py +19 -17
- nuitka/utils/__init__.py +5 -4
- Nuitka_winsvc-2.0.6.dist-info/RECORD +0 -920
- {Nuitka_winsvc-2.0.6.dist-info → Nuitka_winsvc-2.1.dist-info}/LICENSE.txt +0 -0
- {Nuitka_winsvc-2.0.6.dist-info → Nuitka_winsvc-2.1.dist-info}/WHEEL +0 -0
- {Nuitka_winsvc-2.0.6.dist-info → Nuitka_winsvc-2.1.dist-info}/entry_points.txt +0 -0
- {Nuitka_winsvc-2.0.6.dist-info → Nuitka_winsvc-2.1.dist-info}/top_level.txt +0 -0
nuitka/plugins/PluginBase.py
CHANGED
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# integrates with CPython, but also works on its own.
|
|
5
|
-
#
|
|
6
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
# you may not use this file except in compliance with the License.
|
|
8
|
-
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
10
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
12
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
# See the License for the specific language governing permissions and
|
|
16
|
-
# limitations under the License.
|
|
17
|
-
#
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
18
4
|
"""
|
|
19
5
|
Plugins: Welcome to Nuitka! This is your shortest way to become part of it.
|
|
20
6
|
|
|
@@ -28,11 +14,13 @@ it being used.
|
|
|
28
14
|
|
|
29
15
|
import ast
|
|
30
16
|
import functools
|
|
17
|
+
import importlib
|
|
31
18
|
import inspect
|
|
32
19
|
import os
|
|
33
20
|
import sys
|
|
34
21
|
|
|
35
22
|
from nuitka import Options
|
|
23
|
+
from nuitka.__past__ import iter_modules, unicode
|
|
36
24
|
from nuitka.containers.Namedtuples import makeNamedtupleClass
|
|
37
25
|
from nuitka.containers.OrderedSets import OrderedSet
|
|
38
26
|
from nuitka.freezer.IncludedDataFiles import (
|
|
@@ -49,6 +37,7 @@ from nuitka.freezer.IncludedEntryPoints import (
|
|
|
49
37
|
)
|
|
50
38
|
from nuitka.ModuleRegistry import (
|
|
51
39
|
addModuleInfluencingCondition,
|
|
40
|
+
addModuleInfluencingDetection,
|
|
52
41
|
addModuleInfluencingParameter,
|
|
53
42
|
addModuleInfluencingVariable,
|
|
54
43
|
getModuleInclusionInfoByName,
|
|
@@ -67,6 +56,8 @@ from nuitka.PythonFlavors import isAnacondaPython, isDebianPackagePython
|
|
|
67
56
|
from nuitka.PythonVersions import (
|
|
68
57
|
getTestExecutionPythonVersions,
|
|
69
58
|
python_version,
|
|
59
|
+
python_version_full_str,
|
|
60
|
+
python_version_str,
|
|
70
61
|
)
|
|
71
62
|
from nuitka.Tracing import plugins_logger
|
|
72
63
|
from nuitka.utils.AppDirs import getAppdirsModule
|
|
@@ -110,6 +101,10 @@ control_tags = {}
|
|
|
110
101
|
|
|
111
102
|
_context_dict = None
|
|
112
103
|
|
|
104
|
+
# Populated when "constants" and "variables" yaml sections get evaluated.
|
|
105
|
+
_module_config_constants = {}
|
|
106
|
+
_module_config_variables = {}
|
|
107
|
+
|
|
113
108
|
|
|
114
109
|
def _getEvaluationContext():
|
|
115
110
|
# Using global here, as this is really a singleton, in the form of a module,
|
|
@@ -137,6 +132,8 @@ def _getEvaluationContext():
|
|
|
137
132
|
"no_asserts": hasPythonFlagNoAsserts(),
|
|
138
133
|
"no_docstrings": hasPythonFlagNoDocStrings(),
|
|
139
134
|
"no_annotations": hasPythonFlagNoAnnotations(),
|
|
135
|
+
# Iterating packages
|
|
136
|
+
"iterate_modules": _iterate_module_names,
|
|
140
137
|
# Locating package directories
|
|
141
138
|
"_get_module_directory": _getModuleDirectory,
|
|
142
139
|
# Querying package properties
|
|
@@ -148,7 +145,11 @@ def _getEvaluationContext():
|
|
|
148
145
|
# Frequent used modules
|
|
149
146
|
"sys": sys,
|
|
150
147
|
"os": os,
|
|
148
|
+
"importlib": importlib,
|
|
151
149
|
"appdirs": getAppdirsModule(),
|
|
150
|
+
# Python version string
|
|
151
|
+
"python_version_str": python_version_str,
|
|
152
|
+
"python_version_full_str": python_version_full_str,
|
|
152
153
|
# Builtins
|
|
153
154
|
"True": True,
|
|
154
155
|
"False": False,
|
|
@@ -162,6 +163,8 @@ def _getEvaluationContext():
|
|
|
162
163
|
"list": list,
|
|
163
164
|
"dict": dict,
|
|
164
165
|
"set": set,
|
|
166
|
+
"getattr": getattr,
|
|
167
|
+
"hasattr": hasattr,
|
|
165
168
|
"frozenset": frozenset,
|
|
166
169
|
"__import__": __import__,
|
|
167
170
|
}
|
|
@@ -269,6 +272,22 @@ def _getModuleDirectory(module_name):
|
|
|
269
272
|
return module_filename
|
|
270
273
|
|
|
271
274
|
|
|
275
|
+
def _iterate_module_names(package_name):
|
|
276
|
+
package_name = ModuleName(package_name)
|
|
277
|
+
package_path = _getModuleDirectory(module_name=package_name)
|
|
278
|
+
|
|
279
|
+
result = []
|
|
280
|
+
|
|
281
|
+
for module_info in iter_modules([package_path]):
|
|
282
|
+
module_name = package_name.getChildNamed(module_info.name)
|
|
283
|
+
result.append(module_name.asString())
|
|
284
|
+
|
|
285
|
+
if module_info.ispkg:
|
|
286
|
+
result.extend(_iterate_module_names(package_name=module_name))
|
|
287
|
+
|
|
288
|
+
return result
|
|
289
|
+
|
|
290
|
+
|
|
272
291
|
def _isPluginActive(plugin_name):
|
|
273
292
|
from .Plugins import getUserActivatedPluginNames
|
|
274
293
|
|
|
@@ -1276,37 +1295,99 @@ except ImportError:
|
|
|
1276
1295
|
# Virtual method, pylint: disable=no-self-use
|
|
1277
1296
|
return {}
|
|
1278
1297
|
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1298
|
+
@staticmethod
|
|
1299
|
+
def isValueForEvaluation(expression):
|
|
1300
|
+
return '"' in expression or "'" in expression or "(" in expression
|
|
1282
1301
|
|
|
1283
|
-
|
|
1302
|
+
def evaluateExpressionOrConstant(
|
|
1303
|
+
self, full_name, expression, config_name, extra_context, single_value
|
|
1304
|
+
):
|
|
1305
|
+
if self.isValueForEvaluation(expression):
|
|
1306
|
+
return self.evaluateExpression(
|
|
1307
|
+
full_name=full_name,
|
|
1308
|
+
expression=expression,
|
|
1309
|
+
config_name=config_name,
|
|
1310
|
+
extra_context=extra_context,
|
|
1311
|
+
single_value=single_value,
|
|
1312
|
+
)
|
|
1313
|
+
else:
|
|
1314
|
+
return expression
|
|
1284
1315
|
|
|
1285
|
-
|
|
1316
|
+
def getExpressionConstants(self, full_name):
|
|
1317
|
+
if full_name not in _module_config_constants:
|
|
1318
|
+
constants = {}
|
|
1286
1319
|
|
|
1287
|
-
|
|
1288
|
-
|
|
1320
|
+
for count, constant_config in enumerate(
|
|
1321
|
+
self.config.get(full_name, section="constants"), start=1
|
|
1322
|
+
):
|
|
1323
|
+
declarations = constant_config.get("declarations")
|
|
1289
1324
|
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1325
|
+
if declarations and self.evaluateCondition(
|
|
1326
|
+
full_name=full_name,
|
|
1327
|
+
condition=constant_config.get("when", "True"),
|
|
1293
1328
|
):
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
info = self.queryRuntimeInformationMultiple(
|
|
1302
|
-
"%s_variables_%s" % (full_name.asString(), count),
|
|
1303
|
-
setup_codes=setup_codes,
|
|
1304
|
-
values=tuple(declarations.items()),
|
|
1329
|
+
for constant_name, constant_value in declarations.items():
|
|
1330
|
+
constants[constant_name] = self.evaluateExpressionOrConstant(
|
|
1331
|
+
full_name=full_name,
|
|
1332
|
+
expression=constant_value,
|
|
1333
|
+
config_name="constants config #%d" % count,
|
|
1334
|
+
extra_context=None,
|
|
1335
|
+
single_value=False,
|
|
1305
1336
|
)
|
|
1306
1337
|
|
|
1307
|
-
|
|
1338
|
+
_module_config_constants[full_name] = constants
|
|
1339
|
+
|
|
1340
|
+
return _module_config_constants[full_name]
|
|
1341
|
+
|
|
1342
|
+
def getExpressionVariables(self, full_name):
|
|
1343
|
+
if full_name not in _module_config_variables:
|
|
1344
|
+
variables = {}
|
|
1308
1345
|
|
|
1309
|
-
|
|
1346
|
+
for count, variable_config in enumerate(
|
|
1347
|
+
self.config.get(full_name, section="variables")
|
|
1348
|
+
):
|
|
1349
|
+
setup_codes = variable_config.get("setup_code")
|
|
1350
|
+
declarations = variable_config.get("declarations")
|
|
1351
|
+
|
|
1352
|
+
if declarations and self.evaluateCondition(
|
|
1353
|
+
full_name=full_name,
|
|
1354
|
+
condition=variable_config.get("when", "True"),
|
|
1355
|
+
):
|
|
1356
|
+
if type(setup_codes) is str:
|
|
1357
|
+
setup_codes = setup_codes.splitlines()
|
|
1358
|
+
|
|
1359
|
+
setup_codes.extend(
|
|
1360
|
+
"%s=%r" % (constant_name, constant_value)
|
|
1361
|
+
for (
|
|
1362
|
+
constant_name,
|
|
1363
|
+
constant_value,
|
|
1364
|
+
) in self.getExpressionConstants(full_name=full_name).items()
|
|
1365
|
+
)
|
|
1366
|
+
|
|
1367
|
+
info = self.queryRuntimeInformationMultiple(
|
|
1368
|
+
"%s_variables_%s" % (full_name.asString(), count),
|
|
1369
|
+
setup_codes=setup_codes,
|
|
1370
|
+
values=tuple(declarations.items()),
|
|
1371
|
+
)
|
|
1372
|
+
|
|
1373
|
+
variables.update(info.asDict())
|
|
1374
|
+
|
|
1375
|
+
_module_config_variables[full_name] = variables
|
|
1376
|
+
|
|
1377
|
+
return _module_config_variables[full_name]
|
|
1378
|
+
|
|
1379
|
+
def evaluateExpression(
|
|
1380
|
+
self, full_name, expression, config_name, extra_context, single_value
|
|
1381
|
+
):
|
|
1382
|
+
context = TagContext(logger=self, full_name=full_name, config_name=config_name)
|
|
1383
|
+
context.update(control_tags)
|
|
1384
|
+
|
|
1385
|
+
context.update(_getEvaluationContext())
|
|
1386
|
+
|
|
1387
|
+
def get_variable(variable_name):
|
|
1388
|
+
assert type(variable_name) is str, variable_name
|
|
1389
|
+
|
|
1390
|
+
result = self.getExpressionVariables(full_name=full_name)[variable_name]
|
|
1310
1391
|
|
|
1311
1392
|
addModuleInfluencingVariable(
|
|
1312
1393
|
module_name=full_name,
|
|
@@ -1318,7 +1399,17 @@ except ImportError:
|
|
|
1318
1399
|
|
|
1319
1400
|
return result
|
|
1320
1401
|
|
|
1402
|
+
def get_constant(constant_name):
|
|
1403
|
+
assert type(constant_name) is str, constant_name
|
|
1404
|
+
|
|
1405
|
+
result = self.getExpressionConstants(full_name=full_name)[constant_name]
|
|
1406
|
+
|
|
1407
|
+
# TODO: Record the constant value in report.
|
|
1408
|
+
|
|
1409
|
+
return result
|
|
1410
|
+
|
|
1321
1411
|
context["get_variable"] = get_variable
|
|
1412
|
+
context["get_constant"] = get_constant
|
|
1322
1413
|
|
|
1323
1414
|
def get_parameter(parameter_name, default):
|
|
1324
1415
|
result = Options.getModuleParameter(full_name, parameter_name)
|
|
@@ -1326,11 +1417,10 @@ except ImportError:
|
|
|
1326
1417
|
if result is None:
|
|
1327
1418
|
result = default
|
|
1328
1419
|
|
|
1329
|
-
addModuleInfluencingParameter(
|
|
1420
|
+
self.addModuleInfluencingParameter(
|
|
1330
1421
|
module_name=full_name,
|
|
1331
|
-
plugin_name=self.plugin_name,
|
|
1332
1422
|
parameter_name=parameter_name,
|
|
1333
|
-
|
|
1423
|
+
condition_tags_used=context.used_tags,
|
|
1334
1424
|
result=result,
|
|
1335
1425
|
)
|
|
1336
1426
|
|
|
@@ -1354,11 +1444,31 @@ except ImportError:
|
|
|
1354
1444
|
% (expression, e)
|
|
1355
1445
|
)
|
|
1356
1446
|
|
|
1357
|
-
if type(result)
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1447
|
+
if type(result) not in (str, unicode):
|
|
1448
|
+
if single_value:
|
|
1449
|
+
self.sysexit(
|
|
1450
|
+
"""\
|
|
1451
|
+
Error, expression '%s' for module '%s' did not evaluate to 'str' result."""
|
|
1452
|
+
% (expression, full_name)
|
|
1453
|
+
)
|
|
1454
|
+
else:
|
|
1455
|
+
if type(result) not in (tuple, list):
|
|
1456
|
+
self.sysexit(
|
|
1457
|
+
"""\
|
|
1458
|
+
Error, expression '%s' for module '%s' did not evaluate to 'str', 'tuple[str]' or 'list[str]' result."""
|
|
1459
|
+
% (expression, full_name)
|
|
1460
|
+
)
|
|
1461
|
+
|
|
1462
|
+
for v in result:
|
|
1463
|
+
if type(v) not in (str, unicode):
|
|
1464
|
+
self.sysexit(
|
|
1465
|
+
"""\
|
|
1466
|
+
Error, expression '%s' for module '%s' did not evaluate to 'str', 'tuple[str]' or 'list[str]' result."""
|
|
1467
|
+
% (expression, full_name)
|
|
1468
|
+
)
|
|
1469
|
+
|
|
1470
|
+
# Make it immutable in case it's a list.
|
|
1471
|
+
result = tuple(result)
|
|
1362
1472
|
|
|
1363
1473
|
return result
|
|
1364
1474
|
|
|
@@ -1384,11 +1494,10 @@ except ImportError:
|
|
|
1384
1494
|
if result is None:
|
|
1385
1495
|
result = default
|
|
1386
1496
|
|
|
1387
|
-
addModuleInfluencingParameter(
|
|
1497
|
+
self.addModuleInfluencingParameter(
|
|
1388
1498
|
module_name=full_name,
|
|
1389
|
-
plugin_name=self.plugin_name,
|
|
1390
1499
|
parameter_name=parameter_name,
|
|
1391
|
-
|
|
1500
|
+
condition_tags_used=context.used_tags,
|
|
1392
1501
|
result=result,
|
|
1393
1502
|
)
|
|
1394
1503
|
|
|
@@ -1425,6 +1534,27 @@ except ImportError:
|
|
|
1425
1534
|
|
|
1426
1535
|
return result
|
|
1427
1536
|
|
|
1537
|
+
def addModuleInfluencingParameter(
|
|
1538
|
+
self, module_name, parameter_name, condition_tags_used, result
|
|
1539
|
+
):
|
|
1540
|
+
addModuleInfluencingParameter(
|
|
1541
|
+
module_name=module_name,
|
|
1542
|
+
plugin_name=self.plugin_name,
|
|
1543
|
+
parameter_name=parameter_name,
|
|
1544
|
+
condition_tags_used=condition_tags_used,
|
|
1545
|
+
result=result,
|
|
1546
|
+
)
|
|
1547
|
+
|
|
1548
|
+
def addModuleInfluencingDetection(
|
|
1549
|
+
self, module_name, detection_name, detection_value
|
|
1550
|
+
):
|
|
1551
|
+
addModuleInfluencingDetection(
|
|
1552
|
+
module_name=module_name,
|
|
1553
|
+
plugin_name=self.plugin_name,
|
|
1554
|
+
detection_name=detection_name,
|
|
1555
|
+
detection_value=detection_value,
|
|
1556
|
+
)
|
|
1557
|
+
|
|
1428
1558
|
@classmethod
|
|
1429
1559
|
def warning(cls, message, **kwargs):
|
|
1430
1560
|
# Doing keyword only arguments manually, to keep older Python compatibility, and avoid
|
|
@@ -1558,3 +1688,19 @@ class TagContext(dict):
|
|
|
1558
1688
|
"Identifier '%s' in %s of module '%s' is unknown."
|
|
1559
1689
|
% (key, self.config_name, self.full_name)
|
|
1560
1690
|
)
|
|
1691
|
+
|
|
1692
|
+
|
|
1693
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
1694
|
+
# integrates with CPython, but also works on its own.
|
|
1695
|
+
#
|
|
1696
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
1697
|
+
# you may not use this file except in compliance with the License.
|
|
1698
|
+
# You may obtain a copy of the License at
|
|
1699
|
+
#
|
|
1700
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
1701
|
+
#
|
|
1702
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
1703
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
1704
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1705
|
+
# See the License for the specific language governing permissions and
|
|
1706
|
+
# limitations under the License.
|
nuitka/plugins/Plugins.py
CHANGED
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# integrates with CPython, but also works on its own.
|
|
5
|
-
#
|
|
6
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
# you may not use this file except in compliance with the License.
|
|
8
|
-
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
10
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
12
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
# See the License for the specific language governing permissions and
|
|
16
|
-
# limitations under the License.
|
|
17
|
-
#
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
18
4
|
"""
|
|
19
5
|
|
|
20
6
|
Plugins: Welcome to Nuitka! This is your shortest way to become part of it.
|
|
@@ -1256,7 +1242,7 @@ class Plugins(object):
|
|
|
1256
1242
|
# We order per plugin, but from the plugins, lets just take a dict
|
|
1257
1243
|
# and achieve determinism by ordering the files by name.
|
|
1258
1244
|
for key, value in sorted(value.items()):
|
|
1259
|
-
if (for_onefile and
|
|
1245
|
+
if (for_onefile and "onefile_" not in key) or (
|
|
1260
1246
|
not for_onefile and "onefile_" in key
|
|
1261
1247
|
):
|
|
1262
1248
|
continue
|
|
@@ -1778,3 +1764,19 @@ def replaceTriggerModule(old, new):
|
|
|
1778
1764
|
def isTriggerModule(module):
|
|
1779
1765
|
"""Decide of a module is a trigger module."""
|
|
1780
1766
|
return module in pre_modules.values() or module in post_modules.values()
|
|
1767
|
+
|
|
1768
|
+
|
|
1769
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
1770
|
+
# integrates with CPython, but also works on its own.
|
|
1771
|
+
#
|
|
1772
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
1773
|
+
# you may not use this file except in compliance with the License.
|
|
1774
|
+
# You may obtain a copy of the License at
|
|
1775
|
+
#
|
|
1776
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
1777
|
+
#
|
|
1778
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
1779
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
1780
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1781
|
+
# See the License for the specific language governing permissions and
|
|
1782
|
+
# limitations under the License.
|
nuitka/plugins/__init__.py
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
""" Dummy file to make this directory a package. """
|
|
5
|
+
|
|
3
6
|
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
4
7
|
# integrates with CPython, but also works on its own.
|
|
5
8
|
#
|
|
@@ -14,5 +17,3 @@
|
|
|
14
17
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
18
|
# See the License for the specific language governing permissions and
|
|
16
19
|
# limitations under the License.
|
|
17
|
-
#
|
|
18
|
-
""" Dummy file to make this directory a package. """
|
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# integrates with CPython, but also works on its own.
|
|
5
|
-
#
|
|
6
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
# you may not use this file except in compliance with the License.
|
|
8
|
-
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
10
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
12
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
# See the License for the specific language governing permissions and
|
|
16
|
-
# limitations under the License.
|
|
17
|
-
#
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
18
4
|
""" Standard plug-in to avoid bloat at compile time.
|
|
19
5
|
|
|
20
6
|
Nuitka hard codes stupid monkey patching normally not needed here and avoids
|
|
@@ -37,7 +23,8 @@ _mode_choices = ("error", "warning", "nofollow", "allow")
|
|
|
37
23
|
|
|
38
24
|
|
|
39
25
|
class NuitkaPluginAntiBloat(NuitkaYamlPluginBase):
|
|
40
|
-
# Lots of details, a bunch of state is cached
|
|
26
|
+
# Lots of details, a bunch of state is cached and tracked across functions
|
|
27
|
+
# pylint: disable=too-many-instance-attributes
|
|
41
28
|
|
|
42
29
|
plugin_name = "anti-bloat"
|
|
43
30
|
plugin_desc = (
|
|
@@ -95,6 +82,26 @@ class NuitkaPluginAntiBloat(NuitkaYamlPluginBase):
|
|
|
95
82
|
noinclude_setuptools_mode,
|
|
96
83
|
"setuptools",
|
|
97
84
|
)
|
|
85
|
+
self.handled_modules["Cython"] = (
|
|
86
|
+
noinclude_setuptools_mode,
|
|
87
|
+
"setuptools",
|
|
88
|
+
)
|
|
89
|
+
self.handled_modules["cython"] = (
|
|
90
|
+
noinclude_setuptools_mode,
|
|
91
|
+
"setuptools",
|
|
92
|
+
)
|
|
93
|
+
self.handled_modules["pyximport"] = (
|
|
94
|
+
noinclude_setuptools_mode,
|
|
95
|
+
"setuptools",
|
|
96
|
+
)
|
|
97
|
+
self.handled_modules["paddle.utils.cpp_extension"] = (
|
|
98
|
+
noinclude_setuptools_mode,
|
|
99
|
+
"setuptools",
|
|
100
|
+
)
|
|
101
|
+
self.handled_modules["torch.utils.cpp_extension"] = (
|
|
102
|
+
noinclude_setuptools_mode,
|
|
103
|
+
"setuptools",
|
|
104
|
+
)
|
|
98
105
|
else:
|
|
99
106
|
self.control_tags["use_setuptools"] = True
|
|
100
107
|
|
|
@@ -375,6 +382,7 @@ Error, cannot exec module '%s', context code '%s' due to: %s"""
|
|
|
375
382
|
extra_context=self._getContextCode(
|
|
376
383
|
module_name=module_name, anti_bloat_config=anti_bloat_config
|
|
377
384
|
),
|
|
385
|
+
single_value=True,
|
|
378
386
|
)
|
|
379
387
|
else:
|
|
380
388
|
replace_dst = ""
|
|
@@ -415,6 +423,7 @@ Error, cannot exec module '%s', context code '%s' due to: %s"""
|
|
|
415
423
|
extra_context=self._getContextCode(
|
|
416
424
|
module_name=module_name, anti_bloat_config=anti_bloat_config
|
|
417
425
|
),
|
|
426
|
+
single_value=True,
|
|
418
427
|
)
|
|
419
428
|
|
|
420
429
|
source_code += "\n" + append_result
|
|
@@ -484,6 +493,7 @@ Error, cannot exec module '%s', context code '%s' due to: %s"""
|
|
|
484
493
|
extra_context=self._getContextCode(
|
|
485
494
|
module_name=module_name, anti_bloat_config=anti_bloat_config
|
|
486
495
|
),
|
|
496
|
+
single_value=True,
|
|
487
497
|
)
|
|
488
498
|
|
|
489
499
|
# Single node is required, extract the generated module body with
|
|
@@ -553,19 +563,7 @@ Error, cannot exec module '%s', context code '%s' due to: %s"""
|
|
|
553
563
|
|
|
554
564
|
return None
|
|
555
565
|
|
|
556
|
-
def
|
|
557
|
-
self,
|
|
558
|
-
module_name,
|
|
559
|
-
module_filename,
|
|
560
|
-
module_kind,
|
|
561
|
-
using_module_name,
|
|
562
|
-
source_ref,
|
|
563
|
-
reason,
|
|
564
|
-
):
|
|
565
|
-
# Quite a few special cases, but not really complex.
|
|
566
|
-
# pylint: disable=too-many-branches,too-many-locals
|
|
567
|
-
|
|
568
|
-
# First off, activate "no-follow" configurations.
|
|
566
|
+
def _applyNoFollowConfiguration(self, module_name):
|
|
569
567
|
for (
|
|
570
568
|
config_of_module_name,
|
|
571
569
|
no_follow,
|
|
@@ -579,6 +577,20 @@ Error, cannot exec module '%s', context code '%s' due to: %s"""
|
|
|
579
577
|
):
|
|
580
578
|
self.no_follows[no_follow] = (config_of_module_name, description)
|
|
581
579
|
|
|
580
|
+
def onModuleRecursion(
|
|
581
|
+
self,
|
|
582
|
+
module_name,
|
|
583
|
+
module_filename,
|
|
584
|
+
module_kind,
|
|
585
|
+
using_module_name,
|
|
586
|
+
source_ref,
|
|
587
|
+
reason,
|
|
588
|
+
):
|
|
589
|
+
# pylint: disable=too-many-branches
|
|
590
|
+
|
|
591
|
+
# First off, activate "no-follow" configurations of this module.
|
|
592
|
+
self._applyNoFollowConfiguration(module_name=module_name)
|
|
593
|
+
|
|
582
594
|
# Do not even look at these. It's either included by a module that is in standard
|
|
583
595
|
# library, or included for a module in standard library.
|
|
584
596
|
if reason == "stdlib" or (
|
|
@@ -746,3 +758,19 @@ slow down compilation."""
|
|
|
746
758
|
Not including '%s' automatically in order to avoid bloat, but this may cause: %s."""
|
|
747
759
|
% (module_name, description)
|
|
748
760
|
)
|
|
761
|
+
|
|
762
|
+
|
|
763
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
764
|
+
# integrates with CPython, but also works on its own.
|
|
765
|
+
#
|
|
766
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
767
|
+
# you may not use this file except in compliance with the License.
|
|
768
|
+
# You may obtain a copy of the License at
|
|
769
|
+
#
|
|
770
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
771
|
+
#
|
|
772
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
773
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
774
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
775
|
+
# See the License for the specific language governing permissions and
|
|
776
|
+
# 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
|
""" Standard plug-in to take advantage of pylint or PyDev annotations.
|
|
19
5
|
|
|
20
6
|
Nuitka can detect some things that PyLint and PyDev will complain about too,
|
|
@@ -91,3 +77,19 @@ if False:
|
|
|
91
77
|
|
|
92
78
|
# Do nothing to it.
|
|
93
79
|
return source_code
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
83
|
+
# integrates with CPython, but also works on its own.
|
|
84
|
+
#
|
|
85
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
86
|
+
# you may not use this file except in compliance with the License.
|
|
87
|
+
# You may obtain a copy of the License at
|
|
88
|
+
#
|
|
89
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
90
|
+
#
|
|
91
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
92
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
93
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
94
|
+
# See the License for the specific language governing permissions and
|
|
95
|
+
# limitations under the License.
|