Nuitka-winsvc 1.8__cp311-cp311-win_amd64.whl → 2.4.8__cp311-cp311-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of Nuitka-winsvc might be problematic. Click here for more details.
- Nuitka_winsvc-1.8.data/scripts/nuitka-run.bat → Nuitka_winsvc-2.4.8.data/scripts/nuitka-run.cmd +9 -9
- Nuitka_winsvc-1.8.data/scripts/nuitka.bat → Nuitka_winsvc-2.4.8.data/scripts/nuitka.cmd +15 -15
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/METADATA +4 -3
- Nuitka_winsvc-2.4.8.dist-info/RECORD +954 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/WHEEL +1 -1
- nuitka/Builtins.py +18 -17
- nuitka/BytecodeCaching.py +24 -20
- nuitka/Bytecodes.py +23 -19
- nuitka/CacheCleanup.py +28 -23
- nuitka/Constants.py +19 -17
- nuitka/Errors.py +23 -17
- nuitka/HardImportRegistry.py +400 -0
- nuitka/MainControl.py +200 -112
- nuitka/ModuleRegistry.py +83 -20
- nuitka/OptionParsing.py +368 -175
- nuitka/Options.py +632 -213
- nuitka/OutputDirectories.py +40 -21
- nuitka/PostProcessing.py +73 -50
- nuitka/Progress.py +58 -24
- nuitka/PythonFlavors.py +141 -32
- nuitka/PythonOperators.py +18 -17
- nuitka/PythonVersions.py +106 -19
- nuitka/Serialization.py +68 -55
- nuitka/SourceCodeReferences.py +19 -17
- nuitka/Tracing.py +108 -70
- nuitka/TreeXML.py +31 -26
- nuitka/Variables.py +39 -41
- nuitka/Version.py +21 -7
- nuitka/__init__.py +5 -4
- nuitka/__main__.py +95 -29
- nuitka/__past__.py +44 -34
- nuitka/build/Backend.scons +202 -140
- nuitka/build/CCompilerVersion.scons +39 -31
- nuitka/build/DataComposerInterface.py +20 -17
- nuitka/build/Onefile.scons +50 -54
- nuitka/build/SconsCaching.py +93 -90
- nuitka/build/SconsCompilerSettings.py +157 -69
- nuitka/build/SconsHacks.py +25 -19
- nuitka/build/SconsInterface.py +154 -54
- nuitka/build/SconsProgress.py +19 -18
- nuitka/build/SconsSpawn.py +62 -33
- nuitka/build/SconsUtils.py +147 -55
- nuitka/build/__init__.py +5 -4
- nuitka/build/include/nuitka/allocator.h +105 -22
- nuitka/build/include/nuitka/builtins.h +17 -17
- nuitka/build/include/nuitka/calling.h +18 -18
- nuitka/build/include/nuitka/checkers.h +17 -18
- nuitka/build/include/nuitka/checksum_tools.h +14 -19
- nuitka/build/include/nuitka/compiled_asyncgen.h +18 -18
- nuitka/build/include/nuitka/compiled_cell.h +33 -18
- nuitka/build/include/nuitka/compiled_coroutine.h +18 -18
- nuitka/build/include/nuitka/compiled_frame.h +91 -53
- nuitka/build/include/nuitka/compiled_function.h +42 -20
- nuitka/build/include/nuitka/compiled_generator.h +24 -18
- nuitka/build/include/nuitka/compiled_method.h +17 -18
- nuitka/build/include/nuitka/constants.h +29 -18
- nuitka/build/include/nuitka/constants_blob.h +17 -17
- nuitka/build/include/nuitka/environment_variables.h +30 -0
- nuitka/build/include/nuitka/environment_variables_system.h +45 -0
- nuitka/build/include/nuitka/exception_groups.h +23 -26
- nuitka/build/include/nuitka/exceptions.h +593 -190
- nuitka/build/include/nuitka/filesystem_paths.h +26 -20
- nuitka/build/include/nuitka/freelists.h +38 -18
- nuitka/build/include/nuitka/helper/attributes.h +24 -18
- nuitka/build/include/nuitka/helper/boolean.h +17 -17
- nuitka/build/include/nuitka/helper/bytearrays.h +17 -17
- nuitka/build/include/nuitka/helper/bytes.h +14 -15
- nuitka/build/include/nuitka/helper/calling_generated.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_eq.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_ge.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_gt.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_le.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_lt.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_ne.h +17 -17
- nuitka/build/include/nuitka/helper/complex.h +17 -17
- nuitka/build/include/nuitka/helper/dictionaries.h +24 -22
- nuitka/build/include/nuitka/helper/floats.h +17 -18
- nuitka/build/include/nuitka/helper/import_hard.h +25 -17
- nuitka/build/include/nuitka/helper/indexes.h +17 -18
- nuitka/build/include/nuitka/helper/ints.h +32 -20
- nuitka/build/include/nuitka/helper/iterators.h +17 -17
- nuitka/build/include/nuitka/helper/lists.h +26 -24
- nuitka/build/include/nuitka/helper/lists_generated.h +22 -22
- nuitka/build/include/nuitka/helper/mappings.h +17 -18
- nuitka/build/include/nuitka/helper/operations.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_add.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_bitand.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_bitor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_bitxor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_divmod.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_floordiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_lshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_matmult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_mod.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_mult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_olddiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_pow.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_rshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_sub.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_truediv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_builtin_types.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_add.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_bitand.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_bitor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_bitxor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_floordiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_lshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_matmult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_mod.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_mult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_olddiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_pow.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_rshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_sub.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_truediv.h +17 -17
- nuitka/build/include/nuitka/helper/raising.h +29 -17
- nuitka/build/include/nuitka/helper/rangeobjects.h +17 -17
- nuitka/build/include/nuitka/helper/richcomparisons.h +14 -14
- nuitka/build/include/nuitka/helper/sequences.h +19 -13
- nuitka/build/include/nuitka/helper/sets.h +11 -12
- nuitka/build/include/nuitka/helper/slices.h +31 -25
- nuitka/build/include/nuitka/helper/strings.h +16 -17
- nuitka/build/include/nuitka/helper/subscripts.h +18 -201
- nuitka/build/include/nuitka/helper/tuples.h +64 -52
- nuitka/build/include/nuitka/helpers.h +38 -20
- nuitka/build/include/nuitka/importing.h +28 -21
- nuitka/build/include/nuitka/jit_sources.h +25 -0
- nuitka/build/include/nuitka/prelude.h +128 -46
- nuitka/build/include/nuitka/printing.h +22 -17
- nuitka/build/include/nuitka/python_pgo.h +19 -18
- nuitka/build/include/nuitka/safe_string_ops.h +20 -18
- nuitka/build/include/nuitka/threading.h +32 -33
- nuitka/build/include/nuitka/tracing.h +28 -18
- nuitka/build/include/nuitka/type_aliases.h +27 -0
- nuitka/build/include/nuitka/unfreezing.h +29 -23
- nuitka/build/inline_copy/bin/scons.py +14 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Variables/ListVariable.py +6 -6
- nuitka/build/inline_copy/pkg_resources/pkg_resources/__init__.py +0 -3
- nuitka/build/inline_copy/python_hacl/LICENSE.txt +201 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_MD5.c +1430 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_MD5.h +66 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA1.c +463 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA1.h +66 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA2.c +1273 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA2.h +204 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA3.c +734 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA3.h +131 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Streaming_Types.h +83 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/FStar_UInt128_Verified.h +346 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/FStar_UInt_8_16_32_64.h +107 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/fstar_uint128_struct_endianness.h +68 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/internal/target.h +293 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/lowstar_endianness.h +231 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/types.h +14 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_MD5.h +56 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA1.h +56 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA2.h +164 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA3.h +65 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/python_hacl_namespaces.h +89 -0
- nuitka/build/inline_copy/tqdm/tqdm/__init__.py +2 -2
- nuitka/build/inline_copy/tqdm/tqdm/_monitor.py +4 -1
- nuitka/build/inline_copy/tqdm/tqdm/utils.py +14 -8
- nuitka/build/inline_copy/tqdm/tqdm/version.py +1 -8
- nuitka/build/inline_copy/zlib/LICENSE +22 -0
- nuitka/build/inline_copy/zlib/crc32.c +1049 -0
- nuitka/build/inline_copy/zlib/crc32.h +9446 -0
- nuitka/build/inline_copy/zlib/zconf.h +551 -0
- nuitka/build/inline_copy/zlib/zlib.h +1938 -0
- nuitka/build/inline_copy/zlib/zutil.h +275 -0
- nuitka/build/static_src/CompiledAsyncgenType.c +176 -182
- nuitka/build/static_src/CompiledCellType.c +63 -40
- nuitka/build/static_src/CompiledCodeHelpers.c +181 -128
- nuitka/build/static_src/CompiledCoroutineType.c +196 -203
- nuitka/build/static_src/CompiledFrameType.c +287 -133
- nuitka/build/static_src/CompiledFunctionType.c +389 -95
- nuitka/build/static_src/CompiledGeneratorType.c +376 -252
- nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +185 -198
- nuitka/build/static_src/CompiledMethodType.c +83 -71
- nuitka/build/static_src/HelpersAllocator.c +88 -19
- nuitka/build/static_src/HelpersAttributes.c +33 -54
- nuitka/build/static_src/HelpersBuiltin.c +43 -33
- nuitka/build/static_src/HelpersBuiltinTypeMethods.c +17 -17
- nuitka/build/static_src/HelpersBytes.c +19 -20
- nuitka/build/static_src/HelpersCalling.c +33 -30
- nuitka/build/static_src/HelpersCallingGenerated.c +1000 -181
- nuitka/build/static_src/HelpersChecksumTools.c +35 -21
- nuitka/build/static_src/HelpersClasses.c +17 -17
- nuitka/build/static_src/HelpersComparisonEq.c +518 -492
- nuitka/build/static_src/HelpersComparisonEqUtils.c +21 -19
- nuitka/build/static_src/HelpersComparisonGe.c +513 -497
- nuitka/build/static_src/HelpersComparisonGt.c +512 -496
- nuitka/build/static_src/HelpersComparisonLe.c +513 -497
- nuitka/build/static_src/HelpersComparisonLt.c +512 -496
- nuitka/build/static_src/HelpersComparisonNe.c +520 -492
- nuitka/build/static_src/HelpersConsole.c +96 -0
- nuitka/build/static_src/HelpersConstantsBlob.c +542 -519
- nuitka/build/static_src/HelpersDeepcopy.c +33 -33
- nuitka/build/static_src/HelpersDictionaries.c +51 -29
- nuitka/build/static_src/HelpersDictionariesGenerated.c +177 -68
- nuitka/build/static_src/HelpersDumpBacktraces.c +63 -0
- nuitka/build/static_src/HelpersEnvironmentVariables.c +65 -0
- nuitka/build/static_src/HelpersEnvironmentVariablesSystem.c +93 -0
- nuitka/build/static_src/HelpersExceptions.c +161 -50
- nuitka/build/static_src/HelpersFiles.c +37 -17
- nuitka/build/static_src/HelpersFilesystemPaths.c +292 -181
- nuitka/build/static_src/HelpersFloats.c +37 -31
- nuitka/build/static_src/HelpersHeapStorage.c +21 -17
- nuitka/build/static_src/HelpersImport.c +48 -20
- nuitka/build/static_src/HelpersImportHard.c +53 -17
- nuitka/build/static_src/HelpersJitSources.c +46 -0
- nuitka/build/static_src/HelpersLists.c +140 -50
- nuitka/build/static_src/HelpersListsGenerated.c +41 -41
- nuitka/build/static_src/HelpersMappings.c +17 -17
- nuitka/build/static_src/HelpersMatching.c +137 -51
- nuitka/build/static_src/HelpersOperationBinaryAdd.c +173 -146
- nuitka/build/static_src/HelpersOperationBinaryAddUtils.c +99 -52
- nuitka/build/static_src/HelpersOperationBinaryBitand.c +50 -50
- nuitka/build/static_src/HelpersOperationBinaryBitor.c +50 -50
- nuitka/build/static_src/HelpersOperationBinaryBitxor.c +50 -50
- nuitka/build/static_src/HelpersOperationBinaryDivmod.c +41 -41
- nuitka/build/static_src/HelpersOperationBinaryDivmodUtils.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryFloordiv.c +41 -41
- nuitka/build/static_src/HelpersOperationBinaryInplaceAdd.c +20 -21
- nuitka/build/static_src/HelpersOperationBinaryLshift.c +47 -47
- nuitka/build/static_src/HelpersOperationBinaryMatmult.c +24 -24
- nuitka/build/static_src/HelpersOperationBinaryMod.c +107 -107
- nuitka/build/static_src/HelpersOperationBinaryMult.c +81 -75
- nuitka/build/static_src/HelpersOperationBinaryMultUtils.c +33 -30
- nuitka/build/static_src/HelpersOperationBinaryOlddiv.c +41 -41
- nuitka/build/static_src/HelpersOperationBinaryPow.c +44 -44
- nuitka/build/static_src/HelpersOperationBinaryPowUtils.c +12 -12
- nuitka/build/static_src/HelpersOperationBinaryRshift.c +47 -47
- nuitka/build/static_src/HelpersOperationBinarySub.c +80 -80
- nuitka/build/static_src/HelpersOperationBinaryTruediv.c +41 -41
- nuitka/build/static_src/HelpersOperationInplaceAdd.c +171 -153
- nuitka/build/static_src/HelpersOperationInplaceAddUtils.c +24 -22
- nuitka/build/static_src/HelpersOperationInplaceBitand.c +53 -53
- nuitka/build/static_src/HelpersOperationInplaceBitor.c +53 -53
- nuitka/build/static_src/HelpersOperationInplaceBitxor.c +53 -53
- nuitka/build/static_src/HelpersOperationInplaceFloordiv.c +62 -62
- nuitka/build/static_src/HelpersOperationInplaceLshift.c +44 -44
- nuitka/build/static_src/HelpersOperationInplaceMatmult.c +37 -37
- nuitka/build/static_src/HelpersOperationInplaceMod.c +134 -134
- nuitka/build/static_src/HelpersOperationInplaceMult.c +78 -78
- nuitka/build/static_src/HelpersOperationInplaceOlddiv.c +62 -62
- nuitka/build/static_src/HelpersOperationInplacePow.c +62 -62
- nuitka/build/static_src/HelpersOperationInplaceRshift.c +44 -44
- nuitka/build/static_src/HelpersOperationInplaceSub.c +112 -112
- nuitka/build/static_src/HelpersOperationInplaceTruediv.c +62 -62
- nuitka/build/static_src/HelpersProfiling.c +24 -23
- nuitka/build/static_src/HelpersPythonPgo.c +22 -22
- nuitka/build/static_src/HelpersRaising.c +88 -20
- nuitka/build/static_src/HelpersSafeStrings.c +34 -22
- nuitka/build/static_src/HelpersSequences.c +18 -19
- nuitka/build/static_src/HelpersSlices.c +29 -23
- nuitka/build/static_src/HelpersStrings.c +234 -37
- nuitka/build/static_src/HelpersTuples.c +46 -34
- nuitka/build/static_src/HelpersTypes.c +68 -23
- nuitka/build/static_src/InspectPatcher.c +108 -27
- nuitka/build/static_src/MainProgram.c +359 -263
- nuitka/build/static_src/MetaPathBasedLoader.c +367 -242
- nuitka/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c +39 -26
- nuitka/build/static_src/MetaPathBasedLoaderResourceReader.c +17 -18
- nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +97 -22
- nuitka/build/static_src/OnefileBootstrap.c +276 -164
- nuitka/build/static_src/OnefileSplashScreen.cpp +51 -27
- nuitka/code_generation/AsyncgenCodes.py +19 -17
- nuitka/code_generation/AttributeCodes.py +31 -27
- nuitka/code_generation/BinaryOperationHelperDefinitions.py +24 -20
- nuitka/code_generation/BranchCodes.py +19 -17
- nuitka/code_generation/BuiltinCodes.py +20 -17
- nuitka/code_generation/CallCodes.py +19 -17
- nuitka/code_generation/ClassCodes.py +19 -17
- nuitka/code_generation/CodeGeneration.py +48 -27
- nuitka/code_generation/CodeHelperSelection.py +19 -17
- nuitka/code_generation/CodeHelpers.py +24 -20
- nuitka/code_generation/CodeObjectCodes.py +34 -24
- nuitka/code_generation/ComparisonCodes.py +38 -20
- nuitka/code_generation/ComparisonHelperDefinitions.py +19 -17
- nuitka/code_generation/ConditionalCodes.py +19 -17
- nuitka/code_generation/ConstantCodes.py +82 -28
- nuitka/code_generation/Contexts.py +152 -26
- nuitka/code_generation/CoroutineCodes.py +19 -17
- nuitka/code_generation/CtypesCodes.py +19 -17
- nuitka/code_generation/DictCodes.py +25 -23
- nuitka/code_generation/Emission.py +21 -18
- nuitka/code_generation/ErrorCodes.py +27 -33
- nuitka/code_generation/EvalCodes.py +24 -20
- nuitka/code_generation/ExceptionCodes.py +27 -18
- nuitka/code_generation/ExpressionCTypeSelectionHelpers.py +20 -17
- nuitka/code_generation/ExpressionCodes.py +19 -17
- nuitka/code_generation/FrameCodes.py +24 -20
- nuitka/code_generation/FunctionCodes.py +24 -21
- nuitka/code_generation/GeneratorCodes.py +23 -20
- nuitka/code_generation/GlobalConstants.py +43 -23
- nuitka/code_generation/GlobalsLocalsCodes.py +21 -19
- nuitka/code_generation/IdCodes.py +19 -17
- nuitka/code_generation/ImportCodes.py +90 -50
- nuitka/code_generation/Indentation.py +23 -22
- nuitka/code_generation/IndexCodes.py +19 -17
- nuitka/code_generation/InjectCCodes.py +14 -12
- nuitka/code_generation/IntegerCodes.py +19 -17
- nuitka/code_generation/IteratorCodes.py +19 -17
- nuitka/code_generation/JitCodes.py +44 -0
- nuitka/code_generation/LabelCodes.py +19 -17
- nuitka/code_generation/LineNumberCodes.py +19 -17
- nuitka/code_generation/ListCodes.py +32 -36
- nuitka/code_generation/LoaderCodes.py +22 -17
- nuitka/code_generation/LocalsDictCodes.py +56 -32
- nuitka/code_generation/LoopCodes.py +19 -17
- nuitka/code_generation/MatchCodes.py +42 -22
- nuitka/code_generation/ModuleCodes.py +43 -25
- nuitka/code_generation/Namify.py +27 -23
- nuitka/code_generation/NetworkxCodes.py +51 -0
- nuitka/code_generation/OperationCodes.py +29 -31
- nuitka/code_generation/PackageResourceCodes.py +59 -23
- nuitka/code_generation/PrintCodes.py +19 -17
- nuitka/code_generation/PythonAPICodes.py +19 -17
- nuitka/code_generation/RaisingCodes.py +19 -17
- nuitka/code_generation/Reports.py +19 -17
- nuitka/code_generation/ReturnCodes.py +19 -17
- nuitka/code_generation/SetCodes.py +19 -17
- nuitka/code_generation/SliceCodes.py +22 -20
- nuitka/code_generation/StringCodes.py +19 -17
- nuitka/code_generation/SubscriptCodes.py +24 -30
- nuitka/code_generation/TensorflowCodes.py +54 -0
- nuitka/code_generation/TryCodes.py +19 -17
- nuitka/code_generation/TupleCodes.py +20 -18
- nuitka/code_generation/TypeAliasCodes.py +71 -0
- nuitka/code_generation/VariableCodes.py +26 -22
- nuitka/code_generation/VariableDeclarations.py +20 -17
- nuitka/code_generation/YieldCodes.py +22 -20
- nuitka/code_generation/__init__.py +5 -4
- nuitka/code_generation/c_types/CTypeBases.py +19 -17
- nuitka/code_generation/c_types/CTypeBooleans.py +19 -17
- nuitka/code_generation/c_types/CTypeCFloats.py +19 -17
- nuitka/code_generation/c_types/CTypeCLongs.py +19 -18
- nuitka/code_generation/c_types/CTypeModuleDictVariables.py +19 -17
- nuitka/code_generation/c_types/CTypeNuitkaBooleans.py +19 -17
- nuitka/code_generation/c_types/CTypeNuitkaInts.py +19 -18
- nuitka/code_generation/c_types/CTypeNuitkaVoids.py +19 -17
- nuitka/code_generation/c_types/CTypePyObjectPointers.py +27 -25
- nuitka/code_generation/c_types/CTypeVoids.py +20 -17
- nuitka/code_generation/c_types/__init__.py +5 -4
- nuitka/code_generation/templates/CodeTemplatesAsyncgens.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesConstants.py +132 -36
- nuitka/code_generation/templates/CodeTemplatesCoroutines.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesExceptions.py +19 -18
- nuitka/code_generation/templates/CodeTemplatesFrames.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesFunction.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesGeneratorFunction.py +19 -17
- nuitka/code_generation/templates/CodeTemplatesIterators.py +18 -18
- nuitka/code_generation/templates/CodeTemplatesLoader.py +25 -19
- nuitka/code_generation/templates/CodeTemplatesModules.py +244 -165
- nuitka/code_generation/templates/CodeTemplatesVariables.py +42 -27
- nuitka/code_generation/templates/TemplateDebugWrapper.py +19 -18
- nuitka/code_generation/templates/__init__.py +5 -4
- nuitka/code_generation/templates_c/CodeTemplateCallsMethodPositional.c.j2 +19 -19
- nuitka/code_generation/templates_c/CodeTemplateCallsMixed.c.j2 +18 -18
- nuitka/code_generation/templates_c/CodeTemplateCallsPositional.c.j2 +76 -25
- nuitka/code_generation/templates_c/CodeTemplateCallsPositionalMethodDescr.c.j2 +22 -22
- nuitka/code_generation/templates_c/CodeTemplateMakeListHinted.c.j2 +19 -19
- nuitka/code_generation/templates_c/CodeTemplateMakeListSmall.c.j2 +19 -19
- nuitka/code_generation/templates_c/HelperBuiltinMethodOperation.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperDictionaryCopy.c.j2 +121 -48
- nuitka/code_generation/templates_c/HelperImportHard.c.j2 +18 -18
- nuitka/code_generation/templates_c/HelperLongTools.c.j2 +18 -18
- nuitka/code_generation/templates_c/HelperObjectTools.c.j2 +6 -6
- nuitka/code_generation/templates_c/HelperOperationBinary.c.j2 +23 -23
- nuitka/code_generation/templates_c/HelperOperationComparison.c.j2 +35 -35
- nuitka/code_generation/templates_c/HelperOperationComparisonBytes.c.j2 +28 -28
- nuitka/code_generation/templates_c/HelperOperationComparisonFloat.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationComparisonInt.c.j2 +18 -18
- nuitka/code_generation/templates_c/HelperOperationComparisonList.c.j2 +44 -32
- nuitka/code_generation/templates_c/HelperOperationComparisonLong.c.j2 +20 -20
- nuitka/code_generation/templates_c/HelperOperationComparisonStr.c.j2 +28 -28
- nuitka/code_generation/templates_c/HelperOperationComparisonTuple.c.j2 +24 -24
- nuitka/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +33 -29
- nuitka/code_generation/templates_c/HelperOperationInplace.c.j2 +20 -20
- nuitka/code_generation/templates_c/HelperSlotsBinary.c.j2 +27 -27
- nuitka/code_generation/templates_c/HelperSlotsBytes.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsCommon.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsFloat.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsInt.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsList.c.j2 +21 -18
- nuitka/code_generation/templates_c/HelperSlotsLong.c.j2 +26 -24
- nuitka/code_generation/templates_c/HelperSlotsSet.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsStr.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsTuple.c.j2 +21 -18
- nuitka/code_generation/templates_c/HelperSlotsUnicode.c.j2 +17 -17
- nuitka/containers/Namedtuples.py +19 -18
- nuitka/containers/OrderedSetsFallback.py +19 -17
- nuitka/containers/__init__.py +5 -4
- nuitka/distutils/Build.py +19 -18
- nuitka/distutils/DistutilCommands.py +34 -23
- nuitka/distutils/__init__.py +5 -4
- nuitka/finalizations/Finalization.py +20 -17
- nuitka/finalizations/FinalizeMarkups.py +21 -41
- nuitka/finalizations/__init__.py +5 -4
- nuitka/freezer/DependsExe.py +48 -28
- nuitka/freezer/DllDependenciesCommon.py +47 -20
- nuitka/freezer/DllDependenciesMacOS.py +147 -57
- nuitka/freezer/DllDependenciesPosix.py +29 -19
- nuitka/freezer/DllDependenciesWin32.py +29 -21
- nuitka/freezer/ImportDetection.py +20 -17
- nuitka/freezer/IncludedDataFiles.py +118 -47
- nuitka/freezer/IncludedEntryPoints.py +102 -38
- nuitka/freezer/Onefile.py +32 -22
- nuitka/freezer/Standalone.py +105 -50
- nuitka/freezer/__init__.py +5 -4
- nuitka/importing/IgnoreListing.py +19 -17
- nuitka/importing/ImportCache.py +24 -21
- nuitka/importing/ImportResolving.py +103 -95
- nuitka/importing/Importing.py +286 -92
- nuitka/importing/PreloadedPackages.py +21 -18
- nuitka/importing/Recursion.py +131 -47
- nuitka/importing/StandardLibrary.py +46 -28
- nuitka/importing/__init__.py +5 -4
- nuitka/nodes/AsyncgenNodes.py +19 -17
- nuitka/nodes/AttributeLookupNodes.py +19 -17
- nuitka/nodes/AttributeNodes.py +19 -17
- nuitka/nodes/AttributeNodesGenerated.py +49 -24
- nuitka/nodes/BuiltinAllNodes.py +19 -17
- nuitka/nodes/BuiltinAnyNodes.py +19 -17
- nuitka/nodes/BuiltinComplexNodes.py +20 -17
- nuitka/nodes/BuiltinDecodingNodes.py +19 -17
- nuitka/nodes/BuiltinDecoratorNodes.py +19 -17
- nuitka/nodes/BuiltinDictNodes.py +19 -17
- nuitka/nodes/BuiltinFormatNodes.py +20 -17
- nuitka/nodes/BuiltinHashNodes.py +19 -17
- nuitka/nodes/BuiltinInputNodes.py +19 -17
- nuitka/nodes/BuiltinIntegerNodes.py +19 -17
- nuitka/nodes/BuiltinIteratorNodes.py +24 -20
- nuitka/nodes/BuiltinLenNodes.py +19 -17
- nuitka/nodes/BuiltinNextNodes.py +19 -17
- nuitka/nodes/BuiltinOpenNodes.py +52 -18
- nuitka/nodes/BuiltinOperationNodeBasesGenerated.py +40 -23
- nuitka/nodes/BuiltinRangeNodes.py +21 -19
- nuitka/nodes/BuiltinRefNodes.py +68 -19
- nuitka/nodes/BuiltinSumNodes.py +20 -18
- nuitka/nodes/BuiltinTypeNodes.py +19 -17
- nuitka/nodes/BuiltinVarsNodes.py +19 -18
- nuitka/nodes/BytesNodes.py +19 -17
- nuitka/nodes/CallNodes.py +19 -17
- nuitka/nodes/Checkers.py +19 -17
- nuitka/nodes/ChildrenHavingMixins.py +1250 -302
- nuitka/nodes/ClassNodes.py +49 -29
- nuitka/nodes/CodeObjectSpecs.py +29 -18
- nuitka/nodes/ComparisonNodes.py +19 -17
- nuitka/nodes/ConditionalNodes.py +21 -23
- nuitka/nodes/ConstantRefNodes.py +57 -17
- nuitka/nodes/ContainerMakingNodes.py +19 -17
- nuitka/nodes/ContainerOperationNodes.py +19 -17
- nuitka/nodes/CoroutineNodes.py +19 -17
- nuitka/nodes/CtypesNodes.py +19 -18
- nuitka/nodes/DictionaryNodes.py +19 -18
- nuitka/nodes/ExceptionNodes.py +29 -17
- nuitka/nodes/ExecEvalNodes.py +19 -17
- nuitka/nodes/ExpressionBases.py +34 -26
- nuitka/nodes/ExpressionBasesGenerated.py +54 -32
- nuitka/nodes/ExpressionShapeMixins.py +19 -17
- nuitka/nodes/FrameNodes.py +19 -17
- nuitka/nodes/FunctionAttributeNodes.py +19 -17
- nuitka/nodes/FunctionNodes.py +81 -35
- nuitka/nodes/FutureSpecs.py +35 -20
- nuitka/nodes/GeneratorNodes.py +21 -19
- nuitka/nodes/GlobalsLocalsNodes.py +22 -17
- nuitka/nodes/HardImportNodesGenerated.py +545 -129
- nuitka/nodes/ImportHardNodes.py +46 -38
- nuitka/nodes/ImportNodes.py +436 -446
- nuitka/nodes/IndicatorMixins.py +19 -17
- nuitka/nodes/InjectCNodes.py +19 -18
- nuitka/nodes/IterationHandles.py +55 -34
- nuitka/nodes/KeyValuePairNodes.py +19 -17
- nuitka/nodes/ListOperationNodes.py +33 -21
- nuitka/nodes/LocalsDictNodes.py +19 -17
- nuitka/nodes/LocalsScopes.py +41 -41
- nuitka/nodes/LoopNodes.py +28 -17
- nuitka/nodes/MatchNodes.py +37 -24
- nuitka/nodes/ModuleAttributeNodes.py +18 -35
- nuitka/nodes/ModuleNodes.py +90 -31
- nuitka/nodes/NetworkxNodes.py +45 -0
- nuitka/nodes/NodeBases.py +45 -43
- nuitka/nodes/NodeMakingHelpers.py +21 -19
- nuitka/nodes/NodeMetaClasses.py +45 -28
- nuitka/nodes/OperatorNodes.py +28 -26
- nuitka/nodes/OperatorNodesUnary.py +20 -17
- nuitka/nodes/OsSysNodes.py +66 -18
- nuitka/nodes/OutlineNodes.py +22 -20
- nuitka/nodes/PackageMetadataNodes.py +37 -27
- nuitka/nodes/PackageResourceNodes.py +29 -23
- nuitka/nodes/PrintNodes.py +19 -17
- nuitka/nodes/ReturnNodes.py +20 -18
- nuitka/nodes/SideEffectNodes.py +19 -17
- nuitka/nodes/SliceNodes.py +20 -18
- nuitka/nodes/StatementBasesGenerated.py +125 -77
- nuitka/nodes/StatementNodes.py +19 -17
- nuitka/nodes/StrNodes.py +19 -17
- nuitka/nodes/StringConcatenationNodes.py +20 -17
- nuitka/nodes/SubscriptNodes.py +26 -24
- nuitka/nodes/TensorflowNodes.py +38 -0
- nuitka/nodes/TryNodes.py +19 -17
- nuitka/nodes/TypeMatchNodes.py +19 -17
- nuitka/nodes/TypeNodes.py +40 -17
- nuitka/nodes/VariableAssignNodes.py +122 -64
- nuitka/nodes/VariableDelNodes.py +19 -17
- nuitka/nodes/VariableNameNodes.py +19 -17
- nuitka/nodes/VariableRefNodes.py +63 -26
- nuitka/nodes/VariableReleaseNodes.py +19 -17
- nuitka/nodes/YieldNodes.py +21 -19
- nuitka/nodes/__init__.py +5 -4
- nuitka/nodes/shapes/BuiltinTypeShapes.py +145 -39
- nuitka/nodes/shapes/ControlFlowDescriptions.py +19 -17
- nuitka/nodes/shapes/ShapeMixins.py +40 -17
- nuitka/nodes/shapes/StandardShapes.py +27 -20
- nuitka/nodes/shapes/__init__.py +5 -4
- nuitka/optimizations/BytecodeDemotion.py +19 -17
- nuitka/optimizations/FunctionInlining.py +22 -23
- nuitka/optimizations/Graphs.py +19 -17
- nuitka/optimizations/Optimization.py +39 -35
- nuitka/optimizations/OptimizeBuiltinCalls.py +31 -27
- nuitka/optimizations/Tags.py +19 -18
- nuitka/optimizations/TraceCollections.py +67 -24
- nuitka/optimizations/ValueTraces.py +92 -25
- nuitka/optimizations/__init__.py +5 -4
- nuitka/pgo/PGO.py +33 -23
- nuitka/pgo/__init__.py +5 -4
- nuitka/plugins/PluginBase.py +610 -109
- nuitka/plugins/Plugins.py +241 -58
- nuitka/plugins/YamlPluginBase.py +121 -0
- nuitka/plugins/__init__.py +5 -4
- nuitka/plugins/standard/AntiBloatPlugin.py +357 -129
- nuitka/plugins/standard/ConsiderPyLintAnnotationsPlugin.py +20 -19
- nuitka/plugins/standard/DataFilesPlugin.py +65 -29
- nuitka/plugins/standard/DelvewheelPlugin.py +32 -24
- nuitka/plugins/standard/DillPlugin/DillPlugin.c +37 -0
- nuitka/plugins/standard/DillPlugin/dill-postLoad.py +256 -0
- nuitka/plugins/standard/DillPlugin.py +42 -134
- nuitka/plugins/standard/DllFilesPlugin.py +125 -42
- nuitka/plugins/standard/EnumPlugin.py +19 -17
- nuitka/plugins/standard/EventletPlugin.py +19 -17
- nuitka/plugins/standard/GeventPlugin.py +19 -17
- nuitka/plugins/standard/GiPlugin.py +44 -28
- nuitka/plugins/standard/GlfwPlugin.py +20 -17
- nuitka/plugins/standard/ImplicitImports.py +407 -46
- nuitka/plugins/standard/KivyPlugin.py +30 -17
- nuitka/plugins/standard/MatplotlibPlugin.py +88 -42
- nuitka/plugins/standard/MultiprocessingPlugin.py +25 -20
- nuitka/plugins/standard/NumpyPlugin.py +19 -17
- nuitka/plugins/standard/OptionsNannyPlugin.py +48 -76
- nuitka/plugins/standard/PbrPlugin.py +21 -19
- nuitka/plugins/standard/PkgResourcesPlugin.py +34 -23
- nuitka/plugins/standard/PmwPlugin.py +30 -27
- nuitka/plugins/standard/PySidePyQtPlugin.py +74 -80
- nuitka/plugins/standard/PywebViewPlugin.py +19 -17
- nuitka/plugins/standard/SpacyPlugin.py +136 -0
- nuitka/plugins/standard/TensorflowPlugin.py +20 -17
- nuitka/plugins/standard/TkinterPlugin.py +103 -53
- nuitka/plugins/standard/TorchPlugin.py +20 -17
- nuitka/plugins/standard/TransformersPlugin.py +94 -30
- nuitka/plugins/standard/TrioPlugin.py +18 -15
- nuitka/plugins/standard/UpxPlugin.py +21 -19
- nuitka/plugins/standard/__init__.py +5 -4
- nuitka/plugins/standard/standard.nuitka-package.config.yml +3449 -1299
- nuitka/plugins/standard/stdlib2.nuitka-package.config.yml +14 -14
- nuitka/plugins/standard/stdlib3.nuitka-package.config.yml +121 -66
- nuitka/reports/CompilationReportReader.py +67 -0
- nuitka/reports/LicenseReport.rst.j2 +21 -21
- nuitka/reports/Reports.py +352 -76
- nuitka/reports/__init__.py +5 -4
- nuitka/specs/BuiltinBytesOperationSpecs.py +18 -17
- nuitka/specs/BuiltinDictOperationSpecs.py +18 -17
- nuitka/specs/BuiltinListOperationSpecs.py +18 -17
- nuitka/specs/BuiltinParameterSpecs.py +30 -20
- nuitka/specs/BuiltinStrOperationSpecs.py +19 -18
- nuitka/specs/BuiltinTypeOperationSpecs.py +18 -18
- nuitka/specs/BuiltinUnicodeOperationSpecs.py +18 -17
- nuitka/specs/HardImportSpecs.py +67 -22
- nuitka/specs/ParameterSpecs.py +56 -41
- nuitka/specs/__init__.py +5 -4
- nuitka/tools/Basics.py +20 -18
- nuitka/tools/__init__.py +5 -4
- nuitka/tools/commercial/__init__.py +7 -6
- nuitka/tools/data_composer/DataComposer.py +78 -62
- nuitka/tools/data_composer/__init__.py +5 -4
- nuitka/tools/data_composer/__main__.py +18 -17
- nuitka/tools/environments/CreateEnvironment.py +20 -17
- nuitka/tools/environments/Virtualenv.py +60 -32
- nuitka/tools/environments/__init__.py +5 -4
- nuitka/tools/general/__init__.py +5 -4
- nuitka/tools/general/dll_report/__init__.py +5 -4
- nuitka/tools/general/dll_report/__main__.py +19 -21
- nuitka/tools/general/find_module/FindModuleCode.py +35 -22
- nuitka/tools/general/find_module/__init__.py +5 -4
- nuitka/tools/onefile_compressor/OnefileCompressor.py +213 -131
- nuitka/tools/onefile_compressor/__init__.py +5 -4
- nuitka/tools/onefile_compressor/__main__.py +18 -17
- nuitka/tools/podman/Podman.py +19 -17
- nuitka/tools/podman/__init__.py +5 -4
- nuitka/tools/podman/__main__.py +35 -19
- nuitka/tools/profiler/__init__.py +5 -4
- nuitka/tools/profiler/__main__.py +18 -17
- nuitka/tools/scanning/DisplayPackageDLLs.py +47 -22
- nuitka/tools/scanning/DisplayPackageData.py +31 -19
- nuitka/tools/scanning/__init__.py +5 -4
- nuitka/tools/specialize/CTypeDescriptions.py +93 -71
- nuitka/tools/specialize/Common.py +18 -17
- nuitka/tools/specialize/SpecializeC.py +31 -27
- nuitka/tools/specialize/SpecializePython.py +108 -45
- nuitka/tools/specialize/__init__.py +5 -4
- nuitka/tools/testing/Common.py +106 -52
- nuitka/tools/testing/Constructs.py +19 -17
- nuitka/tools/testing/OutputComparison.py +54 -18
- nuitka/tools/testing/Pythons.py +19 -18
- nuitka/tools/testing/RuntimeTracing.py +20 -19
- nuitka/tools/testing/SearchModes.py +26 -20
- nuitka/tools/testing/Valgrind.py +19 -17
- nuitka/tools/testing/__init__.py +5 -4
- nuitka/tools/testing/check_reference_counts/__init__.py +5 -4
- nuitka/tools/testing/check_reference_counts/__main__.py +18 -18
- nuitka/tools/testing/compare_with_cpython/__init__.py +5 -4
- nuitka/tools/testing/compare_with_cpython/__main__.py +36 -29
- nuitka/tools/testing/find_sxs_modules/__init__.py +5 -4
- nuitka/tools/testing/find_sxs_modules/__main__.py +17 -17
- nuitka/tools/testing/measure_construct_performance/__init__.py +5 -4
- nuitka/tools/testing/measure_construct_performance/__main__.py +22 -25
- nuitka/tools/testing/run_nuitka_tests/__init__.py +5 -4
- nuitka/tools/testing/run_nuitka_tests/__main__.py +57 -40
- nuitka/tools/watch/AutoStage.py +144 -0
- nuitka/tools/watch/GitHub.py +113 -0
- nuitka/tools/watch/__init__.py +5 -4
- nuitka/tools/watch/__main__.py +322 -91
- nuitka/tree/Building.py +176 -147
- nuitka/tree/ComplexCallHelperFunctions.py +80 -58
- nuitka/tree/Extractions.py +19 -17
- nuitka/tree/InternalModule.py +29 -20
- nuitka/tree/Operations.py +19 -17
- nuitka/tree/ReformulationAssertStatements.py +20 -17
- nuitka/tree/ReformulationAssignmentStatements.py +92 -91
- nuitka/tree/ReformulationBooleanExpressions.py +19 -17
- nuitka/tree/ReformulationCallExpressions.py +20 -18
- nuitka/tree/ReformulationClasses.py +45 -39
- nuitka/tree/ReformulationClasses3.py +146 -98
- nuitka/tree/ReformulationComparisonExpressions.py +29 -35
- nuitka/tree/ReformulationContractionExpressions.py +58 -55
- nuitka/tree/ReformulationDictionaryCreation.py +40 -35
- nuitka/tree/ReformulationExecStatements.py +42 -39
- nuitka/tree/ReformulationForLoopStatements.py +30 -34
- nuitka/tree/ReformulationFunctionStatements.py +58 -54
- nuitka/tree/ReformulationImportStatements.py +34 -29
- nuitka/tree/ReformulationLambdaExpressions.py +23 -24
- nuitka/tree/ReformulationMatchStatements.py +244 -92
- nuitka/tree/ReformulationMultidist.py +22 -18
- nuitka/tree/ReformulationNamespacePackages.py +55 -46
- nuitka/tree/ReformulationPrintStatements.py +23 -24
- nuitka/tree/ReformulationSequenceCreation.py +50 -49
- nuitka/tree/ReformulationSubscriptExpressions.py +19 -17
- nuitka/tree/ReformulationTryExceptStatements.py +19 -17
- nuitka/tree/ReformulationTryFinallyStatements.py +34 -17
- nuitka/tree/ReformulationWhileLoopStatements.py +19 -17
- nuitka/tree/ReformulationWithStatements.py +39 -41
- nuitka/tree/ReformulationYieldExpressions.py +21 -19
- nuitka/tree/SourceHandling.py +76 -31
- nuitka/tree/SyntaxErrors.py +19 -17
- nuitka/tree/TreeHelpers.py +33 -20
- nuitka/tree/VariableClosure.py +35 -39
- nuitka/tree/__init__.py +5 -4
- nuitka/utils/AppDirs.py +41 -20
- nuitka/utils/CStrings.py +66 -21
- nuitka/utils/CommandLineOptions.py +84 -19
- nuitka/utils/Distributions.py +445 -54
- nuitka/utils/Download.py +89 -57
- nuitka/utils/Execution.py +73 -34
- nuitka/utils/FileOperations.py +318 -74
- nuitka/utils/Hashing.py +55 -33
- nuitka/utils/Images.py +26 -19
- nuitka/utils/Importing.py +118 -24
- nuitka/utils/InstalledPythons.py +80 -75
- nuitka/utils/InstanceCounters.py +20 -17
- nuitka/utils/Jinja2.py +30 -22
- nuitka/utils/Json.py +19 -17
- nuitka/utils/MacOSApp.py +26 -18
- nuitka/utils/MemoryUsage.py +20 -18
- nuitka/utils/ModuleNames.py +42 -26
- nuitka/utils/ReExecute.py +50 -28
- nuitka/utils/Rest.py +20 -17
- nuitka/utils/SharedLibraries.py +161 -75
- nuitka/utils/Shebang.py +20 -17
- nuitka/utils/Signing.py +63 -18
- nuitka/utils/SlotMetaClasses.py +57 -0
- nuitka/utils/StaticLibraries.py +83 -56
- nuitka/utils/ThreadedExecutor.py +18 -17
- nuitka/utils/Timing.py +22 -20
- nuitka/utils/Utils.py +115 -25
- nuitka/utils/WindowsFileUsage.py +22 -20
- nuitka/utils/WindowsResources.py +25 -18
- nuitka/utils/Yaml.py +62 -24
- nuitka/utils/__init__.py +5 -4
- Nuitka_winsvc-1.8.dist-info/RECORD +0 -905
- nuitka/build/inline_copy/tqdm/tqdm/_tqdm_gui.py +0 -9
- nuitka/build/inline_copy/tqdm/tqdm/gui.py +0 -191
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/LICENSE.txt +0 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/entry_points.txt +0 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/top_level.txt +0 -0
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# integrates with CPython, but also works on its own.
|
|
5
|
-
#
|
|
6
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
# you may not use this file except in compliance with the License.
|
|
8
|
-
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
10
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
12
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
# See the License for the specific language governing permissions and
|
|
16
|
-
# limitations under the License.
|
|
17
|
-
#
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
18
4
|
""" This tool is generating node variants from Jinja templates.
|
|
19
5
|
|
|
20
6
|
"""
|
|
@@ -26,15 +12,18 @@ nuitka.Options.is_full_compat = False
|
|
|
26
12
|
|
|
27
13
|
# isort:start
|
|
28
14
|
|
|
15
|
+
import textwrap
|
|
29
16
|
from collections import namedtuple
|
|
30
17
|
|
|
31
18
|
import nuitka.code_generation.BinaryOperationHelperDefinitions
|
|
32
19
|
import nuitka.code_generation.CodeGeneration
|
|
33
20
|
import nuitka.code_generation.ComparisonCodes
|
|
34
21
|
import nuitka.code_generation.Namify
|
|
22
|
+
import nuitka.nodes.NetworkxNodes
|
|
35
23
|
import nuitka.nodes.PackageMetadataNodes
|
|
36
24
|
import nuitka.nodes.PackageResourceNodes
|
|
37
25
|
import nuitka.nodes.SideEffectNodes
|
|
26
|
+
import nuitka.nodes.TensorflowNodes
|
|
38
27
|
import nuitka.specs.BuiltinBytesOperationSpecs
|
|
39
28
|
import nuitka.specs.BuiltinDictOperationSpecs
|
|
40
29
|
import nuitka.specs.BuiltinListOperationSpecs
|
|
@@ -260,22 +249,47 @@ lambda source_ref: wrapExpressionWithNodeSideEffects(
|
|
|
260
249
|
)
|
|
261
250
|
"""
|
|
262
251
|
|
|
252
|
+
attribute_shape_empty[
|
|
253
|
+
"fromkeys", "tshape_dict"
|
|
254
|
+
] = """
|
|
255
|
+
lambda source_ref: makeRaiseExceptionReplacementExpression(
|
|
256
|
+
expression=dict_arg,
|
|
257
|
+
exception_type="TypeError",
|
|
258
|
+
exception_value=getDictFromkeysNoArgErrorMessage(),
|
|
259
|
+
)
|
|
260
|
+
"""
|
|
261
|
+
|
|
263
262
|
|
|
264
263
|
def emitGenerationWarning(emit, doc_string, template_name):
|
|
265
|
-
|
|
266
|
-
|
|
264
|
+
generate_names = set()
|
|
265
|
+
|
|
266
|
+
generate_names.update(attribute_information.keys())
|
|
267
|
+
generate_names.update(
|
|
267
268
|
attribute_name.replace("_", "") for attribute_name in attribute_information
|
|
268
269
|
)
|
|
269
270
|
|
|
270
|
-
|
|
271
|
+
generate_names.update(sum(attribute_shape_args.values(), ()))
|
|
272
|
+
|
|
273
|
+
for spec_descriptions in getSpecVersions(nuitka.specs.HardImportSpecs):
|
|
274
|
+
spec = spec_descriptions[0][2]
|
|
275
|
+
generate_names.update(spec.getArgumentNames())
|
|
276
|
+
|
|
277
|
+
ignores = textwrap.fill(
|
|
278
|
+
" ".join(sorted(generate_names)),
|
|
279
|
+
width=90,
|
|
280
|
+
initial_indent="spell-checker: ignore ",
|
|
281
|
+
subsequent_indent="spell-checker: ignore ",
|
|
282
|
+
break_on_hyphens=False,
|
|
283
|
+
break_long_words=False,
|
|
284
|
+
expand_tabs=False,
|
|
285
|
+
replace_whitespace=False,
|
|
286
|
+
)
|
|
271
287
|
|
|
272
288
|
emit(
|
|
273
289
|
"""
|
|
274
290
|
# We are not avoiding these in generated code at all
|
|
275
|
-
# pylint: disable=I0021,too-many-lines
|
|
276
|
-
# pylint: disable=I0021,
|
|
277
|
-
# pylint: disable=I0021,too-many-instance-attributes
|
|
278
|
-
# pylint: disable=I0021,too-many-return-statements
|
|
291
|
+
# pylint: disable=I0021,line-too-long,too-many-instance-attributes,too-many-lines
|
|
292
|
+
# pylint: disable=I0021,too-many-arguments,too-many-return-statements,too-many-statements
|
|
279
293
|
"""
|
|
280
294
|
)
|
|
281
295
|
|
|
@@ -285,17 +299,11 @@ def emitGenerationWarning(emit, doc_string, template_name):
|
|
|
285
299
|
|
|
286
300
|
WARNING, this code is GENERATED. Modify the template %s instead!
|
|
287
301
|
|
|
288
|
-
|
|
289
|
-
spell-checker: ignore %s
|
|
302
|
+
%s
|
|
290
303
|
"""
|
|
291
304
|
|
|
292
305
|
'''
|
|
293
|
-
% (
|
|
294
|
-
doc_string,
|
|
295
|
-
template_name,
|
|
296
|
-
" ".join(sorted(attribute_code_names)),
|
|
297
|
-
" ".join(sorted(attribute_arg_names)),
|
|
298
|
-
)
|
|
306
|
+
% (doc_string, template_name, ignores)
|
|
299
307
|
)
|
|
300
308
|
|
|
301
309
|
|
|
@@ -360,7 +368,12 @@ def makeAttributeNodes():
|
|
|
360
368
|
|
|
361
369
|
emit("from nuitka.nodes.ConstantRefNodes import makeConstantRefNode")
|
|
362
370
|
emit(
|
|
363
|
-
"
|
|
371
|
+
"""\
|
|
372
|
+
from nuitka.nodes.NodeMakingHelpers import (
|
|
373
|
+
wrapExpressionWithNodeSideEffects,
|
|
374
|
+
makeRaiseExceptionReplacementExpression
|
|
375
|
+
)
|
|
376
|
+
"""
|
|
364
377
|
)
|
|
365
378
|
|
|
366
379
|
emit(
|
|
@@ -369,6 +382,8 @@ def makeAttributeNodes():
|
|
|
369
382
|
|
|
370
383
|
emit("from nuitka.nodes.AttributeNodes import makeExpressionAttributeLookup")
|
|
371
384
|
|
|
385
|
+
emit("from nuitka.PythonVersions import getDictFromkeysNoArgErrorMessage")
|
|
386
|
+
|
|
372
387
|
# TODO: Maybe generate its effect instead of using a base class.
|
|
373
388
|
emit("from .NodeBases import SideEffectsFromChildrenMixin")
|
|
374
389
|
|
|
@@ -464,6 +479,8 @@ def makeCodeCased(value):
|
|
|
464
479
|
|
|
465
480
|
|
|
466
481
|
def getCallModuleName(module_name, function_name):
|
|
482
|
+
# return driven, pylint: disable=too-many-return-statements
|
|
483
|
+
|
|
467
484
|
if module_name in ("pkg_resources", "importlib.metadata", "importlib_metadata"):
|
|
468
485
|
if function_name in ("resource_stream", "resource_string"):
|
|
469
486
|
return "PackageResourceNodes"
|
|
@@ -475,6 +492,15 @@ def getCallModuleName(module_name, function_name):
|
|
|
475
492
|
return "OsSysNodes"
|
|
476
493
|
if module_name == "ctypes":
|
|
477
494
|
return "CtypesNodes"
|
|
495
|
+
if module_name == "builtins":
|
|
496
|
+
if function_name == "open":
|
|
497
|
+
return "BuiltinOpenNodes"
|
|
498
|
+
|
|
499
|
+
if module_name == "tensorflow":
|
|
500
|
+
return "TensorflowNodes"
|
|
501
|
+
|
|
502
|
+
if module_name.startswith("networkx"):
|
|
503
|
+
return "NetworkxNodes"
|
|
478
504
|
|
|
479
505
|
assert False, (module_name, function_name)
|
|
480
506
|
|
|
@@ -627,14 +653,14 @@ def _parseNamedChildrenSpec(named_children):
|
|
|
627
653
|
named_children_checkers[named_child] = "convertNoneConstantToNone"
|
|
628
654
|
elif named_child_property == "auto_none_empty_str":
|
|
629
655
|
named_children_types[named_child] = "optional"
|
|
630
|
-
named_children_checkers[
|
|
631
|
-
|
|
632
|
-
|
|
656
|
+
named_children_checkers[named_child] = (
|
|
657
|
+
"convertEmptyStrConstantToNone"
|
|
658
|
+
)
|
|
633
659
|
elif named_child_property == "statements_or_none":
|
|
634
660
|
named_children_types[named_child] = "optional"
|
|
635
|
-
named_children_checkers[
|
|
636
|
-
|
|
637
|
-
|
|
661
|
+
named_children_checkers[named_child] = (
|
|
662
|
+
"checkStatementsSequenceOrNone"
|
|
663
|
+
)
|
|
638
664
|
elif named_child_property == "statements":
|
|
639
665
|
named_children_checkers[named_child] = "checkStatementsSequence"
|
|
640
666
|
elif named_child_property == "optional":
|
|
@@ -723,12 +749,16 @@ def addFromNodes():
|
|
|
723
749
|
_addFromNode(node_class)
|
|
724
750
|
|
|
725
751
|
# Fake factories:
|
|
726
|
-
node_factory_translations[
|
|
727
|
-
"
|
|
728
|
-
|
|
729
|
-
node_factory_translations[
|
|
730
|
-
"
|
|
731
|
-
|
|
752
|
+
node_factory_translations["ExpressionImportlibMetadataMetadataCall"] = (
|
|
753
|
+
"makeExpressionImportlibMetadataMetadataCall"
|
|
754
|
+
)
|
|
755
|
+
node_factory_translations["ExpressionImportlibMetadataBackportMetadataCall"] = (
|
|
756
|
+
"makeExpressionImportlibMetadataBackportMetadataCall"
|
|
757
|
+
)
|
|
758
|
+
node_factory_translations["ExpressionBuiltinsOpenCall"] = (
|
|
759
|
+
"makeExpressionBuiltinsOpenCall"
|
|
760
|
+
)
|
|
761
|
+
node_factory_translations["ExpressionSysExitCall"] = "makeExpressionSysExitCall"
|
|
732
762
|
|
|
733
763
|
|
|
734
764
|
addFromNodes()
|
|
@@ -1031,9 +1061,16 @@ hard_import_node_classes = {}
|
|
|
1031
1061
|
assert optional_name not in named_children_types
|
|
1032
1062
|
named_children_types[optional_name] = "optional"
|
|
1033
1063
|
|
|
1064
|
+
if spec.getStarListArgumentName():
|
|
1065
|
+
named_children_types[spec.getStarListArgumentName()] = "tuple"
|
|
1066
|
+
|
|
1034
1067
|
if spec.getStarDictArgumentName():
|
|
1035
1068
|
named_children_types[spec.getStarDictArgumentName()] = "tuple"
|
|
1036
1069
|
|
|
1070
|
+
for kw_only_name in spec.getKwOnlyParameterNames():
|
|
1071
|
+
assert kw_only_name not in named_children_types
|
|
1072
|
+
named_children_types[kw_only_name] = "optional"
|
|
1073
|
+
|
|
1037
1074
|
if parameter_names:
|
|
1038
1075
|
mixin_name = addChildrenMixin(
|
|
1039
1076
|
True,
|
|
@@ -1068,6 +1105,16 @@ hard_import_node_classes = {}
|
|
|
1068
1105
|
function_name_title=function_name_title,
|
|
1069
1106
|
function_name_code=makeCodeCased(function_name),
|
|
1070
1107
|
module_name=module_name,
|
|
1108
|
+
is_stdlib_module=module_name
|
|
1109
|
+
in (
|
|
1110
|
+
"builtins",
|
|
1111
|
+
"os",
|
|
1112
|
+
"os.path",
|
|
1113
|
+
"pkgutil",
|
|
1114
|
+
"ctypes",
|
|
1115
|
+
"importlib.metadata",
|
|
1116
|
+
"importlib.resources",
|
|
1117
|
+
),
|
|
1071
1118
|
module_name_code=makeCodeCased(adaptModuleName(module_name)),
|
|
1072
1119
|
module_name_title=module_name_title,
|
|
1073
1120
|
call_node_module_name=getCallModuleName(module_name, function_name),
|
|
@@ -1082,3 +1129,19 @@ def main():
|
|
|
1082
1129
|
makeAttributeNodes()
|
|
1083
1130
|
makeBuiltinOperationNodes()
|
|
1084
1131
|
makeChildrenHavingMixinNodes()
|
|
1132
|
+
|
|
1133
|
+
|
|
1134
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
1135
|
+
# integrates with CPython, but also works on its own.
|
|
1136
|
+
#
|
|
1137
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
1138
|
+
# you may not use this file except in compliance with the License.
|
|
1139
|
+
# You may obtain a copy of the License at
|
|
1140
|
+
#
|
|
1141
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
1142
|
+
#
|
|
1143
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
1144
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
1145
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1146
|
+
# See the License for the specific language governing permissions and
|
|
1147
|
+
# limitations under the License.
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
""" Dummy file to make this directory a package. """
|
|
5
|
+
|
|
3
6
|
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
4
7
|
# integrates with CPython, but also works on its own.
|
|
5
8
|
#
|
|
@@ -14,5 +17,3 @@
|
|
|
14
17
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
18
|
# See the License for the specific language governing permissions and
|
|
16
19
|
# limitations under the License.
|
|
17
|
-
#
|
|
18
|
-
""" Dummy file to make this directory a package. """
|
nuitka/tools/testing/Common.py
CHANGED
|
@@ -1,26 +1,11 @@
|
|
|
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
|
""" Common test infrastructure functions. To be used by test runners. """
|
|
19
5
|
|
|
20
6
|
import ast
|
|
21
7
|
import atexit
|
|
22
8
|
import gc
|
|
23
|
-
import hashlib
|
|
24
9
|
import os
|
|
25
10
|
import re
|
|
26
11
|
import shutil
|
|
@@ -32,7 +17,7 @@ import time
|
|
|
32
17
|
from contextlib import contextmanager
|
|
33
18
|
from optparse import OptionParser
|
|
34
19
|
|
|
35
|
-
from nuitka.__past__ import subprocess
|
|
20
|
+
from nuitka.__past__ import md5, subprocess
|
|
36
21
|
from nuitka.PythonVersions import getTestExecutionPythonVersions, isDebugPython
|
|
37
22
|
from nuitka.Tracing import OurLogger, my_print
|
|
38
23
|
from nuitka.tree.SourceHandling import readSourceCodeFromFilename
|
|
@@ -40,6 +25,7 @@ from nuitka.utils.AppDirs import getCacheDir
|
|
|
40
25
|
from nuitka.utils.Execution import (
|
|
41
26
|
check_output,
|
|
42
27
|
createProcess,
|
|
28
|
+
executeProcess,
|
|
43
29
|
getNullInput,
|
|
44
30
|
getNullOutput,
|
|
45
31
|
)
|
|
@@ -49,6 +35,7 @@ from nuitka.utils.FileOperations import (
|
|
|
49
35
|
getFileContentByLine,
|
|
50
36
|
getFileContents,
|
|
51
37
|
getFileList,
|
|
38
|
+
getParentDirectories,
|
|
52
39
|
isFilenameSameAsOrBelowPath,
|
|
53
40
|
makePath,
|
|
54
41
|
openTextFile,
|
|
@@ -56,7 +43,7 @@ from nuitka.utils.FileOperations import (
|
|
|
56
43
|
)
|
|
57
44
|
from nuitka.utils.InstalledPythons import findInstalledPython
|
|
58
45
|
from nuitka.utils.Jinja2 import getTemplate
|
|
59
|
-
from nuitka.utils.Utils import
|
|
46
|
+
from nuitka.utils.Utils import isFreeBSD, isLinux, isMacOS, isWin32Windows
|
|
60
47
|
|
|
61
48
|
from .SearchModes import (
|
|
62
49
|
SearchModeByPattern,
|
|
@@ -220,11 +207,16 @@ def getTempDir():
|
|
|
220
207
|
os.path.dirname(os.path.abspath(sys.modules["__main__"].__file__))
|
|
221
208
|
)
|
|
222
209
|
+ "-",
|
|
223
|
-
dir=
|
|
210
|
+
dir=None if not (isLinux() and os.path.exists("/var/tmp")) else "/var/tmp",
|
|
224
211
|
)
|
|
225
212
|
|
|
226
213
|
def removeTempDir():
|
|
227
|
-
removeDirectory(
|
|
214
|
+
removeDirectory(
|
|
215
|
+
path=tmp_dir,
|
|
216
|
+
logger=test_logger,
|
|
217
|
+
ignore_errors=True,
|
|
218
|
+
extra_recommendation=None,
|
|
219
|
+
)
|
|
228
220
|
|
|
229
221
|
atexit.register(removeTempDir)
|
|
230
222
|
|
|
@@ -324,6 +316,10 @@ def decideFilenameVersionSkip(filename):
|
|
|
324
316
|
if filename.endswith("_37.py") and _python_version >= (3, 8):
|
|
325
317
|
return False
|
|
326
318
|
|
|
319
|
+
# Skip tests that require Python 3.11 at maximum.
|
|
320
|
+
if filename.endswith("_311.py") and _python_version >= (3, 8):
|
|
321
|
+
return False
|
|
322
|
+
|
|
327
323
|
# Skip tests that require Python 3.2 at least.
|
|
328
324
|
if filename.endswith("32.py") and _python_version < (3, 2):
|
|
329
325
|
return False
|
|
@@ -364,6 +360,10 @@ def decideFilenameVersionSkip(filename):
|
|
|
364
360
|
if filename.endswith("311.py") and _python_version < (3, 11):
|
|
365
361
|
return False
|
|
366
362
|
|
|
363
|
+
# Skip tests that require Python 3.12 at least.
|
|
364
|
+
if filename.endswith("312.py") and _python_version < (3, 12):
|
|
365
|
+
return False
|
|
366
|
+
|
|
367
367
|
return True
|
|
368
368
|
|
|
369
369
|
|
|
@@ -375,7 +375,12 @@ def _removeCPythonTestSuiteDir():
|
|
|
375
375
|
# Cleanup, some tests apparently forget that.
|
|
376
376
|
try:
|
|
377
377
|
if os.path.isdir("@test"):
|
|
378
|
-
removeDirectory(
|
|
378
|
+
removeDirectory(
|
|
379
|
+
"@test",
|
|
380
|
+
logger=test_logger,
|
|
381
|
+
ignore_errors=False,
|
|
382
|
+
extra_recommendation=None,
|
|
383
|
+
)
|
|
379
384
|
elif os.path.isfile("@test"):
|
|
380
385
|
os.unlink("@test")
|
|
381
386
|
except OSError:
|
|
@@ -477,9 +482,13 @@ def checkCompilesNotWithCPython(dirname, filename, search_mode):
|
|
|
477
482
|
def checkSucceedsWithCPython(filename):
|
|
478
483
|
command = [_python_executable, filename]
|
|
479
484
|
|
|
480
|
-
|
|
485
|
+
stdout, stderr, exit_code = executeProcess(command)
|
|
481
486
|
|
|
482
|
-
|
|
487
|
+
if exit_code != 0:
|
|
488
|
+
my_print("stdout", stdout)
|
|
489
|
+
my_print("stderr", stderr)
|
|
490
|
+
|
|
491
|
+
return exit_code == 0
|
|
483
492
|
|
|
484
493
|
|
|
485
494
|
def getDebugPython():
|
|
@@ -527,7 +536,7 @@ def displayRuntimeTraces(logger, path):
|
|
|
527
536
|
|
|
528
537
|
if os.name == "posix":
|
|
529
538
|
# Run with traces to help debugging, specifically in CI environment.
|
|
530
|
-
if
|
|
539
|
+
if isMacOS() or isFreeBSD():
|
|
531
540
|
test_logger.info("dtruss:")
|
|
532
541
|
os.system("sudo dtruss %s" % path)
|
|
533
542
|
else:
|
|
@@ -717,7 +726,7 @@ def checkReferenceCount(checked_function, max_rounds=20, explain=False):
|
|
|
717
726
|
my_print("extra:", m1[key], key)
|
|
718
727
|
elif m1[key] != m2[key]:
|
|
719
728
|
my_print("*" * 80)
|
|
720
|
-
my_print(m1[key], "->", m2[key], key)
|
|
729
|
+
my_print(m1[key], "->", m2[key], repr(key))
|
|
721
730
|
else:
|
|
722
731
|
pass
|
|
723
732
|
|
|
@@ -738,6 +747,7 @@ def checkReferenceCount(checked_function, max_rounds=20, explain=False):
|
|
|
738
747
|
|
|
739
748
|
def createSearchMode():
|
|
740
749
|
# Dealing with many options, pylint: disable=too-many-branches
|
|
750
|
+
# Return driven, pylint: disable=too-many-return-statements
|
|
741
751
|
|
|
742
752
|
parser = OptionParser()
|
|
743
753
|
|
|
@@ -811,7 +821,9 @@ Defaults to off.""",
|
|
|
811
821
|
else:
|
|
812
822
|
return SearchModeImmediate()
|
|
813
823
|
elif mode == "resume":
|
|
814
|
-
return SearchModeResume(sys.modules["__main__"].__file__)
|
|
824
|
+
return SearchModeResume(sys.modules["__main__"].__file__, skip=False)
|
|
825
|
+
elif mode == "skip":
|
|
826
|
+
return SearchModeResume(sys.modules["__main__"].__file__, skip=True)
|
|
815
827
|
elif mode == "only":
|
|
816
828
|
if options.pattern:
|
|
817
829
|
pattern = options.pattern.replace("/", os.path.sep)
|
|
@@ -820,9 +832,9 @@ Defaults to off.""",
|
|
|
820
832
|
assert False
|
|
821
833
|
elif mode == "coverage":
|
|
822
834
|
return SearchModeCoverage(
|
|
823
|
-
start_at=
|
|
824
|
-
|
|
825
|
-
|
|
835
|
+
start_at=(
|
|
836
|
+
options.pattern.replace("/", os.path.sep) if options.pattern else None
|
|
837
|
+
)
|
|
826
838
|
)
|
|
827
839
|
else:
|
|
828
840
|
test_logger.sysexit("Error, using unknown search mode %r" % mode)
|
|
@@ -840,7 +852,7 @@ def executeReferenceChecked(
|
|
|
840
852
|
):
|
|
841
853
|
gc.disable()
|
|
842
854
|
|
|
843
|
-
extract_number = lambda name: int(name.replace(prefix, ""))
|
|
855
|
+
extract_number = lambda name: int(name.replace(prefix, "") or "0")
|
|
844
856
|
|
|
845
857
|
# Find the function names.
|
|
846
858
|
matching_names = tuple(
|
|
@@ -925,7 +937,7 @@ def withPythonPathChange(python_path):
|
|
|
925
937
|
|
|
926
938
|
|
|
927
939
|
def addExtendedExtraOptions(*args):
|
|
928
|
-
old_value = os.
|
|
940
|
+
old_value = os.getenv("NUITKA_EXTRA_OPTIONS")
|
|
929
941
|
|
|
930
942
|
value = old_value
|
|
931
943
|
|
|
@@ -956,7 +968,8 @@ def withExtendedExtraOptions(*args):
|
|
|
956
968
|
|
|
957
969
|
def indentedCode(codes, count):
|
|
958
970
|
"""Indent code, used for generating test codes."""
|
|
959
|
-
|
|
971
|
+
indent = " " * count
|
|
972
|
+
return "\n".join(indent + line if line else "" for line in codes)
|
|
960
973
|
|
|
961
974
|
|
|
962
975
|
def convertToPython(doctests, line_filter=None):
|
|
@@ -1179,19 +1192,15 @@ def async_iterate(g):
|
|
|
1179
1192
|
|
|
1180
1193
|
|
|
1181
1194
|
def getTestingCacheDir():
|
|
1182
|
-
cache_dir = getCacheDir()
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
makePath(result)
|
|
1186
|
-
return result
|
|
1195
|
+
cache_dir = getCacheDir("tests_state")
|
|
1196
|
+
makePath(cache_dir)
|
|
1197
|
+
return cache_dir
|
|
1187
1198
|
|
|
1188
1199
|
|
|
1189
1200
|
def getTestingCPythonOutputsCacheDir():
|
|
1190
|
-
cache_dir = getCacheDir()
|
|
1201
|
+
cache_dir = getCacheDir("cpython_outputs")
|
|
1191
1202
|
|
|
1192
|
-
result = os.path.join(
|
|
1193
|
-
cache_dir, "cpython_outputs", os.environ.get("NUITKA_TEST_SUITE", "")
|
|
1194
|
-
)
|
|
1203
|
+
result = os.path.join(cache_dir, os.getenv("NUITKA_TEST_SUITE", ""))
|
|
1195
1204
|
|
|
1196
1205
|
makePath(result)
|
|
1197
1206
|
return result
|
|
@@ -1203,7 +1212,7 @@ def scanDirectoryForTestCases(dirname, template_context=None):
|
|
|
1203
1212
|
filenames = [
|
|
1204
1213
|
filename
|
|
1205
1214
|
for filename in filenames
|
|
1206
|
-
if (filename.endswith(".py") and
|
|
1215
|
+
if (filename.endswith(".py") and filename + ".j2" not in filenames)
|
|
1207
1216
|
or filename.endswith(".j2")
|
|
1208
1217
|
]
|
|
1209
1218
|
|
|
@@ -1273,9 +1282,9 @@ def setupCacheHashSalt(test_code_path):
|
|
|
1273
1282
|
stdout_git, stderr_git = process.communicate()
|
|
1274
1283
|
assert process.returncode == 0, stderr_git
|
|
1275
1284
|
|
|
1276
|
-
salt_value =
|
|
1285
|
+
salt_value = md5(stdout_git)
|
|
1277
1286
|
else:
|
|
1278
|
-
salt_value =
|
|
1287
|
+
salt_value = md5()
|
|
1279
1288
|
|
|
1280
1289
|
for filename in getFileList(test_code_path):
|
|
1281
1290
|
if filename.endswith(".py"):
|
|
@@ -1330,6 +1339,8 @@ def checkTestRequirements(filename):
|
|
|
1330
1339
|
|
|
1331
1340
|
if os.path.isfile(candidate):
|
|
1332
1341
|
filename = candidate
|
|
1342
|
+
else:
|
|
1343
|
+
filename = os.path.join(filename, getMainProgramFilename(filename))
|
|
1333
1344
|
|
|
1334
1345
|
for line in readSourceCodeFromFilename(None, filename).splitlines():
|
|
1335
1346
|
if line.startswith("# nuitka-skip-unless-"):
|
|
@@ -1399,6 +1410,7 @@ def checkLoadedFileAccesses(loaded_filenames, current_dir):
|
|
|
1399
1410
|
current_dir = os.path.normpath(current_dir)
|
|
1400
1411
|
current_dir = os.path.normcase(current_dir)
|
|
1401
1412
|
current_dir_ext = os.path.normcase(getExternalUsePath(current_dir))
|
|
1413
|
+
current_dir_real = os.path.realpath(current_dir)
|
|
1402
1414
|
|
|
1403
1415
|
illegal_accesses = []
|
|
1404
1416
|
|
|
@@ -1443,6 +1455,17 @@ def checkLoadedFileAccesses(loaded_filenames, current_dir):
|
|
|
1443
1455
|
if loaded_filename.startswith(current_dir_ext):
|
|
1444
1456
|
continue
|
|
1445
1457
|
|
|
1458
|
+
if loaded_filename.startswith(current_dir_real):
|
|
1459
|
+
continue
|
|
1460
|
+
|
|
1461
|
+
# Parent directories are OK too
|
|
1462
|
+
if (
|
|
1463
|
+
loaded_filename in getParentDirectories(current_dir)
|
|
1464
|
+
or loaded_filename in getParentDirectories(current_dir_ext)
|
|
1465
|
+
or loaded_filename in getParentDirectories(current_dir_real)
|
|
1466
|
+
):
|
|
1467
|
+
continue
|
|
1468
|
+
|
|
1446
1469
|
ignore = True
|
|
1447
1470
|
for ignored_dir in (
|
|
1448
1471
|
# System configuration is OK
|
|
@@ -1463,6 +1486,7 @@ def checkLoadedFileAccesses(loaded_filenames, current_dir):
|
|
|
1463
1486
|
# Themes may of course be loaded.
|
|
1464
1487
|
"/usr/share/themes",
|
|
1465
1488
|
# Terminal info files are OK too.
|
|
1489
|
+
"/usr/share/terminfo",
|
|
1466
1490
|
"/lib/terminfo",
|
|
1467
1491
|
):
|
|
1468
1492
|
if isFilenameSameAsOrBelowPath(ignored_dir, loaded_filename):
|
|
@@ -1620,7 +1644,14 @@ def checkLoadedFileAccesses(loaded_filenames, current_dir):
|
|
|
1620
1644
|
# Loading from home directories is OK too.
|
|
1621
1645
|
if any(
|
|
1622
1646
|
isFilenameSameAsOrBelowPath(path, loaded_filename)
|
|
1623
|
-
for path in (
|
|
1647
|
+
for path in (
|
|
1648
|
+
"/home",
|
|
1649
|
+
"/data",
|
|
1650
|
+
"/root",
|
|
1651
|
+
"/Users",
|
|
1652
|
+
"/Library/Preferences",
|
|
1653
|
+
"/agent", # Azure
|
|
1654
|
+
)
|
|
1624
1655
|
):
|
|
1625
1656
|
continue
|
|
1626
1657
|
|
|
@@ -1762,10 +1793,12 @@ def checkLoadedFileAccesses(loaded_filenames, current_dir):
|
|
|
1762
1793
|
|
|
1763
1794
|
# macOS uses these:
|
|
1764
1795
|
if loaded_basename in (
|
|
1796
|
+
"libc.dylib",
|
|
1765
1797
|
"libcrypto.1.0.0.dylib",
|
|
1766
1798
|
"libssl.1.0.0.dylib",
|
|
1767
1799
|
"libcrypto.1.1.dylib",
|
|
1768
1800
|
"libffi.dylib",
|
|
1801
|
+
"libfribidi.dylib",
|
|
1769
1802
|
):
|
|
1770
1803
|
continue
|
|
1771
1804
|
|
|
@@ -1780,13 +1813,11 @@ def checkLoadedFileAccesses(loaded_filenames, current_dir):
|
|
|
1780
1813
|
if isMacOS():
|
|
1781
1814
|
ignore = True
|
|
1782
1815
|
for ignored_dir in (
|
|
1783
|
-
"/System/Library
|
|
1784
|
-
"/System/Library/CoreServices",
|
|
1785
|
-
"/System/Library/Frameworks/",
|
|
1786
|
-
"/System/Library/dyld",
|
|
1816
|
+
"/System/Library",
|
|
1787
1817
|
"/AppleInternal",
|
|
1788
1818
|
"/System/Volumes/Preboot",
|
|
1789
1819
|
"/usr/lib/system/",
|
|
1820
|
+
"/usr/libexec/swift",
|
|
1790
1821
|
):
|
|
1791
1822
|
if isFilenameSameAsOrBelowPath(ignored_dir, loaded_filename):
|
|
1792
1823
|
ignore = False
|
|
@@ -1794,6 +1825,9 @@ def checkLoadedFileAccesses(loaded_filenames, current_dir):
|
|
|
1794
1825
|
if not ignore:
|
|
1795
1826
|
continue
|
|
1796
1827
|
|
|
1828
|
+
if loaded_filename == "/System/Library":
|
|
1829
|
+
continue
|
|
1830
|
+
|
|
1797
1831
|
if loaded_filename == "/usr/libexec/rosetta/runtime":
|
|
1798
1832
|
continue
|
|
1799
1833
|
|
|
@@ -1884,7 +1918,11 @@ def getLocalWebServerDir(base_dir):
|
|
|
1884
1918
|
web_dir = os.path.join(getTempDir(), "local-web-server", base_dir)
|
|
1885
1919
|
|
|
1886
1920
|
if _web_server_process is None:
|
|
1887
|
-
web_server_directory_supporting_pythons = (
|
|
1921
|
+
web_server_directory_supporting_pythons = tuple(
|
|
1922
|
+
python_version
|
|
1923
|
+
for python_version in getTestExecutionPythonVersions()
|
|
1924
|
+
if python_version not in ("3.6", "3.5", "3.4", "2.7", "2.6")
|
|
1925
|
+
)
|
|
1888
1926
|
|
|
1889
1927
|
web_server_python = findInstalledPython(
|
|
1890
1928
|
python_versions=web_server_directory_supporting_pythons,
|
|
@@ -1935,3 +1973,19 @@ def extractNuitkaVersionFromFilePath(version_filename):
|
|
|
1935
1973
|
(version_line,) = [line for line in option_lines if line.startswith("Nuitka V")]
|
|
1936
1974
|
|
|
1937
1975
|
return version_line[8:].rstrip()
|
|
1976
|
+
|
|
1977
|
+
|
|
1978
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
1979
|
+
# integrates with CPython, but also works on its own.
|
|
1980
|
+
#
|
|
1981
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
1982
|
+
# you may not use this file except in compliance with the License.
|
|
1983
|
+
# You may obtain a copy of the License at
|
|
1984
|
+
#
|
|
1985
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
1986
|
+
#
|
|
1987
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
1988
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
1989
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1990
|
+
# See the License for the specific language governing permissions and
|
|
1991
|
+
# limitations under the License.
|