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
|
/* Implementations of compiled code helpers.
|
|
19
4
|
|
|
20
5
|
* The definition of a compiled code helper is that it's being used in
|
|
@@ -45,7 +30,7 @@ static void _initBuiltinTypeMethods(void) {
|
|
|
45
30
|
_initListBuiltinMethods();
|
|
46
31
|
}
|
|
47
32
|
|
|
48
|
-
#if PYTHON_VERSION >=
|
|
33
|
+
#if PYTHON_VERSION >= 0x350
|
|
49
34
|
#include "HelpersAllocator.c"
|
|
50
35
|
#endif
|
|
51
36
|
|
|
@@ -67,6 +52,7 @@ static void _initBuiltinTypeMethods(void) {
|
|
|
67
52
|
#include "HelpersStrings.c"
|
|
68
53
|
#include "HelpersTuples.c"
|
|
69
54
|
|
|
55
|
+
#include "HelpersEnvironmentVariables.c"
|
|
70
56
|
#include "HelpersFilesystemPaths.c"
|
|
71
57
|
#include "HelpersSafeStrings.c"
|
|
72
58
|
|
|
@@ -95,7 +81,7 @@ static PyObject *_BUILTIN_RANGE_INT3(long low, long high, long step) {
|
|
|
95
81
|
size = ESTIMATE_RANGE(high, low, -step);
|
|
96
82
|
}
|
|
97
83
|
|
|
98
|
-
PyObject *result = MAKE_LIST_EMPTY(size);
|
|
84
|
+
PyObject *result = MAKE_LIST_EMPTY(tstate, size);
|
|
99
85
|
|
|
100
86
|
long current = low;
|
|
101
87
|
|
|
@@ -110,7 +96,7 @@ static PyObject *_BUILTIN_RANGE_INT3(long low, long high, long step) {
|
|
|
110
96
|
static PyObject *_BUILTIN_RANGE_INT2(long low, long high) { return _BUILTIN_RANGE_INT3(low, high, 1); }
|
|
111
97
|
|
|
112
98
|
static PyObject *_BUILTIN_RANGE_INT(long boundary) {
|
|
113
|
-
PyObject *result = MAKE_LIST_EMPTY(boundary > 0 ? boundary : 0);
|
|
99
|
+
PyObject *result = MAKE_LIST_EMPTY(tstate, boundary > 0 ? boundary : 0);
|
|
114
100
|
|
|
115
101
|
for (int i = 0; i < boundary; i++) {
|
|
116
102
|
PyList_SET_ITEM(result, i, PyInt_FromLong(i));
|
|
@@ -205,7 +191,7 @@ PyObject *BUILTIN_RANGE2(PyThreadState *tstate, PyObject *low, PyObject *high) {
|
|
|
205
191
|
|
|
206
192
|
if (fallback) {
|
|
207
193
|
// Transfers references to tuple.
|
|
208
|
-
PyObject *pos_args = MAKE_TUPLE2_0(low_temp, high_temp);
|
|
194
|
+
PyObject *pos_args = MAKE_TUPLE2_0(tstate, low_temp, high_temp);
|
|
209
195
|
NUITKA_ASSIGN_BUILTIN(range);
|
|
210
196
|
|
|
211
197
|
PyObject *result = CALL_FUNCTION_WITH_POSARGS2(tstate, NUITKA_ACCESS_BUILTIN(range), pos_args);
|
|
@@ -264,7 +250,7 @@ PyObject *BUILTIN_RANGE3(PyThreadState *tstate, PyObject *low, PyObject *high, P
|
|
|
264
250
|
}
|
|
265
251
|
|
|
266
252
|
if (fallback) {
|
|
267
|
-
PyObject *pos_args = MAKE_TUPLE3_0(low_temp, high_temp, step_temp);
|
|
253
|
+
PyObject *pos_args = MAKE_TUPLE3_0(tstate, low_temp, high_temp, step_temp);
|
|
268
254
|
|
|
269
255
|
NUITKA_ASSIGN_BUILTIN(range);
|
|
270
256
|
|
|
@@ -599,7 +585,7 @@ PyObject *BUILTIN_ALL(PyThreadState *tstate, PyObject *value) {
|
|
|
599
585
|
|
|
600
586
|
if (cmp == 0) {
|
|
601
587
|
Py_DECREF(it);
|
|
602
|
-
|
|
588
|
+
Py_INCREF_IMMORTAL(Py_False);
|
|
603
589
|
return Py_False;
|
|
604
590
|
}
|
|
605
591
|
}
|
|
@@ -610,7 +596,7 @@ PyObject *BUILTIN_ALL(PyThreadState *tstate, PyObject *value) {
|
|
|
610
596
|
return NULL;
|
|
611
597
|
}
|
|
612
598
|
|
|
613
|
-
|
|
599
|
+
Py_INCREF_IMMORTAL(Py_True);
|
|
614
600
|
return Py_True;
|
|
615
601
|
}
|
|
616
602
|
|
|
@@ -649,7 +635,7 @@ PyObject *BUILTIN_ANY(PyThreadState *tstate, PyObject *value) {
|
|
|
649
635
|
}
|
|
650
636
|
if (cmp > 0) {
|
|
651
637
|
Py_DECREF(it);
|
|
652
|
-
|
|
638
|
+
Py_INCREF_IMMORTAL(Py_True);
|
|
653
639
|
return Py_True;
|
|
654
640
|
}
|
|
655
641
|
}
|
|
@@ -659,7 +645,7 @@ PyObject *BUILTIN_ANY(PyThreadState *tstate, PyObject *value) {
|
|
|
659
645
|
return NULL;
|
|
660
646
|
}
|
|
661
647
|
|
|
662
|
-
|
|
648
|
+
Py_INCREF_IMMORTAL(Py_False);
|
|
663
649
|
return Py_False;
|
|
664
650
|
}
|
|
665
651
|
|
|
@@ -688,7 +674,7 @@ PyObject *BUILTIN_FORMAT(PyThreadState *tstate, PyObject *value, PyObject *forma
|
|
|
688
674
|
}
|
|
689
675
|
|
|
690
676
|
// Helper functions for print. Need to play nice with Python softspace
|
|
691
|
-
//
|
|
677
|
+
// behavior.
|
|
692
678
|
|
|
693
679
|
#if PYTHON_VERSION >= 0x300
|
|
694
680
|
NUITKA_DEFINE_BUILTIN(print);
|
|
@@ -724,10 +710,9 @@ bool PRINT_NEW_LINE_TO(PyObject *file) {
|
|
|
724
710
|
#else
|
|
725
711
|
NUITKA_ASSIGN_BUILTIN(print);
|
|
726
712
|
|
|
727
|
-
|
|
728
|
-
PyTracebackObject *exception_tb;
|
|
713
|
+
struct Nuitka_ExceptionPreservationItem saved_exception_state;
|
|
729
714
|
|
|
730
|
-
|
|
715
|
+
FETCH_ERROR_OCCURRED_STATE_UNTRACED(tstate, &saved_exception_state);
|
|
731
716
|
|
|
732
717
|
PyObject *result;
|
|
733
718
|
|
|
@@ -746,7 +731,7 @@ bool PRINT_NEW_LINE_TO(PyObject *file) {
|
|
|
746
731
|
|
|
747
732
|
Py_XDECREF(result);
|
|
748
733
|
|
|
749
|
-
|
|
734
|
+
RESTORE_ERROR_OCCURRED_STATE_UNTRACED(tstate, &saved_exception_state);
|
|
750
735
|
|
|
751
736
|
return result != NULL;
|
|
752
737
|
#endif
|
|
@@ -818,13 +803,12 @@ bool PRINT_ITEM_TO(PyObject *file, PyObject *object) {
|
|
|
818
803
|
#else
|
|
819
804
|
NUITKA_ASSIGN_BUILTIN(print);
|
|
820
805
|
|
|
821
|
-
|
|
822
|
-
PyTracebackObject *exception_tb;
|
|
806
|
+
struct Nuitka_ExceptionPreservationItem saved_exception_state;
|
|
823
807
|
|
|
824
|
-
|
|
808
|
+
FETCH_ERROR_OCCURRED_STATE_UNTRACED(tstate, &saved_exception_state);
|
|
825
809
|
|
|
826
810
|
// TODO: Have a helper that creates a dictionary for PyObject **
|
|
827
|
-
PyObject *print_kw = MAKE_DICT_EMPTY();
|
|
811
|
+
PyObject *print_kw = MAKE_DICT_EMPTY(tstate);
|
|
828
812
|
DICT_SET_ITEM(print_kw, const_str_plain_end, const_str_empty);
|
|
829
813
|
|
|
830
814
|
if (file == NULL) {
|
|
@@ -833,7 +817,7 @@ bool PRINT_ITEM_TO(PyObject *file, PyObject *object) {
|
|
|
833
817
|
DICT_SET_ITEM(print_kw, const_str_plain_file, file);
|
|
834
818
|
}
|
|
835
819
|
|
|
836
|
-
PyObject *print_args = MAKE_TUPLE1(object);
|
|
820
|
+
PyObject *print_args = MAKE_TUPLE1(tstate, object);
|
|
837
821
|
|
|
838
822
|
PyObject *result = CALL_FUNCTION(tstate, NUITKA_ACCESS_BUILTIN(print), print_args, print_kw);
|
|
839
823
|
|
|
@@ -842,7 +826,7 @@ bool PRINT_ITEM_TO(PyObject *file, PyObject *object) {
|
|
|
842
826
|
|
|
843
827
|
Py_XDECREF(result);
|
|
844
828
|
|
|
845
|
-
|
|
829
|
+
RESTORE_ERROR_OCCURRED_STATE_UNTRACED(tstate, &saved_exception_state);
|
|
846
830
|
|
|
847
831
|
return result != NULL;
|
|
848
832
|
#endif
|
|
@@ -850,12 +834,18 @@ bool PRINT_ITEM_TO(PyObject *file, PyObject *object) {
|
|
|
850
834
|
|
|
851
835
|
void PRINT_REFCOUNT(PyObject *object) {
|
|
852
836
|
if (object) {
|
|
837
|
+
#if PYTHON_VERSION >= 0x3c0
|
|
838
|
+
if (_Py_IsImmortal(object)) {
|
|
839
|
+
PRINT_STRING(" recnf IMMORTAL");
|
|
840
|
+
return;
|
|
841
|
+
}
|
|
842
|
+
#endif
|
|
853
843
|
char buffer[1024];
|
|
854
844
|
snprintf(buffer, sizeof(buffer) - 1, " refcnt %" PY_FORMAT_SIZE_T "d ", Py_REFCNT(object));
|
|
855
845
|
|
|
856
846
|
PRINT_STRING(buffer);
|
|
857
847
|
} else {
|
|
858
|
-
PRINT_STRING("<null>");
|
|
848
|
+
PRINT_STRING(" <null>");
|
|
859
849
|
}
|
|
860
850
|
}
|
|
861
851
|
|
|
@@ -870,6 +860,17 @@ bool PRINT_STRING(char const *str) {
|
|
|
870
860
|
}
|
|
871
861
|
}
|
|
872
862
|
|
|
863
|
+
bool PRINT_STRING_W(wchar_t const *str) {
|
|
864
|
+
if (str) {
|
|
865
|
+
PyObject *tmp = NuitkaUnicode_FromWideChar(str, -1);
|
|
866
|
+
bool res = PRINT_ITEM(tmp);
|
|
867
|
+
Py_DECREF(tmp);
|
|
868
|
+
return res;
|
|
869
|
+
} else {
|
|
870
|
+
return PRINT_STRING("<nullstr>");
|
|
871
|
+
}
|
|
872
|
+
}
|
|
873
|
+
|
|
873
874
|
bool PRINT_FORMAT(char const *fmt, ...) {
|
|
874
875
|
va_list args;
|
|
875
876
|
va_start(args, fmt);
|
|
@@ -878,16 +879,17 @@ bool PRINT_FORMAT(char const *fmt, ...) {
|
|
|
878
879
|
char buffer[4096];
|
|
879
880
|
|
|
880
881
|
vsprintf(buffer, fmt, args);
|
|
882
|
+
va_end(args);
|
|
883
|
+
|
|
881
884
|
return PRINT_STRING(buffer);
|
|
882
885
|
}
|
|
883
886
|
|
|
884
887
|
bool PRINT_REPR(PyObject *object) {
|
|
885
|
-
PyObject *exception_type, *exception_value;
|
|
886
|
-
PyTracebackObject *exception_tb;
|
|
887
|
-
|
|
888
888
|
PyThreadState *tstate = PyThreadState_GET();
|
|
889
889
|
|
|
890
|
-
|
|
890
|
+
struct Nuitka_ExceptionPreservationItem saved_exception_state;
|
|
891
|
+
|
|
892
|
+
FETCH_ERROR_OCCURRED_STATE_UNTRACED(tstate, &saved_exception_state);
|
|
891
893
|
|
|
892
894
|
bool res;
|
|
893
895
|
|
|
@@ -904,7 +906,7 @@ bool PRINT_REPR(PyObject *object) {
|
|
|
904
906
|
res = PRINT_NULL();
|
|
905
907
|
}
|
|
906
908
|
|
|
907
|
-
|
|
909
|
+
RESTORE_ERROR_OCCURRED_STATE_UNTRACED(tstate, &saved_exception_state);
|
|
908
910
|
|
|
909
911
|
return res;
|
|
910
912
|
}
|
|
@@ -949,7 +951,11 @@ void PRINT_CURRENT_EXCEPTION(void) {
|
|
|
949
951
|
PyThreadState *tstate = PyThreadState_GET();
|
|
950
952
|
|
|
951
953
|
PRINT_STRING("current_exc=");
|
|
954
|
+
#if PYTHON_VERSION < 0x3c0
|
|
952
955
|
PRINT_EXCEPTION(tstate->curexc_type, tstate->curexc_value, (PyTracebackObject *)tstate->curexc_traceback);
|
|
956
|
+
#else
|
|
957
|
+
_PRINT_EXCEPTION(tstate->exc_info->exc_value);
|
|
958
|
+
#endif
|
|
953
959
|
}
|
|
954
960
|
|
|
955
961
|
void PRINT_PUBLISHED_EXCEPTION(void) {
|
|
@@ -974,7 +980,7 @@ void PRINT_TRACEBACK(PyTracebackObject *traceback) {
|
|
|
974
980
|
PyFrameObject *frame = traceback->tb_frame;
|
|
975
981
|
|
|
976
982
|
while (frame != NULL) {
|
|
977
|
-
printf(" Frame at %s\n", PyString_AsString(PyObject_Str((PyObject *)frame
|
|
983
|
+
printf(" Frame at %s\n", PyString_AsString(PyObject_Str((PyObject *)Nuitka_Frame_GetCodeObject(frame))));
|
|
978
984
|
|
|
979
985
|
frame = frame->f_back;
|
|
980
986
|
}
|
|
@@ -1023,6 +1029,8 @@ bool PRINT_ITEM(PyObject *object) {
|
|
|
1023
1029
|
}
|
|
1024
1030
|
}
|
|
1025
1031
|
|
|
1032
|
+
bool PRINT_ITEM_LINE(PyObject *object) { return PRINT_ITEM(object) && PRINT_NEW_LINE(); }
|
|
1033
|
+
|
|
1026
1034
|
#if PYTHON_VERSION < 0x300
|
|
1027
1035
|
|
|
1028
1036
|
static void set_slot(PyObject **slot, PyObject *value) {
|
|
@@ -1032,26 +1040,26 @@ static void set_slot(PyObject **slot, PyObject *value) {
|
|
|
1032
1040
|
Py_XDECREF(temp);
|
|
1033
1041
|
}
|
|
1034
1042
|
|
|
1035
|
-
static void set_attr_slots(PyClassObject *
|
|
1036
|
-
set_slot(&
|
|
1037
|
-
set_slot(&
|
|
1038
|
-
set_slot(&
|
|
1043
|
+
static void set_attr_slots(PyClassObject *class_object) {
|
|
1044
|
+
set_slot(&class_object->cl_getattr, FIND_ATTRIBUTE_IN_CLASS(class_object, const_str_plain___getattr__));
|
|
1045
|
+
set_slot(&class_object->cl_setattr, FIND_ATTRIBUTE_IN_CLASS(class_object, const_str_plain___setattr__));
|
|
1046
|
+
set_slot(&class_object->cl_delattr, FIND_ATTRIBUTE_IN_CLASS(class_object, const_str_plain___delattr__));
|
|
1039
1047
|
}
|
|
1040
1048
|
|
|
1041
|
-
static bool set_dict(PyClassObject *
|
|
1049
|
+
static bool set_dict(PyClassObject *class_object, PyObject *value) {
|
|
1042
1050
|
if (value == NULL || !PyDict_Check(value)) {
|
|
1043
1051
|
PyThreadState *tstate = PyThreadState_GET();
|
|
1044
1052
|
SET_CURRENT_EXCEPTION_TYPE0_STR(tstate, PyExc_TypeError, "__dict__ must be a dictionary object");
|
|
1045
1053
|
return false;
|
|
1046
1054
|
} else {
|
|
1047
|
-
set_slot(&
|
|
1048
|
-
set_attr_slots(
|
|
1055
|
+
set_slot(&class_object->cl_dict, value);
|
|
1056
|
+
set_attr_slots(class_object);
|
|
1049
1057
|
|
|
1050
1058
|
return true;
|
|
1051
1059
|
}
|
|
1052
1060
|
}
|
|
1053
1061
|
|
|
1054
|
-
static bool set_bases(PyClassObject *
|
|
1062
|
+
static bool set_bases(PyClassObject *class_object, PyObject *value) {
|
|
1055
1063
|
if (value == NULL || !PyTuple_Check(value)) {
|
|
1056
1064
|
|
|
1057
1065
|
PyThreadState *tstate = PyThreadState_GET();
|
|
@@ -1071,7 +1079,7 @@ static bool set_bases(PyClassObject *klass, PyObject *value) {
|
|
|
1071
1079
|
return false;
|
|
1072
1080
|
}
|
|
1073
1081
|
|
|
1074
|
-
if (unlikely(PyClass_IsSubclass(base, (PyObject *)
|
|
1082
|
+
if (unlikely(PyClass_IsSubclass(base, (PyObject *)class_object))) {
|
|
1075
1083
|
PyThreadState *tstate = PyThreadState_GET();
|
|
1076
1084
|
|
|
1077
1085
|
SET_CURRENT_EXCEPTION_TYPE0_STR(tstate, PyExc_TypeError,
|
|
@@ -1080,14 +1088,14 @@ static bool set_bases(PyClassObject *klass, PyObject *value) {
|
|
|
1080
1088
|
}
|
|
1081
1089
|
}
|
|
1082
1090
|
|
|
1083
|
-
set_slot(&
|
|
1084
|
-
set_attr_slots(
|
|
1091
|
+
set_slot(&class_object->cl_bases, value);
|
|
1092
|
+
set_attr_slots(class_object);
|
|
1085
1093
|
|
|
1086
1094
|
return true;
|
|
1087
1095
|
}
|
|
1088
1096
|
}
|
|
1089
1097
|
|
|
1090
|
-
static bool set_name(PyClassObject *
|
|
1098
|
+
static bool set_name(PyClassObject *class_object, PyObject *value) {
|
|
1091
1099
|
if (value == NULL || !PyDict_Check(value)) {
|
|
1092
1100
|
PyThreadState *tstate = PyThreadState_GET();
|
|
1093
1101
|
|
|
@@ -1102,11 +1110,11 @@ static bool set_name(PyClassObject *klass, PyObject *value) {
|
|
|
1102
1110
|
return false;
|
|
1103
1111
|
}
|
|
1104
1112
|
|
|
1105
|
-
set_slot(&
|
|
1113
|
+
set_slot(&class_object->cl_name, value);
|
|
1106
1114
|
return true;
|
|
1107
1115
|
}
|
|
1108
1116
|
|
|
1109
|
-
static int nuitka_class_setattr(PyClassObject *
|
|
1117
|
+
static int nuitka_class_setattr(PyClassObject *class_object, PyObject *attr_name, PyObject *value) {
|
|
1110
1118
|
char const *sattr_name = PyString_AsString(attr_name);
|
|
1111
1119
|
|
|
1112
1120
|
if (sattr_name[0] == '_' && sattr_name[1] == '_') {
|
|
@@ -1114,72 +1122,72 @@ static int nuitka_class_setattr(PyClassObject *klass, PyObject *attr_name, PyObj
|
|
|
1114
1122
|
|
|
1115
1123
|
if (sattr_name[n - 2] == '_' && sattr_name[n - 1] == '_') {
|
|
1116
1124
|
if (strcmp(sattr_name, "__dict__") == 0) {
|
|
1117
|
-
if (set_dict(
|
|
1125
|
+
if (set_dict(class_object, value) == false) {
|
|
1118
1126
|
return -1;
|
|
1119
1127
|
} else {
|
|
1120
1128
|
return 0;
|
|
1121
1129
|
}
|
|
1122
1130
|
} else if (strcmp(sattr_name, "__bases__") == 0) {
|
|
1123
|
-
if (set_bases(
|
|
1131
|
+
if (set_bases(class_object, value) == false) {
|
|
1124
1132
|
return -1;
|
|
1125
1133
|
} else {
|
|
1126
1134
|
return 0;
|
|
1127
1135
|
}
|
|
1128
1136
|
} else if (strcmp(sattr_name, "__name__") == 0) {
|
|
1129
|
-
if (set_name(
|
|
1137
|
+
if (set_name(class_object, value) == false) {
|
|
1130
1138
|
return -1;
|
|
1131
1139
|
} else {
|
|
1132
1140
|
return 0;
|
|
1133
1141
|
}
|
|
1134
1142
|
} else if (strcmp(sattr_name, "__getattr__") == 0) {
|
|
1135
|
-
set_slot(&
|
|
1143
|
+
set_slot(&class_object->cl_getattr, value);
|
|
1136
1144
|
} else if (strcmp(sattr_name, "__setattr__") == 0) {
|
|
1137
|
-
set_slot(&
|
|
1145
|
+
set_slot(&class_object->cl_setattr, value);
|
|
1138
1146
|
} else if (strcmp(sattr_name, "__delattr__") == 0) {
|
|
1139
|
-
set_slot(&
|
|
1147
|
+
set_slot(&class_object->cl_delattr, value);
|
|
1140
1148
|
}
|
|
1141
1149
|
}
|
|
1142
1150
|
}
|
|
1143
1151
|
|
|
1144
1152
|
if (value == NULL) {
|
|
1145
|
-
int status = DICT_REMOVE_ITEM(
|
|
1153
|
+
int status = DICT_REMOVE_ITEM(class_object->cl_dict, attr_name);
|
|
1146
1154
|
|
|
1147
1155
|
if (status < 0) {
|
|
1148
|
-
PyErr_Format(PyExc_AttributeError, "class %s has no attribute '%s'",
|
|
1149
|
-
sattr_name);
|
|
1156
|
+
PyErr_Format(PyExc_AttributeError, "class %s has no attribute '%s'",
|
|
1157
|
+
PyString_AS_STRING(class_object->cl_name), sattr_name);
|
|
1150
1158
|
}
|
|
1151
1159
|
|
|
1152
1160
|
return status;
|
|
1153
1161
|
} else {
|
|
1154
|
-
return DICT_SET_ITEM(
|
|
1162
|
+
return DICT_SET_ITEM(class_object->cl_dict, attr_name, value) ? 0 : -1;
|
|
1155
1163
|
}
|
|
1156
1164
|
}
|
|
1157
1165
|
|
|
1158
|
-
static PyObject *nuitka_class_getattr(PyClassObject *
|
|
1166
|
+
static PyObject *nuitka_class_getattr(PyClassObject *class_object, PyObject *attr_name) {
|
|
1159
1167
|
char const *sattr_name = PyString_AsString(attr_name);
|
|
1160
1168
|
|
|
1161
1169
|
if (sattr_name[0] == '_' && sattr_name[1] == '_') {
|
|
1162
1170
|
if (strcmp(sattr_name, "__dict__") == 0) {
|
|
1163
|
-
Py_INCREF(
|
|
1164
|
-
return
|
|
1171
|
+
Py_INCREF(class_object->cl_dict);
|
|
1172
|
+
return class_object->cl_dict;
|
|
1165
1173
|
} else if (strcmp(sattr_name, "__bases__") == 0) {
|
|
1166
|
-
Py_INCREF(
|
|
1167
|
-
return
|
|
1174
|
+
Py_INCREF(class_object->cl_bases);
|
|
1175
|
+
return class_object->cl_bases;
|
|
1168
1176
|
} else if (strcmp(sattr_name, "__name__") == 0) {
|
|
1169
|
-
if (
|
|
1170
|
-
|
|
1177
|
+
if (class_object->cl_name == NULL) {
|
|
1178
|
+
Py_INCREF_IMMORTAL(Py_None);
|
|
1171
1179
|
return Py_None;
|
|
1172
1180
|
} else {
|
|
1173
|
-
Py_INCREF(
|
|
1174
|
-
return
|
|
1181
|
+
Py_INCREF(class_object->cl_name);
|
|
1182
|
+
return class_object->cl_name;
|
|
1175
1183
|
}
|
|
1176
1184
|
}
|
|
1177
1185
|
}
|
|
1178
1186
|
|
|
1179
|
-
PyObject *value = FIND_ATTRIBUTE_IN_CLASS(
|
|
1187
|
+
PyObject *value = FIND_ATTRIBUTE_IN_CLASS(class_object, attr_name);
|
|
1180
1188
|
|
|
1181
1189
|
if (unlikely(value == NULL)) {
|
|
1182
|
-
PyErr_Format(PyExc_AttributeError, "class %s has no attribute '%s'", PyString_AS_STRING(
|
|
1190
|
+
PyErr_Format(PyExc_AttributeError, "class %s has no attribute '%s'", PyString_AS_STRING(class_object->cl_name),
|
|
1183
1191
|
sattr_name);
|
|
1184
1192
|
return NULL;
|
|
1185
1193
|
}
|
|
@@ -1192,7 +1200,7 @@ static PyObject *nuitka_class_getattr(PyClassObject *klass, PyObject *attr_name)
|
|
|
1192
1200
|
Py_INCREF(value);
|
|
1193
1201
|
return value;
|
|
1194
1202
|
} else {
|
|
1195
|
-
return tp_descr_get(value, (PyObject *)NULL, (PyObject *)
|
|
1203
|
+
return tp_descr_get(value, (PyObject *)NULL, (PyObject *)class_object);
|
|
1196
1204
|
}
|
|
1197
1205
|
}
|
|
1198
1206
|
|
|
@@ -1389,7 +1397,7 @@ PyObject *BUILTIN_SUM1(PyThreadState *tstate, PyObject *sequence) {
|
|
|
1389
1397
|
#endif
|
|
1390
1398
|
|
|
1391
1399
|
if (item == Py_False) {
|
|
1392
|
-
|
|
1400
|
+
Py_DECREF_IMMORTAL(item);
|
|
1393
1401
|
continue;
|
|
1394
1402
|
}
|
|
1395
1403
|
|
|
@@ -1466,7 +1474,7 @@ PyObject *BUILTIN_SUM2(PyThreadState *tstate, PyObject *sequence, PyObject *star
|
|
|
1466
1474
|
CHECK_OBJECT(sequence);
|
|
1467
1475
|
CHECK_OBJECT(start);
|
|
1468
1476
|
|
|
1469
|
-
PyObject *pos_args = MAKE_TUPLE2(sequence, start);
|
|
1477
|
+
PyObject *pos_args = MAKE_TUPLE2(tstate, sequence, start);
|
|
1470
1478
|
|
|
1471
1479
|
PyObject *result = CALL_FUNCTION_WITH_POSARGS2(tstate, NUITKA_ACCESS_BUILTIN(sum), pos_args);
|
|
1472
1480
|
|
|
@@ -1753,7 +1761,7 @@ static PyObject *getBinaryFilenameObject(bool resolve_symlinks) {
|
|
|
1753
1761
|
}
|
|
1754
1762
|
#endif
|
|
1755
1763
|
|
|
1756
|
-
|
|
1764
|
+
PyObject *getBinaryDirectoryObject(bool resolve_symlinks) {
|
|
1757
1765
|
static PyObject *binary_directory = NULL;
|
|
1758
1766
|
static PyObject *binary_directory_resolved = NULL;
|
|
1759
1767
|
|
|
@@ -1824,57 +1832,76 @@ static HMODULE getDllModuleHandle(void) {
|
|
|
1824
1832
|
}
|
|
1825
1833
|
#endif
|
|
1826
1834
|
|
|
1835
|
+
static filename_char_t const *getDllDirectory(void) {
|
|
1827
1836
|
#if defined(_WIN32)
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
char *last_slash = NULL;
|
|
1837
|
+
static WCHAR path[MAXPATHLEN + 1];
|
|
1838
|
+
path[0] = 0;
|
|
1831
1839
|
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
last_slash = path;
|
|
1835
|
-
}
|
|
1840
|
+
int res = GetModuleFileNameW(getDllModuleHandle(), path, MAXPATHLEN);
|
|
1841
|
+
assert(res != 0);
|
|
1836
1842
|
|
|
1837
|
-
|
|
1838
|
-
}
|
|
1843
|
+
stripFilenameW(path);
|
|
1839
1844
|
|
|
1840
|
-
|
|
1841
|
-
|
|
1845
|
+
return path;
|
|
1846
|
+
#else
|
|
1847
|
+
Dl_info where;
|
|
1848
|
+
|
|
1849
|
+
{
|
|
1850
|
+
NUITKA_MAY_BE_UNUSED int res = dladdr((void *)getDllDirectory, &where);
|
|
1851
|
+
assert(res != 0);
|
|
1842
1852
|
}
|
|
1843
|
-
|
|
1853
|
+
|
|
1854
|
+
return dirname((char *)where.dli_fname);
|
|
1844
1855
|
#endif
|
|
1856
|
+
}
|
|
1857
|
+
static PyObject *getDllDirectoryObject(void) {
|
|
1858
|
+
static PyObject *dll_directory = NULL;
|
|
1845
1859
|
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
static char path[MAXPATHLEN + 1];
|
|
1849
|
-
path[0] = '\0';
|
|
1860
|
+
if (dll_directory == NULL) {
|
|
1861
|
+
filename_char_t const *dll_directory_filename = getDllDirectory();
|
|
1850
1862
|
|
|
1851
|
-
|
|
1852
|
-
WCHAR path2[MAXPATHLEN + 1];
|
|
1853
|
-
path2[0] = 0;
|
|
1863
|
+
dll_directory = Nuitka_String_FromFilename(dll_directory_filename);
|
|
1854
1864
|
|
|
1855
|
-
|
|
1856
|
-
|
|
1865
|
+
#if PYTHON_VERSION < 0x300
|
|
1866
|
+
// Avoid unnecessary unicode values.
|
|
1867
|
+
PyObject *decoded_dll_directory = PyObject_Str(dll_directory);
|
|
1857
1868
|
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1869
|
+
if (decoded_dll_directory == NULL) {
|
|
1870
|
+
PyThreadState *tstate = PyThreadState_GET();
|
|
1871
|
+
DROP_ERROR_OCCURRED(tstate);
|
|
1872
|
+
} else {
|
|
1873
|
+
Py_DECREF(dll_directory);
|
|
1874
|
+
dll_directory = decoded_dll_directory;
|
|
1875
|
+
}
|
|
1863
1876
|
#endif
|
|
1877
|
+
}
|
|
1864
1878
|
|
|
1865
|
-
|
|
1879
|
+
CHECK_OBJECT(dll_directory);
|
|
1866
1880
|
|
|
1867
|
-
return
|
|
1881
|
+
return dll_directory;
|
|
1882
|
+
}
|
|
1883
|
+
#endif
|
|
1868
1884
|
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1885
|
+
PyObject *getContainingDirectoryObject(bool resolve_symlinks) {
|
|
1886
|
+
#if defined(_NUITKA_EXE)
|
|
1887
|
+
#if defined(_NUITKA_ONEFILE_MODE)
|
|
1888
|
+
environment_char_t const *onefile_binary = getEnvironmentVariable("NUITKA_ONEFILE_BINARY");
|
|
1889
|
+
if (onefile_binary != NULL) {
|
|
1890
|
+
PyObject *result = Nuitka_String_FromFilename(onefile_binary);
|
|
1891
|
+
unsetEnvironmentVariable("NUITKA_ONEFILE_BINARY");
|
|
1873
1892
|
|
|
1874
|
-
|
|
1893
|
+
PyThreadState *tstate = PyThreadState_GET();
|
|
1894
|
+
return OS_PATH_DIRNAME(tstate, result);
|
|
1895
|
+
}
|
|
1896
|
+
|
|
1897
|
+
return getBinaryDirectoryObject(resolve_symlinks);
|
|
1898
|
+
#else
|
|
1899
|
+
return getBinaryDirectoryObject(resolve_symlinks);
|
|
1875
1900
|
#endif
|
|
1876
|
-
|
|
1901
|
+
#else
|
|
1902
|
+
return getDllDirectoryObject();
|
|
1877
1903
|
#endif
|
|
1904
|
+
}
|
|
1878
1905
|
|
|
1879
1906
|
static void _initDeepCopy(void);
|
|
1880
1907
|
|
|
@@ -1902,10 +1929,13 @@ void _initBuiltinModule(void) {
|
|
|
1902
1929
|
assert(PyDict_Check(dict_builtin));
|
|
1903
1930
|
|
|
1904
1931
|
#ifdef _NUITKA_STANDALONE
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1932
|
+
{
|
|
1933
|
+
NUITKA_MAY_BE_UNUSED int res =
|
|
1934
|
+
PyDict_SetItemString((PyObject *)dict_builtin, "__nuitka_binary_dir", getBinaryDirectoryObject(true));
|
|
1935
|
+
assert(res == 0);
|
|
1936
|
+
PyDict_SetItemString((PyObject *)dict_builtin, "__nuitka_binary_exe", getBinaryFilenameObject(true));
|
|
1937
|
+
assert(res == 0);
|
|
1938
|
+
}
|
|
1909
1939
|
#endif
|
|
1910
1940
|
|
|
1911
1941
|
// init Nuitka_BuiltinModule_Type, PyType_Ready won't copy all member from
|
|
@@ -1927,7 +1957,7 @@ void _initBuiltinModule(void) {
|
|
|
1927
1957
|
Nuitka_BuiltinModule_Type.tp_alloc = PyModule_Type.tp_alloc;
|
|
1928
1958
|
Nuitka_BuiltinModule_Type.tp_new = PyModule_Type.tp_new;
|
|
1929
1959
|
Nuitka_BuiltinModule_Type.tp_free = PyModule_Type.tp_free;
|
|
1930
|
-
int res2 = PyType_Ready(&Nuitka_BuiltinModule_Type);
|
|
1960
|
+
NUITKA_MAY_BE_UNUSED int res2 = PyType_Ready(&Nuitka_BuiltinModule_Type);
|
|
1931
1961
|
assert(res2 >= 0);
|
|
1932
1962
|
|
|
1933
1963
|
// Replace type of builtin module to take over.
|
|
@@ -1943,11 +1973,7 @@ PyObject *MAKE_RELATIVE_PATH(PyObject *relative) {
|
|
|
1943
1973
|
static PyObject *our_path_object = NULL;
|
|
1944
1974
|
|
|
1945
1975
|
if (our_path_object == NULL) {
|
|
1946
|
-
|
|
1947
|
-
our_path_object = getBinaryDirectoryObject(true);
|
|
1948
|
-
#else
|
|
1949
|
-
our_path_object = Nuitka_String_FromString(getDllDirectory());
|
|
1950
|
-
#endif
|
|
1976
|
+
our_path_object = getContainingDirectoryObject(true);
|
|
1951
1977
|
}
|
|
1952
1978
|
|
|
1953
1979
|
return JOIN_PATH2(our_path_object, relative);
|
|
@@ -1991,7 +2017,9 @@ volatile int _Py_Ticker = _Py_CheckInterval;
|
|
|
1991
2017
|
iternextfunc default_iternext;
|
|
1992
2018
|
|
|
1993
2019
|
void _initSlotIterNext(void) {
|
|
1994
|
-
|
|
2020
|
+
PyThreadState *tstate = PyThreadState_GET();
|
|
2021
|
+
|
|
2022
|
+
PyObject *pos_args = MAKE_TUPLE1(tstate, (PyObject *)&PyBaseObject_Type);
|
|
1995
2023
|
|
|
1996
2024
|
// Note: Not using MAKE_DICT_EMPTY on purpose, this is called early on.
|
|
1997
2025
|
PyObject *kw_args = PyDict_New();
|
|
@@ -2099,3 +2127,28 @@ PyObject *MAKE_UNION_TYPE(PyObject *args) {
|
|
|
2099
2127
|
#endif
|
|
2100
2128
|
|
|
2101
2129
|
#include "MetaPathBasedLoader.c"
|
|
2130
|
+
|
|
2131
|
+
#ifdef _NUITKA_EXPERIMENTAL_DUMP_C_TRACEBACKS
|
|
2132
|
+
#include "HelpersDumpBacktraces.c"
|
|
2133
|
+
#endif
|
|
2134
|
+
|
|
2135
|
+
#ifdef _NUITKA_INLINE_COPY_HACL
|
|
2136
|
+
#include "Hacl_Hash_SHA2.c"
|
|
2137
|
+
#endif
|
|
2138
|
+
|
|
2139
|
+
#include "HelpersJitSources.c"
|
|
2140
|
+
|
|
2141
|
+
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
2142
|
+
// integrates with CPython, but also works on its own.
|
|
2143
|
+
//
|
|
2144
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
2145
|
+
// you may not use this file except in compliance with the License.
|
|
2146
|
+
// You may obtain a copy of the License at
|
|
2147
|
+
//
|
|
2148
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
2149
|
+
//
|
|
2150
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
2151
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
2152
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2153
|
+
// See the License for the specific language governing permissions and
|
|
2154
|
+
// limitations under the License.
|