Nuitka-winsvc 1.8__cp311-cp311-win_amd64.whl → 2.4.8__cp311-cp311-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of Nuitka-winsvc might be problematic. Click here for more details.
- Nuitka_winsvc-1.8.data/scripts/nuitka-run.bat → Nuitka_winsvc-2.4.8.data/scripts/nuitka-run.cmd +9 -9
- Nuitka_winsvc-1.8.data/scripts/nuitka.bat → Nuitka_winsvc-2.4.8.data/scripts/nuitka.cmd +15 -15
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/METADATA +4 -3
- Nuitka_winsvc-2.4.8.dist-info/RECORD +954 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/WHEEL +1 -1
- nuitka/Builtins.py +18 -17
- nuitka/BytecodeCaching.py +24 -20
- nuitka/Bytecodes.py +23 -19
- nuitka/CacheCleanup.py +28 -23
- nuitka/Constants.py +19 -17
- nuitka/Errors.py +23 -17
- nuitka/HardImportRegistry.py +400 -0
- nuitka/MainControl.py +200 -112
- nuitka/ModuleRegistry.py +83 -20
- nuitka/OptionParsing.py +368 -175
- nuitka/Options.py +632 -213
- nuitka/OutputDirectories.py +40 -21
- nuitka/PostProcessing.py +73 -50
- nuitka/Progress.py +58 -24
- nuitka/PythonFlavors.py +141 -32
- nuitka/PythonOperators.py +18 -17
- nuitka/PythonVersions.py +106 -19
- nuitka/Serialization.py +68 -55
- nuitka/SourceCodeReferences.py +19 -17
- nuitka/Tracing.py +108 -70
- nuitka/TreeXML.py +31 -26
- nuitka/Variables.py +39 -41
- nuitka/Version.py +21 -7
- nuitka/__init__.py +5 -4
- nuitka/__main__.py +95 -29
- nuitka/__past__.py +44 -34
- nuitka/build/Backend.scons +202 -140
- nuitka/build/CCompilerVersion.scons +39 -31
- nuitka/build/DataComposerInterface.py +20 -17
- nuitka/build/Onefile.scons +50 -54
- nuitka/build/SconsCaching.py +93 -90
- nuitka/build/SconsCompilerSettings.py +157 -69
- nuitka/build/SconsHacks.py +25 -19
- nuitka/build/SconsInterface.py +154 -54
- nuitka/build/SconsProgress.py +19 -18
- nuitka/build/SconsSpawn.py +62 -33
- nuitka/build/SconsUtils.py +147 -55
- nuitka/build/__init__.py +5 -4
- nuitka/build/include/nuitka/allocator.h +105 -22
- nuitka/build/include/nuitka/builtins.h +17 -17
- nuitka/build/include/nuitka/calling.h +18 -18
- nuitka/build/include/nuitka/checkers.h +17 -18
- nuitka/build/include/nuitka/checksum_tools.h +14 -19
- nuitka/build/include/nuitka/compiled_asyncgen.h +18 -18
- nuitka/build/include/nuitka/compiled_cell.h +33 -18
- nuitka/build/include/nuitka/compiled_coroutine.h +18 -18
- nuitka/build/include/nuitka/compiled_frame.h +91 -53
- nuitka/build/include/nuitka/compiled_function.h +42 -20
- nuitka/build/include/nuitka/compiled_generator.h +24 -18
- nuitka/build/include/nuitka/compiled_method.h +17 -18
- nuitka/build/include/nuitka/constants.h +29 -18
- nuitka/build/include/nuitka/constants_blob.h +17 -17
- nuitka/build/include/nuitka/environment_variables.h +30 -0
- nuitka/build/include/nuitka/environment_variables_system.h +45 -0
- nuitka/build/include/nuitka/exception_groups.h +23 -26
- nuitka/build/include/nuitka/exceptions.h +593 -190
- nuitka/build/include/nuitka/filesystem_paths.h +26 -20
- nuitka/build/include/nuitka/freelists.h +38 -18
- nuitka/build/include/nuitka/helper/attributes.h +24 -18
- nuitka/build/include/nuitka/helper/boolean.h +17 -17
- nuitka/build/include/nuitka/helper/bytearrays.h +17 -17
- nuitka/build/include/nuitka/helper/bytes.h +14 -15
- nuitka/build/include/nuitka/helper/calling_generated.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_eq.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_ge.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_gt.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_le.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_lt.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_ne.h +17 -17
- nuitka/build/include/nuitka/helper/complex.h +17 -17
- nuitka/build/include/nuitka/helper/dictionaries.h +24 -22
- nuitka/build/include/nuitka/helper/floats.h +17 -18
- nuitka/build/include/nuitka/helper/import_hard.h +25 -17
- nuitka/build/include/nuitka/helper/indexes.h +17 -18
- nuitka/build/include/nuitka/helper/ints.h +32 -20
- nuitka/build/include/nuitka/helper/iterators.h +17 -17
- nuitka/build/include/nuitka/helper/lists.h +26 -24
- nuitka/build/include/nuitka/helper/lists_generated.h +22 -22
- nuitka/build/include/nuitka/helper/mappings.h +17 -18
- nuitka/build/include/nuitka/helper/operations.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_add.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_bitand.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_bitor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_bitxor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_divmod.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_floordiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_lshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_matmult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_mod.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_mult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_olddiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_pow.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_rshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_sub.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_truediv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_builtin_types.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_add.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_bitand.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_bitor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_bitxor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_floordiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_lshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_matmult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_mod.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_mult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_olddiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_pow.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_rshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_sub.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_truediv.h +17 -17
- nuitka/build/include/nuitka/helper/raising.h +29 -17
- nuitka/build/include/nuitka/helper/rangeobjects.h +17 -17
- nuitka/build/include/nuitka/helper/richcomparisons.h +14 -14
- nuitka/build/include/nuitka/helper/sequences.h +19 -13
- nuitka/build/include/nuitka/helper/sets.h +11 -12
- nuitka/build/include/nuitka/helper/slices.h +31 -25
- nuitka/build/include/nuitka/helper/strings.h +16 -17
- nuitka/build/include/nuitka/helper/subscripts.h +18 -201
- nuitka/build/include/nuitka/helper/tuples.h +64 -52
- nuitka/build/include/nuitka/helpers.h +38 -20
- nuitka/build/include/nuitka/importing.h +28 -21
- nuitka/build/include/nuitka/jit_sources.h +25 -0
- nuitka/build/include/nuitka/prelude.h +128 -46
- nuitka/build/include/nuitka/printing.h +22 -17
- nuitka/build/include/nuitka/python_pgo.h +19 -18
- nuitka/build/include/nuitka/safe_string_ops.h +20 -18
- nuitka/build/include/nuitka/threading.h +32 -33
- nuitka/build/include/nuitka/tracing.h +28 -18
- nuitka/build/include/nuitka/type_aliases.h +27 -0
- nuitka/build/include/nuitka/unfreezing.h +29 -23
- nuitka/build/inline_copy/bin/scons.py +14 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Variables/ListVariable.py +6 -6
- nuitka/build/inline_copy/pkg_resources/pkg_resources/__init__.py +0 -3
- nuitka/build/inline_copy/python_hacl/LICENSE.txt +201 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_MD5.c +1430 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_MD5.h +66 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA1.c +463 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA1.h +66 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA2.c +1273 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA2.h +204 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA3.c +734 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA3.h +131 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Streaming_Types.h +83 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/FStar_UInt128_Verified.h +346 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/FStar_UInt_8_16_32_64.h +107 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/fstar_uint128_struct_endianness.h +68 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/internal/target.h +293 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/lowstar_endianness.h +231 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/types.h +14 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_MD5.h +56 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA1.h +56 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA2.h +164 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA3.h +65 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/python_hacl_namespaces.h +89 -0
- nuitka/build/inline_copy/tqdm/tqdm/__init__.py +2 -2
- nuitka/build/inline_copy/tqdm/tqdm/_monitor.py +4 -1
- nuitka/build/inline_copy/tqdm/tqdm/utils.py +14 -8
- nuitka/build/inline_copy/tqdm/tqdm/version.py +1 -8
- nuitka/build/inline_copy/zlib/LICENSE +22 -0
- nuitka/build/inline_copy/zlib/crc32.c +1049 -0
- nuitka/build/inline_copy/zlib/crc32.h +9446 -0
- nuitka/build/inline_copy/zlib/zconf.h +551 -0
- nuitka/build/inline_copy/zlib/zlib.h +1938 -0
- nuitka/build/inline_copy/zlib/zutil.h +275 -0
- nuitka/build/static_src/CompiledAsyncgenType.c +176 -182
- nuitka/build/static_src/CompiledCellType.c +63 -40
- nuitka/build/static_src/CompiledCodeHelpers.c +181 -128
- nuitka/build/static_src/CompiledCoroutineType.c +196 -203
- nuitka/build/static_src/CompiledFrameType.c +287 -133
- nuitka/build/static_src/CompiledFunctionType.c +389 -95
- nuitka/build/static_src/CompiledGeneratorType.c +376 -252
- nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +185 -198
- nuitka/build/static_src/CompiledMethodType.c +83 -71
- nuitka/build/static_src/HelpersAllocator.c +88 -19
- nuitka/build/static_src/HelpersAttributes.c +33 -54
- nuitka/build/static_src/HelpersBuiltin.c +43 -33
- nuitka/build/static_src/HelpersBuiltinTypeMethods.c +17 -17
- nuitka/build/static_src/HelpersBytes.c +19 -20
- nuitka/build/static_src/HelpersCalling.c +33 -30
- nuitka/build/static_src/HelpersCallingGenerated.c +1000 -181
- nuitka/build/static_src/HelpersChecksumTools.c +35 -21
- nuitka/build/static_src/HelpersClasses.c +17 -17
- nuitka/build/static_src/HelpersComparisonEq.c +518 -492
- nuitka/build/static_src/HelpersComparisonEqUtils.c +21 -19
- nuitka/build/static_src/HelpersComparisonGe.c +513 -497
- nuitka/build/static_src/HelpersComparisonGt.c +512 -496
- nuitka/build/static_src/HelpersComparisonLe.c +513 -497
- nuitka/build/static_src/HelpersComparisonLt.c +512 -496
- nuitka/build/static_src/HelpersComparisonNe.c +520 -492
- nuitka/build/static_src/HelpersConsole.c +96 -0
- nuitka/build/static_src/HelpersConstantsBlob.c +542 -519
- nuitka/build/static_src/HelpersDeepcopy.c +33 -33
- nuitka/build/static_src/HelpersDictionaries.c +51 -29
- nuitka/build/static_src/HelpersDictionariesGenerated.c +177 -68
- nuitka/build/static_src/HelpersDumpBacktraces.c +63 -0
- nuitka/build/static_src/HelpersEnvironmentVariables.c +65 -0
- nuitka/build/static_src/HelpersEnvironmentVariablesSystem.c +93 -0
- nuitka/build/static_src/HelpersExceptions.c +161 -50
- nuitka/build/static_src/HelpersFiles.c +37 -17
- nuitka/build/static_src/HelpersFilesystemPaths.c +292 -181
- nuitka/build/static_src/HelpersFloats.c +37 -31
- nuitka/build/static_src/HelpersHeapStorage.c +21 -17
- nuitka/build/static_src/HelpersImport.c +48 -20
- nuitka/build/static_src/HelpersImportHard.c +53 -17
- nuitka/build/static_src/HelpersJitSources.c +46 -0
- nuitka/build/static_src/HelpersLists.c +140 -50
- nuitka/build/static_src/HelpersListsGenerated.c +41 -41
- nuitka/build/static_src/HelpersMappings.c +17 -17
- nuitka/build/static_src/HelpersMatching.c +137 -51
- nuitka/build/static_src/HelpersOperationBinaryAdd.c +173 -146
- nuitka/build/static_src/HelpersOperationBinaryAddUtils.c +99 -52
- nuitka/build/static_src/HelpersOperationBinaryBitand.c +50 -50
- nuitka/build/static_src/HelpersOperationBinaryBitor.c +50 -50
- nuitka/build/static_src/HelpersOperationBinaryBitxor.c +50 -50
- nuitka/build/static_src/HelpersOperationBinaryDivmod.c +41 -41
- nuitka/build/static_src/HelpersOperationBinaryDivmodUtils.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryFloordiv.c +41 -41
- nuitka/build/static_src/HelpersOperationBinaryInplaceAdd.c +20 -21
- nuitka/build/static_src/HelpersOperationBinaryLshift.c +47 -47
- nuitka/build/static_src/HelpersOperationBinaryMatmult.c +24 -24
- nuitka/build/static_src/HelpersOperationBinaryMod.c +107 -107
- nuitka/build/static_src/HelpersOperationBinaryMult.c +81 -75
- nuitka/build/static_src/HelpersOperationBinaryMultUtils.c +33 -30
- nuitka/build/static_src/HelpersOperationBinaryOlddiv.c +41 -41
- nuitka/build/static_src/HelpersOperationBinaryPow.c +44 -44
- nuitka/build/static_src/HelpersOperationBinaryPowUtils.c +12 -12
- nuitka/build/static_src/HelpersOperationBinaryRshift.c +47 -47
- nuitka/build/static_src/HelpersOperationBinarySub.c +80 -80
- nuitka/build/static_src/HelpersOperationBinaryTruediv.c +41 -41
- nuitka/build/static_src/HelpersOperationInplaceAdd.c +171 -153
- nuitka/build/static_src/HelpersOperationInplaceAddUtils.c +24 -22
- nuitka/build/static_src/HelpersOperationInplaceBitand.c +53 -53
- nuitka/build/static_src/HelpersOperationInplaceBitor.c +53 -53
- nuitka/build/static_src/HelpersOperationInplaceBitxor.c +53 -53
- nuitka/build/static_src/HelpersOperationInplaceFloordiv.c +62 -62
- nuitka/build/static_src/HelpersOperationInplaceLshift.c +44 -44
- nuitka/build/static_src/HelpersOperationInplaceMatmult.c +37 -37
- nuitka/build/static_src/HelpersOperationInplaceMod.c +134 -134
- nuitka/build/static_src/HelpersOperationInplaceMult.c +78 -78
- nuitka/build/static_src/HelpersOperationInplaceOlddiv.c +62 -62
- nuitka/build/static_src/HelpersOperationInplacePow.c +62 -62
- nuitka/build/static_src/HelpersOperationInplaceRshift.c +44 -44
- nuitka/build/static_src/HelpersOperationInplaceSub.c +112 -112
- nuitka/build/static_src/HelpersOperationInplaceTruediv.c +62 -62
- nuitka/build/static_src/HelpersProfiling.c +24 -23
- nuitka/build/static_src/HelpersPythonPgo.c +22 -22
- nuitka/build/static_src/HelpersRaising.c +88 -20
- nuitka/build/static_src/HelpersSafeStrings.c +34 -22
- nuitka/build/static_src/HelpersSequences.c +18 -19
- nuitka/build/static_src/HelpersSlices.c +29 -23
- nuitka/build/static_src/HelpersStrings.c +234 -37
- nuitka/build/static_src/HelpersTuples.c +46 -34
- nuitka/build/static_src/HelpersTypes.c +68 -23
- nuitka/build/static_src/InspectPatcher.c +108 -27
- nuitka/build/static_src/MainProgram.c +359 -263
- nuitka/build/static_src/MetaPathBasedLoader.c +367 -242
- nuitka/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c +39 -26
- nuitka/build/static_src/MetaPathBasedLoaderResourceReader.c +17 -18
- nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +97 -22
- nuitka/build/static_src/OnefileBootstrap.c +276 -164
- nuitka/build/static_src/OnefileSplashScreen.cpp +51 -27
- nuitka/code_generation/AsyncgenCodes.py +19 -17
- nuitka/code_generation/AttributeCodes.py +31 -27
- nuitka/code_generation/BinaryOperationHelperDefinitions.py +24 -20
- nuitka/code_generation/BranchCodes.py +19 -17
- nuitka/code_generation/BuiltinCodes.py +20 -17
- nuitka/code_generation/CallCodes.py +19 -17
- nuitka/code_generation/ClassCodes.py +19 -17
- nuitka/code_generation/CodeGeneration.py +48 -27
- nuitka/code_generation/CodeHelperSelection.py +19 -17
- nuitka/code_generation/CodeHelpers.py +24 -20
- nuitka/code_generation/CodeObjectCodes.py +34 -24
- nuitka/code_generation/ComparisonCodes.py +38 -20
- nuitka/code_generation/ComparisonHelperDefinitions.py +19 -17
- nuitka/code_generation/ConditionalCodes.py +19 -17
- nuitka/code_generation/ConstantCodes.py +82 -28
- nuitka/code_generation/Contexts.py +152 -26
- nuitka/code_generation/CoroutineCodes.py +19 -17
- nuitka/code_generation/CtypesCodes.py +19 -17
- nuitka/code_generation/DictCodes.py +25 -23
- nuitka/code_generation/Emission.py +21 -18
- nuitka/code_generation/ErrorCodes.py +27 -33
- nuitka/code_generation/EvalCodes.py +24 -20
- nuitka/code_generation/ExceptionCodes.py +27 -18
- nuitka/code_generation/ExpressionCTypeSelectionHelpers.py +20 -17
- nuitka/code_generation/ExpressionCodes.py +19 -17
- nuitka/code_generation/FrameCodes.py +24 -20
- nuitka/code_generation/FunctionCodes.py +24 -21
- nuitka/code_generation/GeneratorCodes.py +23 -20
- nuitka/code_generation/GlobalConstants.py +43 -23
- nuitka/code_generation/GlobalsLocalsCodes.py +21 -19
- nuitka/code_generation/IdCodes.py +19 -17
- nuitka/code_generation/ImportCodes.py +90 -50
- nuitka/code_generation/Indentation.py +23 -22
- nuitka/code_generation/IndexCodes.py +19 -17
- nuitka/code_generation/InjectCCodes.py +14 -12
- nuitka/code_generation/IntegerCodes.py +19 -17
- nuitka/code_generation/IteratorCodes.py +19 -17
- nuitka/code_generation/JitCodes.py +44 -0
- nuitka/code_generation/LabelCodes.py +19 -17
- nuitka/code_generation/LineNumberCodes.py +19 -17
- nuitka/code_generation/ListCodes.py +32 -36
- nuitka/code_generation/LoaderCodes.py +22 -17
- nuitka/code_generation/LocalsDictCodes.py +56 -32
- nuitka/code_generation/LoopCodes.py +19 -17
- nuitka/code_generation/MatchCodes.py +42 -22
- nuitka/code_generation/ModuleCodes.py +43 -25
- nuitka/code_generation/Namify.py +27 -23
- nuitka/code_generation/NetworkxCodes.py +51 -0
- nuitka/code_generation/OperationCodes.py +29 -31
- nuitka/code_generation/PackageResourceCodes.py +59 -23
- nuitka/code_generation/PrintCodes.py +19 -17
- nuitka/code_generation/PythonAPICodes.py +19 -17
- nuitka/code_generation/RaisingCodes.py +19 -17
- nuitka/code_generation/Reports.py +19 -17
- nuitka/code_generation/ReturnCodes.py +19 -17
- nuitka/code_generation/SetCodes.py +19 -17
- nuitka/code_generation/SliceCodes.py +22 -20
- nuitka/code_generation/StringCodes.py +19 -17
- nuitka/code_generation/SubscriptCodes.py +24 -30
- nuitka/code_generation/TensorflowCodes.py +54 -0
- nuitka/code_generation/TryCodes.py +19 -17
- nuitka/code_generation/TupleCodes.py +20 -18
- nuitka/code_generation/TypeAliasCodes.py +71 -0
- nuitka/code_generation/VariableCodes.py +26 -22
- nuitka/code_generation/VariableDeclarations.py +20 -17
- nuitka/code_generation/YieldCodes.py +22 -20
- nuitka/code_generation/__init__.py +5 -4
- nuitka/code_generation/c_types/CTypeBases.py +19 -17
- nuitka/code_generation/c_types/CTypeBooleans.py +19 -17
- nuitka/code_generation/c_types/CTypeCFloats.py +19 -17
- nuitka/code_generation/c_types/CTypeCLongs.py +19 -18
- nuitka/code_generation/c_types/CTypeModuleDictVariables.py +19 -17
- nuitka/code_generation/c_types/CTypeNuitkaBooleans.py +19 -17
- nuitka/code_generation/c_types/CTypeNuitkaInts.py +19 -18
- nuitka/code_generation/c_types/CTypeNuitkaVoids.py +19 -17
- nuitka/code_generation/c_types/CTypePyObjectPointers.py +27 -25
- nuitka/code_generation/c_types/CTypeVoids.py +20 -17
- nuitka/code_generation/c_types/__init__.py +5 -4
- nuitka/code_generation/templates/CodeTemplatesAsyncgens.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesConstants.py +132 -36
- nuitka/code_generation/templates/CodeTemplatesCoroutines.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesExceptions.py +19 -18
- nuitka/code_generation/templates/CodeTemplatesFrames.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesFunction.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesGeneratorFunction.py +19 -17
- nuitka/code_generation/templates/CodeTemplatesIterators.py +18 -18
- nuitka/code_generation/templates/CodeTemplatesLoader.py +25 -19
- nuitka/code_generation/templates/CodeTemplatesModules.py +244 -165
- nuitka/code_generation/templates/CodeTemplatesVariables.py +42 -27
- nuitka/code_generation/templates/TemplateDebugWrapper.py +19 -18
- nuitka/code_generation/templates/__init__.py +5 -4
- nuitka/code_generation/templates_c/CodeTemplateCallsMethodPositional.c.j2 +19 -19
- nuitka/code_generation/templates_c/CodeTemplateCallsMixed.c.j2 +18 -18
- nuitka/code_generation/templates_c/CodeTemplateCallsPositional.c.j2 +76 -25
- nuitka/code_generation/templates_c/CodeTemplateCallsPositionalMethodDescr.c.j2 +22 -22
- nuitka/code_generation/templates_c/CodeTemplateMakeListHinted.c.j2 +19 -19
- nuitka/code_generation/templates_c/CodeTemplateMakeListSmall.c.j2 +19 -19
- nuitka/code_generation/templates_c/HelperBuiltinMethodOperation.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperDictionaryCopy.c.j2 +121 -48
- nuitka/code_generation/templates_c/HelperImportHard.c.j2 +18 -18
- nuitka/code_generation/templates_c/HelperLongTools.c.j2 +18 -18
- nuitka/code_generation/templates_c/HelperObjectTools.c.j2 +6 -6
- nuitka/code_generation/templates_c/HelperOperationBinary.c.j2 +23 -23
- nuitka/code_generation/templates_c/HelperOperationComparison.c.j2 +35 -35
- nuitka/code_generation/templates_c/HelperOperationComparisonBytes.c.j2 +28 -28
- nuitka/code_generation/templates_c/HelperOperationComparisonFloat.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationComparisonInt.c.j2 +18 -18
- nuitka/code_generation/templates_c/HelperOperationComparisonList.c.j2 +44 -32
- nuitka/code_generation/templates_c/HelperOperationComparisonLong.c.j2 +20 -20
- nuitka/code_generation/templates_c/HelperOperationComparisonStr.c.j2 +28 -28
- nuitka/code_generation/templates_c/HelperOperationComparisonTuple.c.j2 +24 -24
- nuitka/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +33 -29
- nuitka/code_generation/templates_c/HelperOperationInplace.c.j2 +20 -20
- nuitka/code_generation/templates_c/HelperSlotsBinary.c.j2 +27 -27
- nuitka/code_generation/templates_c/HelperSlotsBytes.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsCommon.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsFloat.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsInt.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsList.c.j2 +21 -18
- nuitka/code_generation/templates_c/HelperSlotsLong.c.j2 +26 -24
- nuitka/code_generation/templates_c/HelperSlotsSet.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsStr.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsTuple.c.j2 +21 -18
- nuitka/code_generation/templates_c/HelperSlotsUnicode.c.j2 +17 -17
- nuitka/containers/Namedtuples.py +19 -18
- nuitka/containers/OrderedSetsFallback.py +19 -17
- nuitka/containers/__init__.py +5 -4
- nuitka/distutils/Build.py +19 -18
- nuitka/distutils/DistutilCommands.py +34 -23
- nuitka/distutils/__init__.py +5 -4
- nuitka/finalizations/Finalization.py +20 -17
- nuitka/finalizations/FinalizeMarkups.py +21 -41
- nuitka/finalizations/__init__.py +5 -4
- nuitka/freezer/DependsExe.py +48 -28
- nuitka/freezer/DllDependenciesCommon.py +47 -20
- nuitka/freezer/DllDependenciesMacOS.py +147 -57
- nuitka/freezer/DllDependenciesPosix.py +29 -19
- nuitka/freezer/DllDependenciesWin32.py +29 -21
- nuitka/freezer/ImportDetection.py +20 -17
- nuitka/freezer/IncludedDataFiles.py +118 -47
- nuitka/freezer/IncludedEntryPoints.py +102 -38
- nuitka/freezer/Onefile.py +32 -22
- nuitka/freezer/Standalone.py +105 -50
- nuitka/freezer/__init__.py +5 -4
- nuitka/importing/IgnoreListing.py +19 -17
- nuitka/importing/ImportCache.py +24 -21
- nuitka/importing/ImportResolving.py +103 -95
- nuitka/importing/Importing.py +286 -92
- nuitka/importing/PreloadedPackages.py +21 -18
- nuitka/importing/Recursion.py +131 -47
- nuitka/importing/StandardLibrary.py +46 -28
- nuitka/importing/__init__.py +5 -4
- nuitka/nodes/AsyncgenNodes.py +19 -17
- nuitka/nodes/AttributeLookupNodes.py +19 -17
- nuitka/nodes/AttributeNodes.py +19 -17
- nuitka/nodes/AttributeNodesGenerated.py +49 -24
- nuitka/nodes/BuiltinAllNodes.py +19 -17
- nuitka/nodes/BuiltinAnyNodes.py +19 -17
- nuitka/nodes/BuiltinComplexNodes.py +20 -17
- nuitka/nodes/BuiltinDecodingNodes.py +19 -17
- nuitka/nodes/BuiltinDecoratorNodes.py +19 -17
- nuitka/nodes/BuiltinDictNodes.py +19 -17
- nuitka/nodes/BuiltinFormatNodes.py +20 -17
- nuitka/nodes/BuiltinHashNodes.py +19 -17
- nuitka/nodes/BuiltinInputNodes.py +19 -17
- nuitka/nodes/BuiltinIntegerNodes.py +19 -17
- nuitka/nodes/BuiltinIteratorNodes.py +24 -20
- nuitka/nodes/BuiltinLenNodes.py +19 -17
- nuitka/nodes/BuiltinNextNodes.py +19 -17
- nuitka/nodes/BuiltinOpenNodes.py +52 -18
- nuitka/nodes/BuiltinOperationNodeBasesGenerated.py +40 -23
- nuitka/nodes/BuiltinRangeNodes.py +21 -19
- nuitka/nodes/BuiltinRefNodes.py +68 -19
- nuitka/nodes/BuiltinSumNodes.py +20 -18
- nuitka/nodes/BuiltinTypeNodes.py +19 -17
- nuitka/nodes/BuiltinVarsNodes.py +19 -18
- nuitka/nodes/BytesNodes.py +19 -17
- nuitka/nodes/CallNodes.py +19 -17
- nuitka/nodes/Checkers.py +19 -17
- nuitka/nodes/ChildrenHavingMixins.py +1250 -302
- nuitka/nodes/ClassNodes.py +49 -29
- nuitka/nodes/CodeObjectSpecs.py +29 -18
- nuitka/nodes/ComparisonNodes.py +19 -17
- nuitka/nodes/ConditionalNodes.py +21 -23
- nuitka/nodes/ConstantRefNodes.py +57 -17
- nuitka/nodes/ContainerMakingNodes.py +19 -17
- nuitka/nodes/ContainerOperationNodes.py +19 -17
- nuitka/nodes/CoroutineNodes.py +19 -17
- nuitka/nodes/CtypesNodes.py +19 -18
- nuitka/nodes/DictionaryNodes.py +19 -18
- nuitka/nodes/ExceptionNodes.py +29 -17
- nuitka/nodes/ExecEvalNodes.py +19 -17
- nuitka/nodes/ExpressionBases.py +34 -26
- nuitka/nodes/ExpressionBasesGenerated.py +54 -32
- nuitka/nodes/ExpressionShapeMixins.py +19 -17
- nuitka/nodes/FrameNodes.py +19 -17
- nuitka/nodes/FunctionAttributeNodes.py +19 -17
- nuitka/nodes/FunctionNodes.py +81 -35
- nuitka/nodes/FutureSpecs.py +35 -20
- nuitka/nodes/GeneratorNodes.py +21 -19
- nuitka/nodes/GlobalsLocalsNodes.py +22 -17
- nuitka/nodes/HardImportNodesGenerated.py +545 -129
- nuitka/nodes/ImportHardNodes.py +46 -38
- nuitka/nodes/ImportNodes.py +436 -446
- nuitka/nodes/IndicatorMixins.py +19 -17
- nuitka/nodes/InjectCNodes.py +19 -18
- nuitka/nodes/IterationHandles.py +55 -34
- nuitka/nodes/KeyValuePairNodes.py +19 -17
- nuitka/nodes/ListOperationNodes.py +33 -21
- nuitka/nodes/LocalsDictNodes.py +19 -17
- nuitka/nodes/LocalsScopes.py +41 -41
- nuitka/nodes/LoopNodes.py +28 -17
- nuitka/nodes/MatchNodes.py +37 -24
- nuitka/nodes/ModuleAttributeNodes.py +18 -35
- nuitka/nodes/ModuleNodes.py +90 -31
- nuitka/nodes/NetworkxNodes.py +45 -0
- nuitka/nodes/NodeBases.py +45 -43
- nuitka/nodes/NodeMakingHelpers.py +21 -19
- nuitka/nodes/NodeMetaClasses.py +45 -28
- nuitka/nodes/OperatorNodes.py +28 -26
- nuitka/nodes/OperatorNodesUnary.py +20 -17
- nuitka/nodes/OsSysNodes.py +66 -18
- nuitka/nodes/OutlineNodes.py +22 -20
- nuitka/nodes/PackageMetadataNodes.py +37 -27
- nuitka/nodes/PackageResourceNodes.py +29 -23
- nuitka/nodes/PrintNodes.py +19 -17
- nuitka/nodes/ReturnNodes.py +20 -18
- nuitka/nodes/SideEffectNodes.py +19 -17
- nuitka/nodes/SliceNodes.py +20 -18
- nuitka/nodes/StatementBasesGenerated.py +125 -77
- nuitka/nodes/StatementNodes.py +19 -17
- nuitka/nodes/StrNodes.py +19 -17
- nuitka/nodes/StringConcatenationNodes.py +20 -17
- nuitka/nodes/SubscriptNodes.py +26 -24
- nuitka/nodes/TensorflowNodes.py +38 -0
- nuitka/nodes/TryNodes.py +19 -17
- nuitka/nodes/TypeMatchNodes.py +19 -17
- nuitka/nodes/TypeNodes.py +40 -17
- nuitka/nodes/VariableAssignNodes.py +122 -64
- nuitka/nodes/VariableDelNodes.py +19 -17
- nuitka/nodes/VariableNameNodes.py +19 -17
- nuitka/nodes/VariableRefNodes.py +63 -26
- nuitka/nodes/VariableReleaseNodes.py +19 -17
- nuitka/nodes/YieldNodes.py +21 -19
- nuitka/nodes/__init__.py +5 -4
- nuitka/nodes/shapes/BuiltinTypeShapes.py +145 -39
- nuitka/nodes/shapes/ControlFlowDescriptions.py +19 -17
- nuitka/nodes/shapes/ShapeMixins.py +40 -17
- nuitka/nodes/shapes/StandardShapes.py +27 -20
- nuitka/nodes/shapes/__init__.py +5 -4
- nuitka/optimizations/BytecodeDemotion.py +19 -17
- nuitka/optimizations/FunctionInlining.py +22 -23
- nuitka/optimizations/Graphs.py +19 -17
- nuitka/optimizations/Optimization.py +39 -35
- nuitka/optimizations/OptimizeBuiltinCalls.py +31 -27
- nuitka/optimizations/Tags.py +19 -18
- nuitka/optimizations/TraceCollections.py +67 -24
- nuitka/optimizations/ValueTraces.py +92 -25
- nuitka/optimizations/__init__.py +5 -4
- nuitka/pgo/PGO.py +33 -23
- nuitka/pgo/__init__.py +5 -4
- nuitka/plugins/PluginBase.py +610 -109
- nuitka/plugins/Plugins.py +241 -58
- nuitka/plugins/YamlPluginBase.py +121 -0
- nuitka/plugins/__init__.py +5 -4
- nuitka/plugins/standard/AntiBloatPlugin.py +357 -129
- nuitka/plugins/standard/ConsiderPyLintAnnotationsPlugin.py +20 -19
- nuitka/plugins/standard/DataFilesPlugin.py +65 -29
- nuitka/plugins/standard/DelvewheelPlugin.py +32 -24
- nuitka/plugins/standard/DillPlugin/DillPlugin.c +37 -0
- nuitka/plugins/standard/DillPlugin/dill-postLoad.py +256 -0
- nuitka/plugins/standard/DillPlugin.py +42 -134
- nuitka/plugins/standard/DllFilesPlugin.py +125 -42
- nuitka/plugins/standard/EnumPlugin.py +19 -17
- nuitka/plugins/standard/EventletPlugin.py +19 -17
- nuitka/plugins/standard/GeventPlugin.py +19 -17
- nuitka/plugins/standard/GiPlugin.py +44 -28
- nuitka/plugins/standard/GlfwPlugin.py +20 -17
- nuitka/plugins/standard/ImplicitImports.py +407 -46
- nuitka/plugins/standard/KivyPlugin.py +30 -17
- nuitka/plugins/standard/MatplotlibPlugin.py +88 -42
- nuitka/plugins/standard/MultiprocessingPlugin.py +25 -20
- nuitka/plugins/standard/NumpyPlugin.py +19 -17
- nuitka/plugins/standard/OptionsNannyPlugin.py +48 -76
- nuitka/plugins/standard/PbrPlugin.py +21 -19
- nuitka/plugins/standard/PkgResourcesPlugin.py +34 -23
- nuitka/plugins/standard/PmwPlugin.py +30 -27
- nuitka/plugins/standard/PySidePyQtPlugin.py +74 -80
- nuitka/plugins/standard/PywebViewPlugin.py +19 -17
- nuitka/plugins/standard/SpacyPlugin.py +136 -0
- nuitka/plugins/standard/TensorflowPlugin.py +20 -17
- nuitka/plugins/standard/TkinterPlugin.py +103 -53
- nuitka/plugins/standard/TorchPlugin.py +20 -17
- nuitka/plugins/standard/TransformersPlugin.py +94 -30
- nuitka/plugins/standard/TrioPlugin.py +18 -15
- nuitka/plugins/standard/UpxPlugin.py +21 -19
- nuitka/plugins/standard/__init__.py +5 -4
- nuitka/plugins/standard/standard.nuitka-package.config.yml +3449 -1299
- nuitka/plugins/standard/stdlib2.nuitka-package.config.yml +14 -14
- nuitka/plugins/standard/stdlib3.nuitka-package.config.yml +121 -66
- nuitka/reports/CompilationReportReader.py +67 -0
- nuitka/reports/LicenseReport.rst.j2 +21 -21
- nuitka/reports/Reports.py +352 -76
- nuitka/reports/__init__.py +5 -4
- nuitka/specs/BuiltinBytesOperationSpecs.py +18 -17
- nuitka/specs/BuiltinDictOperationSpecs.py +18 -17
- nuitka/specs/BuiltinListOperationSpecs.py +18 -17
- nuitka/specs/BuiltinParameterSpecs.py +30 -20
- nuitka/specs/BuiltinStrOperationSpecs.py +19 -18
- nuitka/specs/BuiltinTypeOperationSpecs.py +18 -18
- nuitka/specs/BuiltinUnicodeOperationSpecs.py +18 -17
- nuitka/specs/HardImportSpecs.py +67 -22
- nuitka/specs/ParameterSpecs.py +56 -41
- nuitka/specs/__init__.py +5 -4
- nuitka/tools/Basics.py +20 -18
- nuitka/tools/__init__.py +5 -4
- nuitka/tools/commercial/__init__.py +7 -6
- nuitka/tools/data_composer/DataComposer.py +78 -62
- nuitka/tools/data_composer/__init__.py +5 -4
- nuitka/tools/data_composer/__main__.py +18 -17
- nuitka/tools/environments/CreateEnvironment.py +20 -17
- nuitka/tools/environments/Virtualenv.py +60 -32
- nuitka/tools/environments/__init__.py +5 -4
- nuitka/tools/general/__init__.py +5 -4
- nuitka/tools/general/dll_report/__init__.py +5 -4
- nuitka/tools/general/dll_report/__main__.py +19 -21
- nuitka/tools/general/find_module/FindModuleCode.py +35 -22
- nuitka/tools/general/find_module/__init__.py +5 -4
- nuitka/tools/onefile_compressor/OnefileCompressor.py +213 -131
- nuitka/tools/onefile_compressor/__init__.py +5 -4
- nuitka/tools/onefile_compressor/__main__.py +18 -17
- nuitka/tools/podman/Podman.py +19 -17
- nuitka/tools/podman/__init__.py +5 -4
- nuitka/tools/podman/__main__.py +35 -19
- nuitka/tools/profiler/__init__.py +5 -4
- nuitka/tools/profiler/__main__.py +18 -17
- nuitka/tools/scanning/DisplayPackageDLLs.py +47 -22
- nuitka/tools/scanning/DisplayPackageData.py +31 -19
- nuitka/tools/scanning/__init__.py +5 -4
- nuitka/tools/specialize/CTypeDescriptions.py +93 -71
- nuitka/tools/specialize/Common.py +18 -17
- nuitka/tools/specialize/SpecializeC.py +31 -27
- nuitka/tools/specialize/SpecializePython.py +108 -45
- nuitka/tools/specialize/__init__.py +5 -4
- nuitka/tools/testing/Common.py +106 -52
- nuitka/tools/testing/Constructs.py +19 -17
- nuitka/tools/testing/OutputComparison.py +54 -18
- nuitka/tools/testing/Pythons.py +19 -18
- nuitka/tools/testing/RuntimeTracing.py +20 -19
- nuitka/tools/testing/SearchModes.py +26 -20
- nuitka/tools/testing/Valgrind.py +19 -17
- nuitka/tools/testing/__init__.py +5 -4
- nuitka/tools/testing/check_reference_counts/__init__.py +5 -4
- nuitka/tools/testing/check_reference_counts/__main__.py +18 -18
- nuitka/tools/testing/compare_with_cpython/__init__.py +5 -4
- nuitka/tools/testing/compare_with_cpython/__main__.py +36 -29
- nuitka/tools/testing/find_sxs_modules/__init__.py +5 -4
- nuitka/tools/testing/find_sxs_modules/__main__.py +17 -17
- nuitka/tools/testing/measure_construct_performance/__init__.py +5 -4
- nuitka/tools/testing/measure_construct_performance/__main__.py +22 -25
- nuitka/tools/testing/run_nuitka_tests/__init__.py +5 -4
- nuitka/tools/testing/run_nuitka_tests/__main__.py +57 -40
- nuitka/tools/watch/AutoStage.py +144 -0
- nuitka/tools/watch/GitHub.py +113 -0
- nuitka/tools/watch/__init__.py +5 -4
- nuitka/tools/watch/__main__.py +322 -91
- nuitka/tree/Building.py +176 -147
- nuitka/tree/ComplexCallHelperFunctions.py +80 -58
- nuitka/tree/Extractions.py +19 -17
- nuitka/tree/InternalModule.py +29 -20
- nuitka/tree/Operations.py +19 -17
- nuitka/tree/ReformulationAssertStatements.py +20 -17
- nuitka/tree/ReformulationAssignmentStatements.py +92 -91
- nuitka/tree/ReformulationBooleanExpressions.py +19 -17
- nuitka/tree/ReformulationCallExpressions.py +20 -18
- nuitka/tree/ReformulationClasses.py +45 -39
- nuitka/tree/ReformulationClasses3.py +146 -98
- nuitka/tree/ReformulationComparisonExpressions.py +29 -35
- nuitka/tree/ReformulationContractionExpressions.py +58 -55
- nuitka/tree/ReformulationDictionaryCreation.py +40 -35
- nuitka/tree/ReformulationExecStatements.py +42 -39
- nuitka/tree/ReformulationForLoopStatements.py +30 -34
- nuitka/tree/ReformulationFunctionStatements.py +58 -54
- nuitka/tree/ReformulationImportStatements.py +34 -29
- nuitka/tree/ReformulationLambdaExpressions.py +23 -24
- nuitka/tree/ReformulationMatchStatements.py +244 -92
- nuitka/tree/ReformulationMultidist.py +22 -18
- nuitka/tree/ReformulationNamespacePackages.py +55 -46
- nuitka/tree/ReformulationPrintStatements.py +23 -24
- nuitka/tree/ReformulationSequenceCreation.py +50 -49
- nuitka/tree/ReformulationSubscriptExpressions.py +19 -17
- nuitka/tree/ReformulationTryExceptStatements.py +19 -17
- nuitka/tree/ReformulationTryFinallyStatements.py +34 -17
- nuitka/tree/ReformulationWhileLoopStatements.py +19 -17
- nuitka/tree/ReformulationWithStatements.py +39 -41
- nuitka/tree/ReformulationYieldExpressions.py +21 -19
- nuitka/tree/SourceHandling.py +76 -31
- nuitka/tree/SyntaxErrors.py +19 -17
- nuitka/tree/TreeHelpers.py +33 -20
- nuitka/tree/VariableClosure.py +35 -39
- nuitka/tree/__init__.py +5 -4
- nuitka/utils/AppDirs.py +41 -20
- nuitka/utils/CStrings.py +66 -21
- nuitka/utils/CommandLineOptions.py +84 -19
- nuitka/utils/Distributions.py +445 -54
- nuitka/utils/Download.py +89 -57
- nuitka/utils/Execution.py +73 -34
- nuitka/utils/FileOperations.py +318 -74
- nuitka/utils/Hashing.py +55 -33
- nuitka/utils/Images.py +26 -19
- nuitka/utils/Importing.py +118 -24
- nuitka/utils/InstalledPythons.py +80 -75
- nuitka/utils/InstanceCounters.py +20 -17
- nuitka/utils/Jinja2.py +30 -22
- nuitka/utils/Json.py +19 -17
- nuitka/utils/MacOSApp.py +26 -18
- nuitka/utils/MemoryUsage.py +20 -18
- nuitka/utils/ModuleNames.py +42 -26
- nuitka/utils/ReExecute.py +50 -28
- nuitka/utils/Rest.py +20 -17
- nuitka/utils/SharedLibraries.py +161 -75
- nuitka/utils/Shebang.py +20 -17
- nuitka/utils/Signing.py +63 -18
- nuitka/utils/SlotMetaClasses.py +57 -0
- nuitka/utils/StaticLibraries.py +83 -56
- nuitka/utils/ThreadedExecutor.py +18 -17
- nuitka/utils/Timing.py +22 -20
- nuitka/utils/Utils.py +115 -25
- nuitka/utils/WindowsFileUsage.py +22 -20
- nuitka/utils/WindowsResources.py +25 -18
- nuitka/utils/Yaml.py +62 -24
- nuitka/utils/__init__.py +5 -4
- Nuitka_winsvc-1.8.dist-info/RECORD +0 -905
- nuitka/build/inline_copy/tqdm/tqdm/_tqdm_gui.py +0 -9
- nuitka/build/inline_copy/tqdm/tqdm/gui.py +0 -191
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/LICENSE.txt +0 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/entry_points.txt +0 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/top_level.txt +0 -0
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# integrates with CPython, but also works on its own.
|
|
5
|
-
#
|
|
6
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
# you may not use this file except in compliance with the License.
|
|
8
|
-
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
10
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
12
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
# See the License for the specific language governing permissions and
|
|
16
|
-
# limitations under the License.
|
|
17
|
-
#
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
18
4
|
""" Low level constant code generation.
|
|
19
5
|
|
|
20
6
|
This deals with constants, there creation, there access, and some checks about
|
|
@@ -31,9 +17,16 @@ import os
|
|
|
31
17
|
import sys
|
|
32
18
|
|
|
33
19
|
from nuitka import Options
|
|
20
|
+
from nuitka.__past__ import unicode
|
|
21
|
+
from nuitka.containers.Namedtuples import makeNamedtupleClass
|
|
22
|
+
from nuitka.ModuleRegistry import getRootTopModule
|
|
34
23
|
from nuitka.PythonVersions import python_version
|
|
35
|
-
from nuitka.Serialization import
|
|
36
|
-
from nuitka.utils.
|
|
24
|
+
from nuitka.Serialization import GlobalConstantAccessor
|
|
25
|
+
from nuitka.utils.CStrings import encodePythonStringToC
|
|
26
|
+
from nuitka.utils.Distributions import (
|
|
27
|
+
getDistribution,
|
|
28
|
+
getDistributionTopLevelPackageNames,
|
|
29
|
+
)
|
|
37
30
|
from nuitka.Version import getNuitkaVersionTuple
|
|
38
31
|
|
|
39
32
|
from .CodeHelpers import withObjectCodeTemporaryAssignment
|
|
@@ -98,7 +91,7 @@ def getConstantsDefinitionCode():
|
|
|
98
91
|
"""
|
|
99
92
|
# Somewhat detail rich, pylint: disable=too-many-locals
|
|
100
93
|
|
|
101
|
-
constant_accessor =
|
|
94
|
+
constant_accessor = GlobalConstantAccessor(
|
|
102
95
|
data_filename="__constants.const", top_level_name="global_constants"
|
|
103
96
|
)
|
|
104
97
|
|
|
@@ -141,7 +134,19 @@ def getConstantsDefinitionCode():
|
|
|
141
134
|
sys.base_exec_prefix
|
|
142
135
|
)
|
|
143
136
|
|
|
144
|
-
|
|
137
|
+
runtime_metadata_values = tuple(
|
|
138
|
+
(
|
|
139
|
+
distribution_name,
|
|
140
|
+
(
|
|
141
|
+
metadata_value.module_name,
|
|
142
|
+
metadata_value.metadata,
|
|
143
|
+
metadata_value.entry_points_data,
|
|
144
|
+
),
|
|
145
|
+
)
|
|
146
|
+
for distribution_name, metadata_value in sorted(metadata_values.items())
|
|
147
|
+
)
|
|
148
|
+
|
|
149
|
+
metadata_values_code = constant_accessor.getConstantCode(runtime_metadata_values)
|
|
145
150
|
|
|
146
151
|
lines.insert(
|
|
147
152
|
0,
|
|
@@ -157,6 +162,9 @@ def getConstantsDefinitionCode():
|
|
|
157
162
|
major, minor, micro, is_final, _rc_number = getNuitkaVersionTuple()
|
|
158
163
|
|
|
159
164
|
body = template_constants_reading % {
|
|
165
|
+
"module_name_cstr": encodePythonStringToC(
|
|
166
|
+
getRootTopModule().getFullName().asString().encode("utf8")
|
|
167
|
+
),
|
|
160
168
|
"global_constants_count": constant_accessor.getConstantsCount(),
|
|
161
169
|
"sys_executable": sys_executable,
|
|
162
170
|
"sys_prefix": sys_prefix,
|
|
@@ -173,17 +181,63 @@ def getConstantsDefinitionCode():
|
|
|
173
181
|
return header, body
|
|
174
182
|
|
|
175
183
|
|
|
184
|
+
MetaDataDescription = makeNamedtupleClass(
|
|
185
|
+
"MetaDataDescription",
|
|
186
|
+
(
|
|
187
|
+
"module_name",
|
|
188
|
+
"metadata",
|
|
189
|
+
"entry_points_data",
|
|
190
|
+
"reasons",
|
|
191
|
+
),
|
|
192
|
+
)
|
|
193
|
+
|
|
176
194
|
metadata_values = {}
|
|
177
195
|
|
|
178
196
|
|
|
179
|
-
def addDistributionMetadataValue(
|
|
197
|
+
def addDistributionMetadataValue(distribution_name, distribution, reason):
|
|
198
|
+
assert type(distribution_name) in (str, unicode), distribution_name
|
|
199
|
+
|
|
180
200
|
# Extract what we need to from the distribution object.
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
201
|
+
if distribution_name not in metadata_values:
|
|
202
|
+
# The user doesn't have this handy.
|
|
203
|
+
if distribution is None:
|
|
204
|
+
distribution = getDistribution(distribution_name)
|
|
205
|
+
|
|
206
|
+
metadata = str(
|
|
207
|
+
distribution.read_text("METADATA")
|
|
208
|
+
or distribution.read_text("PKG-INFO")
|
|
209
|
+
or ""
|
|
210
|
+
)
|
|
184
211
|
|
|
185
|
-
|
|
212
|
+
entry_points_data = str(distribution.read_text("entry_points.txt") or "")
|
|
213
|
+
|
|
214
|
+
module_name = getDistributionTopLevelPackageNames(distribution)[0]
|
|
215
|
+
|
|
216
|
+
metadata_values[distribution_name] = MetaDataDescription(
|
|
217
|
+
module_name=module_name,
|
|
218
|
+
metadata=metadata,
|
|
219
|
+
entry_points_data=entry_points_data,
|
|
220
|
+
reasons=[reason],
|
|
221
|
+
)
|
|
222
|
+
else:
|
|
223
|
+
metadata_values[distribution_name].reasons.append(reason)
|
|
186
224
|
|
|
187
|
-
package_name = getDistributionTopLevelPackageNames(distribution)[0]
|
|
188
225
|
|
|
189
|
-
|
|
226
|
+
def getDistributionMetadataValues():
|
|
227
|
+
return sorted(metadata_values.items())
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
231
|
+
# integrates with CPython, but also works on its own.
|
|
232
|
+
#
|
|
233
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
234
|
+
# you may not use this file except in compliance with the License.
|
|
235
|
+
# You may obtain a copy of the License at
|
|
236
|
+
#
|
|
237
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
238
|
+
#
|
|
239
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
240
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
241
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
242
|
+
# See the License for the specific language governing permissions and
|
|
243
|
+
# 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
|
""" Code generation contexts.
|
|
19
5
|
|
|
20
6
|
"""
|
|
@@ -24,7 +10,7 @@ from abc import abstractmethod
|
|
|
24
10
|
from contextlib import contextmanager
|
|
25
11
|
|
|
26
12
|
from nuitka import Options
|
|
27
|
-
from nuitka.__past__ import
|
|
13
|
+
from nuitka.__past__ import iterItems
|
|
28
14
|
from nuitka.Constants import isMutable
|
|
29
15
|
from nuitka.PythonVersions import python_version
|
|
30
16
|
from nuitka.Serialization import ConstantAccessor
|
|
@@ -34,6 +20,7 @@ from nuitka.utils.InstanceCounters import (
|
|
|
34
20
|
counted_init,
|
|
35
21
|
isCountingInstances,
|
|
36
22
|
)
|
|
23
|
+
from nuitka.utils.SlotMetaClasses import getMetaClassBase
|
|
37
24
|
|
|
38
25
|
from .VariableDeclarations import VariableDeclaration, VariableStorage
|
|
39
26
|
|
|
@@ -44,6 +31,9 @@ class TempMixin(object):
|
|
|
44
31
|
# Lots of details, everything gets to store bits here, to indicate
|
|
45
32
|
# code generation states, and there are many, pylint: disable=too-many-instance-attributes
|
|
46
33
|
|
|
34
|
+
# Mixins are not allowed to specify slots, pylint: disable=assigning-non-slot
|
|
35
|
+
__slots__ = ()
|
|
36
|
+
|
|
47
37
|
def __init__(self):
|
|
48
38
|
self.tmp_names = {}
|
|
49
39
|
|
|
@@ -225,12 +215,12 @@ class TempMixin(object):
|
|
|
225
215
|
else:
|
|
226
216
|
preserver_obj_init = None
|
|
227
217
|
|
|
228
|
-
self.preserver_variable_declaration[
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
218
|
+
self.preserver_variable_declaration[preserver_id] = (
|
|
219
|
+
self.variable_storage.addVariableDeclarationTop(
|
|
220
|
+
"struct Nuitka_ExceptionStackItem",
|
|
221
|
+
"exception_preserved_%d" % preserver_id,
|
|
222
|
+
preserver_obj_init,
|
|
223
|
+
)
|
|
234
224
|
)
|
|
235
225
|
|
|
236
226
|
return self.preserver_variable_declaration[preserver_id]
|
|
@@ -301,6 +291,9 @@ CodeObjectHandle = collections.namedtuple(
|
|
|
301
291
|
|
|
302
292
|
|
|
303
293
|
class CodeObjectsMixin(object):
|
|
294
|
+
# Mixins are not allowed to specify slots, pylint: disable=assigning-non-slot
|
|
295
|
+
__slots__ = ()
|
|
296
|
+
|
|
304
297
|
def __init__(self):
|
|
305
298
|
# Code objects needed made unique by a key.
|
|
306
299
|
self.code_objects = {}
|
|
@@ -336,7 +329,9 @@ class CodeObjectsMixin(object):
|
|
|
336
329
|
return getStringHash("-".join(str(s) for s in key))
|
|
337
330
|
|
|
338
331
|
|
|
339
|
-
class PythonContextBase(getMetaClassBase("Context")):
|
|
332
|
+
class PythonContextBase(getMetaClassBase("Context", require_slots=True)):
|
|
333
|
+
__slots__ = ("source_ref", "current_source_ref")
|
|
334
|
+
|
|
340
335
|
@counted_init
|
|
341
336
|
def __init__(self):
|
|
342
337
|
self.source_ref = None
|
|
@@ -370,6 +365,10 @@ class PythonContextBase(getMetaClassBase("Context")):
|
|
|
370
365
|
def getConstantCode(self, constant, deep_check=False):
|
|
371
366
|
pass
|
|
372
367
|
|
|
368
|
+
@abstractmethod
|
|
369
|
+
def addModuleInitCode(self, code):
|
|
370
|
+
pass
|
|
371
|
+
|
|
373
372
|
@abstractmethod
|
|
374
373
|
def getModuleCodeName(self):
|
|
375
374
|
pass
|
|
@@ -522,6 +521,8 @@ class PythonContextBase(getMetaClassBase("Context")):
|
|
|
522
521
|
class PythonChildContextBase(PythonContextBase):
|
|
523
522
|
# Base classes can be abstract, pylint: disable=I0021,abstract-method
|
|
524
523
|
|
|
524
|
+
__slots__ = ("parent",)
|
|
525
|
+
|
|
525
526
|
def __init__(self, parent):
|
|
526
527
|
PythonContextBase.__init__(self)
|
|
527
528
|
|
|
@@ -530,6 +531,9 @@ class PythonChildContextBase(PythonContextBase):
|
|
|
530
531
|
def getConstantCode(self, constant, deep_check=False):
|
|
531
532
|
return self.parent.getConstantCode(constant, deep_check=deep_check)
|
|
532
533
|
|
|
534
|
+
def addModuleInitCode(self, code):
|
|
535
|
+
self.parent.addModuleInitCode(code)
|
|
536
|
+
|
|
533
537
|
def getModuleCodeName(self):
|
|
534
538
|
return self.parent.getModuleCodeName()
|
|
535
539
|
|
|
@@ -568,6 +572,9 @@ class PythonChildContextBase(PythonContextBase):
|
|
|
568
572
|
|
|
569
573
|
|
|
570
574
|
class FrameDeclarationsMixin(object):
|
|
575
|
+
# Mixins are not allowed to specify slots, pylint: disable=assigning-non-slot
|
|
576
|
+
__slots__ = ()
|
|
577
|
+
|
|
571
578
|
def __init__(self):
|
|
572
579
|
# Frame is active or not, default not.
|
|
573
580
|
self.frame_variables_stack = [""]
|
|
@@ -699,6 +706,9 @@ class FrameDeclarationsMixin(object):
|
|
|
699
706
|
|
|
700
707
|
|
|
701
708
|
class ReturnReleaseModeMixin(object):
|
|
709
|
+
# Mixins are not allowed to specify slots, pylint: disable=assigning-non-slot
|
|
710
|
+
__slots__ = ()
|
|
711
|
+
|
|
702
712
|
def __init__(self):
|
|
703
713
|
self.return_release_mode = False
|
|
704
714
|
|
|
@@ -722,6 +732,9 @@ class ReturnReleaseModeMixin(object):
|
|
|
722
732
|
|
|
723
733
|
|
|
724
734
|
class ReturnValueNameMixin(object):
|
|
735
|
+
# Mixins are not allowed to specify slots, pylint: disable=assigning-non-slot
|
|
736
|
+
__slots__ = ()
|
|
737
|
+
|
|
725
738
|
def __init__(self):
|
|
726
739
|
self.return_name = None
|
|
727
740
|
|
|
@@ -738,9 +751,9 @@ class ReturnValueNameMixin(object):
|
|
|
738
751
|
|
|
739
752
|
|
|
740
753
|
class PythonModuleContext(
|
|
754
|
+
FrameDeclarationsMixin,
|
|
741
755
|
TempMixin,
|
|
742
756
|
CodeObjectsMixin,
|
|
743
|
-
FrameDeclarationsMixin,
|
|
744
757
|
ReturnReleaseModeMixin,
|
|
745
758
|
ReturnValueNameMixin,
|
|
746
759
|
PythonContextBase,
|
|
@@ -748,6 +761,45 @@ class PythonModuleContext(
|
|
|
748
761
|
# Plenty of attributes, because it's storing so many different things.
|
|
749
762
|
# pylint: disable=too-many-instance-attributes
|
|
750
763
|
|
|
764
|
+
__slots__ = (
|
|
765
|
+
"module",
|
|
766
|
+
"name",
|
|
767
|
+
"code_name",
|
|
768
|
+
"declaration_codes",
|
|
769
|
+
"helper_codes",
|
|
770
|
+
"frame_handle",
|
|
771
|
+
"variable_storage",
|
|
772
|
+
"function_table_entries",
|
|
773
|
+
"constant_accessor",
|
|
774
|
+
"module_init_codes",
|
|
775
|
+
# FrameDeclarationsMixin
|
|
776
|
+
"frame_variables_stack",
|
|
777
|
+
"frame_type_descriptions",
|
|
778
|
+
"frame_variable_types",
|
|
779
|
+
"frames_used",
|
|
780
|
+
"frame_stack",
|
|
781
|
+
"locals_dict_names",
|
|
782
|
+
# TempMixin:
|
|
783
|
+
"tmp_names",
|
|
784
|
+
"labels",
|
|
785
|
+
"exception_escape",
|
|
786
|
+
"loop_continue",
|
|
787
|
+
"loop_break",
|
|
788
|
+
"true_target",
|
|
789
|
+
"false_target",
|
|
790
|
+
"keeper_variable_count",
|
|
791
|
+
"exception_keepers",
|
|
792
|
+
"preserver_variable_declaration",
|
|
793
|
+
"cleanup_names",
|
|
794
|
+
# CodeObjectsMixin
|
|
795
|
+
"code_objects",
|
|
796
|
+
# ReturnReleaseModeMixin
|
|
797
|
+
"return_release_mode",
|
|
798
|
+
"return_exit",
|
|
799
|
+
# ReturnValueNameMixin
|
|
800
|
+
"return_name",
|
|
801
|
+
)
|
|
802
|
+
|
|
751
803
|
def __init__(self, module, data_filename):
|
|
752
804
|
PythonContextBase.__init__(self)
|
|
753
805
|
|
|
@@ -776,6 +828,8 @@ class PythonModuleContext(
|
|
|
776
828
|
top_level_name="mod_consts", data_filename=data_filename
|
|
777
829
|
)
|
|
778
830
|
|
|
831
|
+
self.module_init_codes = []
|
|
832
|
+
|
|
779
833
|
def __repr__(self):
|
|
780
834
|
return "<PythonModuleContext instance for module %s>" % self.name
|
|
781
835
|
|
|
@@ -835,6 +889,12 @@ class PythonModuleContext(
|
|
|
835
889
|
def getConstantsCount(self):
|
|
836
890
|
return self.constant_accessor.getConstantsCount()
|
|
837
891
|
|
|
892
|
+
def getModuleInitCodes(self):
|
|
893
|
+
return self.module_init_codes
|
|
894
|
+
|
|
895
|
+
def addModuleInitCode(self, code):
|
|
896
|
+
self.module_init_codes.append(code)
|
|
897
|
+
|
|
838
898
|
def addFunctionCreationInfo(self, creation_info):
|
|
839
899
|
self.function_table_entries.append(creation_info)
|
|
840
900
|
|
|
@@ -857,6 +917,36 @@ class PythonFunctionContext(
|
|
|
857
917
|
ReturnValueNameMixin,
|
|
858
918
|
PythonChildContextBase,
|
|
859
919
|
):
|
|
920
|
+
__slots__ = (
|
|
921
|
+
"function",
|
|
922
|
+
"frame_handle",
|
|
923
|
+
"variable_storage",
|
|
924
|
+
# FrameDeclarationsMixin
|
|
925
|
+
"frame_variables_stack",
|
|
926
|
+
"frame_type_descriptions",
|
|
927
|
+
"frame_variable_types",
|
|
928
|
+
"frames_used",
|
|
929
|
+
"frame_stack",
|
|
930
|
+
"locals_dict_names",
|
|
931
|
+
# TempMixin:
|
|
932
|
+
"tmp_names",
|
|
933
|
+
"labels",
|
|
934
|
+
"exception_escape",
|
|
935
|
+
"loop_continue",
|
|
936
|
+
"loop_break",
|
|
937
|
+
"true_target",
|
|
938
|
+
"false_target",
|
|
939
|
+
"keeper_variable_count",
|
|
940
|
+
"exception_keepers",
|
|
941
|
+
"preserver_variable_declaration",
|
|
942
|
+
"cleanup_names",
|
|
943
|
+
# ReturnReleaseModeMixin
|
|
944
|
+
"return_release_mode",
|
|
945
|
+
"return_exit",
|
|
946
|
+
# ReturnValueNameMixin
|
|
947
|
+
"return_name",
|
|
948
|
+
)
|
|
949
|
+
|
|
860
950
|
def __init__(self, parent, function):
|
|
861
951
|
PythonChildContextBase.__init__(self, parent=parent)
|
|
862
952
|
|
|
@@ -902,6 +992,8 @@ class PythonFunctionContext(
|
|
|
902
992
|
|
|
903
993
|
|
|
904
994
|
class PythonFunctionDirectContext(PythonFunctionContext):
|
|
995
|
+
__slots__ = ()
|
|
996
|
+
|
|
905
997
|
@staticmethod
|
|
906
998
|
def getContextObjectName():
|
|
907
999
|
return None
|
|
@@ -916,6 +1008,8 @@ class PythonFunctionDirectContext(PythonFunctionContext):
|
|
|
916
1008
|
|
|
917
1009
|
|
|
918
1010
|
class PythonGeneratorObjectContext(PythonFunctionContext):
|
|
1011
|
+
__slots__ = ()
|
|
1012
|
+
|
|
919
1013
|
def _makeVariableStorage(self):
|
|
920
1014
|
return VariableStorage(heap_name="%s_heap" % self.getContextObjectName())
|
|
921
1015
|
|
|
@@ -939,18 +1033,24 @@ class PythonGeneratorObjectContext(PythonFunctionContext):
|
|
|
939
1033
|
|
|
940
1034
|
|
|
941
1035
|
class PythonCoroutineObjectContext(PythonGeneratorObjectContext):
|
|
1036
|
+
__slots__ = ()
|
|
1037
|
+
|
|
942
1038
|
@staticmethod
|
|
943
1039
|
def getContextObjectName():
|
|
944
1040
|
return "coroutine"
|
|
945
1041
|
|
|
946
1042
|
|
|
947
1043
|
class PythonAsyncgenObjectContext(PythonGeneratorObjectContext):
|
|
1044
|
+
__slots__ = ()
|
|
1045
|
+
|
|
948
1046
|
@staticmethod
|
|
949
1047
|
def getContextObjectName():
|
|
950
1048
|
return "asyncgen"
|
|
951
1049
|
|
|
952
1050
|
|
|
953
1051
|
class PythonFunctionCreatedContext(PythonFunctionContext):
|
|
1052
|
+
__slots__ = ()
|
|
1053
|
+
|
|
954
1054
|
@staticmethod
|
|
955
1055
|
def getContextObjectName():
|
|
956
1056
|
return None
|
|
@@ -967,6 +1067,16 @@ class PythonFunctionCreatedContext(PythonFunctionContext):
|
|
|
967
1067
|
class PythonFunctionOutlineContext(
|
|
968
1068
|
ReturnReleaseModeMixin, ReturnValueNameMixin, PythonChildContextBase
|
|
969
1069
|
):
|
|
1070
|
+
__slots__ = (
|
|
1071
|
+
"outline",
|
|
1072
|
+
"variable_storage",
|
|
1073
|
+
# ReturnReleaseModeMixin
|
|
1074
|
+
"return_release_mode",
|
|
1075
|
+
"return_exit",
|
|
1076
|
+
# ReturnValueNameMixin
|
|
1077
|
+
"return_name",
|
|
1078
|
+
)
|
|
1079
|
+
|
|
970
1080
|
def __init__(self, parent, outline):
|
|
971
1081
|
PythonChildContextBase.__init__(self, parent=parent)
|
|
972
1082
|
|
|
@@ -1095,3 +1205,19 @@ class PythonFunctionOutlineContext(
|
|
|
1095
1205
|
|
|
1096
1206
|
def getContextObjectName(self):
|
|
1097
1207
|
return self.parent.getContextObjectName()
|
|
1208
|
+
|
|
1209
|
+
|
|
1210
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
1211
|
+
# integrates with CPython, but also works on its own.
|
|
1212
|
+
#
|
|
1213
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
1214
|
+
# you may not use this file except in compliance with the License.
|
|
1215
|
+
# You may obtain a copy of the License at
|
|
1216
|
+
#
|
|
1217
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
1218
|
+
#
|
|
1219
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
1220
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
1221
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1222
|
+
# See the License for the specific language governing permissions and
|
|
1223
|
+
# 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
|
""" Code to generate and interact with compiled coroutine objects.
|
|
19
5
|
|
|
20
6
|
"""
|
|
@@ -254,3 +240,19 @@ def generateAsyncNextCode(to_name, expression, emit, context):
|
|
|
254
240
|
)
|
|
255
241
|
|
|
256
242
|
context.addCleanupTempName(result_name)
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
246
|
+
# integrates with CPython, but also works on its own.
|
|
247
|
+
#
|
|
248
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
249
|
+
# you may not use this file except in compliance with the License.
|
|
250
|
+
# You may obtain a copy of the License at
|
|
251
|
+
#
|
|
252
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
253
|
+
#
|
|
254
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
255
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
256
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
257
|
+
# See the License for the specific language governing permissions and
|
|
258
|
+
# 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
|
""" Code generation for ctypes module stuff. """
|
|
19
5
|
|
|
20
6
|
from .BuiltinCodes import getBuiltinCallViaSpecCode
|
|
@@ -42,3 +28,19 @@ def generateCtypesCdllCallCode(to_name, expression, emit, context):
|
|
|
42
28
|
emit=emit,
|
|
43
29
|
context=context,
|
|
44
30
|
)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
34
|
+
# integrates with CPython, but also works on its own.
|
|
35
|
+
#
|
|
36
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
37
|
+
# you may not use this file except in compliance with the License.
|
|
38
|
+
# You may obtain a copy of the License at
|
|
39
|
+
#
|
|
40
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
41
|
+
#
|
|
42
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
43
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
44
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
45
|
+
# See the License for the specific language governing permissions and
|
|
46
|
+
# 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
|
""" Code generation for dictionaries.
|
|
19
5
|
|
|
20
6
|
"""
|
|
@@ -279,13 +265,14 @@ def generateDictOperationGet2Code(to_name, expression, emit, context):
|
|
|
279
265
|
renderTemplateFromString(
|
|
280
266
|
r"""
|
|
281
267
|
{% if expression.known_hashable_key %}
|
|
282
|
-
%(value_name)s =
|
|
268
|
+
%(value_name)s = DICT_GET_ITEM1(tstate, %(dict_name)s, %(key_name)s);
|
|
283
269
|
if (%(value_name)s == NULL) {
|
|
284
270
|
{% else %}
|
|
285
|
-
%(value_name)s =
|
|
271
|
+
%(value_name)s = DICT_GET_ITEM_WITH_HASH_ERROR1(tstate, %(dict_name)s, %(key_name)s);
|
|
286
272
|
if (%(value_name)s == NULL && !HAS_ERROR_OCCURRED(tstate)) {
|
|
287
273
|
{% endif %}
|
|
288
274
|
%(value_name)s = Py_None;
|
|
275
|
+
Py_INCREF_IMMORTAL(%(value_name)s);
|
|
289
276
|
}
|
|
290
277
|
""",
|
|
291
278
|
expression=expression,
|
|
@@ -305,15 +292,14 @@ if (%(value_name)s == NULL && !HAS_ERROR_OCCURRED(tstate)) {
|
|
|
305
292
|
context=context,
|
|
306
293
|
)
|
|
307
294
|
|
|
295
|
+
context.addCleanupTempName(value_name)
|
|
296
|
+
|
|
308
297
|
|
|
309
298
|
def generateDictOperationGet3Code(to_name, expression, emit, context):
|
|
310
299
|
dict_name, key_name, default_name = generateChildExpressionsCode(
|
|
311
300
|
expression=expression, emit=emit, context=context
|
|
312
301
|
)
|
|
313
302
|
|
|
314
|
-
# TODO: This code could actually make it dependent on default taking
|
|
315
|
-
# a reference or not, and then use DICT_GET_ITEM0/DICT_GET_ITEM_WITH_HASH_ERROR0 if not.
|
|
316
|
-
|
|
317
303
|
with withObjectCodeTemporaryAssignment(
|
|
318
304
|
to_name, "dict_value", expression, emit, context
|
|
319
305
|
) as value_name:
|
|
@@ -555,7 +541,7 @@ def generateDictOperationCopyCode(to_name, expression, emit, context):
|
|
|
555
541
|
generateCAPIObjectCode(
|
|
556
542
|
to_name=to_name,
|
|
557
543
|
capi="DICT_COPY",
|
|
558
|
-
tstate=
|
|
544
|
+
tstate=True,
|
|
559
545
|
arg_desc=(("dict_arg", expression.subnode_dict_arg),),
|
|
560
546
|
may_raise=False,
|
|
561
547
|
conversion_check=decideConversionCheckNeeded(to_name, expression),
|
|
@@ -914,3 +900,19 @@ def generateDictOperationRemoveCode(statement, emit, context):
|
|
|
914
900
|
emit=emit,
|
|
915
901
|
context=context,
|
|
916
902
|
)
|
|
903
|
+
|
|
904
|
+
|
|
905
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
906
|
+
# integrates with CPython, but also works on its own.
|
|
907
|
+
#
|
|
908
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
909
|
+
# you may not use this file except in compliance with the License.
|
|
910
|
+
# You may obtain a copy of the License at
|
|
911
|
+
#
|
|
912
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
913
|
+
#
|
|
914
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
915
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
916
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
917
|
+
# See the License for the specific language governing permissions and
|
|
918
|
+
# limitations under the License.
|