Nuitka-winsvc 1.8__cp311-cp311-win_amd64.whl → 2.5.1__cp311-cp311-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of Nuitka-winsvc might be problematic. Click here for more details.
- Nuitka_winsvc-1.8.data/scripts/nuitka-run.bat → Nuitka_winsvc-2.5.1.data/scripts/nuitka-run.cmd +9 -9
- Nuitka_winsvc-1.8.data/scripts/nuitka.bat → Nuitka_winsvc-2.5.1.data/scripts/nuitka.cmd +15 -15
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.5.1.dist-info}/METADATA +5 -3
- Nuitka_winsvc-2.5.1.dist-info/RECORD +977 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.5.1.dist-info}/WHEEL +1 -1
- nuitka/Builtins.py +49 -17
- nuitka/BytecodeCaching.py +24 -20
- nuitka/Bytecodes.py +23 -19
- nuitka/CacheCleanup.py +28 -23
- nuitka/Constants.py +19 -17
- nuitka/Errors.py +23 -17
- nuitka/HardImportRegistry.py +408 -0
- nuitka/MainControl.py +209 -116
- nuitka/ModuleRegistry.py +83 -20
- nuitka/OptionParsing.py +467 -221
- nuitka/Options.py +701 -225
- nuitka/OutputDirectories.py +47 -23
- nuitka/PostProcessing.py +133 -79
- nuitka/Progress.py +73 -24
- nuitka/PythonFlavors.py +141 -32
- nuitka/PythonOperators.py +18 -17
- nuitka/PythonVersions.py +107 -19
- nuitka/Serialization.py +70 -55
- nuitka/SourceCodeReferences.py +19 -17
- nuitka/Tracing.py +176 -70
- nuitka/TreeXML.py +31 -26
- nuitka/Variables.py +39 -41
- nuitka/Version.py +22 -8
- nuitka/__init__.py +5 -4
- nuitka/__main__.py +95 -29
- nuitka/__past__.py +44 -34
- nuitka/build/Backend.scons +243 -141
- nuitka/build/CCompilerVersion.scons +45 -31
- nuitka/build/DataComposerInterface.py +20 -17
- nuitka/build/Onefile.scons +56 -54
- nuitka/build/SconsCaching.py +105 -92
- nuitka/build/SconsCompilerSettings.py +167 -68
- nuitka/build/SconsHacks.py +25 -19
- nuitka/build/SconsInterface.py +155 -54
- nuitka/build/SconsProgress.py +19 -18
- nuitka/build/SconsSpawn.py +62 -33
- nuitka/build/SconsUtils.py +152 -55
- nuitka/build/__init__.py +5 -4
- nuitka/build/include/nuitka/allocator.h +228 -22
- nuitka/build/include/nuitka/builtins.h +17 -17
- nuitka/build/include/nuitka/calling.h +24 -24
- nuitka/build/include/nuitka/checkers.h +17 -18
- nuitka/build/include/nuitka/checksum_tools.h +14 -19
- nuitka/build/include/nuitka/compiled_asyncgen.h +28 -25
- nuitka/build/include/nuitka/compiled_cell.h +33 -18
- nuitka/build/include/nuitka/compiled_coroutine.h +18 -18
- nuitka/build/include/nuitka/compiled_frame.h +93 -54
- nuitka/build/include/nuitka/compiled_function.h +42 -20
- nuitka/build/include/nuitka/compiled_generator.h +24 -18
- nuitka/build/include/nuitka/compiled_method.h +17 -18
- nuitka/build/include/nuitka/constants.h +35 -18
- nuitka/build/include/nuitka/constants_blob.h +17 -17
- nuitka/build/include/nuitka/debug_settings.h +60 -0
- nuitka/build/include/nuitka/environment_variables.h +30 -0
- nuitka/build/include/nuitka/environment_variables_system.h +45 -0
- nuitka/build/include/nuitka/exception_groups.h +23 -26
- nuitka/build/include/nuitka/exceptions.h +717 -171
- nuitka/build/include/nuitka/filesystem_paths.h +26 -20
- nuitka/build/include/nuitka/freelists.h +38 -18
- nuitka/build/include/nuitka/helper/attributes.h +24 -22
- nuitka/build/include/nuitka/helper/boolean.h +17 -17
- nuitka/build/include/nuitka/helper/bytearrays.h +17 -17
- nuitka/build/include/nuitka/helper/bytes.h +14 -15
- nuitka/build/include/nuitka/helper/calling_generated.h +69 -69
- nuitka/build/include/nuitka/helper/comparisons_dual_eq.h +47 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_ge.h +39 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_gt.h +39 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_le.h +47 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_lt.h +47 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_ne.h +39 -0
- nuitka/build/include/nuitka/helper/comparisons_eq.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_ge.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_gt.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_le.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_lt.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_ne.h +17 -17
- nuitka/build/include/nuitka/helper/complex.h +17 -17
- nuitka/build/include/nuitka/helper/dictionaries.h +89 -51
- nuitka/build/include/nuitka/helper/floats.h +17 -18
- nuitka/build/include/nuitka/helper/import_hard.h +25 -17
- nuitka/build/include/nuitka/helper/indexes.h +17 -18
- nuitka/build/include/nuitka/helper/ints.h +115 -54
- nuitka/build/include/nuitka/helper/iterators.h +99 -51
- nuitka/build/include/nuitka/helper/lists.h +26 -24
- nuitka/build/include/nuitka/helper/lists_generated.h +22 -22
- nuitka/build/include/nuitka/helper/mappings.h +17 -18
- nuitka/build/include/nuitka/helper/operations.h +20 -17
- nuitka/build/include/nuitka/helper/operations_binary_add.h +23 -17
- nuitka/build/include/nuitka/helper/operations_binary_bitand.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_bitor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_bitxor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_divmod.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_dual_add.h +34 -0
- nuitka/build/include/nuitka/helper/operations_binary_floordiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_lshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_matmult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_mod.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_mult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_olddiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_pow.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_rshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_sub.h +23 -17
- nuitka/build/include/nuitka/helper/operations_binary_truediv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_builtin_types.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_add.h +20 -17
- nuitka/build/include/nuitka/helper/operations_inplace_bitand.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_bitor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_bitxor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_floordiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_lshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_matmult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_mod.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_mult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_olddiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_pow.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_rshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_sub.h +20 -17
- nuitka/build/include/nuitka/helper/operations_inplace_truediv.h +17 -17
- nuitka/build/include/nuitka/helper/raising.h +68 -37
- nuitka/build/include/nuitka/helper/rangeobjects.h +17 -17
- nuitka/build/include/nuitka/helper/richcomparisons.h +21 -14
- nuitka/build/include/nuitka/helper/sequences.h +19 -13
- nuitka/build/include/nuitka/helper/sets.h +11 -12
- nuitka/build/include/nuitka/helper/slices.h +31 -25
- nuitka/build/include/nuitka/helper/strings.h +16 -17
- nuitka/build/include/nuitka/helper/subscripts.h +18 -201
- nuitka/build/include/nuitka/helper/tuples.h +64 -52
- nuitka/build/include/nuitka/helpers.h +50 -22
- nuitka/build/include/nuitka/importing.h +28 -21
- nuitka/build/include/nuitka/jit_sources.h +25 -0
- nuitka/build/include/nuitka/prelude.h +163 -71
- nuitka/build/include/nuitka/printing.h +29 -22
- nuitka/build/include/nuitka/python_pgo.h +19 -18
- nuitka/build/include/nuitka/safe_string_ops.h +20 -18
- nuitka/build/include/nuitka/threading.h +45 -32
- nuitka/build/include/nuitka/tracing.h +28 -18
- nuitka/build/include/nuitka/type_aliases.h +30 -0
- nuitka/build/include/nuitka/unfreezing.h +29 -23
- nuitka/build/inline_copy/bin/scons.py +14 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Variables/ListVariable.py +6 -6
- nuitka/build/inline_copy/pkg_resources/pkg_resources/__init__.py +0 -3
- nuitka/build/inline_copy/python_hacl/LICENSE.txt +201 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_MD5.c +1430 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_MD5.h +66 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA1.c +463 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA1.h +66 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA2.c +1273 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA2.h +204 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA3.c +734 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA3.h +131 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Streaming_Types.h +83 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/FStar_UInt128_Verified.h +346 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/FStar_UInt_8_16_32_64.h +107 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/fstar_uint128_struct_endianness.h +68 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/internal/target.h +293 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/lowstar_endianness.h +231 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/types.h +14 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_MD5.h +56 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA1.h +56 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA2.h +164 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA3.h +65 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/python_hacl_namespaces.h +89 -0
- nuitka/build/inline_copy/stubgen/astunparse.py +938 -0
- nuitka/build/inline_copy/stubgen/six.py +998 -0
- nuitka/build/inline_copy/stubgen/stubgen.py +307 -0
- nuitka/build/inline_copy/tqdm/tqdm/__init__.py +2 -2
- nuitka/build/inline_copy/tqdm/tqdm/_monitor.py +4 -1
- nuitka/build/inline_copy/tqdm/tqdm/utils.py +14 -8
- nuitka/build/inline_copy/tqdm/tqdm/version.py +1 -8
- nuitka/build/inline_copy/zlib/LICENSE +22 -0
- nuitka/build/inline_copy/zlib/crc32.c +1049 -0
- nuitka/build/inline_copy/zlib/crc32.h +9446 -0
- nuitka/build/inline_copy/zlib/zconf.h +551 -0
- nuitka/build/inline_copy/zlib/zlib.h +1938 -0
- nuitka/build/inline_copy/zlib/zutil.h +275 -0
- nuitka/build/static_src/CompiledAsyncgenType.c +221 -221
- nuitka/build/static_src/CompiledCellType.c +69 -44
- nuitka/build/static_src/CompiledCodeHelpers.c +276 -159
- nuitka/build/static_src/CompiledCoroutineType.c +229 -226
- nuitka/build/static_src/CompiledFrameType.c +323 -138
- nuitka/build/static_src/CompiledFunctionType.c +547 -231
- nuitka/build/static_src/CompiledGeneratorType.c +416 -290
- nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +593 -228
- nuitka/build/static_src/CompiledMethodType.c +91 -82
- nuitka/build/static_src/HelpersAllocator.c +352 -45
- nuitka/build/static_src/HelpersAttributes.c +30 -72
- nuitka/build/static_src/HelpersBuiltin.c +65 -46
- nuitka/build/static_src/HelpersBuiltinTypeMethods.c +17 -17
- nuitka/build/static_src/HelpersBytes.c +19 -20
- nuitka/build/static_src/HelpersCalling.c +40 -37
- nuitka/build/static_src/HelpersCallingGenerated.c +1061 -242
- nuitka/build/static_src/HelpersChecksumTools.c +35 -21
- nuitka/build/static_src/HelpersClasses.c +17 -17
- nuitka/build/static_src/HelpersComparisonDualEq.c +183 -0
- nuitka/build/static_src/HelpersComparisonDualGe.c +121 -0
- nuitka/build/static_src/HelpersComparisonDualGt.c +121 -0
- nuitka/build/static_src/HelpersComparisonDualLe.c +183 -0
- nuitka/build/static_src/HelpersComparisonDualLt.c +183 -0
- nuitka/build/static_src/HelpersComparisonDualNe.c +121 -0
- nuitka/build/static_src/HelpersComparisonEq.c +536 -496
- nuitka/build/static_src/HelpersComparisonEqUtils.c +22 -19
- nuitka/build/static_src/HelpersComparisonGe.c +531 -501
- nuitka/build/static_src/HelpersComparisonGt.c +530 -500
- nuitka/build/static_src/HelpersComparisonLe.c +531 -501
- nuitka/build/static_src/HelpersComparisonLt.c +530 -500
- nuitka/build/static_src/HelpersComparisonNe.c +538 -496
- nuitka/build/static_src/HelpersConsole.c +122 -0
- nuitka/build/static_src/HelpersConstantsBlob.c +550 -521
- nuitka/build/static_src/HelpersDeepcopy.c +33 -33
- nuitka/build/static_src/HelpersDictionaries.c +232 -63
- nuitka/build/static_src/HelpersDictionariesGenerated.c +130 -127
- nuitka/build/static_src/HelpersDumpBacktraces.c +63 -0
- nuitka/build/static_src/HelpersEnvironmentVariables.c +65 -0
- nuitka/build/static_src/HelpersEnvironmentVariablesSystem.c +93 -0
- nuitka/build/static_src/HelpersExceptions.c +147 -62
- nuitka/build/static_src/HelpersFiles.c +116 -22
- nuitka/build/static_src/HelpersFilesystemPaths.c +292 -181
- nuitka/build/static_src/HelpersFloats.c +37 -31
- nuitka/build/static_src/HelpersHeapStorage.c +21 -17
- nuitka/build/static_src/HelpersImport.c +61 -29
- nuitka/build/static_src/HelpersImportHard.c +74 -61
- nuitka/build/static_src/HelpersJitSources.c +46 -0
- nuitka/build/static_src/HelpersLists.c +237 -58
- nuitka/build/static_src/HelpersListsGenerated.c +41 -41
- nuitka/build/static_src/HelpersMappings.c +17 -17
- nuitka/build/static_src/HelpersMatching.c +137 -51
- nuitka/build/static_src/HelpersOperationBinaryAdd.c +397 -152
- nuitka/build/static_src/HelpersOperationBinaryAddUtils.c +102 -52
- nuitka/build/static_src/HelpersOperationBinaryBitand.c +55 -55
- nuitka/build/static_src/HelpersOperationBinaryBitor.c +55 -55
- nuitka/build/static_src/HelpersOperationBinaryBitxor.c +55 -55
- nuitka/build/static_src/HelpersOperationBinaryDivmod.c +49 -43
- nuitka/build/static_src/HelpersOperationBinaryDivmodUtils.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryDualAdd.c +172 -0
- nuitka/build/static_src/HelpersOperationBinaryFloordiv.c +55 -49
- nuitka/build/static_src/HelpersOperationBinaryInplaceAdd.c +20 -21
- nuitka/build/static_src/HelpersOperationBinaryLshift.c +83 -83
- nuitka/build/static_src/HelpersOperationBinaryMatmult.c +25 -24
- nuitka/build/static_src/HelpersOperationBinaryMod.c +129 -117
- nuitka/build/static_src/HelpersOperationBinaryMult.c +98 -82
- nuitka/build/static_src/HelpersOperationBinaryMultUtils.c +33 -30
- nuitka/build/static_src/HelpersOperationBinaryOlddiv.c +55 -49
- nuitka/build/static_src/HelpersOperationBinaryPow.c +68 -68
- nuitka/build/static_src/HelpersOperationBinaryPowUtils.c +12 -12
- nuitka/build/static_src/HelpersOperationBinaryRshift.c +51 -51
- nuitka/build/static_src/HelpersOperationBinarySub.c +309 -88
- nuitka/build/static_src/HelpersOperationBinaryTruediv.c +49 -43
- nuitka/build/static_src/HelpersOperationInplaceAdd.c +333 -163
- nuitka/build/static_src/HelpersOperationInplaceAddUtils.c +24 -22
- nuitka/build/static_src/HelpersOperationInplaceBitand.c +58 -58
- nuitka/build/static_src/HelpersOperationInplaceBitor.c +58 -58
- nuitka/build/static_src/HelpersOperationInplaceBitxor.c +58 -58
- nuitka/build/static_src/HelpersOperationInplaceFloordiv.c +73 -68
- nuitka/build/static_src/HelpersOperationInplaceLshift.c +64 -64
- nuitka/build/static_src/HelpersOperationInplaceMatmult.c +38 -37
- nuitka/build/static_src/HelpersOperationInplaceMod.c +145 -140
- nuitka/build/static_src/HelpersOperationInplaceMult.c +89 -84
- nuitka/build/static_src/HelpersOperationInplaceOlddiv.c +73 -68
- nuitka/build/static_src/HelpersOperationInplacePow.c +82 -82
- nuitka/build/static_src/HelpersOperationInplaceRshift.c +48 -48
- nuitka/build/static_src/HelpersOperationInplaceSub.c +275 -122
- nuitka/build/static_src/HelpersOperationInplaceTruediv.c +68 -63
- nuitka/build/static_src/HelpersProfiling.c +25 -24
- nuitka/build/static_src/HelpersPythonPgo.c +22 -22
- nuitka/build/static_src/HelpersRaising.c +296 -283
- nuitka/build/static_src/HelpersSafeStrings.c +34 -22
- nuitka/build/static_src/HelpersSequences.c +18 -19
- nuitka/build/static_src/HelpersSlices.c +29 -23
- nuitka/build/static_src/HelpersStrings.c +235 -38
- nuitka/build/static_src/HelpersTuples.c +46 -34
- nuitka/build/static_src/HelpersTypes.c +166 -25
- nuitka/build/static_src/InspectPatcher.c +108 -27
- nuitka/build/static_src/MainProgram.c +464 -280
- nuitka/build/static_src/MetaPathBasedLoader.c +381 -257
- nuitka/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c +39 -26
- nuitka/build/static_src/MetaPathBasedLoaderResourceReader.c +17 -18
- nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +227 -29
- nuitka/build/static_src/OnefileBootstrap.c +281 -164
- nuitka/build/static_src/OnefileSplashScreen.cpp +51 -27
- nuitka/code_generation/AsyncgenCodes.py +21 -23
- nuitka/code_generation/AttributeCodes.py +31 -27
- nuitka/code_generation/BinaryOperationHelperDefinitions.py +290 -184
- nuitka/code_generation/BranchCodes.py +19 -17
- nuitka/code_generation/BuiltinCodes.py +29 -18
- nuitka/code_generation/CallCodes.py +35 -33
- nuitka/code_generation/ClassCodes.py +19 -17
- nuitka/code_generation/CodeGeneration.py +61 -28
- nuitka/code_generation/CodeHelperSelection.py +20 -18
- nuitka/code_generation/CodeHelpers.py +28 -21
- nuitka/code_generation/CodeObjectCodes.py +36 -26
- nuitka/code_generation/ComparisonCodes.py +51 -22
- nuitka/code_generation/ComparisonHelperDefinitions.py +42 -25
- nuitka/code_generation/ConditionalCodes.py +19 -17
- nuitka/code_generation/ConstantCodes.py +82 -28
- nuitka/code_generation/Contexts.py +180 -42
- nuitka/code_generation/CoroutineCodes.py +21 -23
- nuitka/code_generation/CtypesCodes.py +19 -17
- nuitka/code_generation/DictCodes.py +28 -26
- nuitka/code_generation/Emission.py +21 -18
- nuitka/code_generation/ErrorCodes.py +57 -79
- nuitka/code_generation/EvalCodes.py +24 -20
- nuitka/code_generation/ExceptionCodes.py +182 -104
- nuitka/code_generation/ExpressionCTypeSelectionHelpers.py +45 -27
- nuitka/code_generation/ExpressionCodes.py +19 -17
- nuitka/code_generation/FrameCodes.py +28 -31
- nuitka/code_generation/FunctionCodes.py +26 -27
- nuitka/code_generation/GeneratorCodes.py +25 -26
- nuitka/code_generation/GlobalConstants.py +51 -25
- nuitka/code_generation/GlobalsLocalsCodes.py +23 -21
- nuitka/code_generation/IdCodes.py +19 -17
- nuitka/code_generation/ImportCodes.py +90 -50
- nuitka/code_generation/Indentation.py +23 -22
- nuitka/code_generation/IndexCodes.py +19 -17
- nuitka/code_generation/InjectCCodes.py +14 -12
- nuitka/code_generation/IntegerCodes.py +19 -17
- nuitka/code_generation/IteratorCodes.py +86 -71
- nuitka/code_generation/JitCodes.py +44 -0
- nuitka/code_generation/LabelCodes.py +19 -17
- nuitka/code_generation/LineNumberCodes.py +20 -20
- nuitka/code_generation/ListCodes.py +32 -36
- nuitka/code_generation/LoaderCodes.py +22 -17
- nuitka/code_generation/LocalsDictCodes.py +56 -32
- nuitka/code_generation/LoopCodes.py +19 -17
- nuitka/code_generation/MatchCodes.py +42 -22
- nuitka/code_generation/ModuleCodes.py +71 -29
- nuitka/code_generation/Namify.py +27 -23
- nuitka/code_generation/NetworkxCodes.py +51 -0
- nuitka/code_generation/OperationCodes.py +80 -51
- nuitka/code_generation/PackageResourceCodes.py +96 -23
- nuitka/code_generation/PrintCodes.py +19 -17
- nuitka/code_generation/PythonAPICodes.py +19 -17
- nuitka/code_generation/RaisingCodes.py +183 -107
- nuitka/code_generation/Reports.py +32 -22
- nuitka/code_generation/ReturnCodes.py +20 -32
- nuitka/code_generation/SetCodes.py +19 -17
- nuitka/code_generation/SliceCodes.py +22 -20
- nuitka/code_generation/StringCodes.py +19 -17
- nuitka/code_generation/SubscriptCodes.py +24 -30
- nuitka/code_generation/TensorflowCodes.py +54 -0
- nuitka/code_generation/TryCodes.py +31 -41
- nuitka/code_generation/TupleCodes.py +20 -18
- nuitka/code_generation/TypeAliasCodes.py +119 -0
- nuitka/code_generation/VariableCodes.py +118 -55
- nuitka/code_generation/VariableDeclarations.py +28 -25
- nuitka/code_generation/YieldCodes.py +23 -21
- nuitka/code_generation/__init__.py +5 -4
- nuitka/code_generation/c_types/CTypeBases.py +29 -19
- nuitka/code_generation/c_types/CTypeBooleans.py +19 -17
- nuitka/code_generation/c_types/CTypeCFloats.py +19 -17
- nuitka/code_generation/c_types/CTypeCLongs.py +19 -18
- nuitka/code_generation/c_types/CTypeModuleDictVariables.py +22 -17
- nuitka/code_generation/c_types/CTypeNuitkaBooleans.py +22 -21
- nuitka/code_generation/c_types/CTypeNuitkaInts.py +89 -43
- nuitka/code_generation/c_types/CTypeNuitkaVoids.py +20 -18
- nuitka/code_generation/c_types/CTypePyObjectPointers.py +43 -31
- nuitka/code_generation/c_types/CTypeVoids.py +20 -17
- nuitka/code_generation/c_types/__init__.py +5 -4
- nuitka/code_generation/templates/CodeTemplatesAsyncgens.py +20 -19
- nuitka/code_generation/templates/CodeTemplatesConstants.py +143 -39
- nuitka/code_generation/templates/CodeTemplatesCoroutines.py +20 -19
- nuitka/code_generation/templates/CodeTemplatesExceptions.py +33 -33
- nuitka/code_generation/templates/CodeTemplatesFrames.py +36 -27
- nuitka/code_generation/templates/CodeTemplatesFunction.py +20 -19
- nuitka/code_generation/templates/CodeTemplatesGeneratorFunction.py +21 -19
- nuitka/code_generation/templates/CodeTemplatesIterators.py +19 -53
- nuitka/code_generation/templates/CodeTemplatesLoader.py +25 -19
- nuitka/code_generation/templates/CodeTemplatesModules.py +278 -169
- nuitka/code_generation/templates/CodeTemplatesVariables.py +115 -27
- nuitka/code_generation/templates/TemplateDebugWrapper.py +19 -18
- nuitka/code_generation/templates/__init__.py +5 -4
- nuitka/code_generation/templates_c/CodeTemplateCallsMethodPositional.c.j2 +19 -19
- nuitka/code_generation/templates_c/CodeTemplateCallsMixed.c.j2 +21 -21
- nuitka/code_generation/templates_c/CodeTemplateCallsPositional.c.j2 +79 -28
- nuitka/code_generation/templates_c/CodeTemplateCallsPositionalMethodDescr.c.j2 +22 -22
- nuitka/code_generation/templates_c/CodeTemplateMakeListHinted.c.j2 +19 -19
- nuitka/code_generation/templates_c/CodeTemplateMakeListSmall.c.j2 +19 -19
- nuitka/code_generation/templates_c/HelperBuiltinMethodOperation.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperDictionaryCopy.c.j2 +74 -106
- nuitka/code_generation/templates_c/HelperImportHard.c.j2 +19 -20
- nuitka/code_generation/templates_c/HelperLongTools.c.j2 +19 -19
- nuitka/code_generation/templates_c/HelperObjectTools.c.j2 +6 -6
- nuitka/code_generation/templates_c/HelperOperationBinary.c.j2 +23 -23
- nuitka/code_generation/templates_c/HelperOperationBinaryDual.c.j2 +115 -0
- nuitka/code_generation/templates_c/HelperOperationComparison.c.j2 +35 -35
- nuitka/code_generation/templates_c/HelperOperationComparisonBytes.c.j2 +37 -37
- nuitka/code_generation/templates_c/HelperOperationComparisonDual.c.j2 +86 -0
- nuitka/code_generation/templates_c/HelperOperationComparisonFloat.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationComparisonInt.c.j2 +18 -18
- nuitka/code_generation/templates_c/HelperOperationComparisonList.c.j2 +50 -38
- nuitka/code_generation/templates_c/HelperOperationComparisonLong.c.j2 +27 -27
- nuitka/code_generation/templates_c/HelperOperationComparisonStr.c.j2 +37 -37
- nuitka/code_generation/templates_c/HelperOperationComparisonTuple.c.j2 +31 -31
- nuitka/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +35 -31
- nuitka/code_generation/templates_c/HelperOperationInplace.c.j2 +20 -20
- nuitka/code_generation/templates_c/HelperSlotsBinary.c.j2 +28 -28
- nuitka/code_generation/templates_c/HelperSlotsBytes.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsCommon.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsFloat.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsInt.c.j2 +48 -48
- nuitka/code_generation/templates_c/HelperSlotsList.c.j2 +21 -18
- nuitka/code_generation/templates_c/HelperSlotsLong.c.j2 +27 -25
- nuitka/code_generation/templates_c/HelperSlotsSet.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsStr.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsTuple.c.j2 +21 -18
- nuitka/code_generation/templates_c/HelperSlotsUnicode.c.j2 +17 -17
- nuitka/containers/Namedtuples.py +25 -18
- nuitka/containers/OrderedSets.py +105 -5
- nuitka/containers/OrderedSetsFallback.py +19 -17
- nuitka/containers/__init__.py +5 -4
- nuitka/distutils/Build.py +33 -18
- nuitka/distutils/DistutilCommands.py +84 -33
- nuitka/distutils/__init__.py +5 -4
- nuitka/finalizations/Finalization.py +21 -18
- nuitka/finalizations/FinalizeMarkups.py +31 -55
- nuitka/finalizations/__init__.py +5 -4
- nuitka/freezer/DependsExe.py +60 -30
- nuitka/freezer/DllDependenciesCommon.py +47 -20
- nuitka/freezer/DllDependenciesMacOS.py +165 -58
- nuitka/freezer/DllDependenciesPosix.py +29 -19
- nuitka/freezer/DllDependenciesWin32.py +55 -33
- nuitka/freezer/ImportDetection.py +23 -17
- nuitka/freezer/IncludedDataFiles.py +142 -48
- nuitka/freezer/IncludedEntryPoints.py +104 -39
- nuitka/freezer/Onefile.py +32 -22
- nuitka/freezer/Standalone.py +166 -53
- nuitka/freezer/__init__.py +5 -4
- nuitka/importing/IgnoreListing.py +19 -17
- nuitka/importing/ImportCache.py +24 -21
- nuitka/importing/ImportResolving.py +103 -95
- nuitka/importing/Importing.py +319 -98
- nuitka/importing/PreloadedPackages.py +21 -18
- nuitka/importing/Recursion.py +142 -47
- nuitka/importing/StandardLibrary.py +96 -80
- nuitka/importing/__init__.py +5 -4
- nuitka/nodes/AsyncgenNodes.py +22 -23
- nuitka/nodes/AttributeLookupNodes.py +19 -17
- nuitka/nodes/AttributeNodes.py +19 -17
- nuitka/nodes/AttributeNodesGenerated.py +49 -24
- nuitka/nodes/BuiltinAllNodes.py +19 -17
- nuitka/nodes/BuiltinAnyNodes.py +19 -17
- nuitka/nodes/BuiltinComplexNodes.py +20 -17
- nuitka/nodes/BuiltinDecodingNodes.py +19 -17
- nuitka/nodes/BuiltinDecoratorNodes.py +19 -17
- nuitka/nodes/BuiltinDictNodes.py +19 -17
- nuitka/nodes/BuiltinFormatNodes.py +20 -17
- nuitka/nodes/BuiltinHashNodes.py +19 -17
- nuitka/nodes/BuiltinInputNodes.py +19 -17
- nuitka/nodes/BuiltinIntegerNodes.py +19 -17
- nuitka/nodes/BuiltinIteratorNodes.py +25 -21
- nuitka/nodes/BuiltinLenNodes.py +19 -17
- nuitka/nodes/BuiltinNextNodes.py +19 -17
- nuitka/nodes/BuiltinOpenNodes.py +52 -18
- nuitka/nodes/BuiltinOperationNodeBasesGenerated.py +40 -23
- nuitka/nodes/BuiltinRangeNodes.py +21 -19
- nuitka/nodes/BuiltinRefNodes.py +73 -40
- nuitka/nodes/BuiltinSumNodes.py +20 -18
- nuitka/nodes/BuiltinTypeNodes.py +19 -17
- nuitka/nodes/BuiltinVarsNodes.py +19 -18
- nuitka/nodes/BytesNodes.py +19 -17
- nuitka/nodes/CallNodes.py +19 -17
- nuitka/nodes/Checkers.py +19 -17
- nuitka/nodes/ChildrenHavingMixins.py +1624 -283
- nuitka/nodes/ClassNodes.py +49 -29
- nuitka/nodes/CodeObjectSpecs.py +29 -18
- nuitka/nodes/ComparisonNodes.py +19 -17
- nuitka/nodes/ConditionalNodes.py +24 -25
- nuitka/nodes/ConstantRefNodes.py +57 -17
- nuitka/nodes/ContainerMakingNodes.py +19 -17
- nuitka/nodes/ContainerOperationNodes.py +19 -17
- nuitka/nodes/CoroutineNodes.py +22 -23
- nuitka/nodes/CtypesNodes.py +19 -18
- nuitka/nodes/DictionaryNodes.py +19 -18
- nuitka/nodes/ExceptionNodes.py +131 -43
- nuitka/nodes/ExecEvalNodes.py +19 -17
- nuitka/nodes/ExpressionBases.py +34 -26
- nuitka/nodes/ExpressionBasesGenerated.py +341 -35
- nuitka/nodes/ExpressionShapeMixins.py +19 -17
- nuitka/nodes/FrameNodes.py +41 -28
- nuitka/nodes/FunctionAttributeNodes.py +19 -17
- nuitka/nodes/FunctionNodes.py +84 -38
- nuitka/nodes/FutureSpecs.py +35 -20
- nuitka/nodes/GeneratorNodes.py +24 -25
- nuitka/nodes/GlobalsLocalsNodes.py +22 -17
- nuitka/nodes/HardImportNodesGenerated.py +746 -148
- nuitka/nodes/ImportHardNodes.py +46 -38
- nuitka/nodes/ImportNodes.py +438 -448
- nuitka/nodes/IndicatorMixins.py +19 -17
- nuitka/nodes/InjectCNodes.py +19 -18
- nuitka/nodes/IterationHandles.py +55 -34
- nuitka/nodes/KeyValuePairNodes.py +19 -17
- nuitka/nodes/ListOperationNodes.py +33 -21
- nuitka/nodes/LocalsDictNodes.py +19 -17
- nuitka/nodes/LocalsScopes.py +41 -41
- nuitka/nodes/LoopNodes.py +28 -17
- nuitka/nodes/MatchNodes.py +37 -24
- nuitka/nodes/ModuleAttributeNodes.py +18 -35
- nuitka/nodes/ModuleNodes.py +90 -31
- nuitka/nodes/NetworkxNodes.py +45 -0
- nuitka/nodes/NodeBases.py +73 -44
- nuitka/nodes/NodeMakingHelpers.py +92 -69
- nuitka/nodes/NodeMetaClasses.py +45 -28
- nuitka/nodes/OperatorNodes.py +28 -26
- nuitka/nodes/OperatorNodesUnary.py +148 -20
- nuitka/nodes/OsSysNodes.py +97 -18
- nuitka/nodes/OutlineNodes.py +24 -22
- nuitka/nodes/PackageMetadataNodes.py +37 -27
- nuitka/nodes/PackageResourceNodes.py +29 -23
- nuitka/nodes/PrintNodes.py +19 -17
- nuitka/nodes/ReturnNodes.py +20 -18
- nuitka/nodes/SideEffectNodes.py +19 -17
- nuitka/nodes/SliceNodes.py +20 -18
- nuitka/nodes/StatementBasesGenerated.py +125 -79
- nuitka/nodes/StatementNodes.py +27 -24
- nuitka/nodes/StrNodes.py +19 -17
- nuitka/nodes/StringConcatenationNodes.py +20 -17
- nuitka/nodes/SubscriptNodes.py +27 -25
- nuitka/nodes/TensorflowNodes.py +38 -0
- nuitka/nodes/TryNodes.py +19 -17
- nuitka/nodes/TypeMatchNodes.py +19 -17
- nuitka/nodes/TypeNodes.py +68 -18
- nuitka/nodes/VariableAssignNodes.py +122 -64
- nuitka/nodes/VariableDelNodes.py +19 -17
- nuitka/nodes/VariableNameNodes.py +19 -17
- nuitka/nodes/VariableRefNodes.py +63 -26
- nuitka/nodes/VariableReleaseNodes.py +19 -17
- nuitka/nodes/YieldNodes.py +21 -19
- nuitka/nodes/__init__.py +5 -4
- nuitka/nodes/shapes/BuiltinTypeShapes.py +169 -46
- nuitka/nodes/shapes/ControlFlowDescriptions.py +19 -17
- nuitka/nodes/shapes/ShapeMixins.py +57 -17
- nuitka/nodes/shapes/StandardShapes.py +80 -21
- nuitka/nodes/shapes/__init__.py +5 -4
- nuitka/optimizations/BytecodeDemotion.py +21 -18
- nuitka/optimizations/FunctionInlining.py +22 -23
- nuitka/optimizations/Graphs.py +19 -17
- nuitka/optimizations/Optimization.py +39 -35
- nuitka/optimizations/OptimizeBuiltinCalls.py +31 -27
- nuitka/optimizations/Tags.py +19 -18
- nuitka/optimizations/TraceCollections.py +67 -24
- nuitka/optimizations/ValueTraces.py +92 -25
- nuitka/optimizations/__init__.py +5 -4
- nuitka/pgo/PGO.py +33 -23
- nuitka/pgo/__init__.py +5 -4
- nuitka/plugins/PluginBase.py +655 -112
- nuitka/plugins/Plugins.py +247 -61
- nuitka/plugins/YamlPluginBase.py +121 -0
- nuitka/plugins/__init__.py +5 -4
- nuitka/plugins/standard/AntiBloatPlugin.py +374 -135
- nuitka/plugins/standard/ConsiderPyLintAnnotationsPlugin.py +20 -19
- nuitka/plugins/standard/DataFilesPlugin.py +65 -29
- nuitka/plugins/standard/DelvewheelPlugin.py +32 -24
- nuitka/plugins/standard/DillPlugin/DillPlugin.c +37 -0
- nuitka/plugins/standard/DillPlugin/dill-postLoad.py +256 -0
- nuitka/plugins/standard/DillPlugin.py +42 -134
- nuitka/plugins/standard/DllFilesPlugin.py +125 -42
- nuitka/plugins/standard/EnumPlugin.py +19 -17
- nuitka/plugins/standard/EventletPlugin.py +19 -17
- nuitka/plugins/standard/GeventPlugin.py +19 -17
- nuitka/plugins/standard/GiPlugin.py +44 -28
- nuitka/plugins/standard/GlfwPlugin.py +20 -17
- nuitka/plugins/standard/ImplicitImports.py +403 -54
- nuitka/plugins/standard/KivyPlugin.py +24 -20
- nuitka/plugins/standard/MatplotlibPlugin.py +99 -42
- nuitka/plugins/standard/MultiprocessingPlugin.py +35 -39
- nuitka/plugins/standard/NumpyPlugin.py +19 -17
- nuitka/plugins/standard/OptionsNannyPlugin.py +48 -76
- nuitka/plugins/standard/PbrPlugin.py +21 -19
- nuitka/plugins/standard/PkgResourcesPlugin.py +34 -23
- nuitka/plugins/standard/PlaywrightPlugin.py +184 -0
- nuitka/plugins/standard/PmwPlugin.py +30 -27
- nuitka/plugins/standard/PySidePyQtPlugin.py +82 -80
- nuitka/plugins/standard/PywebViewPlugin.py +19 -17
- nuitka/plugins/standard/SpacyPlugin.py +136 -0
- nuitka/plugins/standard/TensorflowPlugin.py +20 -17
- nuitka/plugins/standard/TkinterPlugin.py +102 -108
- nuitka/plugins/standard/TorchPlugin.py +20 -17
- nuitka/plugins/standard/TransformersPlugin.py +90 -231
- nuitka/plugins/standard/TrioPlugin.py +18 -15
- nuitka/plugins/standard/UpxPlugin.py +21 -19
- nuitka/plugins/standard/__init__.py +5 -4
- nuitka/plugins/standard/standard.nuitka-package.config.yml +3925 -1293
- nuitka/plugins/standard/stdlib2.nuitka-package.config.yml +14 -14
- nuitka/plugins/standard/stdlib3.nuitka-package.config.yml +154 -66
- nuitka/reports/CompilationReportReader.py +79 -0
- nuitka/reports/LicenseReport.rst.j2 +21 -21
- nuitka/reports/Reports.py +363 -76
- nuitka/reports/__init__.py +5 -4
- nuitka/specs/BuiltinBytesOperationSpecs.py +18 -17
- nuitka/specs/BuiltinDictOperationSpecs.py +18 -17
- nuitka/specs/BuiltinListOperationSpecs.py +18 -17
- nuitka/specs/BuiltinParameterSpecs.py +35 -21
- nuitka/specs/BuiltinStrOperationSpecs.py +19 -18
- nuitka/specs/BuiltinTypeOperationSpecs.py +18 -18
- nuitka/specs/BuiltinUnicodeOperationSpecs.py +18 -17
- nuitka/specs/HardImportSpecs.py +74 -22
- nuitka/specs/ParameterSpecs.py +60 -45
- nuitka/specs/__init__.py +5 -4
- nuitka/tools/Basics.py +20 -18
- nuitka/tools/__init__.py +5 -4
- nuitka/tools/commercial/__init__.py +7 -6
- nuitka/tools/data_composer/DataComposer.py +78 -62
- nuitka/tools/data_composer/__init__.py +5 -4
- nuitka/tools/data_composer/__main__.py +18 -17
- nuitka/tools/environments/CreateEnvironment.py +20 -17
- nuitka/tools/environments/Virtualenv.py +60 -32
- nuitka/tools/environments/__init__.py +5 -4
- nuitka/tools/general/__init__.py +5 -4
- nuitka/tools/general/dll_report/__init__.py +5 -4
- nuitka/tools/general/dll_report/__main__.py +29 -22
- nuitka/tools/general/find_module/FindModuleCode.py +35 -22
- nuitka/tools/general/find_module/__init__.py +5 -4
- nuitka/tools/onefile_compressor/OnefileCompressor.py +213 -131
- nuitka/tools/onefile_compressor/__init__.py +5 -4
- nuitka/tools/onefile_compressor/__main__.py +18 -17
- nuitka/tools/podman/Podman.py +19 -17
- nuitka/tools/podman/__init__.py +5 -4
- nuitka/tools/podman/__main__.py +35 -19
- nuitka/tools/profiler/__init__.py +5 -4
- nuitka/tools/profiler/__main__.py +18 -17
- nuitka/tools/scanning/DisplayPackageDLLs.py +47 -22
- nuitka/tools/scanning/DisplayPackageData.py +31 -19
- nuitka/tools/scanning/__init__.py +5 -4
- nuitka/tools/specialize/CTypeDescriptions.py +251 -80
- nuitka/tools/specialize/Common.py +18 -17
- nuitka/tools/specialize/SpecializeC.py +248 -82
- nuitka/tools/specialize/SpecializePython.py +108 -45
- nuitka/tools/specialize/__init__.py +5 -4
- nuitka/tools/testing/Common.py +175 -114
- nuitka/tools/testing/Constructs.py +19 -17
- nuitka/tools/testing/OutputComparison.py +54 -18
- nuitka/tools/testing/Pythons.py +19 -18
- nuitka/tools/testing/RuntimeTracing.py +20 -19
- nuitka/tools/testing/SearchModes.py +26 -20
- nuitka/tools/testing/Valgrind.py +19 -17
- nuitka/tools/testing/__init__.py +5 -4
- nuitka/tools/testing/check_reference_counts/__init__.py +5 -4
- nuitka/tools/testing/check_reference_counts/__main__.py +18 -18
- nuitka/tools/testing/compare_with_cpython/__init__.py +5 -4
- nuitka/tools/testing/compare_with_cpython/__main__.py +39 -30
- nuitka/tools/testing/find_sxs_modules/__init__.py +5 -4
- nuitka/tools/testing/find_sxs_modules/__main__.py +17 -17
- nuitka/tools/testing/measure_construct_performance/__init__.py +5 -4
- nuitka/tools/testing/measure_construct_performance/__main__.py +23 -33
- nuitka/tools/testing/run_nuitka_tests/__init__.py +5 -4
- nuitka/tools/testing/run_nuitka_tests/__main__.py +134 -51
- nuitka/tools/watch/AutoStage.py +145 -0
- nuitka/tools/watch/GitHub.py +113 -0
- nuitka/tools/watch/__init__.py +5 -4
- nuitka/tools/watch/__main__.py +322 -91
- nuitka/tree/Building.py +184 -182
- nuitka/tree/ComplexCallHelperFunctions.py +84 -58
- nuitka/tree/Extractions.py +19 -17
- nuitka/tree/InternalModule.py +29 -20
- nuitka/tree/Operations.py +19 -17
- nuitka/tree/ReformulationAssertStatements.py +51 -31
- nuitka/tree/ReformulationAssignmentStatements.py +96 -91
- nuitka/tree/ReformulationBooleanExpressions.py +19 -17
- nuitka/tree/ReformulationCallExpressions.py +20 -18
- nuitka/tree/ReformulationClasses.py +45 -39
- nuitka/tree/ReformulationClasses3.py +239 -116
- nuitka/tree/ReformulationComparisonExpressions.py +29 -35
- nuitka/tree/ReformulationContractionExpressions.py +58 -55
- nuitka/tree/ReformulationDictionaryCreation.py +41 -35
- nuitka/tree/ReformulationExecStatements.py +42 -39
- nuitka/tree/ReformulationForLoopStatements.py +30 -34
- nuitka/tree/ReformulationFunctionStatements.py +59 -55
- nuitka/tree/ReformulationImportStatements.py +34 -29
- nuitka/tree/ReformulationLambdaExpressions.py +23 -24
- nuitka/tree/ReformulationMatchStatements.py +246 -92
- nuitka/tree/ReformulationMultidist.py +22 -18
- nuitka/tree/ReformulationNamespacePackages.py +55 -46
- nuitka/tree/ReformulationPrintStatements.py +23 -24
- nuitka/tree/ReformulationSequenceCreation.py +50 -49
- nuitka/tree/ReformulationSubscriptExpressions.py +19 -17
- nuitka/tree/ReformulationTryExceptStatements.py +19 -17
- nuitka/tree/ReformulationTryFinallyStatements.py +34 -17
- nuitka/tree/ReformulationWhileLoopStatements.py +19 -17
- nuitka/tree/ReformulationWithStatements.py +39 -41
- nuitka/tree/ReformulationYieldExpressions.py +44 -24
- nuitka/tree/SourceHandling.py +76 -31
- nuitka/tree/SyntaxErrors.py +19 -17
- nuitka/tree/TreeHelpers.py +33 -20
- nuitka/tree/VariableClosure.py +35 -39
- nuitka/tree/__init__.py +5 -4
- nuitka/utils/AppDirs.py +41 -20
- nuitka/utils/CStrings.py +66 -21
- nuitka/utils/CommandLineOptions.py +111 -22
- nuitka/utils/Distributions.py +445 -54
- nuitka/utils/Download.py +89 -57
- nuitka/utils/Execution.py +102 -58
- nuitka/utils/FileOperations.py +357 -128
- nuitka/utils/Hashing.py +55 -33
- nuitka/utils/Images.py +26 -19
- nuitka/utils/Importing.py +119 -37
- nuitka/utils/InlineCopies.py +52 -0
- nuitka/utils/InstalledPythons.py +85 -75
- nuitka/utils/InstanceCounters.py +20 -17
- nuitka/utils/Jinja2.py +30 -22
- nuitka/utils/Json.py +21 -19
- nuitka/utils/MacOSApp.py +26 -18
- nuitka/utils/MemoryUsage.py +20 -18
- nuitka/utils/ModuleNames.py +42 -26
- nuitka/utils/PackageResources.py +44 -0
- nuitka/utils/ReExecute.py +50 -28
- nuitka/utils/Rest.py +20 -17
- nuitka/utils/SharedLibraries.py +161 -75
- nuitka/utils/Shebang.py +20 -17
- nuitka/utils/Signing.py +63 -18
- nuitka/utils/SlotMetaClasses.py +57 -0
- nuitka/utils/StaticLibraries.py +83 -56
- nuitka/utils/ThreadedExecutor.py +18 -17
- nuitka/utils/Timing.py +22 -20
- nuitka/utils/Utils.py +132 -25
- nuitka/utils/WindowsFileUsage.py +22 -20
- nuitka/utils/WindowsResources.py +25 -18
- nuitka/utils/Yaml.py +62 -24
- nuitka/utils/__init__.py +5 -4
- Nuitka_winsvc-1.8.dist-info/RECORD +0 -905
- nuitka/build/inline_copy/tqdm/tqdm/_tqdm_gui.py +0 -9
- nuitka/build/inline_copy/tqdm/tqdm/gui.py +0 -191
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.5.1.dist-info}/LICENSE.txt +0 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.5.1.dist-info}/entry_points.txt +0 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.5.1.dist-info}/top_level.txt +0 -0
|
@@ -1,20 +1,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
|
{% from 'HelperSlotsCommon.c.j2' import goto_exit %}
|
|
19
4
|
|
|
20
5
|
{% macro list_slot(props, operator, nb_slot, target, left, right, result, operand1, operand2, exit_result_ok, exit_result_exception) %}
|
|
@@ -24,7 +9,10 @@
|
|
|
24
9
|
{# TODO: Could and should in-line and specialize this per slot too. #}
|
|
25
10
|
{% if nb_slot == "nb_add" %}
|
|
26
11
|
{% if left.type_name == "list" == right.type_name %}
|
|
27
|
-
|
|
12
|
+
// TODO: Have this more globally passed in
|
|
13
|
+
PyThreadState *tstate = PyThreadState_GET();
|
|
14
|
+
|
|
15
|
+
PyObject *x = LIST_CONCAT(tstate, {{ operand1 }}, {{ operand2 }});
|
|
28
16
|
{% else %}
|
|
29
17
|
PyObject *x = {{ left.getSlotCallExpression("sq_concat", "PyList_Type.tp_as_sequence->sq_concat", operand1, operand2) }};
|
|
30
18
|
{% endif %}
|
|
@@ -54,3 +42,18 @@ exit_result_object:
|
|
|
54
42
|
{{ goto_exit(props, exit_result_ok) }}
|
|
55
43
|
|
|
56
44
|
{% endmacro %}
|
|
45
|
+
|
|
46
|
+
{# Part of "Nuitka", an optimizing Python compiler that is compatible and #}
|
|
47
|
+
{# integrates with CPython, but also works on its own. #}
|
|
48
|
+
{# #}
|
|
49
|
+
{# Licensed under the Apache License, Version 2.0 (the "License"); #}
|
|
50
|
+
{# you may not use this file except in compliance with the License. #}
|
|
51
|
+
{# You may obtain a copy of the License at #}
|
|
52
|
+
{# #}
|
|
53
|
+
{# http://www.apache.org/licenses/LICENSE-2.0 #}
|
|
54
|
+
{# #}
|
|
55
|
+
{# Unless required by applicable law or agreed to in writing, software #}
|
|
56
|
+
{# distributed under the License is distributed on an "AS IS" BASIS, #}
|
|
57
|
+
{# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #}
|
|
58
|
+
{# See the License for the specific language governing permissions and #}
|
|
59
|
+
{# 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
|
{% from 'HelperSlotsCommon.c.j2' import goto_exit, constant_long_exit_target, constant_int_exit_target %}
|
|
19
4
|
{% from 'HelperLongTools.c.j2' import declare_long_access with context %}
|
|
20
5
|
{% macro long_slot(props, operator, nb_slot, target, left, right, result, operand1, operand2, exit_result_ok, exit_result_exception) %}
|
|
@@ -34,11 +19,12 @@
|
|
|
34
19
|
{{ declare_long_access(right, operand2) }}
|
|
35
20
|
|
|
36
21
|
if ({{ left.getLongValueDigitCountExpression("operand1")}} <= 1 && {{ right.getLongValueDigitCountExpression("operand2")}} <= 1) {
|
|
37
|
-
|
|
22
|
+
{# TODO: Double digits are not handled efficiently for Python3.12 #}
|
|
23
|
+
long r = (long)({{ left.getLongValueMediumValueExpression("operand1") }} + {{ right.getLongValueMediumValueExpression("operand2") }});
|
|
38
24
|
|
|
39
25
|
{% if target == None and left.hasReferenceCounting() %}
|
|
40
26
|
if (Py_REFCNT({{operand1}}) == 1) {
|
|
41
|
-
Nuitka_LongUpdateFromCLong(&{{operand1}}, r);
|
|
27
|
+
Nuitka_LongUpdateFromCLong(&{{operand1}}, (long)r);
|
|
42
28
|
{{ goto_exit(props, "exit_result_ok") }}
|
|
43
29
|
} else {
|
|
44
30
|
PyObject *obj = Nuitka_LongFromCLong(r);
|
|
@@ -60,7 +46,7 @@
|
|
|
60
46
|
if (a_negative) {
|
|
61
47
|
if (b_negative) {
|
|
62
48
|
{{ operand1 }} = _Nuitka_LongAddInplaceDigits({{ operand1 }}, b_digits, b_digit_count);
|
|
63
|
-
|
|
49
|
+
Nuitka_LongSetSignNegative({{ operand1 }});
|
|
64
50
|
} else {
|
|
65
51
|
{# Reversed operands order means sign inversion. #}
|
|
66
52
|
{{ operand1 }} = _Nuitka_LongSubInplaceDigits({{ operand1 }}, b_digits, b_digit_count, -1);
|
|
@@ -90,7 +76,7 @@
|
|
|
90
76
|
if (a_negative) {
|
|
91
77
|
if (b_negative) {
|
|
92
78
|
z = _Nuitka_LongAddDigits(a_digits, a_digit_count, b_digits, b_digit_count);
|
|
93
|
-
|
|
79
|
+
Nuitka_LongFlipSign(z);
|
|
94
80
|
} else {
|
|
95
81
|
{# Reversed operands order. #}
|
|
96
82
|
z = _Nuitka_LongSubDigits(b_digits, b_digit_count, a_digits, a_digit_count);
|
|
@@ -110,7 +96,8 @@
|
|
|
110
96
|
{{ declare_long_access(right, operand2) }}
|
|
111
97
|
|
|
112
98
|
if ({{ left.getLongValueDigitCountExpression("operand1")}} <= 1 && {{ right.getLongValueDigitCountExpression("operand2")}} <= 1) {
|
|
113
|
-
|
|
99
|
+
{# TODO: Double digits are not handled efficiently for Python3.12 #}
|
|
100
|
+
long r = (long)({{ left.getLongValueMediumValueExpression("operand1") }} - {{ right.getLongValueMediumValueExpression("operand2") }});
|
|
114
101
|
|
|
115
102
|
{% if target == None and left.hasReferenceCounting() %}
|
|
116
103
|
if (Py_REFCNT({{operand1}}) == 1) {
|
|
@@ -139,7 +126,7 @@
|
|
|
139
126
|
{{ operand1 }} = _Nuitka_LongSubInplaceDigits({{ operand1 }}, b_digits, b_digit_count, -1);
|
|
140
127
|
} else {
|
|
141
128
|
{{ operand1 }} = _Nuitka_LongAddInplaceDigits({{ operand1 }}, b_digits, b_digit_count);
|
|
142
|
-
|
|
129
|
+
Nuitka_LongSetSignNegative({{ operand1 }});
|
|
143
130
|
}
|
|
144
131
|
} else {
|
|
145
132
|
if (b_negative) {
|
|
@@ -170,7 +157,7 @@
|
|
|
170
157
|
z = _Nuitka_LongAddDigits(a_digits, a_digit_count, b_digits, b_digit_count);
|
|
171
158
|
}
|
|
172
159
|
|
|
173
|
-
|
|
160
|
+
Nuitka_LongFlipSign(z);
|
|
174
161
|
} else {
|
|
175
162
|
if (b_negative) {
|
|
176
163
|
z = _Nuitka_LongAddDigits(a_digits, a_digit_count, b_digits, b_digit_count);
|
|
@@ -215,7 +202,7 @@ exit_result_ok_clong:
|
|
|
215
202
|
|
|
216
203
|
// That's our return value then. As we use a dedicated variable, it's
|
|
217
204
|
// OK that way.
|
|
218
|
-
{{ operand1 }} =
|
|
205
|
+
{{ operand1 }} = Nuitka_PyLong_FromLong(clong_result);
|
|
219
206
|
{% endif %}
|
|
220
207
|
{{ goto_exit(props, exit_result_ok) }}
|
|
221
208
|
{% endif %}
|
|
@@ -225,3 +212,18 @@ exit_result_ok_clong:
|
|
|
225
212
|
{% endif %}
|
|
226
213
|
|
|
227
214
|
{% endmacro %}
|
|
215
|
+
|
|
216
|
+
{# Part of "Nuitka", an optimizing Python compiler that is compatible and #}
|
|
217
|
+
{# integrates with CPython, but also works on its own. #}
|
|
218
|
+
{# #}
|
|
219
|
+
{# Licensed under the Apache License, Version 2.0 (the "License"); #}
|
|
220
|
+
{# you may not use this file except in compliance with the License. #}
|
|
221
|
+
{# You may obtain a copy of the License at #}
|
|
222
|
+
{# #}
|
|
223
|
+
{# http://www.apache.org/licenses/LICENSE-2.0 #}
|
|
224
|
+
{# #}
|
|
225
|
+
{# Unless required by applicable law or agreed to in writing, software #}
|
|
226
|
+
{# distributed under the License is distributed on an "AS IS" BASIS, #}
|
|
227
|
+
{# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #}
|
|
228
|
+
{# See the License for the specific language governing permissions and #}
|
|
229
|
+
{# 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
|
{% from 'HelperSlotsCommon.c.j2' import goto_exit %}
|
|
19
4
|
|
|
20
5
|
{% macro set_slot(props, operator, nb_slot, nb_inplace_slot, target, left, right, result, operand1, operand2, exit_result_ok, exit_result_exception) %}
|
|
@@ -45,3 +30,18 @@ exit_result_object:
|
|
|
45
30
|
{{ goto_exit(props, exit_result_ok) }}
|
|
46
31
|
|
|
47
32
|
{% endmacro %}
|
|
33
|
+
|
|
34
|
+
{# Part of "Nuitka", an optimizing Python compiler that is compatible and #}
|
|
35
|
+
{# integrates with CPython, but also works on its own. #}
|
|
36
|
+
{# #}
|
|
37
|
+
{# Licensed under the Apache License, Version 2.0 (the "License"); #}
|
|
38
|
+
{# you may not use this file except in compliance with the License. #}
|
|
39
|
+
{# You may obtain a copy of the License at #}
|
|
40
|
+
{# #}
|
|
41
|
+
{# http://www.apache.org/licenses/LICENSE-2.0 #}
|
|
42
|
+
{# #}
|
|
43
|
+
{# Unless required by applicable law or agreed to in writing, software #}
|
|
44
|
+
{# distributed under the License is distributed on an "AS IS" BASIS, #}
|
|
45
|
+
{# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #}
|
|
46
|
+
{# See the License for the specific language governing permissions and #}
|
|
47
|
+
{# 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
|
{% from 'HelperSlotsCommon.c.j2' import goto_exit %}
|
|
19
4
|
|
|
20
5
|
{% macro str_slot(props, operator, nb_slot, target, left, right, result, operand1, operand2, exit_result_ok, exit_result_exception) %}
|
|
@@ -53,3 +38,18 @@ exit_result_object:
|
|
|
53
38
|
{{ goto_exit(props, exit_result_ok) }}
|
|
54
39
|
|
|
55
40
|
{% endmacro %}
|
|
41
|
+
|
|
42
|
+
{# Part of "Nuitka", an optimizing Python compiler that is compatible and #}
|
|
43
|
+
{# integrates with CPython, but also works on its own. #}
|
|
44
|
+
{# #}
|
|
45
|
+
{# Licensed under the Apache License, Version 2.0 (the "License"); #}
|
|
46
|
+
{# you may not use this file except in compliance with the License. #}
|
|
47
|
+
{# You may obtain a copy of the License at #}
|
|
48
|
+
{# #}
|
|
49
|
+
{# http://www.apache.org/licenses/LICENSE-2.0 #}
|
|
50
|
+
{# #}
|
|
51
|
+
{# Unless required by applicable law or agreed to in writing, software #}
|
|
52
|
+
{# distributed under the License is distributed on an "AS IS" BASIS, #}
|
|
53
|
+
{# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #}
|
|
54
|
+
{# See the License for the specific language governing permissions and #}
|
|
55
|
+
{# 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
|
{% from 'HelperSlotsCommon.c.j2' import goto_exit %}
|
|
19
4
|
|
|
20
5
|
{% macro tuple_slot(props, operator, nb_slot, target, left, right, result, operand1, operand2, exit_result_ok, exit_result_exception) %}
|
|
@@ -24,7 +9,10 @@
|
|
|
24
9
|
{# TODO: Could and should in-line and specialize this per slot too. #}
|
|
25
10
|
{% if nb_slot == "nb_add" %}
|
|
26
11
|
{% if left.type_name == "tuple" == right.type_name %}
|
|
27
|
-
|
|
12
|
+
// TODO: Have this more globally passed in
|
|
13
|
+
PyThreadState *tstate = PyThreadState_GET();
|
|
14
|
+
|
|
15
|
+
PyObject *x = TUPLE_CONCAT(tstate, {{ operand1 }}, {{ operand2 }});
|
|
28
16
|
{% else %}
|
|
29
17
|
PyObject *x = {{ left.getSlotCallExpression("sq_concat", "PyTuple_Type.tp_as_sequence->sq_concat", operand1, operand2) }};
|
|
30
18
|
{% endif %}
|
|
@@ -53,3 +41,18 @@ exit_result_object:
|
|
|
53
41
|
{{ goto_exit(props, exit_result_ok) }}
|
|
54
42
|
|
|
55
43
|
{% endmacro %}
|
|
44
|
+
|
|
45
|
+
{# Part of "Nuitka", an optimizing Python compiler that is compatible and #}
|
|
46
|
+
{# integrates with CPython, but also works on its own. #}
|
|
47
|
+
{# #}
|
|
48
|
+
{# Licensed under the Apache License, Version 2.0 (the "License"); #}
|
|
49
|
+
{# you may not use this file except in compliance with the License. #}
|
|
50
|
+
{# You may obtain a copy of the License at #}
|
|
51
|
+
{# #}
|
|
52
|
+
{# http://www.apache.org/licenses/LICENSE-2.0 #}
|
|
53
|
+
{# #}
|
|
54
|
+
{# Unless required by applicable law or agreed to in writing, software #}
|
|
55
|
+
{# distributed under the License is distributed on an "AS IS" BASIS, #}
|
|
56
|
+
{# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #}
|
|
57
|
+
{# See the License for the specific language governing permissions and #}
|
|
58
|
+
{# 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
|
{% from 'HelperSlotsCommon.c.j2' import goto_exit %}
|
|
19
4
|
|
|
20
5
|
{% macro unicode_slot(props, operator, nb_slot, target, left, right, result, operand1, operand2, exit_result_ok, exit_result_exception) %}
|
|
@@ -60,3 +45,18 @@ exit_result_object:
|
|
|
60
45
|
{{ goto_exit(props, exit_result_ok) }}
|
|
61
46
|
|
|
62
47
|
{% endmacro %}
|
|
48
|
+
|
|
49
|
+
{# Part of "Nuitka", an optimizing Python compiler that is compatible and #}
|
|
50
|
+
{# integrates with CPython, but also works on its own. #}
|
|
51
|
+
{# #}
|
|
52
|
+
{# Licensed under the Apache License, Version 2.0 (the "License"); #}
|
|
53
|
+
{# you may not use this file except in compliance with the License. #}
|
|
54
|
+
{# You may obtain a copy of the License at #}
|
|
55
|
+
{# #}
|
|
56
|
+
{# http://www.apache.org/licenses/LICENSE-2.0 #}
|
|
57
|
+
{# #}
|
|
58
|
+
{# Unless required by applicable law or agreed to in writing, software #}
|
|
59
|
+
{# distributed under the License is distributed on an "AS IS" BASIS, #}
|
|
60
|
+
{# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #}
|
|
61
|
+
{# See the License for the specific language governing permissions and #}
|
|
62
|
+
{# limitations under the License. #}
|
nuitka/containers/Namedtuples.py
CHANGED
|
@@ -1,27 +1,12 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# integrates with CPython, but also works on its own.
|
|
5
|
-
#
|
|
6
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
# you may not use this file except in compliance with the License.
|
|
8
|
-
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
10
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
12
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
# See the License for the specific language governing permissions and
|
|
16
|
-
# limitations under the License.
|
|
17
|
-
#
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
18
4
|
""" This module is only an abstraction of namedtuple.
|
|
19
5
|
|
|
20
6
|
It works around bugs present in some version of Python, and provides extra
|
|
21
7
|
methods like "asDict".
|
|
22
8
|
"""
|
|
23
9
|
|
|
24
|
-
|
|
25
10
|
from collections import namedtuple
|
|
26
11
|
|
|
27
12
|
|
|
@@ -39,6 +24,28 @@ def makeNamedtupleClass(name, element_names):
|
|
|
39
24
|
def asDict(self):
|
|
40
25
|
return self._asdict()
|
|
41
26
|
|
|
27
|
+
def replace(self, **kwargs):
|
|
28
|
+
new_data = self.asDict()
|
|
29
|
+
new_data.update(**kwargs)
|
|
30
|
+
|
|
31
|
+
return self.__class__(**new_data)
|
|
32
|
+
|
|
42
33
|
DynamicNamedtuple.__name__ = name
|
|
43
34
|
|
|
44
35
|
return DynamicNamedtuple
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
39
|
+
# integrates with CPython, but also works on its own.
|
|
40
|
+
#
|
|
41
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
42
|
+
# you may not use this file except in compliance with the License.
|
|
43
|
+
# You may obtain a copy of the License at
|
|
44
|
+
#
|
|
45
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
46
|
+
#
|
|
47
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
48
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
49
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
50
|
+
# See the License for the specific language governing permissions and
|
|
51
|
+
# limitations under the License.
|
nuitka/containers/OrderedSets.py
CHANGED
|
@@ -1,15 +1,115 @@
|
|
|
1
1
|
""" This module is only an abstraction of OrderedSet which is not present in
|
|
2
2
|
Python at all.
|
|
3
3
|
|
|
4
|
+
spell-checker: ignore orderedset,orderedsets
|
|
5
|
+
|
|
4
6
|
"""
|
|
5
7
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
import os
|
|
9
|
+
import subprocess
|
|
10
|
+
import sys
|
|
11
|
+
|
|
12
|
+
from nuitka.PythonVersions import python_version
|
|
13
|
+
from nuitka.utils.InlineCopies import getDownloadCopyFolder
|
|
14
|
+
|
|
15
|
+
recommended_orderedset_package_name, recommended_orderedset_module_name = (
|
|
16
|
+
("ordered-set", "ordered_set")
|
|
17
|
+
if python_version >= 0x370
|
|
18
|
+
else ("orderedset", "orderedsets")
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def _tryImportOrderedSet():
|
|
10
23
|
try:
|
|
11
|
-
from
|
|
24
|
+
from orderedset import OrderedSet as result
|
|
12
25
|
except ImportError:
|
|
26
|
+
try:
|
|
27
|
+
from ordered_set import OrderedSet as result
|
|
28
|
+
except ImportError:
|
|
29
|
+
return None
|
|
30
|
+
|
|
31
|
+
return result
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
OrderedSet = _tryImportOrderedSet()
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def _findDownloadSitePackagesDir(download_folder):
|
|
38
|
+
for root, dirnames, _filenames in os.walk(download_folder):
|
|
39
|
+
found_candidate = None
|
|
40
|
+
for candidate in ("site-packages", "dist-packages", "vendor-packages"):
|
|
41
|
+
if candidate in dirnames:
|
|
42
|
+
# Unclear which one to use.
|
|
43
|
+
if found_candidate is not None:
|
|
44
|
+
return
|
|
45
|
+
|
|
46
|
+
found_candidate = candidate
|
|
47
|
+
|
|
48
|
+
if found_candidate:
|
|
49
|
+
return os.path.join(root, found_candidate)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def tryDownloadPackageName(package_name, module_name, package_version):
|
|
53
|
+
download_folder = getDownloadCopyFolder()
|
|
54
|
+
|
|
55
|
+
site_packages_folder = _findDownloadSitePackagesDir(download_folder)
|
|
56
|
+
|
|
57
|
+
if site_packages_folder is not None:
|
|
58
|
+
candidate = os.path.join(site_packages_folder, module_name)
|
|
59
|
+
|
|
60
|
+
if os.path.exists(candidate):
|
|
61
|
+
return site_packages_folder
|
|
62
|
+
|
|
63
|
+
if os.getenv("NUITKA_ASSUME_YES_FOR_DOWNLOADS") in ("1", "true", "yes"):
|
|
64
|
+
if package_version is not None:
|
|
65
|
+
package_spec = "%s==%s" % (package_name, package_version)
|
|
66
|
+
else:
|
|
67
|
+
package_spec = package_name
|
|
68
|
+
|
|
69
|
+
exit_code = subprocess.call(
|
|
70
|
+
[
|
|
71
|
+
sys.executable,
|
|
72
|
+
"-m",
|
|
73
|
+
"pip",
|
|
74
|
+
"install",
|
|
75
|
+
"--root",
|
|
76
|
+
download_folder,
|
|
77
|
+
package_spec,
|
|
78
|
+
],
|
|
79
|
+
shell=False,
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
if exit_code != 0:
|
|
83
|
+
return None
|
|
84
|
+
|
|
85
|
+
if site_packages_folder is None:
|
|
86
|
+
site_packages_folder = _findDownloadSitePackagesDir(download_folder)
|
|
87
|
+
|
|
88
|
+
if site_packages_folder is not None:
|
|
89
|
+
candidate = os.path.join(site_packages_folder, module_name)
|
|
90
|
+
|
|
91
|
+
if os.path.exists(candidate):
|
|
92
|
+
return site_packages_folder
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
def _tryDownloadOrderedSet():
|
|
96
|
+
return tryDownloadPackageName(
|
|
97
|
+
recommended_orderedset_package_name,
|
|
98
|
+
recommended_orderedset_module_name,
|
|
99
|
+
package_version=None,
|
|
100
|
+
)
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
if OrderedSet is None:
|
|
104
|
+
downloaded_pip = _tryDownloadOrderedSet()
|
|
105
|
+
|
|
106
|
+
try:
|
|
107
|
+
sys.path.insert(0, downloaded_pip)
|
|
108
|
+
OrderedSet = _tryImportOrderedSet()
|
|
109
|
+
finally:
|
|
110
|
+
del sys.path[0]
|
|
111
|
+
|
|
112
|
+
if OrderedSet is None:
|
|
13
113
|
from .OrderedSetsFallback import OrderedSet
|
|
14
114
|
|
|
15
115
|
|
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# integrates with CPython, but also works on its own.
|
|
5
|
-
#
|
|
6
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
# you may not use this file except in compliance with the License.
|
|
8
|
-
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
10
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
12
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
# See the License for the specific language governing permissions and
|
|
16
|
-
# limitations under the License.
|
|
17
|
-
#
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
18
4
|
""" This module is only an abstraction of OrderedSet which is not present in
|
|
19
5
|
Python at all.
|
|
20
6
|
|
|
@@ -135,3 +121,19 @@ class OrderedSet(MutableSet):
|
|
|
135
121
|
return count - 1
|
|
136
122
|
|
|
137
123
|
return None
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
127
|
+
# integrates with CPython, but also works on its own.
|
|
128
|
+
#
|
|
129
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
130
|
+
# you may not use this file except in compliance with the License.
|
|
131
|
+
# You may obtain a copy of the License at
|
|
132
|
+
#
|
|
133
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
134
|
+
#
|
|
135
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
136
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
137
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
138
|
+
# See the License for the specific language governing permissions and
|
|
139
|
+
# limitations under the License.
|
nuitka/containers/__init__.py
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
""" Dummy file to make this directory a package. """
|
|
5
|
+
|
|
3
6
|
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
4
7
|
# integrates with CPython, but also works on its own.
|
|
5
8
|
#
|
|
@@ -14,5 +17,3 @@
|
|
|
14
17
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
18
|
# See the License for the specific language governing permissions and
|
|
16
19
|
# limitations under the License.
|
|
17
|
-
#
|
|
18
|
-
""" Dummy file to make this directory a package. """
|
nuitka/distutils/Build.py
CHANGED
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# integrates with CPython, but also works on its own.
|
|
5
|
-
#
|
|
6
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
# you may not use this file except in compliance with the License.
|
|
8
|
-
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
10
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
12
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
# See the License for the specific language governing permissions and
|
|
16
|
-
# limitations under the License.
|
|
17
|
-
#
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
18
4
|
""" Nuitka python -m build integration """
|
|
19
5
|
|
|
20
6
|
import contextlib
|
|
@@ -37,6 +23,20 @@ class NuitkaBuildMetaBackend(setuptools.build_meta._BuildMetaBackend):
|
|
|
37
23
|
def build_wheel(
|
|
38
24
|
self, wheel_directory, config_settings=None, metadata_directory=None
|
|
39
25
|
):
|
|
26
|
+
# Allow falling back to setuptools when the `build_with_nuitka` configuration setting is set to true.
|
|
27
|
+
if config_settings:
|
|
28
|
+
build_with_nuitka = config_settings.pop("build_with_nuitka", "true").lower()
|
|
29
|
+
|
|
30
|
+
if build_with_nuitka not in ("true", "false"):
|
|
31
|
+
raise ValueError(
|
|
32
|
+
"When passing the 'build_with_nuitka' setting, it must either be 'true' or 'false'."
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
if build_with_nuitka == "false":
|
|
36
|
+
return super().build_wheel(
|
|
37
|
+
wheel_directory, config_settings, metadata_directory
|
|
38
|
+
)
|
|
39
|
+
|
|
40
40
|
os.environ["NUITKA_TOML_FILE"] = os.path.join(os.getcwd(), "pyproject.toml")
|
|
41
41
|
|
|
42
42
|
with suppress_known_deprecation():
|
|
@@ -53,9 +53,24 @@ prepare_metadata_for_build_wheel = _BACKEND.prepare_metadata_for_build_wheel
|
|
|
53
53
|
build_wheel = _BACKEND.build_wheel
|
|
54
54
|
build_sdist = _BACKEND.build_sdist
|
|
55
55
|
|
|
56
|
-
LEGACY_EDITABLE = getattr(setuptools.build_meta, "LEGACY_EDITABLE")
|
|
56
|
+
LEGACY_EDITABLE = getattr(setuptools.build_meta, "LEGACY_EDITABLE", False)
|
|
57
57
|
|
|
58
58
|
if not LEGACY_EDITABLE:
|
|
59
59
|
get_requires_for_build_editable = _BACKEND.get_requires_for_build_editable
|
|
60
60
|
prepare_metadata_for_build_editable = _BACKEND.prepare_metadata_for_build_editable
|
|
61
61
|
build_editable = _BACKEND.build_editable
|
|
62
|
+
|
|
63
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
64
|
+
# integrates with CPython, but also works on its own.
|
|
65
|
+
#
|
|
66
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
67
|
+
# you may not use this file except in compliance with the License.
|
|
68
|
+
# You may obtain a copy of the License at
|
|
69
|
+
#
|
|
70
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
71
|
+
#
|
|
72
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
73
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
74
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
75
|
+
# See the License for the specific language governing permissions and
|
|
76
|
+
# limitations under the License.
|