Nuitka-winsvc 1.8__cp311-cp311-win_amd64.whl → 2.5.1__cp311-cp311-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of Nuitka-winsvc might be problematic. Click here for more details.
- Nuitka_winsvc-1.8.data/scripts/nuitka-run.bat → Nuitka_winsvc-2.5.1.data/scripts/nuitka-run.cmd +9 -9
- Nuitka_winsvc-1.8.data/scripts/nuitka.bat → Nuitka_winsvc-2.5.1.data/scripts/nuitka.cmd +15 -15
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.5.1.dist-info}/METADATA +5 -3
- Nuitka_winsvc-2.5.1.dist-info/RECORD +977 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.5.1.dist-info}/WHEEL +1 -1
- nuitka/Builtins.py +49 -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 +408 -0
- nuitka/MainControl.py +209 -116
- nuitka/ModuleRegistry.py +83 -20
- nuitka/OptionParsing.py +467 -221
- nuitka/Options.py +701 -225
- nuitka/OutputDirectories.py +47 -23
- nuitka/PostProcessing.py +133 -79
- nuitka/Progress.py +73 -24
- nuitka/PythonFlavors.py +141 -32
- nuitka/PythonOperators.py +18 -17
- nuitka/PythonVersions.py +107 -19
- nuitka/Serialization.py +70 -55
- nuitka/SourceCodeReferences.py +19 -17
- nuitka/Tracing.py +176 -70
- nuitka/TreeXML.py +31 -26
- nuitka/Variables.py +39 -41
- nuitka/Version.py +22 -8
- nuitka/__init__.py +5 -4
- nuitka/__main__.py +95 -29
- nuitka/__past__.py +44 -34
- nuitka/build/Backend.scons +243 -141
- nuitka/build/CCompilerVersion.scons +45 -31
- nuitka/build/DataComposerInterface.py +20 -17
- nuitka/build/Onefile.scons +56 -54
- nuitka/build/SconsCaching.py +105 -92
- nuitka/build/SconsCompilerSettings.py +167 -68
- nuitka/build/SconsHacks.py +25 -19
- nuitka/build/SconsInterface.py +155 -54
- nuitka/build/SconsProgress.py +19 -18
- nuitka/build/SconsSpawn.py +62 -33
- nuitka/build/SconsUtils.py +152 -55
- nuitka/build/__init__.py +5 -4
- nuitka/build/include/nuitka/allocator.h +228 -22
- nuitka/build/include/nuitka/builtins.h +17 -17
- nuitka/build/include/nuitka/calling.h +24 -24
- nuitka/build/include/nuitka/checkers.h +17 -18
- nuitka/build/include/nuitka/checksum_tools.h +14 -19
- nuitka/build/include/nuitka/compiled_asyncgen.h +28 -25
- 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 +93 -54
- 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 +35 -18
- nuitka/build/include/nuitka/constants_blob.h +17 -17
- nuitka/build/include/nuitka/debug_settings.h +60 -0
- 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 +717 -171
- 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 -22
- 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 +69 -69
- nuitka/build/include/nuitka/helper/comparisons_dual_eq.h +47 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_ge.h +39 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_gt.h +39 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_le.h +47 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_lt.h +47 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_ne.h +39 -0
- 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 +89 -51
- 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 +115 -54
- nuitka/build/include/nuitka/helper/iterators.h +99 -51
- 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 +20 -17
- nuitka/build/include/nuitka/helper/operations_binary_add.h +23 -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_dual_add.h +34 -0
- 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 +23 -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 +20 -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 +20 -17
- nuitka/build/include/nuitka/helper/operations_inplace_truediv.h +17 -17
- nuitka/build/include/nuitka/helper/raising.h +68 -37
- nuitka/build/include/nuitka/helper/rangeobjects.h +17 -17
- nuitka/build/include/nuitka/helper/richcomparisons.h +21 -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 +50 -22
- nuitka/build/include/nuitka/importing.h +28 -21
- nuitka/build/include/nuitka/jit_sources.h +25 -0
- nuitka/build/include/nuitka/prelude.h +163 -71
- nuitka/build/include/nuitka/printing.h +29 -22
- 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 +45 -32
- nuitka/build/include/nuitka/tracing.h +28 -18
- nuitka/build/include/nuitka/type_aliases.h +30 -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/stubgen/astunparse.py +938 -0
- nuitka/build/inline_copy/stubgen/six.py +998 -0
- nuitka/build/inline_copy/stubgen/stubgen.py +307 -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 +221 -221
- nuitka/build/static_src/CompiledCellType.c +69 -44
- nuitka/build/static_src/CompiledCodeHelpers.c +276 -159
- nuitka/build/static_src/CompiledCoroutineType.c +229 -226
- nuitka/build/static_src/CompiledFrameType.c +323 -138
- nuitka/build/static_src/CompiledFunctionType.c +547 -231
- nuitka/build/static_src/CompiledGeneratorType.c +416 -290
- nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +593 -228
- nuitka/build/static_src/CompiledMethodType.c +91 -82
- nuitka/build/static_src/HelpersAllocator.c +352 -45
- nuitka/build/static_src/HelpersAttributes.c +30 -72
- nuitka/build/static_src/HelpersBuiltin.c +65 -46
- nuitka/build/static_src/HelpersBuiltinTypeMethods.c +17 -17
- nuitka/build/static_src/HelpersBytes.c +19 -20
- nuitka/build/static_src/HelpersCalling.c +40 -37
- nuitka/build/static_src/HelpersCallingGenerated.c +1061 -242
- nuitka/build/static_src/HelpersChecksumTools.c +35 -21
- nuitka/build/static_src/HelpersClasses.c +17 -17
- nuitka/build/static_src/HelpersComparisonDualEq.c +183 -0
- nuitka/build/static_src/HelpersComparisonDualGe.c +121 -0
- nuitka/build/static_src/HelpersComparisonDualGt.c +121 -0
- nuitka/build/static_src/HelpersComparisonDualLe.c +183 -0
- nuitka/build/static_src/HelpersComparisonDualLt.c +183 -0
- nuitka/build/static_src/HelpersComparisonDualNe.c +121 -0
- nuitka/build/static_src/HelpersComparisonEq.c +536 -496
- nuitka/build/static_src/HelpersComparisonEqUtils.c +22 -19
- nuitka/build/static_src/HelpersComparisonGe.c +531 -501
- nuitka/build/static_src/HelpersComparisonGt.c +530 -500
- nuitka/build/static_src/HelpersComparisonLe.c +531 -501
- nuitka/build/static_src/HelpersComparisonLt.c +530 -500
- nuitka/build/static_src/HelpersComparisonNe.c +538 -496
- nuitka/build/static_src/HelpersConsole.c +122 -0
- nuitka/build/static_src/HelpersConstantsBlob.c +550 -521
- nuitka/build/static_src/HelpersDeepcopy.c +33 -33
- nuitka/build/static_src/HelpersDictionaries.c +232 -63
- nuitka/build/static_src/HelpersDictionariesGenerated.c +130 -127
- 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 +147 -62
- nuitka/build/static_src/HelpersFiles.c +116 -22
- 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 +61 -29
- nuitka/build/static_src/HelpersImportHard.c +74 -61
- nuitka/build/static_src/HelpersJitSources.c +46 -0
- nuitka/build/static_src/HelpersLists.c +237 -58
- 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 +397 -152
- nuitka/build/static_src/HelpersOperationBinaryAddUtils.c +102 -52
- nuitka/build/static_src/HelpersOperationBinaryBitand.c +55 -55
- nuitka/build/static_src/HelpersOperationBinaryBitor.c +55 -55
- nuitka/build/static_src/HelpersOperationBinaryBitxor.c +55 -55
- nuitka/build/static_src/HelpersOperationBinaryDivmod.c +49 -43
- nuitka/build/static_src/HelpersOperationBinaryDivmodUtils.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryDualAdd.c +172 -0
- nuitka/build/static_src/HelpersOperationBinaryFloordiv.c +55 -49
- nuitka/build/static_src/HelpersOperationBinaryInplaceAdd.c +20 -21
- nuitka/build/static_src/HelpersOperationBinaryLshift.c +83 -83
- nuitka/build/static_src/HelpersOperationBinaryMatmult.c +25 -24
- nuitka/build/static_src/HelpersOperationBinaryMod.c +129 -117
- nuitka/build/static_src/HelpersOperationBinaryMult.c +98 -82
- nuitka/build/static_src/HelpersOperationBinaryMultUtils.c +33 -30
- nuitka/build/static_src/HelpersOperationBinaryOlddiv.c +55 -49
- nuitka/build/static_src/HelpersOperationBinaryPow.c +68 -68
- nuitka/build/static_src/HelpersOperationBinaryPowUtils.c +12 -12
- nuitka/build/static_src/HelpersOperationBinaryRshift.c +51 -51
- nuitka/build/static_src/HelpersOperationBinarySub.c +309 -88
- nuitka/build/static_src/HelpersOperationBinaryTruediv.c +49 -43
- nuitka/build/static_src/HelpersOperationInplaceAdd.c +333 -163
- nuitka/build/static_src/HelpersOperationInplaceAddUtils.c +24 -22
- nuitka/build/static_src/HelpersOperationInplaceBitand.c +58 -58
- nuitka/build/static_src/HelpersOperationInplaceBitor.c +58 -58
- nuitka/build/static_src/HelpersOperationInplaceBitxor.c +58 -58
- nuitka/build/static_src/HelpersOperationInplaceFloordiv.c +73 -68
- nuitka/build/static_src/HelpersOperationInplaceLshift.c +64 -64
- nuitka/build/static_src/HelpersOperationInplaceMatmult.c +38 -37
- nuitka/build/static_src/HelpersOperationInplaceMod.c +145 -140
- nuitka/build/static_src/HelpersOperationInplaceMult.c +89 -84
- nuitka/build/static_src/HelpersOperationInplaceOlddiv.c +73 -68
- nuitka/build/static_src/HelpersOperationInplacePow.c +82 -82
- nuitka/build/static_src/HelpersOperationInplaceRshift.c +48 -48
- nuitka/build/static_src/HelpersOperationInplaceSub.c +275 -122
- nuitka/build/static_src/HelpersOperationInplaceTruediv.c +68 -63
- nuitka/build/static_src/HelpersProfiling.c +25 -24
- nuitka/build/static_src/HelpersPythonPgo.c +22 -22
- nuitka/build/static_src/HelpersRaising.c +296 -283
- 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 +235 -38
- nuitka/build/static_src/HelpersTuples.c +46 -34
- nuitka/build/static_src/HelpersTypes.c +166 -25
- nuitka/build/static_src/InspectPatcher.c +108 -27
- nuitka/build/static_src/MainProgram.c +464 -280
- nuitka/build/static_src/MetaPathBasedLoader.c +381 -257
- nuitka/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c +39 -26
- nuitka/build/static_src/MetaPathBasedLoaderResourceReader.c +17 -18
- nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +227 -29
- nuitka/build/static_src/OnefileBootstrap.c +281 -164
- nuitka/build/static_src/OnefileSplashScreen.cpp +51 -27
- nuitka/code_generation/AsyncgenCodes.py +21 -23
- nuitka/code_generation/AttributeCodes.py +31 -27
- nuitka/code_generation/BinaryOperationHelperDefinitions.py +290 -184
- nuitka/code_generation/BranchCodes.py +19 -17
- nuitka/code_generation/BuiltinCodes.py +29 -18
- nuitka/code_generation/CallCodes.py +35 -33
- nuitka/code_generation/ClassCodes.py +19 -17
- nuitka/code_generation/CodeGeneration.py +61 -28
- nuitka/code_generation/CodeHelperSelection.py +20 -18
- nuitka/code_generation/CodeHelpers.py +28 -21
- nuitka/code_generation/CodeObjectCodes.py +36 -26
- nuitka/code_generation/ComparisonCodes.py +51 -22
- nuitka/code_generation/ComparisonHelperDefinitions.py +42 -25
- nuitka/code_generation/ConditionalCodes.py +19 -17
- nuitka/code_generation/ConstantCodes.py +82 -28
- nuitka/code_generation/Contexts.py +180 -42
- nuitka/code_generation/CoroutineCodes.py +21 -23
- nuitka/code_generation/CtypesCodes.py +19 -17
- nuitka/code_generation/DictCodes.py +28 -26
- nuitka/code_generation/Emission.py +21 -18
- nuitka/code_generation/ErrorCodes.py +57 -79
- nuitka/code_generation/EvalCodes.py +24 -20
- nuitka/code_generation/ExceptionCodes.py +182 -104
- nuitka/code_generation/ExpressionCTypeSelectionHelpers.py +45 -27
- nuitka/code_generation/ExpressionCodes.py +19 -17
- nuitka/code_generation/FrameCodes.py +28 -31
- nuitka/code_generation/FunctionCodes.py +26 -27
- nuitka/code_generation/GeneratorCodes.py +25 -26
- nuitka/code_generation/GlobalConstants.py +51 -25
- nuitka/code_generation/GlobalsLocalsCodes.py +23 -21
- 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 +86 -71
- nuitka/code_generation/JitCodes.py +44 -0
- nuitka/code_generation/LabelCodes.py +19 -17
- nuitka/code_generation/LineNumberCodes.py +20 -20
- 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 +71 -29
- nuitka/code_generation/Namify.py +27 -23
- nuitka/code_generation/NetworkxCodes.py +51 -0
- nuitka/code_generation/OperationCodes.py +80 -51
- nuitka/code_generation/PackageResourceCodes.py +96 -23
- nuitka/code_generation/PrintCodes.py +19 -17
- nuitka/code_generation/PythonAPICodes.py +19 -17
- nuitka/code_generation/RaisingCodes.py +183 -107
- nuitka/code_generation/Reports.py +32 -22
- nuitka/code_generation/ReturnCodes.py +20 -32
- 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 +31 -41
- nuitka/code_generation/TupleCodes.py +20 -18
- nuitka/code_generation/TypeAliasCodes.py +119 -0
- nuitka/code_generation/VariableCodes.py +118 -55
- nuitka/code_generation/VariableDeclarations.py +28 -25
- nuitka/code_generation/YieldCodes.py +23 -21
- nuitka/code_generation/__init__.py +5 -4
- nuitka/code_generation/c_types/CTypeBases.py +29 -19
- 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 +22 -17
- nuitka/code_generation/c_types/CTypeNuitkaBooleans.py +22 -21
- nuitka/code_generation/c_types/CTypeNuitkaInts.py +89 -43
- nuitka/code_generation/c_types/CTypeNuitkaVoids.py +20 -18
- nuitka/code_generation/c_types/CTypePyObjectPointers.py +43 -31
- nuitka/code_generation/c_types/CTypeVoids.py +20 -17
- nuitka/code_generation/c_types/__init__.py +5 -4
- nuitka/code_generation/templates/CodeTemplatesAsyncgens.py +20 -19
- nuitka/code_generation/templates/CodeTemplatesConstants.py +143 -39
- nuitka/code_generation/templates/CodeTemplatesCoroutines.py +20 -19
- nuitka/code_generation/templates/CodeTemplatesExceptions.py +33 -33
- nuitka/code_generation/templates/CodeTemplatesFrames.py +36 -27
- nuitka/code_generation/templates/CodeTemplatesFunction.py +20 -19
- nuitka/code_generation/templates/CodeTemplatesGeneratorFunction.py +21 -19
- nuitka/code_generation/templates/CodeTemplatesIterators.py +19 -53
- nuitka/code_generation/templates/CodeTemplatesLoader.py +25 -19
- nuitka/code_generation/templates/CodeTemplatesModules.py +278 -169
- nuitka/code_generation/templates/CodeTemplatesVariables.py +115 -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 +21 -21
- nuitka/code_generation/templates_c/CodeTemplateCallsPositional.c.j2 +79 -28
- 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 +74 -106
- nuitka/code_generation/templates_c/HelperImportHard.c.j2 +19 -20
- nuitka/code_generation/templates_c/HelperLongTools.c.j2 +19 -19
- 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/HelperOperationBinaryDual.c.j2 +115 -0
- nuitka/code_generation/templates_c/HelperOperationComparison.c.j2 +35 -35
- nuitka/code_generation/templates_c/HelperOperationComparisonBytes.c.j2 +37 -37
- nuitka/code_generation/templates_c/HelperOperationComparisonDual.c.j2 +86 -0
- 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 +50 -38
- nuitka/code_generation/templates_c/HelperOperationComparisonLong.c.j2 +27 -27
- nuitka/code_generation/templates_c/HelperOperationComparisonStr.c.j2 +37 -37
- nuitka/code_generation/templates_c/HelperOperationComparisonTuple.c.j2 +31 -31
- nuitka/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +35 -31
- nuitka/code_generation/templates_c/HelperOperationInplace.c.j2 +20 -20
- nuitka/code_generation/templates_c/HelperSlotsBinary.c.j2 +28 -28
- 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 +48 -48
- nuitka/code_generation/templates_c/HelperSlotsList.c.j2 +21 -18
- nuitka/code_generation/templates_c/HelperSlotsLong.c.j2 +27 -25
- 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 +25 -18
- nuitka/containers/OrderedSets.py +105 -5
- nuitka/containers/OrderedSetsFallback.py +19 -17
- nuitka/containers/__init__.py +5 -4
- nuitka/distutils/Build.py +33 -18
- nuitka/distutils/DistutilCommands.py +84 -33
- nuitka/distutils/__init__.py +5 -4
- nuitka/finalizations/Finalization.py +21 -18
- nuitka/finalizations/FinalizeMarkups.py +31 -55
- nuitka/finalizations/__init__.py +5 -4
- nuitka/freezer/DependsExe.py +60 -30
- nuitka/freezer/DllDependenciesCommon.py +47 -20
- nuitka/freezer/DllDependenciesMacOS.py +165 -58
- nuitka/freezer/DllDependenciesPosix.py +29 -19
- nuitka/freezer/DllDependenciesWin32.py +55 -33
- nuitka/freezer/ImportDetection.py +23 -17
- nuitka/freezer/IncludedDataFiles.py +142 -48
- nuitka/freezer/IncludedEntryPoints.py +104 -39
- nuitka/freezer/Onefile.py +32 -22
- nuitka/freezer/Standalone.py +166 -53
- 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 +319 -98
- nuitka/importing/PreloadedPackages.py +21 -18
- nuitka/importing/Recursion.py +142 -47
- nuitka/importing/StandardLibrary.py +96 -80
- nuitka/importing/__init__.py +5 -4
- nuitka/nodes/AsyncgenNodes.py +22 -23
- 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 +25 -21
- 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 +73 -40
- 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 +1624 -283
- nuitka/nodes/ClassNodes.py +49 -29
- nuitka/nodes/CodeObjectSpecs.py +29 -18
- nuitka/nodes/ComparisonNodes.py +19 -17
- nuitka/nodes/ConditionalNodes.py +24 -25
- nuitka/nodes/ConstantRefNodes.py +57 -17
- nuitka/nodes/ContainerMakingNodes.py +19 -17
- nuitka/nodes/ContainerOperationNodes.py +19 -17
- nuitka/nodes/CoroutineNodes.py +22 -23
- nuitka/nodes/CtypesNodes.py +19 -18
- nuitka/nodes/DictionaryNodes.py +19 -18
- nuitka/nodes/ExceptionNodes.py +131 -43
- nuitka/nodes/ExecEvalNodes.py +19 -17
- nuitka/nodes/ExpressionBases.py +34 -26
- nuitka/nodes/ExpressionBasesGenerated.py +341 -35
- nuitka/nodes/ExpressionShapeMixins.py +19 -17
- nuitka/nodes/FrameNodes.py +41 -28
- nuitka/nodes/FunctionAttributeNodes.py +19 -17
- nuitka/nodes/FunctionNodes.py +84 -38
- nuitka/nodes/FutureSpecs.py +35 -20
- nuitka/nodes/GeneratorNodes.py +24 -25
- nuitka/nodes/GlobalsLocalsNodes.py +22 -17
- nuitka/nodes/HardImportNodesGenerated.py +746 -148
- nuitka/nodes/ImportHardNodes.py +46 -38
- nuitka/nodes/ImportNodes.py +438 -448
- 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 +73 -44
- nuitka/nodes/NodeMakingHelpers.py +92 -69
- nuitka/nodes/NodeMetaClasses.py +45 -28
- nuitka/nodes/OperatorNodes.py +28 -26
- nuitka/nodes/OperatorNodesUnary.py +148 -20
- nuitka/nodes/OsSysNodes.py +97 -18
- nuitka/nodes/OutlineNodes.py +24 -22
- 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 -79
- nuitka/nodes/StatementNodes.py +27 -24
- nuitka/nodes/StrNodes.py +19 -17
- nuitka/nodes/StringConcatenationNodes.py +20 -17
- nuitka/nodes/SubscriptNodes.py +27 -25
- nuitka/nodes/TensorflowNodes.py +38 -0
- nuitka/nodes/TryNodes.py +19 -17
- nuitka/nodes/TypeMatchNodes.py +19 -17
- nuitka/nodes/TypeNodes.py +68 -18
- 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 +169 -46
- nuitka/nodes/shapes/ControlFlowDescriptions.py +19 -17
- nuitka/nodes/shapes/ShapeMixins.py +57 -17
- nuitka/nodes/shapes/StandardShapes.py +80 -21
- nuitka/nodes/shapes/__init__.py +5 -4
- nuitka/optimizations/BytecodeDemotion.py +21 -18
- 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 +655 -112
- nuitka/plugins/Plugins.py +247 -61
- nuitka/plugins/YamlPluginBase.py +121 -0
- nuitka/plugins/__init__.py +5 -4
- nuitka/plugins/standard/AntiBloatPlugin.py +374 -135
- 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 +403 -54
- nuitka/plugins/standard/KivyPlugin.py +24 -20
- nuitka/plugins/standard/MatplotlibPlugin.py +99 -42
- nuitka/plugins/standard/MultiprocessingPlugin.py +35 -39
- 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/PlaywrightPlugin.py +184 -0
- nuitka/plugins/standard/PmwPlugin.py +30 -27
- nuitka/plugins/standard/PySidePyQtPlugin.py +82 -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 +102 -108
- nuitka/plugins/standard/TorchPlugin.py +20 -17
- nuitka/plugins/standard/TransformersPlugin.py +90 -231
- 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 +3925 -1293
- nuitka/plugins/standard/stdlib2.nuitka-package.config.yml +14 -14
- nuitka/plugins/standard/stdlib3.nuitka-package.config.yml +154 -66
- nuitka/reports/CompilationReportReader.py +79 -0
- nuitka/reports/LicenseReport.rst.j2 +21 -21
- nuitka/reports/Reports.py +363 -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 +35 -21
- nuitka/specs/BuiltinStrOperationSpecs.py +19 -18
- nuitka/specs/BuiltinTypeOperationSpecs.py +18 -18
- nuitka/specs/BuiltinUnicodeOperationSpecs.py +18 -17
- nuitka/specs/HardImportSpecs.py +74 -22
- nuitka/specs/ParameterSpecs.py +60 -45
- 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 +29 -22
- 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 +251 -80
- nuitka/tools/specialize/Common.py +18 -17
- nuitka/tools/specialize/SpecializeC.py +248 -82
- nuitka/tools/specialize/SpecializePython.py +108 -45
- nuitka/tools/specialize/__init__.py +5 -4
- nuitka/tools/testing/Common.py +175 -114
- 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 +39 -30
- 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 +23 -33
- nuitka/tools/testing/run_nuitka_tests/__init__.py +5 -4
- nuitka/tools/testing/run_nuitka_tests/__main__.py +134 -51
- nuitka/tools/watch/AutoStage.py +145 -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 +184 -182
- nuitka/tree/ComplexCallHelperFunctions.py +84 -58
- nuitka/tree/Extractions.py +19 -17
- nuitka/tree/InternalModule.py +29 -20
- nuitka/tree/Operations.py +19 -17
- nuitka/tree/ReformulationAssertStatements.py +51 -31
- nuitka/tree/ReformulationAssignmentStatements.py +96 -91
- nuitka/tree/ReformulationBooleanExpressions.py +19 -17
- nuitka/tree/ReformulationCallExpressions.py +20 -18
- nuitka/tree/ReformulationClasses.py +45 -39
- nuitka/tree/ReformulationClasses3.py +239 -116
- nuitka/tree/ReformulationComparisonExpressions.py +29 -35
- nuitka/tree/ReformulationContractionExpressions.py +58 -55
- nuitka/tree/ReformulationDictionaryCreation.py +41 -35
- nuitka/tree/ReformulationExecStatements.py +42 -39
- nuitka/tree/ReformulationForLoopStatements.py +30 -34
- nuitka/tree/ReformulationFunctionStatements.py +59 -55
- nuitka/tree/ReformulationImportStatements.py +34 -29
- nuitka/tree/ReformulationLambdaExpressions.py +23 -24
- nuitka/tree/ReformulationMatchStatements.py +246 -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 +44 -24
- 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 +111 -22
- nuitka/utils/Distributions.py +445 -54
- nuitka/utils/Download.py +89 -57
- nuitka/utils/Execution.py +102 -58
- nuitka/utils/FileOperations.py +357 -128
- nuitka/utils/Hashing.py +55 -33
- nuitka/utils/Images.py +26 -19
- nuitka/utils/Importing.py +119 -37
- nuitka/utils/InlineCopies.py +52 -0
- nuitka/utils/InstalledPythons.py +85 -75
- nuitka/utils/InstanceCounters.py +20 -17
- nuitka/utils/Jinja2.py +30 -22
- nuitka/utils/Json.py +21 -19
- nuitka/utils/MacOSApp.py +26 -18
- nuitka/utils/MemoryUsage.py +20 -18
- nuitka/utils/ModuleNames.py +42 -26
- nuitka/utils/PackageResources.py +44 -0
- 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 +132 -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.5.1.dist-info}/LICENSE.txt +0 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.5.1.dist-info}/entry_points.txt +0 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.5.1.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
|
""" Shapes for Python built-in types.
|
|
19
5
|
|
|
20
6
|
"""
|
|
@@ -40,6 +26,7 @@ from .ControlFlowDescriptions import (
|
|
|
40
26
|
ControlFlowDescriptionElementBasedEscape,
|
|
41
27
|
ControlFlowDescriptionFloorDivUnsupported,
|
|
42
28
|
ControlFlowDescriptionFormatError,
|
|
29
|
+
ControlFlowDescriptionFullEscape,
|
|
43
30
|
ControlFlowDescriptionLshiftUnsupported,
|
|
44
31
|
ControlFlowDescriptionMatmultUnsupported,
|
|
45
32
|
ControlFlowDescriptionModUnsupported,
|
|
@@ -360,6 +347,8 @@ def _getComparisonEqShapeGeneric(self, right_shape):
|
|
|
360
347
|
|
|
361
348
|
|
|
362
349
|
class ShapeTypeNoneType(ShapeNotContainerMixin, ShapeNotNumberMixin, ShapeBase):
|
|
350
|
+
__slots__ = ()
|
|
351
|
+
|
|
363
352
|
typical_value = None
|
|
364
353
|
|
|
365
354
|
@staticmethod
|
|
@@ -440,6 +429,8 @@ tshape_none = ShapeTypeNoneType()
|
|
|
440
429
|
|
|
441
430
|
|
|
442
431
|
class ShapeTypeBool(ShapeNotContainerMixin, ShapeNumberMixin, ShapeBase):
|
|
432
|
+
__slots__ = ()
|
|
433
|
+
|
|
443
434
|
typical_value = True
|
|
444
435
|
|
|
445
436
|
@staticmethod
|
|
@@ -488,17 +479,31 @@ class ShapeTypeBool(ShapeNotContainerMixin, ShapeNumberMixin, ShapeBase):
|
|
|
488
479
|
def isKnownToHaveAttribute(attribute_name):
|
|
489
480
|
return hasattr(True, attribute_name)
|
|
490
481
|
|
|
482
|
+
def getOperationUnaryAddShape(self):
|
|
483
|
+
return tshape_int, ControlFlowDescriptionNoEscape
|
|
484
|
+
|
|
485
|
+
def getOperationUnarySubShape(self):
|
|
486
|
+
return tshape_int, ControlFlowDescriptionNoEscape
|
|
487
|
+
|
|
491
488
|
|
|
492
489
|
tshape_bool = ShapeTypeBool()
|
|
493
490
|
|
|
494
491
|
|
|
495
492
|
class ShapeTypeInt(ShapeNotContainerMixin, ShapeNumberMixin, ShapeBase):
|
|
493
|
+
__slots__ = ()
|
|
494
|
+
|
|
496
495
|
typical_value = 7
|
|
497
496
|
|
|
498
497
|
@staticmethod
|
|
499
498
|
def getTypeName():
|
|
500
499
|
return "int"
|
|
501
500
|
|
|
501
|
+
if isExperimental("optimize-dual-int"):
|
|
502
|
+
|
|
503
|
+
@staticmethod
|
|
504
|
+
def getCType():
|
|
505
|
+
return CTypeNuitkaIntOrLongStruct
|
|
506
|
+
|
|
502
507
|
helper_code = "INT" if python_version < 0x300 else "LONG"
|
|
503
508
|
|
|
504
509
|
add_shapes = add_shapes_int
|
|
@@ -543,6 +548,12 @@ class ShapeTypeInt(ShapeNotContainerMixin, ShapeNumberMixin, ShapeBase):
|
|
|
543
548
|
def isKnownToHaveAttribute(attribute_name):
|
|
544
549
|
return hasattr(7, attribute_name)
|
|
545
550
|
|
|
551
|
+
def getOperationUnaryAddShape(self):
|
|
552
|
+
return self, ControlFlowDescriptionNoEscape
|
|
553
|
+
|
|
554
|
+
def getOperationUnarySubShape(self):
|
|
555
|
+
return tshape_int_or_long, ControlFlowDescriptionNoEscape
|
|
556
|
+
|
|
546
557
|
|
|
547
558
|
tshape_int = ShapeTypeInt()
|
|
548
559
|
|
|
@@ -550,6 +561,8 @@ if python_version < 0x300:
|
|
|
550
561
|
_the_typical_long_value = long(7) # pylint: disable=I0021,undefined-variable
|
|
551
562
|
|
|
552
563
|
class ShapeTypeLong(ShapeNotContainerMixin, ShapeNumberMixin, ShapeBase):
|
|
564
|
+
__slots__ = ()
|
|
565
|
+
|
|
553
566
|
typical_value = _the_typical_long_value
|
|
554
567
|
|
|
555
568
|
@staticmethod
|
|
@@ -599,6 +612,8 @@ if python_version < 0x300:
|
|
|
599
612
|
tshape_long = ShapeTypeLong()
|
|
600
613
|
|
|
601
614
|
class ShapeTypeLongDerived(ShapeTypeUnknown):
|
|
615
|
+
__slots__ = ()
|
|
616
|
+
|
|
602
617
|
@staticmethod
|
|
603
618
|
def getTypeName():
|
|
604
619
|
return None
|
|
@@ -606,7 +621,9 @@ if python_version < 0x300:
|
|
|
606
621
|
tshape_long_derived = ShapeTypeLongDerived()
|
|
607
622
|
|
|
608
623
|
class ShapeTypeIntOrLong(ShapeNotContainerMixin, ShapeNumberMixin, ShapeBase):
|
|
609
|
-
|
|
624
|
+
__slots__ = ()
|
|
625
|
+
|
|
626
|
+
if isExperimental("optimize-dual-int"):
|
|
610
627
|
|
|
611
628
|
@staticmethod
|
|
612
629
|
def getCType():
|
|
@@ -668,13 +685,15 @@ else:
|
|
|
668
685
|
|
|
669
686
|
# TODO: Make this Python2 only, and use ShapeTypeIntDerived for Python3
|
|
670
687
|
class ShapeTypeIntOrLongDerived(ShapeTypeUnknown):
|
|
671
|
-
|
|
688
|
+
__slots__ = ()
|
|
672
689
|
|
|
673
690
|
|
|
674
691
|
tshape_int_or_long_derived = ShapeTypeIntOrLongDerived()
|
|
675
692
|
|
|
676
693
|
|
|
677
694
|
class ShapeTypeFloat(ShapeNotContainerMixin, ShapeNumberMixin, ShapeBase):
|
|
695
|
+
__slots__ = ()
|
|
696
|
+
|
|
678
697
|
typical_value = 0.1
|
|
679
698
|
|
|
680
699
|
@staticmethod
|
|
@@ -722,13 +741,15 @@ tshape_float = ShapeTypeFloat()
|
|
|
722
741
|
|
|
723
742
|
|
|
724
743
|
class ShapeTypeFloatDerived(ShapeTypeUnknown):
|
|
725
|
-
|
|
744
|
+
__slots__ = ()
|
|
726
745
|
|
|
727
746
|
|
|
728
747
|
tshape_float_derived = ShapeTypeFloatDerived()
|
|
729
748
|
|
|
730
749
|
|
|
731
750
|
class ShapeTypeComplex(ShapeNotContainerMixin, ShapeNumberMixin, ShapeBase):
|
|
751
|
+
__slots__ = ()
|
|
752
|
+
|
|
732
753
|
typical_value = 0j
|
|
733
754
|
|
|
734
755
|
@staticmethod
|
|
@@ -756,6 +777,8 @@ tshape_complex = ShapeTypeComplex()
|
|
|
756
777
|
|
|
757
778
|
|
|
758
779
|
class ShapeTypeTuple(ShapeContainerMixin, ShapeNotNumberMixin, ShapeBase):
|
|
780
|
+
__slots__ = ()
|
|
781
|
+
|
|
759
782
|
typical_value = ()
|
|
760
783
|
|
|
761
784
|
@staticmethod
|
|
@@ -797,6 +820,8 @@ tshape_tuple = ShapeTypeTuple()
|
|
|
797
820
|
|
|
798
821
|
|
|
799
822
|
class ShapeTypeNamedTuple(ShapeContainerMixin, ShapeNotNumberMixin, ShapeBase):
|
|
823
|
+
__slots__ = ()
|
|
824
|
+
|
|
800
825
|
@staticmethod
|
|
801
826
|
def getTypeName():
|
|
802
827
|
return "namedtuple"
|
|
@@ -837,6 +862,8 @@ tshape_namedtuple = ShapeTypeNamedTuple()
|
|
|
837
862
|
|
|
838
863
|
|
|
839
864
|
class ShapeTypeTupleIterator(ShapeIteratorMixin, ShapeNotNumberMixin, ShapeBase):
|
|
865
|
+
__slots__ = ()
|
|
866
|
+
|
|
840
867
|
typical_value = iter(tshape_tuple.typical_value)
|
|
841
868
|
|
|
842
869
|
@staticmethod
|
|
@@ -852,6 +879,8 @@ tshape_tuple_iterator = ShapeTypeTupleIterator()
|
|
|
852
879
|
|
|
853
880
|
|
|
854
881
|
class ShapeTypeList(ShapeContainerMutableMixin, ShapeNotNumberMixin, ShapeBase):
|
|
882
|
+
__slots__ = ()
|
|
883
|
+
|
|
855
884
|
typical_value = []
|
|
856
885
|
|
|
857
886
|
@staticmethod
|
|
@@ -892,11 +921,11 @@ class ShapeTypeList(ShapeContainerMutableMixin, ShapeNotNumberMixin, ShapeBase):
|
|
|
892
921
|
|
|
893
922
|
# Need to consider value shape for this.
|
|
894
923
|
if right_shape in (tshape_list, tshape_tuple):
|
|
895
|
-
return
|
|
924
|
+
return operation_result_bool_element_based
|
|
896
925
|
|
|
897
926
|
if right_shape is tshape_xrange:
|
|
898
927
|
if python_version < 0x300:
|
|
899
|
-
return
|
|
928
|
+
return operation_result_bool_element_based
|
|
900
929
|
else:
|
|
901
930
|
# TODO: Actually unorderable, but this requires making a
|
|
902
931
|
# difference with "=="
|
|
@@ -909,6 +938,8 @@ tshape_list = ShapeTypeList()
|
|
|
909
938
|
|
|
910
939
|
|
|
911
940
|
class ShapeTypeListIterator(ShapeIteratorMixin, ShapeNotNumberMixin, ShapeBase):
|
|
941
|
+
__slots__ = ()
|
|
942
|
+
|
|
912
943
|
typical_value = iter(tshape_list.typical_value)
|
|
913
944
|
|
|
914
945
|
@staticmethod
|
|
@@ -924,6 +955,8 @@ tshape_list_iterator = ShapeTypeListIterator()
|
|
|
924
955
|
|
|
925
956
|
|
|
926
957
|
class ShapeTypeSet(ShapeContainerMutableMixin, ShapeNotNumberMixin, ShapeBase):
|
|
958
|
+
__slots__ = ()
|
|
959
|
+
|
|
927
960
|
typical_value = set()
|
|
928
961
|
|
|
929
962
|
@staticmethod
|
|
@@ -963,6 +996,8 @@ tshape_set = ShapeTypeSet()
|
|
|
963
996
|
|
|
964
997
|
|
|
965
998
|
class ShapeTypeSetIterator(ShapeIteratorMixin, ShapeNotNumberMixin, ShapeBase):
|
|
999
|
+
__slots__ = ()
|
|
1000
|
+
|
|
966
1001
|
typical_value = iter(tshape_set.typical_value)
|
|
967
1002
|
|
|
968
1003
|
@staticmethod
|
|
@@ -978,6 +1013,8 @@ tshape_set_iterator = ShapeTypeSetIterator()
|
|
|
978
1013
|
|
|
979
1014
|
|
|
980
1015
|
class ShapeTypeFrozenset(ShapeContainerImmutableMixin, ShapeNotNumberMixin, ShapeBase):
|
|
1016
|
+
__slots__ = ()
|
|
1017
|
+
|
|
981
1018
|
typical_value = frozenset()
|
|
982
1019
|
|
|
983
1020
|
@staticmethod
|
|
@@ -1015,6 +1052,8 @@ _the_empty_dict = {}
|
|
|
1015
1052
|
|
|
1016
1053
|
|
|
1017
1054
|
class ShapeTypeDict(ShapeContainerMutableMixin, ShapeNotNumberMixin, ShapeBase):
|
|
1055
|
+
__slots__ = ()
|
|
1056
|
+
|
|
1018
1057
|
typical_value = _the_empty_dict
|
|
1019
1058
|
|
|
1020
1059
|
@staticmethod
|
|
@@ -1063,6 +1102,8 @@ tshape_dict = ShapeTypeDict()
|
|
|
1063
1102
|
|
|
1064
1103
|
|
|
1065
1104
|
class ShapeTypeDictIterator(ShapeIteratorMixin, ShapeNotNumberMixin, ShapeBase):
|
|
1105
|
+
__slots__ = ()
|
|
1106
|
+
|
|
1066
1107
|
typical_value = iter(tshape_dict.typical_value)
|
|
1067
1108
|
|
|
1068
1109
|
@staticmethod
|
|
@@ -1080,6 +1121,8 @@ tshape_dict_iterator = ShapeTypeDictIterator()
|
|
|
1080
1121
|
|
|
1081
1122
|
|
|
1082
1123
|
class ShapeTypeStr(ShapeNotContainerMixin, ShapeNotNumberMixin, ShapeBase):
|
|
1124
|
+
__slots__ = ()
|
|
1125
|
+
|
|
1083
1126
|
typical_value = "a"
|
|
1084
1127
|
|
|
1085
1128
|
@staticmethod
|
|
@@ -1177,13 +1220,15 @@ tshape_str = ShapeTypeStr()
|
|
|
1177
1220
|
|
|
1178
1221
|
|
|
1179
1222
|
class TypeShapeStrDerived(ShapeTypeUnknown):
|
|
1180
|
-
|
|
1223
|
+
__slots__ = ()
|
|
1181
1224
|
|
|
1182
1225
|
|
|
1183
1226
|
tshape_str_derived = TypeShapeStrDerived()
|
|
1184
1227
|
|
|
1185
1228
|
|
|
1186
1229
|
class ShapeTypeStrIterator(ShapeIteratorMixin, ShapeNotNumberMixin, ShapeBase):
|
|
1230
|
+
__slots__ = ()
|
|
1231
|
+
|
|
1187
1232
|
typical_value = iter(tshape_str.typical_value)
|
|
1188
1233
|
|
|
1189
1234
|
@staticmethod
|
|
@@ -1201,6 +1246,8 @@ tshape_str_iterator = ShapeTypeStrIterator()
|
|
|
1201
1246
|
if python_version < 0x300:
|
|
1202
1247
|
|
|
1203
1248
|
class ShapeTypeUnicode(ShapeNotContainerMixin, ShapeNotNumberMixin, ShapeBase):
|
|
1249
|
+
__slots__ = ()
|
|
1250
|
+
|
|
1204
1251
|
typical_value = the_empty_unicode
|
|
1205
1252
|
|
|
1206
1253
|
@staticmethod
|
|
@@ -1290,11 +1337,13 @@ if python_version < 0x300:
|
|
|
1290
1337
|
tshape_unicode = ShapeTypeUnicode()
|
|
1291
1338
|
|
|
1292
1339
|
class ShapeTypeUnicodeDerived(ShapeTypeUnknown):
|
|
1293
|
-
|
|
1340
|
+
__slots__ = ()
|
|
1294
1341
|
|
|
1295
1342
|
tshape_unicode_derived = ShapeTypeUnicodeDerived()
|
|
1296
1343
|
|
|
1297
1344
|
class ShapeTypeUnicodeIterator(ShapeIteratorMixin, ShapeNotNumberMixin, ShapeBase):
|
|
1345
|
+
__slots__ = ()
|
|
1346
|
+
|
|
1298
1347
|
typical_value = iter(tshape_unicode.typical_value)
|
|
1299
1348
|
|
|
1300
1349
|
@staticmethod
|
|
@@ -1315,6 +1364,8 @@ else:
|
|
|
1315
1364
|
if python_version < 0x300:
|
|
1316
1365
|
|
|
1317
1366
|
class ShapeTypeStrOrUnicode(ShapeNotContainerMixin, ShapeNotNumberMixin, ShapeBase):
|
|
1367
|
+
__slots__ = ()
|
|
1368
|
+
|
|
1318
1369
|
@staticmethod
|
|
1319
1370
|
def emitAlternatives(emit):
|
|
1320
1371
|
emit(tshape_str)
|
|
@@ -1380,7 +1431,7 @@ if python_version < 0x300:
|
|
|
1380
1431
|
tshape_str_or_unicode = ShapeTypeStrOrUnicode()
|
|
1381
1432
|
|
|
1382
1433
|
class ShapeTypeStrOrUnicodeDerived(ShapeTypeUnknown):
|
|
1383
|
-
|
|
1434
|
+
__slots__ = ()
|
|
1384
1435
|
|
|
1385
1436
|
tshape_str_or_unicode_derived = ShapeTypeStrOrUnicodeDerived()
|
|
1386
1437
|
|
|
@@ -1391,6 +1442,8 @@ else:
|
|
|
1391
1442
|
if python_version >= 0x300:
|
|
1392
1443
|
|
|
1393
1444
|
class ShapeTypeBytes(ShapeNotContainerMixin, ShapeNotNumberMixin, ShapeBase):
|
|
1445
|
+
__slots__ = ()
|
|
1446
|
+
|
|
1394
1447
|
typical_value = b"b"
|
|
1395
1448
|
|
|
1396
1449
|
@staticmethod
|
|
@@ -1476,11 +1529,12 @@ if python_version >= 0x300:
|
|
|
1476
1529
|
tshape_bytes = ShapeTypeBytes()
|
|
1477
1530
|
|
|
1478
1531
|
class TypeShapeBytesDerived(ShapeTypeUnknown):
|
|
1479
|
-
|
|
1532
|
+
__slots__ = ()
|
|
1480
1533
|
|
|
1481
1534
|
tshape_bytes_derived = TypeShapeBytesDerived()
|
|
1482
1535
|
|
|
1483
1536
|
class TypeShapeBytesIterator(ShapeIteratorMixin, ShapeNotNumberMixin, ShapeBase):
|
|
1537
|
+
__slots__ = ()
|
|
1484
1538
|
typical_value = iter(tshape_bytes.typical_value)
|
|
1485
1539
|
|
|
1486
1540
|
@staticmethod
|
|
@@ -1500,6 +1554,8 @@ _the_typical_bytearray_value = bytearray(b"b")
|
|
|
1500
1554
|
|
|
1501
1555
|
|
|
1502
1556
|
class ShapeTypeBytearray(ShapeContainerMutableMixin, ShapeNotNumberMixin, ShapeBase):
|
|
1557
|
+
__slots__ = ()
|
|
1558
|
+
|
|
1503
1559
|
typical_value = _the_typical_bytearray_value
|
|
1504
1560
|
|
|
1505
1561
|
@staticmethod
|
|
@@ -1555,6 +1611,8 @@ tshape_bytearray = ShapeTypeBytearray()
|
|
|
1555
1611
|
|
|
1556
1612
|
|
|
1557
1613
|
class ShapeTypeBytearrayIterator(ShapeIteratorMixin, ShapeNotNumberMixin, ShapeBase):
|
|
1614
|
+
__slots__ = ()
|
|
1615
|
+
|
|
1558
1616
|
typical_value = iter(tshape_bytearray.typical_value)
|
|
1559
1617
|
|
|
1560
1618
|
@staticmethod
|
|
@@ -1570,6 +1628,8 @@ tshape_bytearray_iterator = ShapeTypeBytearrayIterator()
|
|
|
1570
1628
|
|
|
1571
1629
|
|
|
1572
1630
|
class ShapeTypeEllipsis(ShapeNotContainerMixin, ShapeNotNumberMixin, ShapeBase):
|
|
1631
|
+
__slots__ = ()
|
|
1632
|
+
|
|
1573
1633
|
typical_value = Ellipsis
|
|
1574
1634
|
|
|
1575
1635
|
@staticmethod
|
|
@@ -1595,6 +1655,8 @@ _the_typical_slice_value = slice(7)
|
|
|
1595
1655
|
|
|
1596
1656
|
|
|
1597
1657
|
class ShapeTypeSlice(ShapeNotContainerMixin, ShapeNotNumberMixin, ShapeBase):
|
|
1658
|
+
__slots__ = ()
|
|
1659
|
+
|
|
1598
1660
|
typical_value = _the_typical_slice_value
|
|
1599
1661
|
|
|
1600
1662
|
@staticmethod
|
|
@@ -1624,6 +1686,8 @@ _the_typical_xrange_value = (
|
|
|
1624
1686
|
|
|
1625
1687
|
|
|
1626
1688
|
class ShapeTypeXrange(ShapeContainerImmutableMixin, ShapeNotNumberMixin, ShapeBase):
|
|
1689
|
+
__slots__ = ()
|
|
1690
|
+
|
|
1627
1691
|
typical_value = _the_typical_xrange_value
|
|
1628
1692
|
|
|
1629
1693
|
@staticmethod
|
|
@@ -1647,11 +1711,11 @@ class ShapeTypeXrange(ShapeContainerImmutableMixin, ShapeNotNumberMixin, ShapeBa
|
|
|
1647
1711
|
if python_version < 0x300:
|
|
1648
1712
|
# Need to consider value shape for this.
|
|
1649
1713
|
if right_shape in (tshape_list, tshape_tuple):
|
|
1650
|
-
return
|
|
1714
|
+
return operation_result_bool_element_based
|
|
1651
1715
|
|
|
1652
1716
|
if right_shape is tshape_xrange:
|
|
1653
1717
|
# TODO: This is value escaping, but that doesn't really apply
|
|
1654
|
-
return
|
|
1718
|
+
return operation_result_bool_element_based
|
|
1655
1719
|
else:
|
|
1656
1720
|
# TODO: Actually unorderable, but this requires making a
|
|
1657
1721
|
# difference with "=="
|
|
@@ -1668,6 +1732,8 @@ tshape_xrange = ShapeTypeXrange()
|
|
|
1668
1732
|
|
|
1669
1733
|
|
|
1670
1734
|
class ShapeTypeXrangeIterator(ShapeIteratorMixin, ShapeNotNumberMixin, ShapeBase):
|
|
1735
|
+
__slots__ = ()
|
|
1736
|
+
|
|
1671
1737
|
typical_value = iter(tshape_xrange.typical_value)
|
|
1672
1738
|
|
|
1673
1739
|
@staticmethod
|
|
@@ -1682,7 +1748,11 @@ class ShapeTypeXrangeIterator(ShapeIteratorMixin, ShapeNotNumberMixin, ShapeBase
|
|
|
1682
1748
|
tshape_xrange_iterator = ShapeTypeXrangeIterator()
|
|
1683
1749
|
|
|
1684
1750
|
|
|
1685
|
-
class
|
|
1751
|
+
class ShapeTypeTypeBase(ShapeNotNumberMixin, ShapeBase):
|
|
1752
|
+
# Base classes can be abstract, pylint: disable=abstract-method
|
|
1753
|
+
|
|
1754
|
+
__slots__ = ()
|
|
1755
|
+
|
|
1686
1756
|
typical_value = int
|
|
1687
1757
|
|
|
1688
1758
|
@staticmethod
|
|
@@ -1707,10 +1777,29 @@ class ShapeTypeType(ShapeNotContainerMixin, ShapeNotNumberMixin, ShapeBase):
|
|
|
1707
1777
|
return hasattr(int, attribute_name)
|
|
1708
1778
|
|
|
1709
1779
|
|
|
1780
|
+
if python_version < 0x390:
|
|
1781
|
+
|
|
1782
|
+
class ShapeTypeType(ShapeNotContainerMixin, ShapeTypeTypeBase):
|
|
1783
|
+
__slots__ = ()
|
|
1784
|
+
|
|
1785
|
+
else:
|
|
1786
|
+
|
|
1787
|
+
class ShapeTypeType(ShapeTypeTypeBase):
|
|
1788
|
+
__slots__ = ()
|
|
1789
|
+
|
|
1790
|
+
@staticmethod
|
|
1791
|
+
def getOperationUnaryReprEscape():
|
|
1792
|
+
# We can't really say it's element based, since it may not be iterable
|
|
1793
|
+
# still.
|
|
1794
|
+
return ControlFlowDescriptionFullEscape
|
|
1795
|
+
|
|
1796
|
+
|
|
1710
1797
|
tshape_type = ShapeTypeType()
|
|
1711
1798
|
|
|
1712
1799
|
|
|
1713
1800
|
class ShapeTypeModule(ShapeNotContainerMixin, ShapeNotNumberMixin, ShapeBase):
|
|
1801
|
+
__slots__ = ()
|
|
1802
|
+
|
|
1714
1803
|
typical_value = __import__("sys")
|
|
1715
1804
|
|
|
1716
1805
|
@staticmethod
|
|
@@ -1730,6 +1819,7 @@ tshape_module = ShapeTypeModule()
|
|
|
1730
1819
|
|
|
1731
1820
|
|
|
1732
1821
|
class ShapeTypeFunction(ShapeNotContainerMixin, ShapeNotNumberMixin, ShapeBase):
|
|
1822
|
+
__slots__ = ()
|
|
1733
1823
|
# TODO: Add typical value.
|
|
1734
1824
|
|
|
1735
1825
|
@staticmethod
|
|
@@ -1745,6 +1835,8 @@ tshape_function = ShapeTypeFunction()
|
|
|
1745
1835
|
|
|
1746
1836
|
|
|
1747
1837
|
class ShapeTypeBuiltinModule(ShapeTypeModule):
|
|
1838
|
+
__slots__ = ()
|
|
1839
|
+
|
|
1748
1840
|
typical_value = __import__("_ctypes")
|
|
1749
1841
|
|
|
1750
1842
|
|
|
@@ -1752,6 +1844,7 @@ tshape_module_builtin = ShapeTypeBuiltinModule()
|
|
|
1752
1844
|
|
|
1753
1845
|
|
|
1754
1846
|
class ShapeTypeFile(ShapeNotContainerMixin, ShapeNotNumberMixin, ShapeBase):
|
|
1847
|
+
__slots__ = ()
|
|
1755
1848
|
# TODO: That need not really be a file, find something better.
|
|
1756
1849
|
typical_value = __import__("sys").stdout
|
|
1757
1850
|
|
|
@@ -1781,6 +1874,8 @@ tshape_file = ShapeTypeFile()
|
|
|
1781
1874
|
|
|
1782
1875
|
|
|
1783
1876
|
class ShapeTypeStaticmethod(ShapeNotContainerMixin, ShapeNotNumberMixin, ShapeBase):
|
|
1877
|
+
__slots__ = ()
|
|
1878
|
+
|
|
1784
1879
|
# TODO: Add typical value.
|
|
1785
1880
|
|
|
1786
1881
|
@staticmethod
|
|
@@ -1794,6 +1889,7 @@ tshape_staticmethod = ShapeTypeStaticmethod()
|
|
|
1794
1889
|
|
|
1795
1890
|
|
|
1796
1891
|
class ShapeTypeClassmethod(ShapeNotContainerMixin, ShapeNotNumberMixin, ShapeBase):
|
|
1892
|
+
__slots__ = ()
|
|
1797
1893
|
# TODO: Add typical value.
|
|
1798
1894
|
|
|
1799
1895
|
@staticmethod
|
|
@@ -1830,7 +1926,7 @@ operation_result_dict_noescape = tshape_dict, ControlFlowDescriptionNoEscape
|
|
|
1830
1926
|
operation_result_dict_valueerror = tshape_dict, ControlFlowDescriptionValueErrorNoEscape
|
|
1831
1927
|
|
|
1832
1928
|
|
|
1833
|
-
|
|
1929
|
+
operation_result_bool_element_based = (
|
|
1834
1930
|
tshape_bool,
|
|
1835
1931
|
ControlFlowDescriptionElementBasedEscape,
|
|
1836
1932
|
)
|
|
@@ -1887,7 +1983,6 @@ operation_result_unsupported_matmult = (
|
|
|
1887
1983
|
ControlFlowDescriptionMatmultUnsupported,
|
|
1888
1984
|
)
|
|
1889
1985
|
|
|
1890
|
-
|
|
1891
1986
|
# ZeroDivisionError can occur for some module and division operations, otherwise they
|
|
1892
1987
|
# are fixed type.
|
|
1893
1988
|
operation_result_zerodiv_int = tshape_int, ControlFlowDescriptionZeroDivisionNoEscape
|
|
@@ -2182,9 +2277,11 @@ mod_shapes_bool.update(
|
|
|
2182
2277
|
tshape_int_or_long: operation_result_zerodiv_intorlong,
|
|
2183
2278
|
tshape_bool: operation_result_zerodiv_int,
|
|
2184
2279
|
tshape_float: operation_result_zerodiv_float,
|
|
2185
|
-
tshape_complex:
|
|
2186
|
-
|
|
2187
|
-
|
|
2280
|
+
tshape_complex: (
|
|
2281
|
+
operation_result_zerodiv_complex
|
|
2282
|
+
if python_version < 0x300
|
|
2283
|
+
else operation_result_unsupported_mod
|
|
2284
|
+
),
|
|
2188
2285
|
# Unsupported:
|
|
2189
2286
|
tshape_str: operation_result_unsupported_mod,
|
|
2190
2287
|
tshape_bytes: operation_result_unsupported_mod,
|
|
@@ -2519,9 +2616,11 @@ mod_shapes_int.update(
|
|
|
2519
2616
|
tshape_int_or_long: operation_result_zerodiv_intorlong,
|
|
2520
2617
|
tshape_bool: operation_result_zerodiv_int,
|
|
2521
2618
|
tshape_float: operation_result_zerodiv_float,
|
|
2522
|
-
tshape_complex:
|
|
2523
|
-
|
|
2524
|
-
|
|
2619
|
+
tshape_complex: (
|
|
2620
|
+
operation_result_zerodiv_complex
|
|
2621
|
+
if python_version < 0x300
|
|
2622
|
+
else operation_result_unsupported_mod
|
|
2623
|
+
),
|
|
2525
2624
|
# Unsupported:
|
|
2526
2625
|
tshape_str: operation_result_unsupported_mod,
|
|
2527
2626
|
tshape_bytes: operation_result_unsupported_mod,
|
|
@@ -2823,9 +2922,11 @@ mod_shapes_long.update(
|
|
|
2823
2922
|
tshape_int_or_long: operation_result_zerodiv_long,
|
|
2824
2923
|
tshape_bool: operation_result_zerodiv_long,
|
|
2825
2924
|
tshape_float: operation_result_zerodiv_float,
|
|
2826
|
-
tshape_complex:
|
|
2827
|
-
|
|
2828
|
-
|
|
2925
|
+
tshape_complex: (
|
|
2926
|
+
operation_result_zerodiv_complex
|
|
2927
|
+
if python_version < 0x300
|
|
2928
|
+
else operation_result_unsupported_mod
|
|
2929
|
+
),
|
|
2829
2930
|
# Unsupported:
|
|
2830
2931
|
tshape_str: operation_result_unsupported_mod,
|
|
2831
2932
|
tshape_bytes: operation_result_unsupported_mod,
|
|
@@ -3713,9 +3814,11 @@ add_shapes_str.update(
|
|
|
3713
3814
|
# Sequence repeat is not allowed
|
|
3714
3815
|
tshape_str: operation_result_str_noescape,
|
|
3715
3816
|
tshape_bytes: operation_result_unsupported_add,
|
|
3716
|
-
tshape_bytearray:
|
|
3717
|
-
|
|
3718
|
-
|
|
3817
|
+
tshape_bytearray: (
|
|
3818
|
+
operation_result_bytearray_noescape
|
|
3819
|
+
if python_version < 0x300
|
|
3820
|
+
else operation_result_unsupported_add
|
|
3821
|
+
),
|
|
3719
3822
|
tshape_unicode: operation_result_unicode_noescape,
|
|
3720
3823
|
tshape_tuple: operation_result_unsupported_add,
|
|
3721
3824
|
tshape_list: operation_result_unsupported_add,
|
|
@@ -3903,9 +4006,11 @@ add_shapes_bytearray.update(
|
|
|
3903
4006
|
tshape_bool: operation_result_unsupported_add,
|
|
3904
4007
|
tshape_float: operation_result_unsupported_add,
|
|
3905
4008
|
# Sequence repeat is not allowed
|
|
3906
|
-
tshape_str:
|
|
3907
|
-
|
|
3908
|
-
|
|
4009
|
+
tshape_str: (
|
|
4010
|
+
operation_result_bytearray_noescape
|
|
4011
|
+
if python_version < 0x300
|
|
4012
|
+
else operation_result_unsupported_add
|
|
4013
|
+
),
|
|
3909
4014
|
tshape_bytes: operation_result_bytearray_noescape,
|
|
3910
4015
|
tshape_bytearray: operation_result_bytearray_noescape,
|
|
3911
4016
|
tshape_unicode: operation_result_unsupported_add,
|
|
@@ -4161,7 +4266,25 @@ if python_version >= 0x390:
|
|
|
4161
4266
|
class ShapeTypeBuiltinExceptionClass(
|
|
4162
4267
|
ShapeNotContainerMixin, ShapeNotNumberMixin, ShapeBase
|
|
4163
4268
|
):
|
|
4269
|
+
__slots__ = ()
|
|
4270
|
+
|
|
4271
|
+
# TODO: Add a typical value, that should be easy.
|
|
4164
4272
|
typical_value = None
|
|
4165
4273
|
|
|
4166
4274
|
|
|
4167
4275
|
tshape_exception_class = ShapeTypeBuiltinExceptionClass()
|
|
4276
|
+
|
|
4277
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
4278
|
+
# integrates with CPython, but also works on its own.
|
|
4279
|
+
#
|
|
4280
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4281
|
+
# you may not use this file except in compliance with the License.
|
|
4282
|
+
# You may obtain a copy of the License at
|
|
4283
|
+
#
|
|
4284
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
4285
|
+
#
|
|
4286
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
4287
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
4288
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4289
|
+
# See the License for the specific language governing permissions and
|
|
4290
|
+
# limitations under the License.
|
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# integrates with CPython, but also works on its own.
|
|
5
|
-
#
|
|
6
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
# you may not use this file except in compliance with the License.
|
|
8
|
-
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
10
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
12
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
# See the License for the specific language governing permissions and
|
|
16
|
-
# limitations under the License.
|
|
17
|
-
#
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
18
4
|
""" Objects use to describe control flow escapes.
|
|
19
5
|
|
|
20
6
|
Typically returned by shape operations to indicate what can and can not
|
|
@@ -195,3 +181,19 @@ class ControlFlowDescriptionMatmultUnsupported(
|
|
|
195
181
|
ControlFlowDescriptionOperationUnsupportedBase
|
|
196
182
|
):
|
|
197
183
|
pass
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
187
|
+
# integrates with CPython, but also works on its own.
|
|
188
|
+
#
|
|
189
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
190
|
+
# you may not use this file except in compliance with the License.
|
|
191
|
+
# You may obtain a copy of the License at
|
|
192
|
+
#
|
|
193
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
194
|
+
#
|
|
195
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
196
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
197
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
198
|
+
# See the License for the specific language governing permissions and
|
|
199
|
+
# limitations under the License.
|