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,5 @@
|
|
|
1
|
-
// Copyright
|
|
2
|
-
|
|
3
|
-
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
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
|
+
|
|
18
3
|
#ifndef __NUITKA_PRELUDE_H__
|
|
19
4
|
#define __NUITKA_PRELUDE_H__
|
|
20
5
|
|
|
@@ -42,9 +27,10 @@
|
|
|
42
27
|
|
|
43
28
|
/* This is needed or else we can't create modules name "proc" or "func". For
|
|
44
29
|
* Python3, the name collision can't happen, so we can limit it to Python2.
|
|
30
|
+
spell-checker: ignore initproc,initfunc
|
|
45
31
|
*/
|
|
46
|
-
#define initproc
|
|
47
|
-
#define initfunc
|
|
32
|
+
#define initproc python_init_proc
|
|
33
|
+
#define initfunc python_init_func
|
|
48
34
|
#define initstate python_initstate
|
|
49
35
|
|
|
50
36
|
// Python 3.11 headers give these warnings
|
|
@@ -55,20 +41,30 @@
|
|
|
55
41
|
#endif
|
|
56
42
|
|
|
57
43
|
/* Include the relevant Python C-API header files. */
|
|
58
|
-
#include
|
|
59
|
-
#include
|
|
60
|
-
#include
|
|
61
|
-
#include
|
|
62
|
-
#include
|
|
63
|
-
#include
|
|
44
|
+
#include <Python.h>
|
|
45
|
+
#include <frameobject.h>
|
|
46
|
+
#include <marshal.h>
|
|
47
|
+
#include <methodobject.h>
|
|
48
|
+
#include <osdefs.h>
|
|
49
|
+
#include <structseq.h>
|
|
64
50
|
|
|
65
51
|
#if PYTHON_VERSION < 0x3a0
|
|
66
52
|
#include "pydebug.h"
|
|
67
53
|
#endif
|
|
68
54
|
|
|
55
|
+
/* A way to not give warnings about things that are declared, but might not
|
|
56
|
+
* be used like in-line helper functions in headers or static per module
|
|
57
|
+
* variables from headers.
|
|
58
|
+
*/
|
|
59
|
+
#ifdef __GNUC__
|
|
60
|
+
#define NUITKA_MAY_BE_UNUSED __attribute__((__unused__))
|
|
61
|
+
#else
|
|
62
|
+
#define NUITKA_MAY_BE_UNUSED
|
|
63
|
+
#endif
|
|
64
|
+
|
|
69
65
|
// We are not following the 3.10 change to an inline function. At least
|
|
70
66
|
// not immediately.
|
|
71
|
-
#if PYTHON_VERSION >= 0x3a0
|
|
67
|
+
#if PYTHON_VERSION >= 0x3a0 && PYTHON_VERSION < 0x3c0
|
|
72
68
|
#undef Py_REFCNT
|
|
73
69
|
#define Py_REFCNT(ob) (_PyObject_CAST(ob)->ob_refcnt)
|
|
74
70
|
#endif
|
|
@@ -104,6 +100,37 @@
|
|
|
104
100
|
|
|
105
101
|
extern _PyRuntimeState _PyRuntime;
|
|
106
102
|
#else
|
|
103
|
+
|
|
104
|
+
#if PYTHON_VERSION >= 0x3c0
|
|
105
|
+
#include "internal/pycore_runtime.h"
|
|
106
|
+
#include "internal/pycore_typevarobject.h"
|
|
107
|
+
|
|
108
|
+
static inline size_t Nuitka_static_builtin_index_get(PyTypeObject *self) { return (size_t)self->tp_subclasses - 1; }
|
|
109
|
+
|
|
110
|
+
// Changed internal type access for Python3.13
|
|
111
|
+
#if PYTHON_VERSION < 0x3d0
|
|
112
|
+
#define managed_static_type_state static_builtin_state
|
|
113
|
+
|
|
114
|
+
static inline managed_static_type_state *Nuitka_static_builtin_state_get(PyInterpreterState *interp,
|
|
115
|
+
PyTypeObject *self) {
|
|
116
|
+
return &(interp->types.builtins[Nuitka_static_builtin_index_get(self)]);
|
|
117
|
+
}
|
|
118
|
+
#else
|
|
119
|
+
static inline managed_static_type_state *Nuitka_static_builtin_state_get(PyInterpreterState *interp,
|
|
120
|
+
PyTypeObject *self) {
|
|
121
|
+
return &(interp->types.builtins.initialized[Nuitka_static_builtin_index_get(self)]);
|
|
122
|
+
}
|
|
123
|
+
#endif
|
|
124
|
+
|
|
125
|
+
NUITKA_MAY_BE_UNUSED static inline managed_static_type_state *Nuitka_PyStaticType_GetState(PyInterpreterState *interp,
|
|
126
|
+
PyTypeObject *self) {
|
|
127
|
+
assert(self->tp_flags & _Py_TPFLAGS_STATIC_BUILTIN);
|
|
128
|
+
return Nuitka_static_builtin_state_get(interp, self);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
#define _PyStaticType_GetState(interp, self) Nuitka_PyStaticType_GetState(interp, self)
|
|
132
|
+
#endif
|
|
133
|
+
|
|
107
134
|
#include "internal/pycore_pystate.h"
|
|
108
135
|
#endif
|
|
109
136
|
|
|
@@ -126,17 +153,26 @@ extern _PyRuntimeState _PyRuntime;
|
|
|
126
153
|
#endif
|
|
127
154
|
|
|
128
155
|
#if PYTHON_VERSION >= 0x3b0
|
|
156
|
+
#include <internal/pycore_dict.h>
|
|
129
157
|
#include <internal/pycore_frame.h>
|
|
130
158
|
#include <internal/pycore_gc.h>
|
|
131
159
|
#endif
|
|
132
160
|
|
|
133
161
|
// Uncompiled generator integration requires these.
|
|
134
162
|
#if PYTHON_VERSION >= 0x3b0
|
|
163
|
+
#if PYTHON_VERSION >= 0x3d0
|
|
164
|
+
#include <opcode_ids.h>
|
|
165
|
+
#else
|
|
135
166
|
#include <internal/pycore_opcode.h>
|
|
167
|
+
#endif
|
|
136
168
|
// Clashes with our helper names.
|
|
137
169
|
#undef CALL_FUNCTION
|
|
138
170
|
#endif
|
|
139
171
|
|
|
172
|
+
#if PYTHON_VERSION >= 0x3c0
|
|
173
|
+
#include <cpython/code.h>
|
|
174
|
+
#endif
|
|
175
|
+
|
|
140
176
|
#if !defined(PY_NOGIL) && PYTHON_VERSION < 0x3c0
|
|
141
177
|
#undef PyThreadState_GET
|
|
142
178
|
#define _PyThreadState_Current _PyRuntime.gilstate.tstate_current
|
|
@@ -150,6 +186,13 @@ extern _PyRuntimeState _PyRuntime;
|
|
|
150
186
|
#include <objimpl.h>
|
|
151
187
|
#endif
|
|
152
188
|
|
|
189
|
+
#if PYTHON_VERSION >= 0x3d0
|
|
190
|
+
#include <internal/pycore_freelist.h>
|
|
191
|
+
#include <internal/pycore_intrinsics.h>
|
|
192
|
+
#include <internal/pycore_modsupport.h>
|
|
193
|
+
#include <internal/pycore_setobject.h>
|
|
194
|
+
#endif
|
|
195
|
+
|
|
153
196
|
#undef Py_BUILD_CORE
|
|
154
197
|
|
|
155
198
|
#endif
|
|
@@ -188,16 +231,6 @@ extern _PyRuntimeState _PyRuntime;
|
|
|
188
231
|
|
|
189
232
|
#define NUITKA_NO_RETURN HEDLEY_NO_RETURN
|
|
190
233
|
|
|
191
|
-
/* A way to not give warnings about things that are declared, but might not
|
|
192
|
-
* be used like in-line helper functions in headers or static per module
|
|
193
|
-
* variables from headers.
|
|
194
|
-
*/
|
|
195
|
-
#ifdef __GNUC__
|
|
196
|
-
#define NUITKA_MAY_BE_UNUSED __attribute__((__unused__))
|
|
197
|
-
#else
|
|
198
|
-
#define NUITKA_MAY_BE_UNUSED
|
|
199
|
-
#endif
|
|
200
|
-
|
|
201
234
|
/* This is used to indicate code control flows we know cannot happen. */
|
|
202
235
|
#ifndef __NUITKA_NO_ASSERT__
|
|
203
236
|
#define NUITKA_CANNOT_GET_HERE(NAME) \
|
|
@@ -219,11 +252,6 @@ extern _PyRuntimeState _PyRuntime;
|
|
|
219
252
|
#define NUITKA_DYNAMIC_ARRAY_DECL(VARIABLE_NAME, ELEMENT_TYPE, COUNT) ELEMENT_TYPE VARIABLE_NAME[COUNT];
|
|
220
253
|
#endif
|
|
221
254
|
|
|
222
|
-
// Stringizing, to make strings out of defines use XSTRINGIZED(SOME_DEFINE) needs
|
|
223
|
-
// to level of defines to work.
|
|
224
|
-
#define _STRINGIZED(ARG) #ARG
|
|
225
|
-
#define STRINGIZED(ARG) _STRINGIZED(ARG)
|
|
226
|
-
|
|
227
255
|
/* Python3 removed PyInt instead of renaming PyLong, and PyObject_Str instead
|
|
228
256
|
* of renaming PyObject_Unicode. Define this to be easily portable.
|
|
229
257
|
*/
|
|
@@ -246,6 +274,9 @@ extern _PyRuntimeState _PyRuntime;
|
|
|
246
274
|
#define Nuitka_String_AsString_Unchecked PyString_AS_STRING
|
|
247
275
|
#define Nuitka_String_Check PyString_Check
|
|
248
276
|
#define Nuitka_String_CheckExact PyString_CheckExact
|
|
277
|
+
NUITKA_MAY_BE_UNUSED static inline bool Nuitka_StringOrUnicode_CheckExact(PyObject *value) {
|
|
278
|
+
return PyString_CheckExact(value) || PyUnicode_CheckExact(value);
|
|
279
|
+
}
|
|
249
280
|
#define Nuitka_StringObject PyStringObject
|
|
250
281
|
#define Nuitka_String_FromString PyString_FromString
|
|
251
282
|
#define Nuitka_String_FromStringAndSize PyString_FromStringAndSize
|
|
@@ -259,10 +290,18 @@ extern _PyRuntimeState _PyRuntime;
|
|
|
259
290
|
#define PyUnicode_UTF8(op) \
|
|
260
291
|
(assert(PyUnicode_IS_READY(op)), \
|
|
261
292
|
PyUnicode_IS_COMPACT_ASCII(op) ? ((char *)((PyASCIIObject *)(op) + 1)) : _PyUnicode_UTF8(op))
|
|
293
|
+
#ifdef __NUITKA_NO_ASSERT__
|
|
262
294
|
#define Nuitka_String_AsString_Unchecked PyUnicode_UTF8
|
|
263
|
-
|
|
295
|
+
#else
|
|
296
|
+
NUITKA_MAY_BE_UNUSED static char const *Nuitka_String_AsString_Unchecked(PyObject *object) {
|
|
297
|
+
char const *result = PyUnicode_UTF8(object);
|
|
298
|
+
assert(result != NULL);
|
|
299
|
+
return result;
|
|
300
|
+
}
|
|
301
|
+
#endif
|
|
264
302
|
#define Nuitka_String_Check PyUnicode_Check
|
|
265
303
|
#define Nuitka_String_CheckExact PyUnicode_CheckExact
|
|
304
|
+
#define Nuitka_StringOrUnicode_CheckExact PyUnicode_CheckExact
|
|
266
305
|
#define Nuitka_StringObject PyUnicodeObject
|
|
267
306
|
#define Nuitka_String_FromString PyUnicode_FromString
|
|
268
307
|
#define Nuitka_String_FromStringAndSize PyUnicode_FromStringAndSize
|
|
@@ -372,9 +411,9 @@ extern PyThreadState *_PyThreadState_Current;
|
|
|
372
411
|
#endif
|
|
373
412
|
|
|
374
413
|
#if PYTHON_VERSION < 0x300
|
|
375
|
-
#define
|
|
414
|
+
#define TP_RICHCOMPARE(t) (PyType_HasFeature((t), Py_TPFLAGS_HAVE_RICHCOMPARE) ? (t)->tp_richcompare : NULL)
|
|
376
415
|
#else
|
|
377
|
-
#define
|
|
416
|
+
#define TP_RICHCOMPARE(t) ((t)->tp_richcompare)
|
|
378
417
|
#endif
|
|
379
418
|
|
|
380
419
|
// For older Python we need to define this ourselves.
|
|
@@ -398,6 +437,21 @@ extern PyThreadState *_PyThreadState_Current;
|
|
|
398
437
|
#define PyFloat_SET_DOUBLE(op, value) ((PyFloatObject *)(op))->ob_fval = value
|
|
399
438
|
#endif
|
|
400
439
|
|
|
440
|
+
#ifndef Py_NewRef
|
|
441
|
+
static inline PyObject *_Py_NewRef(PyObject *obj) {
|
|
442
|
+
Py_INCREF(obj);
|
|
443
|
+
return obj;
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
static inline PyObject *_Py_XNewRef(PyObject *obj) {
|
|
447
|
+
Py_XINCREF(obj);
|
|
448
|
+
return obj;
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
#define Py_NewRef(obj) _Py_NewRef((PyObject *)(obj))
|
|
452
|
+
#define Py_XNewRef(obj) _Py_XNewRef((PyObject *)(obj))
|
|
453
|
+
#endif
|
|
454
|
+
|
|
401
455
|
// For older Python, we don't have a feature "CLASS" anymore, that's implied now.
|
|
402
456
|
#if PYTHON_VERSION < 0x300
|
|
403
457
|
#define NuitkaType_HasFeatureClass(descr) (PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS))
|
|
@@ -433,7 +487,7 @@ typedef long nuitka_digit;
|
|
|
433
487
|
#include "nuitka/compiled_function.h"
|
|
434
488
|
|
|
435
489
|
/* Sentinel PyObject to be used for all our call iterator endings. */
|
|
436
|
-
extern PyObject *
|
|
490
|
+
extern PyObject *Nuitka_sentinel_value;
|
|
437
491
|
|
|
438
492
|
/* Value to use for __compiled__ value of all modules. */
|
|
439
493
|
extern PyObject *Nuitka_dunder_compiled_value;
|
|
@@ -453,11 +507,13 @@ extern PyObject *Nuitka_dunder_compiled_value;
|
|
|
453
507
|
#include "nuitka/filesystem_paths.h"
|
|
454
508
|
#include "nuitka/safe_string_ops.h"
|
|
455
509
|
|
|
510
|
+
#include "nuitka/jit_sources.h"
|
|
511
|
+
|
|
456
512
|
#if _NUITKA_EXPERIMENTAL_WRITEABLE_CONSTANTS
|
|
457
513
|
#include "nuitka_data_decoder.h"
|
|
458
514
|
#else
|
|
459
515
|
#define DECODE(x) assert(x)
|
|
460
|
-
#define
|
|
516
|
+
#define UN_TRANSLATE(x) (x)
|
|
461
517
|
#endif
|
|
462
518
|
|
|
463
519
|
#if _NUITKA_EXPERIMENTAL_FILE_TRACING
|
|
@@ -485,9 +541,35 @@ extern PyObject *Nuitka_dunder_compiled_value;
|
|
|
485
541
|
#define NUITKA_INIT_PROGRAM_LATE(module_name)
|
|
486
542
|
#endif
|
|
487
543
|
|
|
544
|
+
#if _NUITKA_EXPERIMENTAL_EXIT_PROGRAM
|
|
545
|
+
#include "nuitka_exit_program.h"
|
|
546
|
+
#else
|
|
547
|
+
#define NUITKA_FINALIZE_PROGRAM(tstate)
|
|
548
|
+
#endif
|
|
549
|
+
|
|
488
550
|
// Only Python3.9+ has a more precise check, while making the old one slow.
|
|
489
551
|
#ifndef PyCFunction_CheckExact
|
|
490
552
|
#define PyCFunction_CheckExact PyCFunction_Check
|
|
491
553
|
#endif
|
|
492
554
|
|
|
555
|
+
#ifdef _NUITKA_EXPERIMENTAL_DUMP_C_TRACEBACKS
|
|
556
|
+
extern void INIT_C_BACKTRACES(void);
|
|
557
|
+
extern void DUMP_C_BACKTRACE(void);
|
|
493
558
|
#endif
|
|
559
|
+
|
|
560
|
+
#endif
|
|
561
|
+
|
|
562
|
+
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
563
|
+
// integrates with CPython, but also works on its own.
|
|
564
|
+
//
|
|
565
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
566
|
+
// you may not use this file except in compliance with the License.
|
|
567
|
+
// You may obtain a copy of the License at
|
|
568
|
+
//
|
|
569
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
570
|
+
//
|
|
571
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
572
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
573
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
574
|
+
// See the License for the specific language governing permissions and
|
|
575
|
+
// limitations under the License.
|
|
@@ -1,20 +1,5 @@
|
|
|
1
|
-
// Copyright
|
|
2
|
-
|
|
3
|
-
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
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
|
+
|
|
18
3
|
#ifndef __NUITKA_PRINTING_H__
|
|
19
4
|
#define __NUITKA_PRINTING_H__
|
|
20
5
|
|
|
@@ -23,7 +8,9 @@
|
|
|
23
8
|
|
|
24
9
|
extern bool PRINT_NEW_LINE(void);
|
|
25
10
|
extern bool PRINT_ITEM(PyObject *object);
|
|
11
|
+
extern bool PRINT_ITEM_LINE(PyObject *object);
|
|
26
12
|
extern bool PRINT_STRING(char const *str);
|
|
13
|
+
extern bool PRINT_STRING_W(wchar_t const *str);
|
|
27
14
|
extern bool PRINT_FORMAT(char const *fmt, ...);
|
|
28
15
|
extern bool PRINT_ITEM_TO(PyObject *file, PyObject *object);
|
|
29
16
|
extern bool PRINT_NEW_LINE_TO(PyObject *file);
|
|
@@ -49,9 +36,12 @@ extern void PRINT_TRACEBACK(PyTracebackObject *traceback);
|
|
|
49
36
|
#if PYTHON_VERSION < 0x3b0
|
|
50
37
|
#define PRINT_EXCEPTION(exception_type, exception_value, exception_tb) \
|
|
51
38
|
_PRINT_EXCEPTION(exception_type, exception_value, exception_tb)
|
|
39
|
+
#define PRINT_EXCEPTION_STATE(exception_state) \
|
|
40
|
+
_PRINT_EXCEPTION(exception_state->exception_type, exception_state->exception_value, exception_state->exception_tb)
|
|
52
41
|
extern void _PRINT_EXCEPTION(PyObject *exception_type, PyObject *exception_value, PyTracebackObject *exception_tb);
|
|
53
42
|
#else
|
|
54
43
|
#define PRINT_EXCEPTION(exception_type, exception_value, exception_tb) _PRINT_EXCEPTION(exception_value)
|
|
44
|
+
#define PRINT_EXCEPTION_STATE(exception_state) _PRINT_EXCEPTION((exception_state)->exception_value)
|
|
55
45
|
extern void _PRINT_EXCEPTION(PyObject *exception_value);
|
|
56
46
|
#endif
|
|
57
47
|
|
|
@@ -71,3 +61,18 @@ extern bool PRINT_NULL(void);
|
|
|
71
61
|
extern bool PRINT_TYPE(PyObject *object);
|
|
72
62
|
|
|
73
63
|
#endif
|
|
64
|
+
|
|
65
|
+
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
66
|
+
// integrates with CPython, but also works on its own.
|
|
67
|
+
//
|
|
68
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
69
|
+
// you may not use this file except in compliance with the License.
|
|
70
|
+
// You may obtain a copy of the License at
|
|
71
|
+
//
|
|
72
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
73
|
+
//
|
|
74
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
75
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
76
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
77
|
+
// See the License for the specific language governing permissions and
|
|
78
|
+
// limitations under the License.
|
|
@@ -1,20 +1,5 @@
|
|
|
1
|
-
// Copyright
|
|
2
|
-
|
|
3
|
-
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
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
|
+
|
|
18
3
|
#ifndef __NUITKA_PYTHON_PGO_H__
|
|
19
4
|
#define __NUITKA_PYTHON_PGO_H__
|
|
20
5
|
|
|
@@ -26,6 +11,8 @@
|
|
|
26
11
|
|
|
27
12
|
#if _NUITKA_PGO_PYTHON
|
|
28
13
|
|
|
14
|
+
#include <stdint.h>
|
|
15
|
+
|
|
29
16
|
// Initialize PGO data collection.
|
|
30
17
|
extern void PGO_Initialize(void);
|
|
31
18
|
|
|
@@ -53,4 +40,18 @@ extern void PGO_onTechnicalModule(char const *module_name);
|
|
|
53
40
|
|
|
54
41
|
#endif
|
|
55
42
|
|
|
56
|
-
#endif
|
|
43
|
+
#endif
|
|
44
|
+
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
45
|
+
// integrates with CPython, but also works on its own.
|
|
46
|
+
//
|
|
47
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
48
|
+
// you may not use this file except in compliance with the License.
|
|
49
|
+
// You may obtain a copy of the License at
|
|
50
|
+
//
|
|
51
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
52
|
+
//
|
|
53
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
54
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
55
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
56
|
+
// See the License for the specific language governing permissions and
|
|
57
|
+
// limitations under the License.
|
|
@@ -1,20 +1,5 @@
|
|
|
1
|
-
// Copyright
|
|
2
|
-
|
|
3
|
-
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
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
|
+
|
|
18
3
|
#ifndef __NUITKA_SAFE_STRING_OPS_H__
|
|
19
4
|
#define __NUITKA_SAFE_STRING_OPS_H__
|
|
20
5
|
|
|
@@ -34,17 +19,34 @@ extern void appendStringSafe(char *target, char const *source, size_t buffer_siz
|
|
|
34
19
|
|
|
35
20
|
/* Safe to use functions to append a wide char string, will abort program for overflow. */
|
|
36
21
|
extern void appendCharSafeW(wchar_t *target, char c, size_t buffer_size);
|
|
22
|
+
extern void appendWCharSafeW(wchar_t *target, wchar_t c, size_t buffer_size);
|
|
37
23
|
extern void appendStringSafeW(wchar_t *target, char const *source, size_t buffer_size);
|
|
38
24
|
extern void appendWStringSafeW(wchar_t *target, wchar_t const *source, size_t buffer_size);
|
|
39
25
|
|
|
40
26
|
/* Get OS error code and print it to stderr. */
|
|
41
27
|
#ifdef _WIN32
|
|
42
28
|
typedef DWORD error_code_t;
|
|
29
|
+
#define ERROR_CODE_FORMAT_STR "%ld"
|
|
43
30
|
static inline error_code_t getCurrentErrorCode(void) { return GetLastError(); }
|
|
44
31
|
#else
|
|
45
32
|
typedef int error_code_t;
|
|
33
|
+
#define ERROR_CODE_FORMAT_STR "%d"
|
|
46
34
|
static inline error_code_t getCurrentErrorCode(void) { return errno; }
|
|
47
35
|
#endif
|
|
48
36
|
extern void printOSErrorMessage(char const *message, error_code_t error_code);
|
|
49
37
|
|
|
50
|
-
#endif
|
|
38
|
+
#endif
|
|
39
|
+
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
40
|
+
// integrates with CPython, but also works on its own.
|
|
41
|
+
//
|
|
42
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
43
|
+
// you may not use this file except in compliance with the License.
|
|
44
|
+
// You may obtain a copy of the License at
|
|
45
|
+
//
|
|
46
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
47
|
+
//
|
|
48
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
49
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
50
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
51
|
+
// See the License for the specific language governing permissions and
|
|
52
|
+
// limitations under the License.
|
|
@@ -1,20 +1,5 @@
|
|
|
1
|
-
// Copyright
|
|
2
|
-
|
|
3
|
-
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
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
|
+
|
|
18
3
|
#ifndef __NUITKA_THREADING_H__
|
|
19
4
|
#define __NUITKA_THREADING_H__
|
|
20
5
|
|
|
@@ -29,19 +14,24 @@ extern volatile int _Py_Ticker;
|
|
|
29
14
|
#ifdef NUITKA_USE_PYCORE_THREAD_STATE
|
|
30
15
|
|
|
31
16
|
#if PYTHON_VERSION < 0x380
|
|
17
|
+
|
|
32
18
|
// Signals pending got their own indicator only in 3.8, covered by calls to do before.
|
|
33
19
|
#define HAS_WORK_TO_DO(ceval, ceval2) (ceval2->pending.calls_to_do._value)
|
|
34
|
-
#
|
|
20
|
+
#elif PYTHON_VERSION < 0x3d0
|
|
35
21
|
#define HAS_WORK_TO_DO(ceval, ceval2) (ceval->signals_pending._value || ceval2->pending.calls_to_do._value)
|
|
22
|
+
#else
|
|
23
|
+
#define HAS_WORK_TO_DO(ceval, ceval2) _Py_eval_breaker_bit_is_set(tstate, _PY_SIGNALS_PENDING_BIT | _PY_CALLS_TO_DO_BIT)
|
|
36
24
|
#endif
|
|
37
25
|
|
|
26
|
+
#ifndef Py_GIL_DISABLED
|
|
38
27
|
NUITKA_MAY_BE_UNUSED static inline bool CONSIDER_THREADING(PyThreadState *tstate) {
|
|
39
|
-
#if PYTHON_VERSION
|
|
40
|
-
_PyRuntimeState *const runtime = tstate->interp->runtime;
|
|
41
|
-
#else
|
|
28
|
+
#if PYTHON_VERSION < 0x390
|
|
42
29
|
_PyRuntimeState *const runtime = &_PyRuntime;
|
|
30
|
+
#else
|
|
31
|
+
_PyRuntimeState *const runtime = tstate->interp->runtime;
|
|
43
32
|
#endif
|
|
44
33
|
|
|
34
|
+
#if PYTHON_VERSION < 0x3d0
|
|
45
35
|
// This was split in 2 parts in 3.9 or higher.
|
|
46
36
|
struct _ceval_runtime_state *ceval = &runtime->ceval;
|
|
47
37
|
#if PYTHON_VERSION >= 0x390
|
|
@@ -49,7 +39,7 @@ NUITKA_MAY_BE_UNUSED static inline bool CONSIDER_THREADING(PyThreadState *tstate
|
|
|
49
39
|
#else
|
|
50
40
|
struct _ceval_runtime_state *ceval2 = ceval;
|
|
51
41
|
#endif
|
|
52
|
-
|
|
42
|
+
#endif
|
|
53
43
|
// Pending signals or calls to do
|
|
54
44
|
if (HAS_WORK_TO_DO(ceval, ceval2)) {
|
|
55
45
|
int res = Py_MakePendingCalls();
|
|
@@ -59,12 +49,9 @@ NUITKA_MAY_BE_UNUSED static inline bool CONSIDER_THREADING(PyThreadState *tstate
|
|
|
59
49
|
}
|
|
60
50
|
}
|
|
61
51
|
|
|
62
|
-
#
|
|
63
|
-
/* load eval breaker */
|
|
64
|
-
uintptr_t b = _Py_atomic_load_uintptr(&tstate->eval_breaker);
|
|
65
|
-
|
|
52
|
+
#if PYTHON_VERSION >= 0x3d0
|
|
66
53
|
/* GIL drop request */
|
|
67
|
-
if ((
|
|
54
|
+
if (_Py_eval_breaker_bit_is_set(tstate, _PY_GIL_DROP_REQUEST_BIT)) {
|
|
68
55
|
#else
|
|
69
56
|
/* GIL drop request */
|
|
70
57
|
if (ceval2->gil_drop_request._value) {
|
|
@@ -78,15 +65,14 @@ NUITKA_MAY_BE_UNUSED static inline bool CONSIDER_THREADING(PyThreadState *tstate
|
|
|
78
65
|
PyObject *async_exc = tstate->async_exc;
|
|
79
66
|
tstate->async_exc = NULL;
|
|
80
67
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
RESTORE_ERROR_OCCURRED(tstate, async_exc, NULL, NULL);
|
|
68
|
+
SET_CURRENT_EXCEPTION_TYPE0(tstate, async_exc);
|
|
84
69
|
|
|
85
70
|
return false;
|
|
86
71
|
}
|
|
87
72
|
|
|
88
73
|
return true;
|
|
89
74
|
}
|
|
75
|
+
#endif
|
|
90
76
|
|
|
91
77
|
#else
|
|
92
78
|
|
|
@@ -113,9 +99,7 @@ NUITKA_MAY_BE_UNUSED static inline bool CONSIDER_THREADING(PyThreadState *tstate
|
|
|
113
99
|
PyObject *async_exc = tstate->async_exc;
|
|
114
100
|
tstate->async_exc = NULL;
|
|
115
101
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
RESTORE_ERROR_OCCURRED(tstate, async_exc, NULL, NULL);
|
|
102
|
+
SET_CURRENT_EXCEPTION_TYPE0(tstate, async_exc);
|
|
119
103
|
|
|
120
104
|
return false;
|
|
121
105
|
}
|
|
@@ -127,3 +111,18 @@ NUITKA_MAY_BE_UNUSED static inline bool CONSIDER_THREADING(PyThreadState *tstate
|
|
|
127
111
|
#endif
|
|
128
112
|
|
|
129
113
|
#endif
|
|
114
|
+
|
|
115
|
+
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
116
|
+
// integrates with CPython, but also works on its own.
|
|
117
|
+
//
|
|
118
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
119
|
+
// you may not use this file except in compliance with the License.
|
|
120
|
+
// You may obtain a copy of the License at
|
|
121
|
+
//
|
|
122
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
123
|
+
//
|
|
124
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
125
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
126
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
127
|
+
// See the License for the specific language governing permissions and
|
|
128
|
+
// limitations under the License.
|
|
@@ -1,20 +1,5 @@
|
|
|
1
|
-
// Copyright
|
|
2
|
-
|
|
3
|
-
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
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
|
+
|
|
18
3
|
#ifndef __NUITKA_TRACING_H__
|
|
19
4
|
#define __NUITKA_TRACING_H__
|
|
20
5
|
|
|
@@ -53,7 +38,17 @@ static void inline PRINT_TIME_STAMP(void) {
|
|
|
53
38
|
printf("%02d:%02d:%02d.%03d:", t.wHour, t.wMinute, t.wSecond, t.wMilliseconds);
|
|
54
39
|
}
|
|
55
40
|
#else
|
|
56
|
-
static void inline PRINT_TIME_STAMP(void) {
|
|
41
|
+
static void inline PRINT_TIME_STAMP(void) {
|
|
42
|
+
struct timeval tv;
|
|
43
|
+
gettimeofday(&tv, NULL);
|
|
44
|
+
|
|
45
|
+
time_t now_time = tv.tv_sec;
|
|
46
|
+
struct tm *now_tm = localtime(&now_time);
|
|
47
|
+
|
|
48
|
+
char tm_buf[64];
|
|
49
|
+
strftime(tm_buf, sizeof(tm_buf), "%Y-%m-%d %H:%M:%S", now_tm);
|
|
50
|
+
printf("%s.%03ld ", tm_buf, tv.tv_usec / 1000);
|
|
51
|
+
}
|
|
57
52
|
#endif
|
|
58
53
|
|
|
59
54
|
#define NUITKA_PRINT_TIMING(value) \
|
|
@@ -70,3 +65,18 @@ static void inline PRINT_TIME_STAMP(void) {}
|
|
|
70
65
|
#endif
|
|
71
66
|
|
|
72
67
|
#endif
|
|
68
|
+
|
|
69
|
+
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
70
|
+
// integrates with CPython, but also works on its own.
|
|
71
|
+
//
|
|
72
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
73
|
+
// you may not use this file except in compliance with the License.
|
|
74
|
+
// You may obtain a copy of the License at
|
|
75
|
+
//
|
|
76
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
77
|
+
//
|
|
78
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
79
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
80
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
81
|
+
// See the License for the specific language governing permissions and
|
|
82
|
+
// limitations under the License.
|