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,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,21 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env python
|
|
2
|
-
# Copyright
|
|
3
|
-
|
|
4
|
-
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
5
|
-
# integrates with CPython, but also works on its own.
|
|
6
|
-
#
|
|
7
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
-
# you may not use this file except in compliance with the License.
|
|
9
|
-
# You may obtain a copy of the License at
|
|
10
|
-
#
|
|
11
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
-
#
|
|
13
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
-
# See the License for the specific language governing permissions and
|
|
17
|
-
# limitations under the License.
|
|
18
|
-
#
|
|
2
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
3
|
+
|
|
19
4
|
|
|
20
5
|
""" Tool to compare find SxS using modules.
|
|
21
6
|
|
|
@@ -71,3 +56,18 @@ def main():
|
|
|
71
56
|
|
|
72
57
|
if __name__ == "__main__":
|
|
73
58
|
main()
|
|
59
|
+
|
|
60
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
61
|
+
# integrates with CPython, but also works on its own.
|
|
62
|
+
#
|
|
63
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
64
|
+
# you may not use this file except in compliance with the License.
|
|
65
|
+
# You may obtain a copy of the License at
|
|
66
|
+
#
|
|
67
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
68
|
+
#
|
|
69
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
70
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
71
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
72
|
+
# See the License for the specific language governing permissions and
|
|
73
|
+
# 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. """
|
|
@@ -1,21 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/python
|
|
2
|
-
# Copyright
|
|
3
|
-
|
|
4
|
-
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
5
|
-
# integrates with CPython, but also works on its own.
|
|
6
|
-
#
|
|
7
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
-
# you may not use this file except in compliance with the License.
|
|
9
|
-
# You may obtain a copy of the License at
|
|
10
|
-
#
|
|
11
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
-
#
|
|
13
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
-
# See the License for the specific language governing permissions and
|
|
17
|
-
# limitations under the License.
|
|
18
|
-
#
|
|
2
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
3
|
+
|
|
19
4
|
|
|
20
5
|
""" Run a construct based comparison test.
|
|
21
6
|
|
|
@@ -25,11 +10,11 @@ in comparisons.
|
|
|
25
10
|
|
|
26
11
|
"""
|
|
27
12
|
|
|
28
|
-
import hashlib
|
|
29
13
|
import os
|
|
30
14
|
import sys
|
|
31
15
|
from optparse import OptionParser
|
|
32
16
|
|
|
17
|
+
from nuitka.__past__ import md5
|
|
33
18
|
from nuitka.tools.testing.Common import (
|
|
34
19
|
check_output,
|
|
35
20
|
convertUsing2to3,
|
|
@@ -63,14 +48,14 @@ def main():
|
|
|
63
48
|
parser = OptionParser()
|
|
64
49
|
|
|
65
50
|
parser.add_option(
|
|
66
|
-
"--nuitka", action="store", dest="nuitka", default=os.
|
|
51
|
+
"--nuitka", action="store", dest="nuitka", default=os.getenv("NUITKA", "")
|
|
67
52
|
)
|
|
68
53
|
|
|
69
54
|
parser.add_option(
|
|
70
55
|
"--cpython",
|
|
71
56
|
action="store",
|
|
72
57
|
dest="cpython",
|
|
73
|
-
default=os.
|
|
58
|
+
default=os.getenv("PYTHON", sys.executable),
|
|
74
59
|
)
|
|
75
60
|
|
|
76
61
|
parser.add_option("--code-diff", action="store", dest="diff_filename", default="")
|
|
@@ -111,10 +96,7 @@ def main():
|
|
|
111
96
|
|
|
112
97
|
my_print("PYTHON='%s'" % getPythonVersionString())
|
|
113
98
|
my_print("PYTHON_BINARY='%s'" % os.environ["PYTHON"])
|
|
114
|
-
my_print(
|
|
115
|
-
"TEST_CASE_HASH='%s'"
|
|
116
|
-
% hashlib.md5(getFileContents(test_case, "rb")).hexdigest()
|
|
117
|
-
)
|
|
99
|
+
my_print("TEST_CASE_HASH='%s'" % md5(getFileContents(test_case, "rb")).hexdigest())
|
|
118
100
|
|
|
119
101
|
needs_2to3 = decideNeeds2to3(test_case)
|
|
120
102
|
|
|
@@ -163,7 +145,7 @@ def main():
|
|
|
163
145
|
"--python-flag=no_site",
|
|
164
146
|
]
|
|
165
147
|
|
|
166
|
-
nuitka_call.extend(os.
|
|
148
|
+
nuitka_call.extend(os.getenv("NUITKA_EXTRA_OPTIONS", "").split())
|
|
167
149
|
|
|
168
150
|
nuitka_call.append(case_name)
|
|
169
151
|
|
|
@@ -296,3 +278,18 @@ def main():
|
|
|
296
278
|
|
|
297
279
|
if __name__ == "__main__":
|
|
298
280
|
main()
|
|
281
|
+
|
|
282
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
283
|
+
# integrates with CPython, but also works on its own.
|
|
284
|
+
#
|
|
285
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
286
|
+
# you may not use this file except in compliance with the License.
|
|
287
|
+
# You may obtain a copy of the License at
|
|
288
|
+
#
|
|
289
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
290
|
+
#
|
|
291
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
292
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
293
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
294
|
+
# See the License for the specific language governing permissions and
|
|
295
|
+
# 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. """
|
|
@@ -1,21 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env python
|
|
2
|
-
# Copyright
|
|
3
|
-
|
|
4
|
-
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
5
|
-
# integrates with CPython, but also works on its own.
|
|
6
|
-
#
|
|
7
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
-
# you may not use this file except in compliance with the License.
|
|
9
|
-
# You may obtain a copy of the License at
|
|
10
|
-
#
|
|
11
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
-
#
|
|
13
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
-
# See the License for the specific language governing permissions and
|
|
17
|
-
# limitations under the License.
|
|
18
|
-
#
|
|
2
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
3
|
+
|
|
19
4
|
|
|
20
5
|
""" Main front-end to the tests of Nuitka.
|
|
21
6
|
|
|
@@ -256,6 +241,16 @@ The standard CPython3.11 test suite. Execute this for all corner cases to be
|
|
|
256
241
|
covered. With Python 2.x these are not run. Default is %default.""",
|
|
257
242
|
)
|
|
258
243
|
|
|
244
|
+
parser.add_option(
|
|
245
|
+
"--skip-cpython312-tests",
|
|
246
|
+
action="store_false",
|
|
247
|
+
dest="cpython312",
|
|
248
|
+
default=True,
|
|
249
|
+
help="""\
|
|
250
|
+
The standard CPython3.12 test suite. Execute this for all corner cases to be
|
|
251
|
+
covered. With Python 2.x these are not run. Default is %default.""",
|
|
252
|
+
)
|
|
253
|
+
|
|
259
254
|
parser.add_option(
|
|
260
255
|
"--skip-other-cpython-tests",
|
|
261
256
|
action="store_true",
|
|
@@ -304,15 +299,6 @@ Do not use Python2.6 even if available on the system. Default is %default.""",
|
|
|
304
299
|
Do not use Python2.7 even if available on the system. Default is %default.""",
|
|
305
300
|
)
|
|
306
301
|
|
|
307
|
-
parser.add_option(
|
|
308
|
-
"--no-python3.3",
|
|
309
|
-
action="store_true",
|
|
310
|
-
dest="no33",
|
|
311
|
-
default=False,
|
|
312
|
-
help="""\
|
|
313
|
-
Do not use Python3.3 even if available on the system. Default is %default.""",
|
|
314
|
-
)
|
|
315
|
-
|
|
316
302
|
parser.add_option(
|
|
317
303
|
"--no-python3.4",
|
|
318
304
|
action="store_true",
|
|
@@ -385,6 +371,15 @@ Do not use Python3.10 even if available on the system. Default is %default.""",
|
|
|
385
371
|
Do not use Python3.11 even if available on the system. Default is %default.""",
|
|
386
372
|
)
|
|
387
373
|
|
|
374
|
+
parser.add_option(
|
|
375
|
+
"--no-python3.12",
|
|
376
|
+
action="store_true",
|
|
377
|
+
dest="no312",
|
|
378
|
+
default=False,
|
|
379
|
+
help="""\
|
|
380
|
+
Do not use Python3.12 even if available on the system. Default is %default.""",
|
|
381
|
+
)
|
|
382
|
+
|
|
388
383
|
parser.add_option(
|
|
389
384
|
"--coverage",
|
|
390
385
|
action="store_true",
|
|
@@ -433,8 +428,6 @@ Enforce the use of MinGW64 on Windows. Defaults to off.""",
|
|
|
433
428
|
options.no26 = True
|
|
434
429
|
if sys.version_info[0:2] != (2, 7):
|
|
435
430
|
options.no27 = True
|
|
436
|
-
if sys.version_info[0:2] != (3, 3):
|
|
437
|
-
options.no33 = True
|
|
438
431
|
if sys.version_info[0:2] != (3, 4):
|
|
439
432
|
options.no34 = True
|
|
440
433
|
if sys.version_info[0:2] != (3, 5):
|
|
@@ -451,6 +444,8 @@ Enforce the use of MinGW64 on Windows. Defaults to off.""",
|
|
|
451
444
|
options.no310 = True
|
|
452
445
|
if sys.version_info[0:2] != (3, 11):
|
|
453
446
|
options.no311 = True
|
|
447
|
+
if sys.version_info[0:2] != (3, 12):
|
|
448
|
+
options.no312 = True
|
|
454
449
|
|
|
455
450
|
if options.cpython_no_other:
|
|
456
451
|
if sys.version_info[0:2] != (2, 6):
|
|
@@ -475,6 +470,8 @@ Enforce the use of MinGW64 on Windows. Defaults to off.""",
|
|
|
475
470
|
options.cpython310 = False
|
|
476
471
|
if sys.version_info[0:2] != (3, 11):
|
|
477
472
|
options.cpython311 = False
|
|
473
|
+
if sys.version_info[0:2] != (3, 12):
|
|
474
|
+
options.cpython312 = False
|
|
478
475
|
|
|
479
476
|
if options.cpython_none:
|
|
480
477
|
options.cpython26 = False
|
|
@@ -488,6 +485,7 @@ Enforce the use of MinGW64 on Windows. Defaults to off.""",
|
|
|
488
485
|
options.cpython39 = False
|
|
489
486
|
options.cpython310 = False
|
|
490
487
|
options.cpython311 = False
|
|
488
|
+
options.cpython312 = False
|
|
491
489
|
|
|
492
490
|
if options.coverage and os.path.exists(".coverage"):
|
|
493
491
|
os.unlink(".coverage")
|
|
@@ -497,7 +495,7 @@ Enforce the use of MinGW64 on Windows. Defaults to off.""",
|
|
|
497
495
|
|
|
498
496
|
def publishCoverageData():
|
|
499
497
|
def copyToGlobalCoverageData(source, target):
|
|
500
|
-
coverage_dir = os.
|
|
498
|
+
coverage_dir = os.getenv("COVERAGE_DIR")
|
|
501
499
|
|
|
502
500
|
if coverage_dir is None:
|
|
503
501
|
return
|
|
@@ -540,7 +538,7 @@ def publishCoverageData():
|
|
|
540
538
|
|
|
541
539
|
putTextFileContents(filename, contents=data)
|
|
542
540
|
|
|
543
|
-
coverage_file = os.
|
|
541
|
+
coverage_file = os.getenv("COVERAGE_FILE", ".coverage")
|
|
544
542
|
|
|
545
543
|
makeCoverageRelative(coverage_file)
|
|
546
544
|
copyToGlobalCoverageData(coverage_file, "data.coverage." + suffix)
|
|
@@ -551,7 +549,7 @@ def main():
|
|
|
551
549
|
# pylint: disable=too-many-branches,too-many-statements
|
|
552
550
|
|
|
553
551
|
# Lets honor this Debian option here, spell-checker: ignore nocheck
|
|
554
|
-
if "nocheck" in os.
|
|
552
|
+
if "nocheck" in os.getenv("DEB_BUILD_OPTIONS", "").split():
|
|
555
553
|
my_print("Skipped all tests as per DEB_BUILD_OPTIONS environment.")
|
|
556
554
|
sys.exit(0)
|
|
557
555
|
|
|
@@ -577,8 +575,6 @@ def main():
|
|
|
577
575
|
return False
|
|
578
576
|
if command == "python2.7" and options.no27:
|
|
579
577
|
return False
|
|
580
|
-
if command == "python3.3" and options.no33:
|
|
581
|
-
return False
|
|
582
578
|
if command == "python3.4" and options.no34:
|
|
583
579
|
return False
|
|
584
580
|
if command == "python3.5" and options.no35:
|
|
@@ -595,6 +591,8 @@ def main():
|
|
|
595
591
|
return False
|
|
596
592
|
if command == "python3.11" and options.no311:
|
|
597
593
|
return False
|
|
594
|
+
if command == "python3.12" and options.no312:
|
|
595
|
+
return False
|
|
598
596
|
|
|
599
597
|
# Shortcuts for python versions, also needed for Windows as it won't have
|
|
600
598
|
# the version number in the Python binaries at all.
|
|
@@ -602,8 +600,6 @@ def main():
|
|
|
602
600
|
return True
|
|
603
601
|
if command == "python2.7" and sys.version_info[0:2] == (2, 7):
|
|
604
602
|
return True
|
|
605
|
-
if command == "python3.3" and sys.version_info[0:2] == (3, 3):
|
|
606
|
-
return True
|
|
607
603
|
if command == "python3.4" and sys.version_info[0:2] == (3, 4):
|
|
608
604
|
return True
|
|
609
605
|
if command == "python3.5" and sys.version_info[0:2] == (3, 5):
|
|
@@ -926,6 +922,17 @@ def main():
|
|
|
926
922
|
else:
|
|
927
923
|
my_print("The CPython3.11 tests are not present, not run.")
|
|
928
924
|
|
|
925
|
+
# Running the Python 3.12 test suite only with CPython3.x.
|
|
926
|
+
if not use_python.startswith("python2"):
|
|
927
|
+
if options.cpython312:
|
|
928
|
+
if os.path.exists("./tests/CPython312/run_all.py"):
|
|
929
|
+
with withExtendedExtraOptions(
|
|
930
|
+
*getExtraFlags(where, "312tests", flags)
|
|
931
|
+
):
|
|
932
|
+
executeSubTest("./tests/CPython312/run_all.py search")
|
|
933
|
+
else:
|
|
934
|
+
my_print("The CPython3.12 tests are not present, not run.")
|
|
935
|
+
|
|
929
936
|
if not any(
|
|
930
937
|
checkExecutableCommand("python%s" % python_version)
|
|
931
938
|
for python_version in getTestExecutionPythonVersions()
|
|
@@ -953,11 +960,6 @@ def main():
|
|
|
953
960
|
else:
|
|
954
961
|
my_print("Cannot execute tests with Python 2.7, disabled or not installed.")
|
|
955
962
|
|
|
956
|
-
if checkExecutableCommand("python3.3"):
|
|
957
|
-
execute_tests("python3.3-nodebug", "python3.3", "")
|
|
958
|
-
else:
|
|
959
|
-
my_print("Cannot execute tests with Python 3.3, disabled or not installed.")
|
|
960
|
-
|
|
961
963
|
if checkExecutableCommand("python3.4"):
|
|
962
964
|
execute_tests("python3.4-nodebug", "python3.4", "")
|
|
963
965
|
else:
|
|
@@ -1006,3 +1008,18 @@ def main():
|
|
|
1006
1008
|
|
|
1007
1009
|
if __name__ == "__main__":
|
|
1008
1010
|
main()
|
|
1011
|
+
|
|
1012
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
1013
|
+
# integrates with CPython, but also works on its own.
|
|
1014
|
+
#
|
|
1015
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
1016
|
+
# you may not use this file except in compliance with the License.
|
|
1017
|
+
# You may obtain a copy of the License at
|
|
1018
|
+
#
|
|
1019
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
1020
|
+
#
|
|
1021
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
1022
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
1023
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1024
|
+
# See the License for the specific language governing permissions and
|
|
1025
|
+
# limitations under the License.
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
""" Stage changes in Nuitka-Watch automatically
|
|
5
|
+
|
|
6
|
+
This aims at recognizing unimportant changes automatically and is used
|
|
7
|
+
for larger report format migrations in the future potentially.
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
from optparse import OptionParser
|
|
11
|
+
|
|
12
|
+
from nuitka.tools.quality.Git import (
|
|
13
|
+
getCheckoutFileChangeDesc,
|
|
14
|
+
getFileHashContent,
|
|
15
|
+
putFileHashContent,
|
|
16
|
+
updateGitFile,
|
|
17
|
+
)
|
|
18
|
+
from nuitka.TreeXML import fromString, toString
|
|
19
|
+
from nuitka.utils.FileOperations import getFileContents, withTemporaryFile
|
|
20
|
+
|
|
21
|
+
options = None
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def findMatchingNode(root, search_node):
|
|
25
|
+
"""Find a node matching the given one in a XML root."""
|
|
26
|
+
nodes = []
|
|
27
|
+
|
|
28
|
+
node = search_node
|
|
29
|
+
while node is not None:
|
|
30
|
+
nodes.insert(0, node)
|
|
31
|
+
|
|
32
|
+
node = node.getparent()
|
|
33
|
+
|
|
34
|
+
# Root is easy and hard coded.
|
|
35
|
+
current = root
|
|
36
|
+
del nodes[0]
|
|
37
|
+
|
|
38
|
+
for node in nodes:
|
|
39
|
+
node_tag = node.tag
|
|
40
|
+
|
|
41
|
+
if node_tag == "module":
|
|
42
|
+
attrib_name = "name"
|
|
43
|
+
elif node_tag == "optimization-time":
|
|
44
|
+
attrib_name = "pass"
|
|
45
|
+
else:
|
|
46
|
+
assert False, (node, current)
|
|
47
|
+
|
|
48
|
+
attrib_value = node.attrib[attrib_name]
|
|
49
|
+
|
|
50
|
+
for candidate in current.findall(node_tag):
|
|
51
|
+
try:
|
|
52
|
+
candidate_value = candidate.attrib[attrib_name]
|
|
53
|
+
except KeyError:
|
|
54
|
+
assert False, current
|
|
55
|
+
|
|
56
|
+
if candidate_value == attrib_value:
|
|
57
|
+
current = candidate
|
|
58
|
+
break
|
|
59
|
+
else:
|
|
60
|
+
return None
|
|
61
|
+
|
|
62
|
+
return current
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
def onCompilationReportChange(filename, git_stage):
|
|
66
|
+
print("Working on", filename)
|
|
67
|
+
|
|
68
|
+
new_report = fromString(getFileContents(filename, mode="rb"), use_lxml=True)
|
|
69
|
+
old_git_contents = getFileHashContent(git_stage["src_hash"])
|
|
70
|
+
|
|
71
|
+
old_report = fromString(old_git_contents, use_lxml=True)
|
|
72
|
+
|
|
73
|
+
new_nuitka_version = new_report.attrib["nuitka_version"]
|
|
74
|
+
changed = False
|
|
75
|
+
if old_report.attrib["nuitka_version"] != new_nuitka_version:
|
|
76
|
+
old_report.attrib["nuitka_version"] = new_nuitka_version
|
|
77
|
+
|
|
78
|
+
changed = True
|
|
79
|
+
|
|
80
|
+
if options.accept_optimization_time:
|
|
81
|
+
for new_node in new_report.xpath("//module/optimization-time"):
|
|
82
|
+
old_node = findMatchingNode(old_report, new_node)
|
|
83
|
+
|
|
84
|
+
if old_node is not None:
|
|
85
|
+
old_node.getparent().replace(old_node, new_node)
|
|
86
|
+
|
|
87
|
+
if changed:
|
|
88
|
+
new_git_contents = toString(old_report)
|
|
89
|
+
with withTemporaryFile(mode="w", delete=False) as output_file:
|
|
90
|
+
tmp_filename = output_file.name
|
|
91
|
+
output_file.write(new_git_contents)
|
|
92
|
+
output_file.close()
|
|
93
|
+
|
|
94
|
+
new_hash_value = putFileHashContent(tmp_filename)
|
|
95
|
+
|
|
96
|
+
if git_stage["src_hash"] != new_hash_value:
|
|
97
|
+
updateGitFile(filename, git_stage["src_hash"], new_hash_value, staged=False)
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
def onFileChange(git_stage):
|
|
101
|
+
filename = git_stage["src_path"]
|
|
102
|
+
|
|
103
|
+
if filename.endswith("compilation-report.xml"):
|
|
104
|
+
onCompilationReportChange(filename=filename, git_stage=git_stage)
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
def main():
|
|
108
|
+
# Cheating in this singleton and not passing options,
|
|
109
|
+
# pylint: disable=global-statement
|
|
110
|
+
global options
|
|
111
|
+
|
|
112
|
+
parser = OptionParser()
|
|
113
|
+
|
|
114
|
+
parser.add_option(
|
|
115
|
+
"--accept-optimization-time",
|
|
116
|
+
action="store_true",
|
|
117
|
+
dest="accept_optimization_time",
|
|
118
|
+
default=False,
|
|
119
|
+
help="""Accept module optimization-time changes.""",
|
|
120
|
+
)
|
|
121
|
+
|
|
122
|
+
options, _positional_args = parser.parse_args()
|
|
123
|
+
|
|
124
|
+
for git_stage in getCheckoutFileChangeDesc(staged=False):
|
|
125
|
+
onFileChange(git_stage=git_stage)
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
if __name__ == "__main__":
|
|
129
|
+
main()
|
|
130
|
+
|
|
131
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
132
|
+
# integrates with CPython, but also works on its own.
|
|
133
|
+
#
|
|
134
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
135
|
+
# you may not use this file except in compliance with the License.
|
|
136
|
+
# You may obtain a copy of the License at
|
|
137
|
+
#
|
|
138
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
139
|
+
#
|
|
140
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
141
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
142
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
143
|
+
# See the License for the specific language governing permissions and
|
|
144
|
+
# limitations under the License.
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
""" GitHub interfacing for nuitka-watch. """
|
|
5
|
+
|
|
6
|
+
import os
|
|
7
|
+
import sys
|
|
8
|
+
|
|
9
|
+
from nuitka.tools.quality.Git import getModifiedPaths, getRemoteURL
|
|
10
|
+
from nuitka.Tracing import tools_logger
|
|
11
|
+
from nuitka.utils.Execution import callProcess, check_call
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def checkInNuitkaWatch():
|
|
15
|
+
remote_url = getRemoteURL("origin")
|
|
16
|
+
assert remote_url in (
|
|
17
|
+
"git@github.com:Nuitka/Nuitka-Watch.git",
|
|
18
|
+
"https://github.com/Nuitka/Nuitka-Watch",
|
|
19
|
+
), remote_url
|
|
20
|
+
assert os.path.exists(".git")
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def createNuitkaWatchPR(category, description):
|
|
24
|
+
checkInNuitkaWatch()
|
|
25
|
+
|
|
26
|
+
modified_files = list(getModifiedPaths())
|
|
27
|
+
|
|
28
|
+
if not modified_files:
|
|
29
|
+
tools_logger.sysexit("Nothing to do", exit_code=0)
|
|
30
|
+
|
|
31
|
+
changed_flavors = set()
|
|
32
|
+
|
|
33
|
+
for modified_file in modified_files:
|
|
34
|
+
if os.path.basename(modified_file) == "compilation-report.xml":
|
|
35
|
+
flavor = os.path.basename(os.path.dirname(modified_file))
|
|
36
|
+
changed_flavors.add(flavor)
|
|
37
|
+
|
|
38
|
+
if not changed_flavors:
|
|
39
|
+
tools_logger.sysexit("No changes in compilation reports, only other things.")
|
|
40
|
+
|
|
41
|
+
if len(changed_flavors) != 1:
|
|
42
|
+
tools_logger.sysexit("Only a single flavor is supported at a time currently.")
|
|
43
|
+
|
|
44
|
+
(changed_flavor,) = changed_flavors
|
|
45
|
+
|
|
46
|
+
tools_logger.info(
|
|
47
|
+
"Detected changes for %s in results of '%s'." % (description, changed_flavor)
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
commit_message = """
|
|
51
|
+
Changes for %s in results of '%s'
|
|
52
|
+
|
|
53
|
+
This change is automatically generated and the result of executing %s on
|
|
54
|
+
current Nuitka-Watch state.
|
|
55
|
+
""" % (
|
|
56
|
+
description,
|
|
57
|
+
changed_flavor,
|
|
58
|
+
" ".join(sys.argv),
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
branch_name = "auto-%s-%s" % (category, changed_flavor)
|
|
62
|
+
|
|
63
|
+
# May not exist of course.
|
|
64
|
+
callProcess(["git", "branch", "-D", branch_name])
|
|
65
|
+
|
|
66
|
+
check_call(["git", "branch", branch_name])
|
|
67
|
+
|
|
68
|
+
check_call(["git", "checkout", branch_name])
|
|
69
|
+
|
|
70
|
+
check_call(["git", "add", "."])
|
|
71
|
+
|
|
72
|
+
check_call(["git", "commit", "-m", commit_message])
|
|
73
|
+
|
|
74
|
+
check_call(["git", "checkout", "main"])
|
|
75
|
+
|
|
76
|
+
tools_logger.info("Change is now on branch '%s'." % branch_name)
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
if __name__ == "__main__":
|
|
80
|
+
# TODO: This runner should be directly used from nuitka-watch binary,
|
|
81
|
+
# but for development purposes, we keep it separately accessible.
|
|
82
|
+
|
|
83
|
+
from optparse import OptionParser
|
|
84
|
+
|
|
85
|
+
parser = OptionParser()
|
|
86
|
+
|
|
87
|
+
parser.add_option(
|
|
88
|
+
"--desc",
|
|
89
|
+
action="store",
|
|
90
|
+
dest="desc",
|
|
91
|
+
help="""\
|
|
92
|
+
Description of the change, e.g. "Nuitka update 1.9.3".""",
|
|
93
|
+
)
|
|
94
|
+
|
|
95
|
+
options, positional_args = parser.parse_args()
|
|
96
|
+
assert not positional_args
|
|
97
|
+
|
|
98
|
+
createNuitkaWatchPR(category="hotfix", description=options.desc)
|
|
99
|
+
|
|
100
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
101
|
+
# integrates with CPython, but also works on its own.
|
|
102
|
+
#
|
|
103
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
104
|
+
# you may not use this file except in compliance with the License.
|
|
105
|
+
# You may obtain a copy of the License at
|
|
106
|
+
#
|
|
107
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
108
|
+
#
|
|
109
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
110
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
111
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
112
|
+
# See the License for the specific language governing permissions and
|
|
113
|
+
# limitations under the License.
|
nuitka/tools/watch/__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. """
|