Nuitka-winsvc 2.7.7__cp313-cp313-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/Builtins.py +259 -0
- nuitka/BytecodeCaching.py +184 -0
- nuitka/Bytecodes.py +109 -0
- nuitka/CacheCleanup.py +54 -0
- nuitka/Constants.py +425 -0
- nuitka/Errors.py +93 -0
- nuitka/HardImportRegistry.py +408 -0
- nuitka/MainControl.py +1201 -0
- nuitka/ModuleRegistry.py +364 -0
- nuitka/OptionParsing.py +2473 -0
- nuitka/Options.py +2948 -0
- nuitka/OutputDirectories.py +201 -0
- nuitka/PostProcessing.py +551 -0
- nuitka/Progress.py +252 -0
- nuitka/PythonFlavors.py +426 -0
- nuitka/PythonOperators.py +146 -0
- nuitka/PythonVersions.py +513 -0
- nuitka/Serialization.py +291 -0
- nuitka/SourceCodeReferences.py +176 -0
- nuitka/Tracing.py +579 -0
- nuitka/TreeXML.py +141 -0
- nuitka/Variables.py +515 -0
- nuitka/Version.py +88 -0
- nuitka/__init__.py +19 -0
- nuitka/__main__.py +224 -0
- nuitka/__past__.py +217 -0
- nuitka/build/Backend.scons +1111 -0
- nuitka/build/CCompilerVersion.scons +281 -0
- nuitka/build/DataComposerInterface.py +116 -0
- nuitka/build/Offsets.scons +626 -0
- nuitka/build/Onefile.scons +564 -0
- nuitka/build/SconsCaching.py +451 -0
- nuitka/build/SconsCompilerSettings.py +1133 -0
- nuitka/build/SconsHacks.py +215 -0
- nuitka/build/SconsInterface.py +664 -0
- nuitka/build/SconsProgress.py +100 -0
- nuitka/build/SconsSpawn.py +436 -0
- nuitka/build/SconsUtils.py +939 -0
- nuitka/build/__init__.py +19 -0
- nuitka/build/include/nuitka/allocator.h +450 -0
- nuitka/build/include/nuitka/builtins.h +97 -0
- nuitka/build/include/nuitka/calling.h +123 -0
- nuitka/build/include/nuitka/checkers.h +39 -0
- nuitka/build/include/nuitka/checksum_tools.h +28 -0
- nuitka/build/include/nuitka/compiled_asyncgen.h +281 -0
- nuitka/build/include/nuitka/compiled_cell.h +64 -0
- nuitka/build/include/nuitka/compiled_coroutine.h +271 -0
- nuitka/build/include/nuitka/compiled_frame.h +502 -0
- nuitka/build/include/nuitka/compiled_function.h +170 -0
- nuitka/build/include/nuitka/compiled_generator.h +287 -0
- nuitka/build/include/nuitka/compiled_method.h +54 -0
- nuitka/build/include/nuitka/constants.h +251 -0
- nuitka/build/include/nuitka/constants_blob.h +34 -0
- 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 +51 -0
- nuitka/build/include/nuitka/exception_groups.h +167 -0
- nuitka/build/include/nuitka/exceptions.h +1458 -0
- nuitka/build/include/nuitka/filesystem_paths.h +117 -0
- nuitka/build/include/nuitka/freelists.h +92 -0
- nuitka/build/include/nuitka/hedley.h +1774 -0
- nuitka/build/include/nuitka/helper/attributes.h +90 -0
- nuitka/build/include/nuitka/helper/boolean.h +86 -0
- nuitka/build/include/nuitka/helper/bytearrays.h +34 -0
- nuitka/build/include/nuitka/helper/bytes.h +28 -0
- nuitka/build/include/nuitka/helper/calling_generated.h +132 -0
- 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 +247 -0
- nuitka/build/include/nuitka/helper/comparisons_ge.h +197 -0
- nuitka/build/include/nuitka/helper/comparisons_gt.h +197 -0
- nuitka/build/include/nuitka/helper/comparisons_le.h +247 -0
- nuitka/build/include/nuitka/helper/comparisons_lt.h +247 -0
- nuitka/build/include/nuitka/helper/comparisons_ne.h +197 -0
- nuitka/build/include/nuitka/helper/complex.h +46 -0
- nuitka/build/include/nuitka/helper/dictionaries.h +481 -0
- nuitka/build/include/nuitka/helper/floats.h +32 -0
- nuitka/build/include/nuitka/helper/import_hard.h +121 -0
- nuitka/build/include/nuitka/helper/indexes.h +47 -0
- nuitka/build/include/nuitka/helper/ints.h +165 -0
- nuitka/build/include/nuitka/helper/iterators.h +376 -0
- nuitka/build/include/nuitka/helper/lists.h +94 -0
- nuitka/build/include/nuitka/helper/lists_generated.h +36 -0
- nuitka/build/include/nuitka/helper/mappings.h +39 -0
- nuitka/build/include/nuitka/helper/operations.h +114 -0
- nuitka/build/include/nuitka/helper/operations_binary_add.h +240 -0
- nuitka/build/include/nuitka/helper/operations_binary_bitand.h +108 -0
- nuitka/build/include/nuitka/helper/operations_binary_bitor.h +108 -0
- nuitka/build/include/nuitka/helper/operations_binary_bitxor.h +108 -0
- nuitka/build/include/nuitka/helper/operations_binary_divmod.h +103 -0
- nuitka/build/include/nuitka/helper/operations_binary_dual_add.h +34 -0
- nuitka/build/include/nuitka/helper/operations_binary_floordiv.h +103 -0
- nuitka/build/include/nuitka/helper/operations_binary_lshift.h +99 -0
- nuitka/build/include/nuitka/helper/operations_binary_matmult.h +60 -0
- nuitka/build/include/nuitka/helper/operations_binary_mod.h +304 -0
- nuitka/build/include/nuitka/helper/operations_binary_mult.h +247 -0
- nuitka/build/include/nuitka/helper/operations_binary_olddiv.h +125 -0
- nuitka/build/include/nuitka/helper/operations_binary_pow.h +90 -0
- nuitka/build/include/nuitka/helper/operations_binary_rshift.h +99 -0
- nuitka/build/include/nuitka/helper/operations_binary_sub.h +117 -0
- nuitka/build/include/nuitka/helper/operations_binary_truediv.h +103 -0
- nuitka/build/include/nuitka/helper/operations_builtin_types.h +247 -0
- nuitka/build/include/nuitka/helper/operations_inplace_add.h +173 -0
- nuitka/build/include/nuitka/helper/operations_inplace_bitand.h +76 -0
- nuitka/build/include/nuitka/helper/operations_inplace_bitor.h +76 -0
- nuitka/build/include/nuitka/helper/operations_inplace_bitxor.h +76 -0
- nuitka/build/include/nuitka/helper/operations_inplace_floordiv.h +95 -0
- nuitka/build/include/nuitka/helper/operations_inplace_lshift.h +62 -0
- nuitka/build/include/nuitka/helper/operations_inplace_matmult.h +60 -0
- nuitka/build/include/nuitka/helper/operations_inplace_mod.h +218 -0
- nuitka/build/include/nuitka/helper/operations_inplace_mult.h +184 -0
- nuitka/build/include/nuitka/helper/operations_inplace_olddiv.h +115 -0
- nuitka/build/include/nuitka/helper/operations_inplace_pow.h +87 -0
- nuitka/build/include/nuitka/helper/operations_inplace_rshift.h +62 -0
- nuitka/build/include/nuitka/helper/operations_inplace_sub.h +102 -0
- nuitka/build/include/nuitka/helper/operations_inplace_truediv.h +95 -0
- nuitka/build/include/nuitka/helper/raising.h +114 -0
- nuitka/build/include/nuitka/helper/rangeobjects.h +66 -0
- nuitka/build/include/nuitka/helper/richcomparisons.h +35 -0
- nuitka/build/include/nuitka/helper/sequences.h +33 -0
- nuitka/build/include/nuitka/helper/sets.h +25 -0
- nuitka/build/include/nuitka/helper/slices.h +314 -0
- nuitka/build/include/nuitka/helper/strings.h +30 -0
- nuitka/build/include/nuitka/helper/subscripts.h +390 -0
- nuitka/build/include/nuitka/helper/tuples.h +187 -0
- nuitka/build/include/nuitka/helpers.h +417 -0
- nuitka/build/include/nuitka/importing.h +149 -0
- nuitka/build/include/nuitka/incbin.h +402 -0
- nuitka/build/include/nuitka/jit_sources.h +25 -0
- nuitka/build/include/nuitka/prelude.h +626 -0
- nuitka/build/include/nuitka/printing.h +84 -0
- nuitka/build/include/nuitka/python_pgo.h +57 -0
- nuitka/build/include/nuitka/safe_string_ops.h +57 -0
- nuitka/build/include/nuitka/threading.h +142 -0
- nuitka/build/include/nuitka/tracing.h +82 -0
- nuitka/build/include/nuitka/type_aliases.h +30 -0
- nuitka/build/include/nuitka/unfreezing.h +91 -0
- nuitka/build/inline_copy/appdirs/LICENSE.txt +23 -0
- nuitka/build/inline_copy/appdirs/appdirs.py +611 -0
- nuitka/build/inline_copy/atomicwrites/LICENSE +19 -0
- nuitka/build/inline_copy/atomicwrites/atomicwrites.py +226 -0
- nuitka/build/inline_copy/bin/scons.py +58 -0
- nuitka/build/inline_copy/clcache/clcache/LICENSE +30 -0
- nuitka/build/inline_copy/clcache/clcache/__init__.py +4 -0
- nuitka/build/inline_copy/clcache/clcache/caching.py +2008 -0
- nuitka/build/inline_copy/colorama/LICENSE.txt +27 -0
- nuitka/build/inline_copy/colorama/colorama/__init__.py +6 -0
- nuitka/build/inline_copy/colorama/colorama/ansi.py +102 -0
- nuitka/build/inline_copy/colorama/colorama/ansitowin32.py +258 -0
- nuitka/build/inline_copy/colorama/colorama/initialise.py +80 -0
- nuitka/build/inline_copy/colorama/colorama/win32.py +152 -0
- nuitka/build/inline_copy/colorama/colorama/winterm.py +169 -0
- nuitka/build/inline_copy/glob2/LICENSE +27 -0
- nuitka/build/inline_copy/glob2/glob2/__init__.py +5 -0
- nuitka/build/inline_copy/glob2/glob2/compat.py +167 -0
- nuitka/build/inline_copy/glob2/glob2/fnmatch.py +141 -0
- nuitka/build/inline_copy/glob2/glob2/impl.py +216 -0
- nuitka/build/inline_copy/jinja2/LICENSE.rst +28 -0
- nuitka/build/inline_copy/jinja2/README.rst +2 -0
- nuitka/build/inline_copy/jinja2/jinja2/__init__.py +72 -0
- nuitka/build/inline_copy/jinja2/jinja2/_compat.py +105 -0
- nuitka/build/inline_copy/jinja2/jinja2/_identifier.py +2 -0
- nuitka/build/inline_copy/jinja2/jinja2/bccache.py +361 -0
- nuitka/build/inline_copy/jinja2/jinja2/compiler.py +1721 -0
- nuitka/build/inline_copy/jinja2/jinja2/constants.py +32 -0
- nuitka/build/inline_copy/jinja2/jinja2/debug.py +378 -0
- nuitka/build/inline_copy/jinja2/jinja2/defaults.py +56 -0
- nuitka/build/inline_copy/jinja2/jinja2/environment.py +1276 -0
- nuitka/build/inline_copy/jinja2/jinja2/exceptions.py +146 -0
- nuitka/build/inline_copy/jinja2/jinja2/ext.py +627 -0
- nuitka/build/inline_copy/jinja2/jinja2/filters.py +1190 -0
- nuitka/build/inline_copy/jinja2/jinja2/idtracking.py +286 -0
- nuitka/build/inline_copy/jinja2/jinja2/lexer.py +739 -0
- nuitka/build/inline_copy/jinja2/jinja2/loaders.py +483 -0
- nuitka/build/inline_copy/jinja2/jinja2/meta.py +106 -0
- nuitka/build/inline_copy/jinja2/jinja2/nativetypes.py +220 -0
- nuitka/build/inline_copy/jinja2/jinja2/nodes.py +999 -0
- nuitka/build/inline_copy/jinja2/jinja2/optimizer.py +49 -0
- nuitka/build/inline_copy/jinja2/jinja2/parser.py +903 -0
- nuitka/build/inline_copy/jinja2/jinja2/runtime.py +808 -0
- nuitka/build/inline_copy/jinja2/jinja2/sandbox.py +488 -0
- nuitka/build/inline_copy/jinja2/jinja2/tests.py +174 -0
- nuitka/build/inline_copy/jinja2/jinja2/utils.py +642 -0
- nuitka/build/inline_copy/jinja2/jinja2/visitor.py +87 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Action.py +1475 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Builder.py +905 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/CacheDir.py +314 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Conftest.py +805 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Debug.py +251 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Defaults.py +646 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Environment.py +2561 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/EnvironmentValues.py +119 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Errors.py +222 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Executor.py +660 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Job.py +439 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Memoize.py +242 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Node/Alias.py +176 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Node/FS.py +3861 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Node/Python.py +195 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Node/__init__.py +1784 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/PathList.py +224 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Platform/__init__.py +341 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Platform/aix.py +81 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Platform/cygwin.py +61 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Platform/darwin.py +70 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Platform/hpux.py +45 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Platform/irix.py +41 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Platform/mingw.py +33 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Platform/os2.py +55 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Platform/posix.py +124 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Platform/sunos.py +47 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Platform/virtualenv.py +115 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Platform/win32.py +429 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/SConf.py +1119 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/SConsign.py +453 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Scanner/C.py +226 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Scanner/Dir.py +131 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Scanner/Prog.py +114 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Scanner/RC.py +57 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Scanner/__init__.py +436 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Script/Interactive.py +372 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Script/Main.py +1469 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Script/SConsOptions.py +1071 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Script/SConscript.py +686 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Script/__init__.py +425 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Subst.py +979 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Taskmaster.py +1062 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/386asm.py +61 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/GettextCommon.py +429 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/MSCommon/__init__.py +52 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/MSCommon/arch.py +66 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/MSCommon/common.py +371 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/MSCommon/netframework.py +83 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/MSCommon/sdk.py +411 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/MSCommon/vc.py +994 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/MSCommon/vs.py +608 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/PharLapCommon.py +116 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/__init__.py +882 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/aixc++.py +43 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/aixcc.py +74 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/aixcxx.py +77 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/aixlink.py +78 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/applelink.py +209 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/ar.py +63 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/as.py +49 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/asm.py +78 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/bcc32.py +81 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/c++.py +44 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/cc.py +105 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/clang.py +91 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/clangCommon/__init__.py +18 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/clangxx.py +99 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/cxx.py +95 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/cyglink.py +212 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/default.py +50 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/filesystem.py +98 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/g++.py +45 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/gas.py +56 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/gcc.py +110 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/gettext_tool.py +69 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/gnulink.py +70 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/gxx.py +78 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/hpc++.py +45 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/hpcc.py +53 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/hpcxx.py +88 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/hplink.py +72 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/icc.py +59 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/icl.py +52 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/ilink.py +55 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/ilink32.py +60 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/install.py +510 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/intelc.py +617 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/link.py +72 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/linkCommon/LoadableModule.py +131 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/linkCommon/SharedLibrary.py +218 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/linkCommon/__init__.py +171 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/linkloc.py +112 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/m4.py +63 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/masm.py +77 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/mingw.py +232 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/msgfmt.py +132 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/msginit.py +137 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/msgmerge.py +125 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/mslib.py +73 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/mslink.py +339 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/mssdk.py +50 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/msvc.py +325 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/msvs.py +2116 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/mwcc.py +207 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/mwld.py +108 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/nasm.py +72 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/rmic.py +139 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/rpcgen.py +70 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/sgiar.py +68 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/sgic++.py +43 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/sgicc.py +53 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/sgicxx.py +61 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/sgilink.py +59 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/sunar.py +64 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/sunc++.py +45 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/suncc.py +58 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/suncxx.py +153 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/sunlink.py +79 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/tar.py +73 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/textfile.py +198 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/tlib.py +53 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/wix.py +104 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/xgettext.py +337 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Tool/zip.py +120 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Util.py +2134 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Utilities/ConfigureCache.py +171 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Utilities/__init__.py +0 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Utilities/sconsign.py +494 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Variables/BoolVariable.py +96 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Variables/EnumVariable.py +110 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Variables/ListVariable.py +152 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Variables/PackageVariable.py +107 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Variables/PathVariable.py +158 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Variables/__init__.py +334 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Warnings.py +238 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/__init__.py +9 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/compat/__init__.py +104 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/compat/_scons_dbm.py +42 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/compat/win32.py +101 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/cpp.py +640 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/dblite.py +295 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/exitfuncs.py +59 -0
- nuitka/build/inline_copy/markupsafe/LICENSE.rst +28 -0
- nuitka/build/inline_copy/markupsafe/markupsafe/__init__.py +327 -0
- nuitka/build/inline_copy/markupsafe/markupsafe/_compat.py +33 -0
- nuitka/build/inline_copy/markupsafe/markupsafe/_constants.py +264 -0
- nuitka/build/inline_copy/markupsafe/markupsafe/_native.py +69 -0
- nuitka/build/inline_copy/pefile/LICENSE.txt +21 -0
- nuitka/build/inline_copy/pefile/ordlookup/__init__.py +41 -0
- nuitka/build/inline_copy/pefile/ordlookup/oleaut32.py +400 -0
- nuitka/build/inline_copy/pefile/ordlookup/ws2_32.py +120 -0
- nuitka/build/inline_copy/pefile/pefile.py +8034 -0
- nuitka/build/inline_copy/pkg_resources/pkg_resources/__init__.py +3272 -0
- nuitka/build/inline_copy/pkg_resources/pkg_resources/py31compat.py +21 -0
- 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 +484 -0
- nuitka/build/inline_copy/tqdm/tqdm/__init__.py +40 -0
- nuitka/build/inline_copy/tqdm/tqdm/_main.py +9 -0
- nuitka/build/inline_copy/tqdm/tqdm/_monitor.py +97 -0
- nuitka/build/inline_copy/tqdm/tqdm/_tqdm.py +9 -0
- nuitka/build/inline_copy/tqdm/tqdm/_tqdm_notebook.py +9 -0
- nuitka/build/inline_copy/tqdm/tqdm/_tqdm_pandas.py +24 -0
- nuitka/build/inline_copy/tqdm/tqdm/_utils.py +12 -0
- nuitka/build/inline_copy/tqdm/tqdm/auto.py +44 -0
- nuitka/build/inline_copy/tqdm/tqdm/autonotebook.py +28 -0
- nuitka/build/inline_copy/tqdm/tqdm/dask.py +46 -0
- nuitka/build/inline_copy/tqdm/tqdm/notebook.py +316 -0
- nuitka/build/inline_copy/tqdm/tqdm/std.py +1524 -0
- nuitka/build/inline_copy/tqdm/tqdm/tk.py +207 -0
- nuitka/build/inline_copy/tqdm/tqdm/utils.py +351 -0
- nuitka/build/inline_copy/tqdm/tqdm/version.py +2 -0
- nuitka/build/inline_copy/yaml/LICENSE +20 -0
- nuitka/build/inline_copy/yaml/yaml/__init__.py +427 -0
- nuitka/build/inline_copy/yaml/yaml/composer.py +139 -0
- nuitka/build/inline_copy/yaml/yaml/constructor.py +748 -0
- nuitka/build/inline_copy/yaml/yaml/cyaml.py +101 -0
- nuitka/build/inline_copy/yaml/yaml/dumper.py +62 -0
- nuitka/build/inline_copy/yaml/yaml/emitter.py +1137 -0
- nuitka/build/inline_copy/yaml/yaml/error.py +75 -0
- nuitka/build/inline_copy/yaml/yaml/events.py +86 -0
- nuitka/build/inline_copy/yaml/yaml/loader.py +63 -0
- nuitka/build/inline_copy/yaml/yaml/nodes.py +49 -0
- nuitka/build/inline_copy/yaml/yaml/parser.py +589 -0
- nuitka/build/inline_copy/yaml/yaml/reader.py +185 -0
- nuitka/build/inline_copy/yaml/yaml/representer.py +389 -0
- nuitka/build/inline_copy/yaml/yaml/resolver.py +227 -0
- nuitka/build/inline_copy/yaml/yaml/scanner.py +1435 -0
- nuitka/build/inline_copy/yaml/yaml/serializer.py +111 -0
- nuitka/build/inline_copy/yaml/yaml/tokens.py +104 -0
- 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/inline_copy/zstd/LICENSE.txt +30 -0
- nuitka/build/inline_copy/zstd/common/bitstream.h +463 -0
- nuitka/build/inline_copy/zstd/common/compiler.h +288 -0
- nuitka/build/inline_copy/zstd/common/cpu.h +213 -0
- nuitka/build/inline_copy/zstd/common/debug.h +107 -0
- nuitka/build/inline_copy/zstd/common/entropy_common.c +360 -0
- nuitka/build/inline_copy/zstd/common/error_private.c +56 -0
- nuitka/build/inline_copy/zstd/common/error_private.h +80 -0
- nuitka/build/inline_copy/zstd/common/fse.h +715 -0
- nuitka/build/inline_copy/zstd/common/fse_decompress.c +393 -0
- nuitka/build/inline_copy/zstd/common/huf.h +361 -0
- nuitka/build/inline_copy/zstd/common/mem.h +426 -0
- nuitka/build/inline_copy/zstd/common/xxhash.c +826 -0
- nuitka/build/inline_copy/zstd/common/xxhash.h +285 -0
- nuitka/build/inline_copy/zstd/common/zstd_common.c +83 -0
- nuitka/build/inline_copy/zstd/common/zstd_deps.h +111 -0
- nuitka/build/inline_copy/zstd/common/zstd_errors.h +95 -0
- nuitka/build/inline_copy/zstd/common/zstd_internal.h +478 -0
- nuitka/build/inline_copy/zstd/decompress/huf_decompress.c +1350 -0
- nuitka/build/inline_copy/zstd/decompress/zstd_ddict.c +244 -0
- nuitka/build/inline_copy/zstd/decompress/zstd_ddict.h +44 -0
- nuitka/build/inline_copy/zstd/decompress/zstd_decompress.c +1930 -0
- nuitka/build/inline_copy/zstd/decompress/zstd_decompress_block.c +1540 -0
- nuitka/build/inline_copy/zstd/decompress/zstd_decompress_block.h +62 -0
- nuitka/build/inline_copy/zstd/decompress/zstd_decompress_internal.h +190 -0
- nuitka/build/inline_copy/zstd/zstd.h +2391 -0
- nuitka/build/static_src/CompiledAsyncgenType.c +2211 -0
- nuitka/build/static_src/CompiledCellType.c +300 -0
- nuitka/build/static_src/CompiledCodeHelpers.c +2160 -0
- nuitka/build/static_src/CompiledCoroutineType.c +1946 -0
- nuitka/build/static_src/CompiledFrameType.c +1337 -0
- nuitka/build/static_src/CompiledFunctionType.c +3320 -0
- nuitka/build/static_src/CompiledGeneratorType.c +1997 -0
- nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +2117 -0
- nuitka/build/static_src/CompiledMethodType.c +614 -0
- nuitka/build/static_src/GenerateHeadersMain.c +30 -0
- nuitka/build/static_src/HelpersAllocator.c +939 -0
- nuitka/build/static_src/HelpersAttributes.c +1241 -0
- nuitka/build/static_src/HelpersBuiltin.c +901 -0
- nuitka/build/static_src/HelpersBuiltinTypeMethods.c +3594 -0
- nuitka/build/static_src/HelpersBytes.c +107 -0
- nuitka/build/static_src/HelpersCalling.c +397 -0
- nuitka/build/static_src/HelpersCallingGenerated.c +14361 -0
- nuitka/build/static_src/HelpersChecksumTools.c +59 -0
- nuitka/build/static_src/HelpersClasses.c +91 -0
- 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 +12070 -0
- nuitka/build/static_src/HelpersComparisonEqUtils.c +169 -0
- nuitka/build/static_src/HelpersComparisonGe.c +11871 -0
- nuitka/build/static_src/HelpersComparisonGt.c +11855 -0
- nuitka/build/static_src/HelpersComparisonLe.c +11957 -0
- nuitka/build/static_src/HelpersComparisonLt.c +11941 -0
- nuitka/build/static_src/HelpersComparisonNe.c +11979 -0
- nuitka/build/static_src/HelpersConsole.c +124 -0
- nuitka/build/static_src/HelpersConstantsBlob.c +1487 -0
- nuitka/build/static_src/HelpersDeepcopy.c +636 -0
- nuitka/build/static_src/HelpersDictionaries.c +1739 -0
- nuitka/build/static_src/HelpersDictionariesGenerated.c +738 -0
- nuitka/build/static_src/HelpersDumpBacktraces.c +63 -0
- nuitka/build/static_src/HelpersEnvironmentVariables.c +65 -0
- nuitka/build/static_src/HelpersEnvironmentVariablesSystem.c +97 -0
- nuitka/build/static_src/HelpersExceptions.c +298 -0
- nuitka/build/static_src/HelpersFiles.c +353 -0
- nuitka/build/static_src/HelpersFilesystemPaths.c +1322 -0
- nuitka/build/static_src/HelpersFloats.c +92 -0
- nuitka/build/static_src/HelpersHeapStorage.c +68 -0
- nuitka/build/static_src/HelpersImport.c +506 -0
- nuitka/build/static_src/HelpersImportHard.c +526 -0
- nuitka/build/static_src/HelpersJitSources.c +48 -0
- nuitka/build/static_src/HelpersLists.c +899 -0
- nuitka/build/static_src/HelpersListsGenerated.c +564 -0
- nuitka/build/static_src/HelpersMappings.c +46 -0
- nuitka/build/static_src/HelpersMatching.c +192 -0
- nuitka/build/static_src/HelpersOperationBinaryAdd.c +6477 -0
- nuitka/build/static_src/HelpersOperationBinaryAddUtils.c +703 -0
- nuitka/build/static_src/HelpersOperationBinaryBitand.c +2738 -0
- nuitka/build/static_src/HelpersOperationBinaryBitor.c +2738 -0
- nuitka/build/static_src/HelpersOperationBinaryBitxor.c +2738 -0
- nuitka/build/static_src/HelpersOperationBinaryDivmod.c +2406 -0
- nuitka/build/static_src/HelpersOperationBinaryDivmodUtils.c +33 -0
- nuitka/build/static_src/HelpersOperationBinaryDualAdd.c +172 -0
- nuitka/build/static_src/HelpersOperationBinaryFloordiv.c +2422 -0
- nuitka/build/static_src/HelpersOperationBinaryInplaceAdd.c +220 -0
- nuitka/build/static_src/HelpersOperationBinaryLshift.c +2846 -0
- nuitka/build/static_src/HelpersOperationBinaryMatmult.c +453 -0
- nuitka/build/static_src/HelpersOperationBinaryMod.c +6549 -0
- nuitka/build/static_src/HelpersOperationBinaryMult.c +6438 -0
- nuitka/build/static_src/HelpersOperationBinaryMultUtils.c +125 -0
- nuitka/build/static_src/HelpersOperationBinaryOlddiv.c +2355 -0
- nuitka/build/static_src/HelpersOperationBinaryPow.c +2743 -0
- nuitka/build/static_src/HelpersOperationBinaryPowUtils.c +26 -0
- nuitka/build/static_src/HelpersOperationBinaryRshift.c +2706 -0
- nuitka/build/static_src/HelpersOperationBinarySub.c +2649 -0
- nuitka/build/static_src/HelpersOperationBinaryTruediv.c +2415 -0
- nuitka/build/static_src/HelpersOperationInplaceAdd.c +5211 -0
- nuitka/build/static_src/HelpersOperationInplaceAddUtils.c +144 -0
- nuitka/build/static_src/HelpersOperationInplaceBitand.c +1826 -0
- nuitka/build/static_src/HelpersOperationInplaceBitor.c +1826 -0
- nuitka/build/static_src/HelpersOperationInplaceBitxor.c +1826 -0
- nuitka/build/static_src/HelpersOperationInplaceFloordiv.c +2605 -0
- nuitka/build/static_src/HelpersOperationInplaceLshift.c +1594 -0
- nuitka/build/static_src/HelpersOperationInplaceMatmult.c +603 -0
- nuitka/build/static_src/HelpersOperationInplaceMod.c +4762 -0
- nuitka/build/static_src/HelpersOperationInplaceMult.c +4689 -0
- nuitka/build/static_src/HelpersOperationInplaceOlddiv.c +2553 -0
- nuitka/build/static_src/HelpersOperationInplacePow.c +2807 -0
- nuitka/build/static_src/HelpersOperationInplaceRshift.c +1534 -0
- nuitka/build/static_src/HelpersOperationInplaceSub.c +2894 -0
- nuitka/build/static_src/HelpersOperationInplaceTruediv.c +2612 -0
- nuitka/build/static_src/HelpersProfiling.c +104 -0
- nuitka/build/static_src/HelpersPythonPgo.c +113 -0
- nuitka/build/static_src/HelpersRaising.c +447 -0
- nuitka/build/static_src/HelpersSafeStrings.c +185 -0
- nuitka/build/static_src/HelpersSequences.c +134 -0
- nuitka/build/static_src/HelpersSlices.c +73 -0
- nuitka/build/static_src/HelpersStrings.c +998 -0
- nuitka/build/static_src/HelpersTuples.c +148 -0
- nuitka/build/static_src/HelpersTypes.c +329 -0
- nuitka/build/static_src/InspectPatcher.c +439 -0
- nuitka/build/static_src/MainProgram.c +2060 -0
- nuitka/build/static_src/MetaPathBasedLoader.c +2290 -0
- nuitka/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c +125 -0
- nuitka/build/static_src/MetaPathBasedLoaderResourceReader.c +158 -0
- nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +785 -0
- nuitka/build/static_src/OnefileBootstrap.c +1580 -0
- nuitka/build/static_src/OnefileSplashScreen.cpp +275 -0
- nuitka/code_generation/AsyncgenCodes.py +186 -0
- nuitka/code_generation/AttributeCodes.py +357 -0
- nuitka/code_generation/BinaryOperationHelperDefinitions.py +720 -0
- nuitka/code_generation/BranchCodes.py +67 -0
- nuitka/code_generation/BuiltinCodes.py +529 -0
- nuitka/code_generation/CallCodes.py +1186 -0
- nuitka/code_generation/ClassCodes.py +156 -0
- nuitka/code_generation/CodeGeneration.py +1078 -0
- nuitka/code_generation/CodeHelperSelection.py +81 -0
- nuitka/code_generation/CodeHelpers.py +455 -0
- nuitka/code_generation/CodeObjectCodes.py +165 -0
- nuitka/code_generation/ComparisonCodes.py +569 -0
- nuitka/code_generation/ComparisonHelperDefinitions.py +146 -0
- nuitka/code_generation/ConditionalCodes.py +236 -0
- nuitka/code_generation/ConstantCodes.py +243 -0
- nuitka/code_generation/Contexts.py +1248 -0
- nuitka/code_generation/CoroutineCodes.py +253 -0
- nuitka/code_generation/CtypesCodes.py +46 -0
- nuitka/code_generation/DictCodes.py +918 -0
- nuitka/code_generation/Emission.py +75 -0
- nuitka/code_generation/ErrorCodes.py +281 -0
- nuitka/code_generation/EvalCodes.py +444 -0
- nuitka/code_generation/ExceptionCodes.py +337 -0
- nuitka/code_generation/ExpressionCTypeSelectionHelpers.py +227 -0
- nuitka/code_generation/ExpressionCodes.py +61 -0
- nuitka/code_generation/FrameCodes.py +518 -0
- nuitka/code_generation/FunctionCodes.py +858 -0
- nuitka/code_generation/GeneratorCodes.py +218 -0
- nuitka/code_generation/GlobalConstants.py +249 -0
- nuitka/code_generation/GlobalsLocalsCodes.py +211 -0
- nuitka/code_generation/IdCodes.py +53 -0
- nuitka/code_generation/ImportCodes.py +468 -0
- nuitka/code_generation/Indentation.py +45 -0
- nuitka/code_generation/IndexCodes.py +50 -0
- nuitka/code_generation/InjectCCodes.py +28 -0
- nuitka/code_generation/IntegerCodes.py +110 -0
- nuitka/code_generation/IteratorCodes.py +378 -0
- nuitka/code_generation/JitCodes.py +44 -0
- nuitka/code_generation/LabelCodes.py +68 -0
- nuitka/code_generation/LineNumberCodes.py +91 -0
- nuitka/code_generation/ListCodes.py +502 -0
- nuitka/code_generation/LoaderCodes.py +193 -0
- nuitka/code_generation/LocalsDictCodes.py +359 -0
- nuitka/code_generation/LoopCodes.py +88 -0
- nuitka/code_generation/MatchCodes.py +67 -0
- nuitka/code_generation/ModuleCodes.py +247 -0
- nuitka/code_generation/Namify.py +260 -0
- nuitka/code_generation/NetworkxCodes.py +51 -0
- nuitka/code_generation/OperationCodes.py +398 -0
- nuitka/code_generation/PackageResourceCodes.py +986 -0
- nuitka/code_generation/PrintCodes.py +93 -0
- nuitka/code_generation/PythonAPICodes.py +215 -0
- nuitka/code_generation/RaisingCodes.py +481 -0
- nuitka/code_generation/Reports.py +115 -0
- nuitka/code_generation/ReturnCodes.py +143 -0
- nuitka/code_generation/SetCodes.py +196 -0
- nuitka/code_generation/SliceCodes.py +465 -0
- nuitka/code_generation/StringCodes.py +303 -0
- nuitka/code_generation/SubscriptCodes.py +263 -0
- nuitka/code_generation/TensorflowCodes.py +54 -0
- nuitka/code_generation/TryCodes.py +326 -0
- nuitka/code_generation/TupleCodes.py +115 -0
- nuitka/code_generation/TypeAliasCodes.py +120 -0
- nuitka/code_generation/VariableCodes.py +519 -0
- nuitka/code_generation/VariableDeclarations.py +279 -0
- nuitka/code_generation/YieldCodes.py +253 -0
- nuitka/code_generation/__init__.py +19 -0
- nuitka/code_generation/c_types/CTypeBases.py +177 -0
- nuitka/code_generation/c_types/CTypeBooleans.py +104 -0
- nuitka/code_generation/c_types/CTypeCFloats.py +57 -0
- nuitka/code_generation/c_types/CTypeCLongs.py +45 -0
- nuitka/code_generation/c_types/CTypeModuleDictVariables.py +109 -0
- nuitka/code_generation/c_types/CTypeNuitkaBooleans.py +150 -0
- nuitka/code_generation/c_types/CTypeNuitkaInts.py +200 -0
- nuitka/code_generation/c_types/CTypeNuitkaVoids.py +107 -0
- nuitka/code_generation/c_types/CTypePyObjectPointers.py +572 -0
- nuitka/code_generation/c_types/CTypeVoids.py +92 -0
- nuitka/code_generation/c_types/__init__.py +19 -0
- nuitka/code_generation/templates/CodeTemplatesAsyncgens.py +106 -0
- nuitka/code_generation/templates/CodeTemplatesConstants.py +296 -0
- nuitka/code_generation/templates/CodeTemplatesCoroutines.py +109 -0
- nuitka/code_generation/templates/CodeTemplatesExceptions.py +84 -0
- nuitka/code_generation/templates/CodeTemplatesFrames.py +235 -0
- nuitka/code_generation/templates/CodeTemplatesFunction.py +117 -0
- nuitka/code_generation/templates/CodeTemplatesGeneratorFunction.py +130 -0
- nuitka/code_generation/templates/CodeTemplatesIterators.py +40 -0
- nuitka/code_generation/templates/CodeTemplatesLoader.py +180 -0
- nuitka/code_generation/templates/CodeTemplatesModules.py +710 -0
- nuitka/code_generation/templates/CodeTemplatesVariables.py +388 -0
- nuitka/code_generation/templates/TemplateDebugWrapper.py +80 -0
- nuitka/code_generation/templates/__init__.py +19 -0
- nuitka/code_generation/templates_c/CodeTemplateCallsMethodPositional.c.j2 +321 -0
- nuitka/code_generation/templates_c/CodeTemplateCallsMixed.c.j2 +143 -0
- nuitka/code_generation/templates_c/CodeTemplateCallsPositional.c.j2 +677 -0
- nuitka/code_generation/templates_c/CodeTemplateCallsPositionalMethodDescr.c.j2 +165 -0
- nuitka/code_generation/templates_c/CodeTemplateMakeListHinted.c.j2 +38 -0
- nuitka/code_generation/templates_c/CodeTemplateMakeListSmall.c.j2 +41 -0
- nuitka/code_generation/templates_c/HelperBuiltinMethodOperation.c.j2 +53 -0
- nuitka/code_generation/templates_c/HelperDictionaryCopy.c.j2 +364 -0
- nuitka/code_generation/templates_c/HelperImportHard.c.j2 +37 -0
- nuitka/code_generation/templates_c/HelperLongTools.c.j2 +53 -0
- nuitka/code_generation/templates_c/HelperObjectTools.c.j2 +20 -0
- nuitka/code_generation/templates_c/HelperOperationBinary.c.j2 +148 -0
- nuitka/code_generation/templates_c/HelperOperationBinaryDual.c.j2 +115 -0
- nuitka/code_generation/templates_c/HelperOperationComparison.c.j2 +352 -0
- nuitka/code_generation/templates_c/HelperOperationComparisonBytes.c.j2 +115 -0
- nuitka/code_generation/templates_c/HelperOperationComparisonDual.c.j2 +86 -0
- nuitka/code_generation/templates_c/HelperOperationComparisonFloat.c.j2 +31 -0
- nuitka/code_generation/templates_c/HelperOperationComparisonInt.c.j2 +32 -0
- nuitka/code_generation/templates_c/HelperOperationComparisonList.c.j2 +112 -0
- nuitka/code_generation/templates_c/HelperOperationComparisonLong.c.j2 +157 -0
- nuitka/code_generation/templates_c/HelperOperationComparisonStr.c.j2 +115 -0
- nuitka/code_generation/templates_c/HelperOperationComparisonTuple.c.j2 +99 -0
- nuitka/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +115 -0
- nuitka/code_generation/templates_c/HelperOperationInplace.c.j2 +281 -0
- nuitka/code_generation/templates_c/HelperSlotsBinary.c.j2 +420 -0
- nuitka/code_generation/templates_c/HelperSlotsBytes.c.j2 +51 -0
- nuitka/code_generation/templates_c/HelperSlotsCommon.c.j2 +71 -0
- nuitka/code_generation/templates_c/HelperSlotsFloat.c.j2 +327 -0
- nuitka/code_generation/templates_c/HelperSlotsInt.c.j2 +411 -0
- nuitka/code_generation/templates_c/HelperSlotsList.c.j2 +59 -0
- nuitka/code_generation/templates_c/HelperSlotsLong.c.j2 +229 -0
- nuitka/code_generation/templates_c/HelperSlotsSet.c.j2 +47 -0
- nuitka/code_generation/templates_c/HelperSlotsStr.c.j2 +55 -0
- nuitka/code_generation/templates_c/HelperSlotsTuple.c.j2 +58 -0
- nuitka/code_generation/templates_c/HelperSlotsUnicode.c.j2 +62 -0
- nuitka/containers/Namedtuples.py +51 -0
- nuitka/containers/OrderedDicts.py +191 -0
- nuitka/containers/OrderedSets.py +123 -0
- nuitka/containers/OrderedSetsFallback.py +139 -0
- nuitka/containers/__init__.py +19 -0
- nuitka/distutils/Build.py +76 -0
- nuitka/distutils/DistutilCommands.py +438 -0
- nuitka/distutils/__init__.py +19 -0
- nuitka/finalizations/Finalization.py +35 -0
- nuitka/finalizations/FinalizeMarkups.py +136 -0
- nuitka/finalizations/__init__.py +19 -0
- nuitka/freezer/DependsExe.py +257 -0
- nuitka/freezer/DllDependenciesCommon.py +97 -0
- nuitka/freezer/DllDependenciesMacOS.py +444 -0
- nuitka/freezer/DllDependenciesPosix.py +242 -0
- nuitka/freezer/DllDependenciesWin32.py +315 -0
- nuitka/freezer/ImportDetection.py +359 -0
- nuitka/freezer/IncludedDataFiles.py +689 -0
- nuitka/freezer/IncludedEntryPoints.py +376 -0
- nuitka/freezer/Onefile.py +296 -0
- nuitka/freezer/Standalone.py +520 -0
- nuitka/freezer/__init__.py +19 -0
- nuitka/importing/IgnoreListing.py +449 -0
- nuitka/importing/ImportCache.py +95 -0
- nuitka/importing/ImportResolving.py +186 -0
- nuitka/importing/Importing.py +1200 -0
- nuitka/importing/PreloadedPackages.py +164 -0
- nuitka/importing/Recursion.py +611 -0
- nuitka/importing/StandardLibrary.py +429 -0
- nuitka/importing/__init__.py +19 -0
- nuitka/nodes/AsyncgenNodes.py +107 -0
- nuitka/nodes/AttributeLookupNodes.py +124 -0
- nuitka/nodes/AttributeNodes.py +386 -0
- nuitka/nodes/AttributeNodesGenerated.py +10734 -0
- nuitka/nodes/BuiltinAllNodes.py +115 -0
- nuitka/nodes/BuiltinAnyNodes.py +124 -0
- nuitka/nodes/BuiltinComplexNodes.py +83 -0
- nuitka/nodes/BuiltinDecodingNodes.py +52 -0
- nuitka/nodes/BuiltinDecoratorNodes.py +85 -0
- nuitka/nodes/BuiltinDictNodes.py +140 -0
- nuitka/nodes/BuiltinFormatNodes.py +159 -0
- nuitka/nodes/BuiltinHashNodes.py +63 -0
- nuitka/nodes/BuiltinInputNodes.py +39 -0
- nuitka/nodes/BuiltinIntegerNodes.py +170 -0
- nuitka/nodes/BuiltinIteratorNodes.py +391 -0
- nuitka/nodes/BuiltinLenNodes.py +61 -0
- nuitka/nodes/BuiltinNextNodes.py +111 -0
- nuitka/nodes/BuiltinOpenNodes.py +148 -0
- nuitka/nodes/BuiltinOperationNodeBasesGenerated.py +7367 -0
- nuitka/nodes/BuiltinRangeNodes.py +690 -0
- nuitka/nodes/BuiltinRefNodes.py +314 -0
- nuitka/nodes/BuiltinSumNodes.py +104 -0
- nuitka/nodes/BuiltinTypeNodes.py +454 -0
- nuitka/nodes/BuiltinVarsNodes.py +44 -0
- nuitka/nodes/BytesNodes.py +829 -0
- nuitka/nodes/CallNodes.py +217 -0
- nuitka/nodes/Checkers.py +55 -0
- nuitka/nodes/ChildrenHavingMixins.py +21576 -0
- nuitka/nodes/ClassNodes.py +286 -0
- nuitka/nodes/CodeObjectSpecs.py +230 -0
- nuitka/nodes/ComparisonNodes.py +687 -0
- nuitka/nodes/ConditionalNodes.py +884 -0
- nuitka/nodes/ConstantRefNodes.py +1717 -0
- nuitka/nodes/ContainerMakingNodes.py +408 -0
- nuitka/nodes/ContainerOperationNodes.py +87 -0
- nuitka/nodes/CoroutineNodes.py +144 -0
- nuitka/nodes/CtypesNodes.py +51 -0
- nuitka/nodes/DictionaryNodes.py +1513 -0
- nuitka/nodes/ExceptionNodes.py +393 -0
- nuitka/nodes/ExecEvalNodes.py +229 -0
- nuitka/nodes/ExpressionBases.py +1301 -0
- nuitka/nodes/ExpressionBasesGenerated.py +2103 -0
- nuitka/nodes/ExpressionShapeMixins.py +886 -0
- nuitka/nodes/FrameNodes.py +413 -0
- nuitka/nodes/FunctionAttributeNodes.py +102 -0
- nuitka/nodes/FunctionNodes.py +1303 -0
- nuitka/nodes/FutureSpecs.py +224 -0
- nuitka/nodes/GeneratorNodes.py +201 -0
- nuitka/nodes/GlobalsLocalsNodes.py +209 -0
- nuitka/nodes/HardImportNodesGenerated.py +3599 -0
- nuitka/nodes/ImportHardNodes.py +185 -0
- nuitka/nodes/ImportNodes.py +1366 -0
- nuitka/nodes/IndicatorMixins.py +79 -0
- nuitka/nodes/InjectCNodes.py +51 -0
- nuitka/nodes/IterationHandles.py +407 -0
- nuitka/nodes/KeyValuePairNodes.py +378 -0
- nuitka/nodes/ListOperationNodes.py +525 -0
- nuitka/nodes/LocalsDictNodes.py +717 -0
- nuitka/nodes/LocalsScopes.py +505 -0
- nuitka/nodes/LoopNodes.py +445 -0
- nuitka/nodes/MatchNodes.py +60 -0
- nuitka/nodes/ModuleAttributeNodes.py +180 -0
- nuitka/nodes/ModuleNodes.py +1137 -0
- nuitka/nodes/NetworkxNodes.py +45 -0
- nuitka/nodes/NodeBases.py +890 -0
- nuitka/nodes/NodeMakingHelpers.py +481 -0
- nuitka/nodes/NodeMetaClasses.py +172 -0
- nuitka/nodes/OperatorNodes.py +944 -0
- nuitka/nodes/OperatorNodesUnary.py +403 -0
- nuitka/nodes/OsSysNodes.py +215 -0
- nuitka/nodes/OutlineNodes.py +372 -0
- nuitka/nodes/PackageMetadataNodes.py +982 -0
- nuitka/nodes/PackageResourceNodes.py +424 -0
- nuitka/nodes/PrintNodes.py +105 -0
- nuitka/nodes/ReturnNodes.py +255 -0
- nuitka/nodes/SideEffectNodes.py +139 -0
- nuitka/nodes/SliceNodes.py +386 -0
- nuitka/nodes/StatementBasesGenerated.py +3419 -0
- nuitka/nodes/StatementNodes.py +316 -0
- nuitka/nodes/StrNodes.py +919 -0
- nuitka/nodes/StringConcatenationNodes.py +103 -0
- nuitka/nodes/SubscriptNodes.py +245 -0
- nuitka/nodes/TensorflowNodes.py +38 -0
- nuitka/nodes/TryNodes.py +519 -0
- nuitka/nodes/TypeMatchNodes.py +65 -0
- nuitka/nodes/TypeNodes.py +390 -0
- nuitka/nodes/VariableAssignNodes.py +1177 -0
- nuitka/nodes/VariableDelNodes.py +320 -0
- nuitka/nodes/VariableNameNodes.py +153 -0
- nuitka/nodes/VariableRefNodes.py +895 -0
- nuitka/nodes/VariableReleaseNodes.py +153 -0
- nuitka/nodes/YieldNodes.py +121 -0
- nuitka/nodes/__init__.py +19 -0
- nuitka/nodes/shapes/BuiltinTypeShapes.py +4290 -0
- nuitka/nodes/shapes/ControlFlowDescriptions.py +199 -0
- nuitka/nodes/shapes/IteratorShapes.py +71 -0
- nuitka/nodes/shapes/ShapeMixins.py +255 -0
- nuitka/nodes/shapes/StandardShapes.py +1384 -0
- nuitka/nodes/shapes/__init__.py +19 -0
- nuitka/optimizations/BytecodeDemotion.py +105 -0
- nuitka/optimizations/FunctionInlining.py +110 -0
- nuitka/optimizations/Graphs.py +70 -0
- nuitka/optimizations/Optimization.py +363 -0
- nuitka/optimizations/OptimizeBuiltinCalls.py +1582 -0
- nuitka/optimizations/Tags.py +76 -0
- nuitka/optimizations/TraceCollections.py +1257 -0
- nuitka/optimizations/ValueTraces.py +980 -0
- nuitka/optimizations/__init__.py +19 -0
- nuitka/pgo/PGO.py +160 -0
- nuitka/pgo/__init__.py +19 -0
- nuitka/plugins/PluginBase.py +1924 -0
- nuitka/plugins/Plugins.py +2007 -0
- nuitka/plugins/YamlPluginBase.py +121 -0
- nuitka/plugins/__init__.py +19 -0
- nuitka/plugins/standard/AntiBloatPlugin.py +1024 -0
- nuitka/plugins/standard/ConsiderPyLintAnnotationsPlugin.py +95 -0
- nuitka/plugins/standard/DataFilesPlugin.py +311 -0
- nuitka/plugins/standard/DelvewheelPlugin.py +150 -0
- nuitka/plugins/standard/DillPlugin/DillPlugin.c +37 -0
- nuitka/plugins/standard/DillPlugin/cloudpickle-postLoad.py +67 -0
- nuitka/plugins/standard/DillPlugin/dill-postLoad.py +223 -0
- nuitka/plugins/standard/DillPlugin.py +137 -0
- nuitka/plugins/standard/DllFilesPlugin.py +527 -0
- nuitka/plugins/standard/EnumPlugin.py +64 -0
- nuitka/plugins/standard/EventletPlugin.py +57 -0
- nuitka/plugins/standard/GeventPlugin.py +64 -0
- nuitka/plugins/standard/GiPlugin.py +118 -0
- nuitka/plugins/standard/GlfwPlugin.py +138 -0
- nuitka/plugins/standard/ImplicitImports.py +845 -0
- nuitka/plugins/standard/KivyPlugin.py +141 -0
- nuitka/plugins/standard/MatplotlibPlugin.py +256 -0
- nuitka/plugins/standard/MultiprocessingPlugin.py +199 -0
- nuitka/plugins/standard/NumpyPlugin.py +35 -0
- nuitka/plugins/standard/OptionsNannyPlugin.py +158 -0
- nuitka/plugins/standard/PbrPlugin.py +62 -0
- nuitka/plugins/standard/PkgResourcesPlugin.py +162 -0
- nuitka/plugins/standard/PlaywrightPlugin.py +179 -0
- nuitka/plugins/standard/PmwPlugin.py +248 -0
- nuitka/plugins/standard/PySidePyQtPlugin.py +1666 -0
- nuitka/plugins/standard/PywebViewPlugin.py +81 -0
- nuitka/plugins/standard/SpacyPlugin.py +137 -0
- nuitka/plugins/standard/TensorflowPlugin.py +35 -0
- nuitka/plugins/standard/TkinterPlugin.py +416 -0
- nuitka/plugins/standard/TorchPlugin.py +35 -0
- nuitka/plugins/standard/TransformersPlugin.py +121 -0
- nuitka/plugins/standard/TrioPlugin.py +33 -0
- nuitka/plugins/standard/UpxPlugin.py +174 -0
- nuitka/plugins/standard/__init__.py +19 -0
- nuitka/plugins/standard/standard.nuitka-package.config.yml +9313 -0
- nuitka/plugins/standard/stdlib2.nuitka-package.config.yml +78 -0
- nuitka/plugins/standard/stdlib3.nuitka-package.config.yml +468 -0
- nuitka/reports/CompilationReportReader.py +83 -0
- nuitka/reports/LicenseReport.rst.j2 +41 -0
- nuitka/reports/Reports.py +961 -0
- nuitka/reports/__init__.py +19 -0
- nuitka/specs/BuiltinBytesOperationSpecs.py +180 -0
- nuitka/specs/BuiltinDictOperationSpecs.py +82 -0
- nuitka/specs/BuiltinListOperationSpecs.py +80 -0
- nuitka/specs/BuiltinParameterSpecs.py +831 -0
- nuitka/specs/BuiltinStrOperationSpecs.py +181 -0
- nuitka/specs/BuiltinTypeOperationSpecs.py +34 -0
- nuitka/specs/BuiltinUnicodeOperationSpecs.py +123 -0
- nuitka/specs/HardImportSpecs.py +236 -0
- nuitka/specs/ParameterSpecs.py +630 -0
- nuitka/specs/__init__.py +19 -0
- nuitka/tools/Basics.py +55 -0
- nuitka/tools/__init__.py +19 -0
- nuitka/tools/commercial/__init__.py +21 -0
- nuitka/tools/data_composer/DataComposer.py +593 -0
- nuitka/tools/data_composer/__init__.py +19 -0
- nuitka/tools/data_composer/__main__.py +41 -0
- nuitka/tools/environments/CreateEnvironment.py +69 -0
- nuitka/tools/environments/Virtualenv.py +158 -0
- nuitka/tools/environments/__init__.py +19 -0
- nuitka/tools/general/__init__.py +19 -0
- nuitka/tools/general/dll_report/__init__.py +19 -0
- nuitka/tools/general/dll_report/__main__.py +83 -0
- nuitka/tools/general/find_module/FindModuleCode.py +127 -0
- nuitka/tools/general/find_module/__init__.py +19 -0
- nuitka/tools/general/generate_header/GenerateHeader.py +73 -0
- nuitka/tools/general/generate_header/__init__.py +19 -0
- nuitka/tools/onefile_compressor/OnefileCompressor.py +390 -0
- nuitka/tools/onefile_compressor/__init__.py +19 -0
- nuitka/tools/onefile_compressor/__main__.py +41 -0
- nuitka/tools/podman/Podman.py +55 -0
- nuitka/tools/podman/__init__.py +19 -0
- nuitka/tools/podman/__main__.py +425 -0
- nuitka/tools/profiler/__init__.py +19 -0
- nuitka/tools/profiler/__main__.py +93 -0
- nuitka/tools/scanning/DisplayDistributions.py +39 -0
- nuitka/tools/scanning/DisplayPackageDLLs.py +151 -0
- nuitka/tools/scanning/DisplayPackageData.py +73 -0
- nuitka/tools/scanning/__init__.py +19 -0
- nuitka/tools/specialize/CTypeDescriptions.py +1928 -0
- nuitka/tools/specialize/Common.py +380 -0
- nuitka/tools/specialize/SpecializeC.py +1483 -0
- nuitka/tools/specialize/SpecializePython.py +1151 -0
- nuitka/tools/specialize/__init__.py +19 -0
- nuitka/tools/testing/Common.py +2007 -0
- nuitka/tools/testing/Constructs.py +53 -0
- nuitka/tools/testing/DocTests.py +156 -0
- nuitka/tools/testing/OutputComparison.py +313 -0
- nuitka/tools/testing/Pythons.py +34 -0
- nuitka/tools/testing/RuntimeTracing.py +260 -0
- nuitka/tools/testing/SearchModes.py +208 -0
- nuitka/tools/testing/Valgrind.py +103 -0
- nuitka/tools/testing/__init__.py +19 -0
- nuitka/tools/testing/check_reference_counts/__init__.py +19 -0
- nuitka/tools/testing/check_reference_counts/__main__.py +107 -0
- nuitka/tools/testing/compare_with_cpython/__init__.py +19 -0
- nuitka/tools/testing/compare_with_cpython/__main__.py +942 -0
- nuitka/tools/testing/find_sxs_modules/__init__.py +19 -0
- nuitka/tools/testing/find_sxs_modules/__main__.py +73 -0
- nuitka/tools/testing/measure_construct_performance/__init__.py +19 -0
- nuitka/tools/testing/measure_construct_performance/__main__.py +288 -0
- nuitka/tools/testing/run_nuitka_tests/__init__.py +19 -0
- nuitka/tools/testing/run_nuitka_tests/__main__.py +1091 -0
- nuitka/tools/watch/AutoStage.py +145 -0
- nuitka/tools/watch/Common.py +55 -0
- nuitka/tools/watch/Conda.py +125 -0
- nuitka/tools/watch/GitHub.py +113 -0
- nuitka/tools/watch/Pacman.py +73 -0
- nuitka/tools/watch/Pipenv.py +145 -0
- nuitka/tools/watch/__init__.py +19 -0
- nuitka/tools/watch/__main__.py +615 -0
- nuitka/tree/Building.py +1459 -0
- nuitka/tree/ComplexCallHelperFunctions.py +2150 -0
- nuitka/tree/Extractions.py +48 -0
- nuitka/tree/FutureSpecState.py +71 -0
- nuitka/tree/InternalModule.py +96 -0
- nuitka/tree/Operations.py +45 -0
- nuitka/tree/ReformulationAssertStatements.py +97 -0
- nuitka/tree/ReformulationAssignmentStatements.py +1260 -0
- nuitka/tree/ReformulationBooleanExpressions.py +97 -0
- nuitka/tree/ReformulationCallExpressions.py +314 -0
- nuitka/tree/ReformulationClasses.py +407 -0
- nuitka/tree/ReformulationClasses3.py +1149 -0
- nuitka/tree/ReformulationComparisonExpressions.py +174 -0
- nuitka/tree/ReformulationContractionExpressions.py +676 -0
- nuitka/tree/ReformulationDictionaryCreation.py +304 -0
- nuitka/tree/ReformulationExecStatements.py +386 -0
- nuitka/tree/ReformulationForLoopStatements.py +215 -0
- nuitka/tree/ReformulationFunctionStatements.py +931 -0
- nuitka/tree/ReformulationImportStatements.py +333 -0
- nuitka/tree/ReformulationLambdaExpressions.py +185 -0
- nuitka/tree/ReformulationMatchStatements.py +797 -0
- nuitka/tree/ReformulationMultidist.py +80 -0
- nuitka/tree/ReformulationNamespacePackages.py +239 -0
- nuitka/tree/ReformulationPrintStatements.py +127 -0
- nuitka/tree/ReformulationSequenceCreation.py +438 -0
- nuitka/tree/ReformulationSubscriptExpressions.py +123 -0
- nuitka/tree/ReformulationTryExceptStatements.py +418 -0
- nuitka/tree/ReformulationTryFinallyStatements.py +239 -0
- nuitka/tree/ReformulationWhileLoopStatements.py +160 -0
- nuitka/tree/ReformulationWithStatements.py +382 -0
- nuitka/tree/ReformulationYieldExpressions.py +133 -0
- nuitka/tree/SourceHandling.py +476 -0
- nuitka/tree/SyntaxErrors.py +143 -0
- nuitka/tree/TreeHelpers.py +720 -0
- nuitka/tree/VariableClosure.py +483 -0
- nuitka/tree/__init__.py +19 -0
- nuitka/utils/AppDirs.py +104 -0
- nuitka/utils/CStrings.py +208 -0
- nuitka/utils/CommandLineOptions.py +207 -0
- nuitka/utils/Distributions.py +728 -0
- nuitka/utils/Download.py +217 -0
- nuitka/utils/Execution.py +517 -0
- nuitka/utils/FileOperations.py +1587 -0
- nuitka/utils/Hashing.py +137 -0
- nuitka/utils/Images.py +79 -0
- nuitka/utils/Importing.py +335 -0
- nuitka/utils/InlineCopies.py +52 -0
- nuitka/utils/InstalledPythons.py +254 -0
- nuitka/utils/InstanceCounters.py +86 -0
- nuitka/utils/Jinja2.py +158 -0
- nuitka/utils/Json.py +40 -0
- nuitka/utils/MacOSApp.py +134 -0
- nuitka/utils/MemoryUsage.py +165 -0
- nuitka/utils/ModuleNames.py +317 -0
- nuitka/utils/PackageResources.py +44 -0
- nuitka/utils/ReExecute.py +152 -0
- nuitka/utils/Rest.py +60 -0
- nuitka/utils/SharedLibraries.py +1014 -0
- nuitka/utils/Shebang.py +113 -0
- nuitka/utils/Signing.py +144 -0
- nuitka/utils/SlotMetaClasses.py +57 -0
- nuitka/utils/StaticLibraries.py +260 -0
- nuitka/utils/ThreadedExecutor.py +87 -0
- nuitka/utils/Timing.py +102 -0
- nuitka/utils/Utils.py +483 -0
- nuitka/utils/WindowsFileUsage.py +337 -0
- nuitka/utils/WindowsResources.py +652 -0
- nuitka/utils/Yaml.py +247 -0
- nuitka/utils/__init__.py +19 -0
- nuitka_winsvc-2.7.7.data/scripts/nuitka-run.cmd +24 -0
- nuitka_winsvc-2.7.7.data/scripts/nuitka.cmd +30 -0
- nuitka_winsvc-2.7.7.dist-info/METADATA +115 -0
- nuitka_winsvc-2.7.7.dist-info/RECORD +995 -0
- nuitka_winsvc-2.7.7.dist-info/WHEEL +5 -0
- nuitka_winsvc-2.7.7.dist-info/entry_points.txt +7 -0
- nuitka_winsvc-2.7.7.dist-info/licenses/LICENSE.txt +202 -0
- nuitka_winsvc-2.7.7.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,845 @@
|
|
|
1
|
+
# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
""" Standard plug-in to tell Nuitka about implicit imports.
|
|
5
|
+
|
|
6
|
+
When C extension modules import other modules, we cannot see this and need to
|
|
7
|
+
be told that. This encodes the knowledge we have for various modules. Feel free
|
|
8
|
+
to add to this and submit patches to make it more complete.
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
import ast
|
|
12
|
+
import fnmatch
|
|
13
|
+
import os
|
|
14
|
+
|
|
15
|
+
from nuitka.__past__ import iter_modules, unicode
|
|
16
|
+
from nuitka.importing.Importing import locateModule
|
|
17
|
+
from nuitka.importing.Recursion import decideRecursion
|
|
18
|
+
from nuitka.plugins.YamlPluginBase import NuitkaYamlPluginBase
|
|
19
|
+
from nuitka.utils.ModuleNames import ModuleName
|
|
20
|
+
from nuitka.utils.Utils import isMacOS, isWin32Windows
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class NuitkaPluginImplicitImports(NuitkaYamlPluginBase):
|
|
24
|
+
plugin_name = "implicit-imports"
|
|
25
|
+
plugin_desc = (
|
|
26
|
+
"Provide implicit imports of package as per package configuration files."
|
|
27
|
+
)
|
|
28
|
+
plugin_category = "core"
|
|
29
|
+
|
|
30
|
+
def __init__(self):
|
|
31
|
+
NuitkaYamlPluginBase.__init__(self)
|
|
32
|
+
|
|
33
|
+
self.lazy_loader_usages = {}
|
|
34
|
+
|
|
35
|
+
@staticmethod
|
|
36
|
+
def isAlwaysEnabled():
|
|
37
|
+
return True
|
|
38
|
+
|
|
39
|
+
def _resolveModulePattern(self, pattern):
|
|
40
|
+
parts = pattern.split(".")
|
|
41
|
+
|
|
42
|
+
current = None
|
|
43
|
+
|
|
44
|
+
for count, part in enumerate(parts):
|
|
45
|
+
if not part:
|
|
46
|
+
self.sysexit(
|
|
47
|
+
"Error, invalid pattern with empty parts used '%s'." % pattern
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
# TODO: Checking for shell pattern should be done in more places and shared code.
|
|
51
|
+
if "?" in part or "*" in part or "[" in part:
|
|
52
|
+
if current is None:
|
|
53
|
+
self.sysexit(
|
|
54
|
+
"Error, cannot use pattern for first part '%s'." % pattern
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
module_filename = self.locateModule(
|
|
58
|
+
module_name=ModuleName(current),
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
if module_filename is not None:
|
|
62
|
+
for sub_module in iter_modules([module_filename]):
|
|
63
|
+
if not fnmatch.fnmatch(sub_module.name, part):
|
|
64
|
+
continue
|
|
65
|
+
|
|
66
|
+
if count == len(parts) - 1:
|
|
67
|
+
yield current.getChildNamed(sub_module.name)
|
|
68
|
+
else:
|
|
69
|
+
child_name = current.getChildNamed(
|
|
70
|
+
sub_module.name
|
|
71
|
+
).asString()
|
|
72
|
+
|
|
73
|
+
for value in self._resolveModulePattern(
|
|
74
|
+
child_name + "." + ".".join(parts[count + 1 :])
|
|
75
|
+
):
|
|
76
|
+
yield value
|
|
77
|
+
|
|
78
|
+
return
|
|
79
|
+
else:
|
|
80
|
+
if current is None:
|
|
81
|
+
current = ModuleName(part)
|
|
82
|
+
else:
|
|
83
|
+
current = current.getChildNamed(part)
|
|
84
|
+
|
|
85
|
+
yield current
|
|
86
|
+
|
|
87
|
+
def _resolveImplicitImportsConfig(self, full_name, dependency):
|
|
88
|
+
if "(" in dependency:
|
|
89
|
+
value = self.evaluateExpression(
|
|
90
|
+
config_module_name=full_name,
|
|
91
|
+
module_name=full_name,
|
|
92
|
+
expression=dependency,
|
|
93
|
+
config_name="depends value",
|
|
94
|
+
extra_context=None,
|
|
95
|
+
single_value=False,
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
if type(value) in (str, unicode):
|
|
99
|
+
value = (value,)
|
|
100
|
+
|
|
101
|
+
for v in value:
|
|
102
|
+
if "*" in v or "?" in v:
|
|
103
|
+
for resolved in self._resolveModulePattern(v):
|
|
104
|
+
yield resolved
|
|
105
|
+
else:
|
|
106
|
+
yield ModuleName(v)
|
|
107
|
+
elif "*" in dependency or "?" in dependency:
|
|
108
|
+
for resolved in self._resolveModulePattern(dependency):
|
|
109
|
+
yield resolved
|
|
110
|
+
else:
|
|
111
|
+
yield dependency
|
|
112
|
+
|
|
113
|
+
def _handleImplicitImportsConfig(self, module, config):
|
|
114
|
+
full_name = module.getFullName()
|
|
115
|
+
|
|
116
|
+
for dependency in config.get("depends", ()):
|
|
117
|
+
if dependency.startswith("."):
|
|
118
|
+
if (
|
|
119
|
+
module.isUncompiledPythonPackage()
|
|
120
|
+
or module.isCompiledPythonPackage()
|
|
121
|
+
):
|
|
122
|
+
dependency = full_name.getChildNamed(dependency[1:]).asString()
|
|
123
|
+
elif full_name.getPackageName() is None:
|
|
124
|
+
# Not a package, potentially a naming conflict, when
|
|
125
|
+
# compiling with "--mode=module" something that matches a
|
|
126
|
+
# PyPI name.
|
|
127
|
+
continue
|
|
128
|
+
else:
|
|
129
|
+
dependency = full_name.getSiblingNamed(dependency[1:]).asString()
|
|
130
|
+
|
|
131
|
+
for value in self._resolveImplicitImportsConfig(
|
|
132
|
+
full_name=full_name,
|
|
133
|
+
dependency=dependency,
|
|
134
|
+
):
|
|
135
|
+
yield value
|
|
136
|
+
|
|
137
|
+
def _getImportsByFullname(self, module, full_name):
|
|
138
|
+
"""Provides names of modules to imported implicitly."""
|
|
139
|
+
# Many variables, branches, due to the many cases, pylint: disable=too-many-branches,too-many-statements
|
|
140
|
+
|
|
141
|
+
# Checking for config, but also allowing fall through.
|
|
142
|
+
for entry in self.config.get(full_name, section="implicit-imports"):
|
|
143
|
+
if self.evaluateCondition(
|
|
144
|
+
full_name=full_name, condition=entry.get("when", "True")
|
|
145
|
+
):
|
|
146
|
+
for dependency in self._handleImplicitImportsConfig(
|
|
147
|
+
config=entry, module=module
|
|
148
|
+
):
|
|
149
|
+
yield dependency
|
|
150
|
+
|
|
151
|
+
# Support for both pycryotodome (module name Crypto) and pycyptodomex (module name Cryptodome)
|
|
152
|
+
if full_name.hasOneOfNamespaces("Crypto", "Cryptodome"):
|
|
153
|
+
crypto_module_name = full_name.getTopLevelPackageName()
|
|
154
|
+
|
|
155
|
+
if full_name == crypto_module_name + ".Cipher._mode_ofb":
|
|
156
|
+
yield crypto_module_name + ".Cipher._raw_ofb"
|
|
157
|
+
|
|
158
|
+
elif full_name == crypto_module_name + ".Cipher.CAST":
|
|
159
|
+
yield crypto_module_name + ".Cipher._raw_cast"
|
|
160
|
+
|
|
161
|
+
elif full_name == crypto_module_name + ".Cipher.DES3":
|
|
162
|
+
yield crypto_module_name + ".Cipher._raw_des3"
|
|
163
|
+
|
|
164
|
+
elif full_name == crypto_module_name + ".Cipher.DES":
|
|
165
|
+
yield crypto_module_name + ".Cipher._raw_des"
|
|
166
|
+
|
|
167
|
+
elif full_name == crypto_module_name + ".Cipher._mode_ecb":
|
|
168
|
+
yield crypto_module_name + ".Cipher._raw_ecb"
|
|
169
|
+
|
|
170
|
+
elif full_name == crypto_module_name + ".Cipher.AES":
|
|
171
|
+
yield crypto_module_name + ".Cipher._raw_aes"
|
|
172
|
+
yield crypto_module_name + ".Cipher._raw_aesni"
|
|
173
|
+
yield crypto_module_name + ".Util._cpuid"
|
|
174
|
+
|
|
175
|
+
elif full_name == crypto_module_name + ".Cipher._mode_cfb":
|
|
176
|
+
yield crypto_module_name + ".Cipher._raw_cfb"
|
|
177
|
+
|
|
178
|
+
elif full_name == crypto_module_name + ".Cipher.ARC2":
|
|
179
|
+
yield crypto_module_name + ".Cipher._raw_arc2"
|
|
180
|
+
|
|
181
|
+
elif full_name == crypto_module_name + ".Cipher.DES3":
|
|
182
|
+
yield crypto_module_name + ".Cipher._raw_des3"
|
|
183
|
+
|
|
184
|
+
elif full_name == crypto_module_name + ".Cipher._mode_ocb":
|
|
185
|
+
yield crypto_module_name + ".Cipher._raw_ocb"
|
|
186
|
+
|
|
187
|
+
elif full_name == crypto_module_name + ".Cipher._EKSBlowfish":
|
|
188
|
+
yield crypto_module_name + ".Cipher._raw_eksblowfish"
|
|
189
|
+
|
|
190
|
+
elif full_name == crypto_module_name + ".Cipher.Blowfish":
|
|
191
|
+
yield crypto_module_name + ".Cipher._raw_blowfish"
|
|
192
|
+
|
|
193
|
+
elif full_name == crypto_module_name + ".Cipher._mode_ctr":
|
|
194
|
+
yield crypto_module_name + ".Cipher._raw_ctr"
|
|
195
|
+
|
|
196
|
+
elif full_name == crypto_module_name + ".Cipher._mode_cbc":
|
|
197
|
+
yield crypto_module_name + ".Cipher._raw_cbc"
|
|
198
|
+
|
|
199
|
+
elif full_name == crypto_module_name + ".Util.strxor":
|
|
200
|
+
yield crypto_module_name + ".Util._strxor"
|
|
201
|
+
|
|
202
|
+
elif full_name == crypto_module_name + ".Util._cpu_features":
|
|
203
|
+
yield crypto_module_name + ".Util._cpuid_c"
|
|
204
|
+
|
|
205
|
+
elif full_name == crypto_module_name + ".Hash.BLAKE2s":
|
|
206
|
+
yield crypto_module_name + ".Hash._BLAKE2s"
|
|
207
|
+
|
|
208
|
+
elif full_name == crypto_module_name + ".Hash.BLAKE2b":
|
|
209
|
+
yield crypto_module_name + ".Hash._BLAKE2b"
|
|
210
|
+
|
|
211
|
+
elif full_name == crypto_module_name + ".Hash.SHA1":
|
|
212
|
+
yield crypto_module_name + ".Hash._SHA1"
|
|
213
|
+
|
|
214
|
+
elif full_name == crypto_module_name + ".Hash.SHA224":
|
|
215
|
+
yield crypto_module_name + ".Hash._SHA224"
|
|
216
|
+
|
|
217
|
+
elif full_name == crypto_module_name + ".Hash.SHA256":
|
|
218
|
+
yield crypto_module_name + ".Hash._SHA256"
|
|
219
|
+
|
|
220
|
+
elif full_name == crypto_module_name + ".Hash.SHA384":
|
|
221
|
+
yield crypto_module_name + ".Hash._SHA384"
|
|
222
|
+
|
|
223
|
+
elif full_name == crypto_module_name + ".Hash.SHA512":
|
|
224
|
+
yield crypto_module_name + ".Hash._SHA512"
|
|
225
|
+
|
|
226
|
+
elif full_name == crypto_module_name + ".Hash.MD2":
|
|
227
|
+
yield crypto_module_name + ".Hash._MD2"
|
|
228
|
+
|
|
229
|
+
elif full_name == crypto_module_name + ".Hash.MD4":
|
|
230
|
+
yield crypto_module_name + ".Hash._MD4"
|
|
231
|
+
|
|
232
|
+
elif full_name == crypto_module_name + ".Hash.MD5":
|
|
233
|
+
yield crypto_module_name + ".Hash._MD5"
|
|
234
|
+
|
|
235
|
+
elif full_name == crypto_module_name + ".Hash.keccak":
|
|
236
|
+
yield crypto_module_name + ".Hash._keccak"
|
|
237
|
+
|
|
238
|
+
elif full_name == crypto_module_name + ".Hash.RIPEMD160":
|
|
239
|
+
yield crypto_module_name + ".Hash._RIPEMD160"
|
|
240
|
+
|
|
241
|
+
elif full_name == crypto_module_name + ".Hash.Poly1305":
|
|
242
|
+
yield crypto_module_name + ".Hash._poly1305"
|
|
243
|
+
|
|
244
|
+
elif full_name == crypto_module_name + ".Protocol.KDF":
|
|
245
|
+
yield crypto_module_name + ".Cipher._Salsa20"
|
|
246
|
+
yield crypto_module_name + ".Protocol._scrypt"
|
|
247
|
+
|
|
248
|
+
elif full_name == crypto_module_name + ".Cipher._mode_gcm":
|
|
249
|
+
yield crypto_module_name + ".Hash._ghash_clmul"
|
|
250
|
+
yield crypto_module_name + ".Hash._ghash_portable"
|
|
251
|
+
yield crypto_module_name + ".Util._galois"
|
|
252
|
+
|
|
253
|
+
elif full_name == crypto_module_name + ".Cipher.Salsa20":
|
|
254
|
+
yield crypto_module_name + ".Cipher._Salsa20"
|
|
255
|
+
|
|
256
|
+
elif full_name == crypto_module_name + ".Cipher.ChaCha20":
|
|
257
|
+
yield crypto_module_name + ".Cipher._chacha20"
|
|
258
|
+
|
|
259
|
+
elif full_name == crypto_module_name + ".PublicKey.ECC":
|
|
260
|
+
yield crypto_module_name + ".PublicKey._ec_ws"
|
|
261
|
+
yield crypto_module_name + ".PublicKey._ed25519"
|
|
262
|
+
yield crypto_module_name + ".PublicKey._ed448"
|
|
263
|
+
|
|
264
|
+
elif full_name == crypto_module_name + ".Cipher.ARC4":
|
|
265
|
+
yield crypto_module_name + ".Cipher._ARC4"
|
|
266
|
+
|
|
267
|
+
elif full_name == crypto_module_name + ".Cipher.PKCS1_v1_5":
|
|
268
|
+
yield crypto_module_name + ".Cipher._pkcs1_decode"
|
|
269
|
+
|
|
270
|
+
elif full_name == crypto_module_name + ".Cipher.PKCS1_OAEP":
|
|
271
|
+
yield crypto_module_name + ".Cipher._pkcs1_decode"
|
|
272
|
+
|
|
273
|
+
elif full_name == crypto_module_name + ".Math._IntegerCustom":
|
|
274
|
+
yield crypto_module_name + ".Math._modexp"
|
|
275
|
+
|
|
276
|
+
elif full_name in ("pynput.keyboard", "pynput.mouse"):
|
|
277
|
+
if isMacOS():
|
|
278
|
+
yield full_name.getChildNamed("_darwin")
|
|
279
|
+
elif isWin32Windows():
|
|
280
|
+
yield full_name.getChildNamed("_win32")
|
|
281
|
+
else:
|
|
282
|
+
yield full_name.getChildNamed("_xorg")
|
|
283
|
+
elif full_name == "cryptography":
|
|
284
|
+
yield "_cffi_backend"
|
|
285
|
+
elif full_name == "bcrypt._bcrypt":
|
|
286
|
+
yield "_cffi_backend"
|
|
287
|
+
|
|
288
|
+
def getImplicitImports(self, module):
|
|
289
|
+
full_name = module.getFullName()
|
|
290
|
+
|
|
291
|
+
# TODO: This code absolutely doesn't belong here.
|
|
292
|
+
# Read the .pyi file, and provide as implicit dependency.
|
|
293
|
+
if module.isPythonExtensionModule():
|
|
294
|
+
for used_module_name in module.getPyIModuleImportedNames():
|
|
295
|
+
yield used_module_name
|
|
296
|
+
|
|
297
|
+
if full_name == "pkg_resources.extern":
|
|
298
|
+
# TODO: A package specific lookup of compile time "pkg_resources.extern" could
|
|
299
|
+
# be done here, but this might be simpler to hardcode for now. Once we have
|
|
300
|
+
# the infrastructure to ask a module that after optimization, we should do
|
|
301
|
+
# that instead, as it will not use a separate process.
|
|
302
|
+
for part in (
|
|
303
|
+
"packaging",
|
|
304
|
+
"pyparsing",
|
|
305
|
+
"appdirs",
|
|
306
|
+
"jaraco",
|
|
307
|
+
"importlib_resources",
|
|
308
|
+
"more_itertools",
|
|
309
|
+
"six",
|
|
310
|
+
"platformdirs",
|
|
311
|
+
):
|
|
312
|
+
yield "pkg_resources._vendor." + part
|
|
313
|
+
|
|
314
|
+
for item in self._getImportsByFullname(module=module, full_name=full_name):
|
|
315
|
+
yield item
|
|
316
|
+
|
|
317
|
+
def _getPackageExtraScanPaths(self, package_dir, config):
|
|
318
|
+
for config_package_dir in config.get("package-dirs", ()):
|
|
319
|
+
yield os.path.normpath(os.path.join(package_dir, "..", config_package_dir))
|
|
320
|
+
|
|
321
|
+
for config_package_name in config.get("package-paths", ()):
|
|
322
|
+
module_filename = self.locateModule(config_package_name)
|
|
323
|
+
|
|
324
|
+
if module_filename is not None:
|
|
325
|
+
if os.path.isfile(module_filename):
|
|
326
|
+
yield os.path.dirname(module_filename)
|
|
327
|
+
else:
|
|
328
|
+
yield module_filename
|
|
329
|
+
|
|
330
|
+
def getPackageExtraScanPaths(self, package_name, package_dir):
|
|
331
|
+
for entry in self.config.get(package_name, section="import-hacks"):
|
|
332
|
+
if self.evaluateCondition(
|
|
333
|
+
full_name=package_name, condition=entry.get("when", "True")
|
|
334
|
+
):
|
|
335
|
+
for item in self._getPackageExtraScanPaths(
|
|
336
|
+
package_dir=package_dir, config=entry
|
|
337
|
+
):
|
|
338
|
+
yield item
|
|
339
|
+
|
|
340
|
+
def _getModuleSysPathAdditions(self, module_name, config):
|
|
341
|
+
module_filename = self.locateModule(module_name)
|
|
342
|
+
|
|
343
|
+
if os.path.isfile(module_filename):
|
|
344
|
+
module_filename = os.path.dirname(module_filename)
|
|
345
|
+
|
|
346
|
+
for relative_path in config.get("global-sys-path", ()):
|
|
347
|
+
candidate = os.path.abspath(os.path.join(module_filename, relative_path))
|
|
348
|
+
|
|
349
|
+
if os.path.isdir(candidate):
|
|
350
|
+
yield candidate
|
|
351
|
+
|
|
352
|
+
def getModuleSysPathAdditions(self, module_name):
|
|
353
|
+
for entry in self.config.get(module_name, section="import-hacks"):
|
|
354
|
+
if self.evaluateCondition(
|
|
355
|
+
full_name=module_name, condition=entry.get("when", "True")
|
|
356
|
+
):
|
|
357
|
+
for item in self._getModuleSysPathAdditions(
|
|
358
|
+
module_name=module_name, config=entry
|
|
359
|
+
):
|
|
360
|
+
yield item
|
|
361
|
+
|
|
362
|
+
def onModuleSourceCode(self, module_name, source_filename, source_code):
|
|
363
|
+
# TODO: Move the ones that would be possible to yaml config, or a
|
|
364
|
+
# separate plugin for lazy loaders.
|
|
365
|
+
# pylint: disable=too-many-branches,too-many-locals
|
|
366
|
+
|
|
367
|
+
if module_name == "site":
|
|
368
|
+
if source_code.startswith("def ") or source_code.startswith("class "):
|
|
369
|
+
source_code = "\n" + source_code
|
|
370
|
+
|
|
371
|
+
source_code = """\
|
|
372
|
+
__file__ = (__nuitka_binary_dir + '%ssite.py') if '__nuitka_binary_dir' in dict(__builtins__ ) else '<frozen>';%s""" % (
|
|
373
|
+
os.path.sep,
|
|
374
|
+
source_code,
|
|
375
|
+
)
|
|
376
|
+
|
|
377
|
+
# Debian stretch site.py
|
|
378
|
+
source_code = source_code.replace(
|
|
379
|
+
"PREFIXES = [sys.prefix, sys.exec_prefix]", "PREFIXES = []"
|
|
380
|
+
)
|
|
381
|
+
|
|
382
|
+
# Source code should use lazy_loader, this may not be good enough
|
|
383
|
+
# for all things yet.
|
|
384
|
+
attach_call_replacements = (
|
|
385
|
+
(
|
|
386
|
+
"lazy.attach_stub(__name__, __file__)",
|
|
387
|
+
"lazy.attach('%(module_name)s', %(submodules)s, %(attrs)s)",
|
|
388
|
+
),
|
|
389
|
+
)
|
|
390
|
+
|
|
391
|
+
for attach_call, attach_call_replacement in attach_call_replacements:
|
|
392
|
+
if attach_call in source_code:
|
|
393
|
+
result = self._handleLazyLoad(
|
|
394
|
+
module_name=module_name,
|
|
395
|
+
source_filename=source_filename,
|
|
396
|
+
)
|
|
397
|
+
|
|
398
|
+
# Inline the values, to avoid the data files.
|
|
399
|
+
if result is not None:
|
|
400
|
+
replacement = attach_call_replacement % {
|
|
401
|
+
"module_name": module_name.asString(),
|
|
402
|
+
"submodules": tuple(
|
|
403
|
+
sub_module_name.asString() for sub_module_name in result[0]
|
|
404
|
+
),
|
|
405
|
+
"attrs": dict(
|
|
406
|
+
(
|
|
407
|
+
sub_module_name.getChildNameFromPackage(
|
|
408
|
+
module_name
|
|
409
|
+
).asString(),
|
|
410
|
+
module_attributes,
|
|
411
|
+
)
|
|
412
|
+
for (sub_module_name, module_attributes) in sorted(
|
|
413
|
+
result[1].items()
|
|
414
|
+
)
|
|
415
|
+
),
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
source_code = source_code.replace(attach_call, replacement)
|
|
419
|
+
|
|
420
|
+
if module_name == "huggingface_hub":
|
|
421
|
+
# Special handling for huggingface that uses the source code variant
|
|
422
|
+
# of lazy module. spell-checker: ignore huggingface,submod
|
|
423
|
+
if (
|
|
424
|
+
"_attach(__name__, submodules=[], submod_attrs=_SUBMOD_ATTRS)"
|
|
425
|
+
in source_code
|
|
426
|
+
):
|
|
427
|
+
huggingface_hub_lazy_loader_info = self.queryRuntimeInformationSingle(
|
|
428
|
+
setup_codes="import huggingface_hub",
|
|
429
|
+
value="huggingface_hub._SUBMOD_ATTRS",
|
|
430
|
+
info_name="huggingface_hub_lazy_loader",
|
|
431
|
+
)
|
|
432
|
+
|
|
433
|
+
self._addLazyLoader(
|
|
434
|
+
module_name,
|
|
435
|
+
submodules=(),
|
|
436
|
+
submodule_attrs=dict(
|
|
437
|
+
("." + submodule_name, attributes)
|
|
438
|
+
for (
|
|
439
|
+
submodule_name,
|
|
440
|
+
attributes,
|
|
441
|
+
) in huggingface_hub_lazy_loader_info.items()
|
|
442
|
+
),
|
|
443
|
+
)
|
|
444
|
+
|
|
445
|
+
if module_name == "pydantic":
|
|
446
|
+
# Pydantic has its own lazy loading, spell-checker: ignore pydantic
|
|
447
|
+
if "def __getattr__(" in source_code:
|
|
448
|
+
pydantic_info = self.queryRuntimeInformationSingle(
|
|
449
|
+
setup_codes="import pydantic",
|
|
450
|
+
value="pydantic._dynamic_imports",
|
|
451
|
+
info_name="pydantic_lazy_loader",
|
|
452
|
+
)
|
|
453
|
+
|
|
454
|
+
pydantic_lazy_loader_info = {}
|
|
455
|
+
pydantic_lazy_submodules = []
|
|
456
|
+
|
|
457
|
+
for key, value in pydantic_info.items():
|
|
458
|
+
# Older pydantic had only a string for the attribute.
|
|
459
|
+
if type(value) is tuple:
|
|
460
|
+
# Special case, __module__ means it's a sub-module
|
|
461
|
+
if value == ("pydantic", "__module__"):
|
|
462
|
+
pydantic_lazy_submodules.append(key)
|
|
463
|
+
continue
|
|
464
|
+
|
|
465
|
+
# Otherwise it's a long winded way of specifying a module name.
|
|
466
|
+
value = "".join(value).rstrip(".")
|
|
467
|
+
|
|
468
|
+
if value not in pydantic_lazy_loader_info:
|
|
469
|
+
pydantic_lazy_loader_info[value] = []
|
|
470
|
+
pydantic_lazy_loader_info[value].append(key)
|
|
471
|
+
|
|
472
|
+
self._addLazyLoader(
|
|
473
|
+
module_name=module_name,
|
|
474
|
+
submodules=pydantic_lazy_submodules,
|
|
475
|
+
submodule_attrs=pydantic_lazy_loader_info,
|
|
476
|
+
)
|
|
477
|
+
|
|
478
|
+
if module_name == "scipy":
|
|
479
|
+
# Scipy has its own lazy loading, spell-checker: ignore scipy
|
|
480
|
+
if "def __getattr__(" in source_code:
|
|
481
|
+
scipy_info = self.queryRuntimeInformationSingle(
|
|
482
|
+
setup_codes="import scipy",
|
|
483
|
+
value="scipy.submodules",
|
|
484
|
+
info_name="scipy_lazy_loader",
|
|
485
|
+
)
|
|
486
|
+
|
|
487
|
+
self._addLazyLoader(
|
|
488
|
+
module_name=module_name,
|
|
489
|
+
submodules=scipy_info,
|
|
490
|
+
submodule_attrs={},
|
|
491
|
+
)
|
|
492
|
+
|
|
493
|
+
if module_name == "toga":
|
|
494
|
+
# Toga has lazy loading in some versions.
|
|
495
|
+
|
|
496
|
+
if "def __getattr__(" in source_code:
|
|
497
|
+
toga_info = self.queryRuntimeInformationSingle(
|
|
498
|
+
setup_codes="import toga",
|
|
499
|
+
value="toga.toga_core_imports",
|
|
500
|
+
info_name="toga_lazy_loader",
|
|
501
|
+
)
|
|
502
|
+
|
|
503
|
+
toga_submodule_attrs = {}
|
|
504
|
+
|
|
505
|
+
for attribute_name, sub_module_name in toga_info.items():
|
|
506
|
+
if sub_module_name not in toga_submodule_attrs:
|
|
507
|
+
toga_submodule_attrs[sub_module_name] = []
|
|
508
|
+
toga_submodule_attrs[sub_module_name].append(attribute_name)
|
|
509
|
+
|
|
510
|
+
self._addLazyLoader(
|
|
511
|
+
module_name=module_name,
|
|
512
|
+
submodules=(),
|
|
513
|
+
submodule_attrs=toga_submodule_attrs,
|
|
514
|
+
)
|
|
515
|
+
|
|
516
|
+
return source_code
|
|
517
|
+
|
|
518
|
+
def _addLazyLoader(self, module_name, submodules, submodule_attrs):
|
|
519
|
+
"""Add lazy loader information for a module.
|
|
520
|
+
|
|
521
|
+
Args:
|
|
522
|
+
module_name: name of the module to work on
|
|
523
|
+
submodules: list of attributes that are known submodules
|
|
524
|
+
submodule_attrs: dict of module name to list of attributes
|
|
525
|
+
|
|
526
|
+
Notes:
|
|
527
|
+
It converts to modules names on the fly. If in submodule_attr
|
|
528
|
+
the module name starts with a "." then it's relative to the
|
|
529
|
+
module_name value.
|
|
530
|
+
|
|
531
|
+
"""
|
|
532
|
+
|
|
533
|
+
submodules = tuple(ModuleName(submodule) for submodule in submodules)
|
|
534
|
+
|
|
535
|
+
submodule_attrs = dict(
|
|
536
|
+
(
|
|
537
|
+
(
|
|
538
|
+
module_name.getChildNamed(submodule[1:])
|
|
539
|
+
if submodule.startswith(".")
|
|
540
|
+
else ModuleName(submodule)
|
|
541
|
+
),
|
|
542
|
+
tuple(attribute_names),
|
|
543
|
+
)
|
|
544
|
+
for (submodule, attribute_names) in sorted(submodule_attrs.items())
|
|
545
|
+
)
|
|
546
|
+
|
|
547
|
+
self.lazy_loader_usages[module_name] = (
|
|
548
|
+
submodules,
|
|
549
|
+
submodule_attrs,
|
|
550
|
+
)
|
|
551
|
+
|
|
552
|
+
def _handleLazyLoad(self, module_name, source_filename):
|
|
553
|
+
pyi_filename = source_filename + "i"
|
|
554
|
+
|
|
555
|
+
if os.path.exists(pyi_filename):
|
|
556
|
+
try:
|
|
557
|
+
import lazy_loader
|
|
558
|
+
except ImportError:
|
|
559
|
+
pass
|
|
560
|
+
else:
|
|
561
|
+
with open(pyi_filename, "rb") as f:
|
|
562
|
+
stub_node = ast.parse(f.read())
|
|
563
|
+
|
|
564
|
+
# We are using private code here, to avoid use duplicating,
|
|
565
|
+
# pylint: disable=protected-access
|
|
566
|
+
visitor = lazy_loader._StubVisitor()
|
|
567
|
+
visitor.visit(stub_node)
|
|
568
|
+
|
|
569
|
+
self._addLazyLoader(
|
|
570
|
+
module_name=module_name,
|
|
571
|
+
submodules=visitor._submodules,
|
|
572
|
+
submodule_attrs=dict(
|
|
573
|
+
("." + submodule_name, attributes)
|
|
574
|
+
for (
|
|
575
|
+
submodule_name,
|
|
576
|
+
attributes,
|
|
577
|
+
) in visitor._submod_attrs.items()
|
|
578
|
+
),
|
|
579
|
+
)
|
|
580
|
+
|
|
581
|
+
return self.lazy_loader_usages[module_name]
|
|
582
|
+
|
|
583
|
+
def createPreModuleLoadCode(self, module):
|
|
584
|
+
full_name = module.getFullName()
|
|
585
|
+
|
|
586
|
+
for entry in self.config.get(full_name, section="implicit-imports"):
|
|
587
|
+
if "pre-import-code" in entry:
|
|
588
|
+
if self.evaluateCondition(
|
|
589
|
+
full_name=full_name, condition=entry.get("when", "True")
|
|
590
|
+
):
|
|
591
|
+
code = "\n".join(entry.get("pre-import-code"))
|
|
592
|
+
|
|
593
|
+
# TODO: Add a description to the Yaml file.
|
|
594
|
+
yield code, """\
|
|
595
|
+
According to Yaml 'pre-import-code' configuration."""
|
|
596
|
+
|
|
597
|
+
for entry in self.config.get(full_name, section="import-hacks"):
|
|
598
|
+
if "force-environment-variables" in entry:
|
|
599
|
+
if self.evaluateCondition(
|
|
600
|
+
full_name=full_name, condition=entry.get("when", "True")
|
|
601
|
+
):
|
|
602
|
+
for (
|
|
603
|
+
environment_variable_name,
|
|
604
|
+
environment_variable_value,
|
|
605
|
+
) in entry.get("force-environment-variables").items():
|
|
606
|
+
code = """\
|
|
607
|
+
import os
|
|
608
|
+
os.environ['%(environment_variable_name)s'] = "%(environment_variable_value)s"
|
|
609
|
+
""" % {
|
|
610
|
+
"environment_variable_name": environment_variable_name,
|
|
611
|
+
"environment_variable_value": environment_variable_value,
|
|
612
|
+
}
|
|
613
|
+
yield code, """\
|
|
614
|
+
According to Yaml 'force-environment-variables' configuration."""
|
|
615
|
+
|
|
616
|
+
for entry in self.config.get(full_name, section="import-hacks"):
|
|
617
|
+
if "overridden-environment-variables" in entry:
|
|
618
|
+
if self.evaluateCondition(
|
|
619
|
+
full_name=full_name, condition=entry.get("when", "True")
|
|
620
|
+
):
|
|
621
|
+
for (
|
|
622
|
+
environment_variable_name,
|
|
623
|
+
environment_variable_value,
|
|
624
|
+
) in entry.get("overridden-environment-variables").items():
|
|
625
|
+
code = """\
|
|
626
|
+
import os
|
|
627
|
+
if os.getenv("%(environment_variable_name)s") is not None:
|
|
628
|
+
os.environ["%(environment_variable_name)s" + "_OLD"] = os.getenv("%(environment_variable_name)s")
|
|
629
|
+
os.environ['%(environment_variable_name)s'] = "%(environment_variable_value)s"
|
|
630
|
+
""" % {
|
|
631
|
+
"environment_variable_name": environment_variable_name,
|
|
632
|
+
"environment_variable_value": environment_variable_value,
|
|
633
|
+
}
|
|
634
|
+
yield code, """\
|
|
635
|
+
According to Yaml 'overridden-environment-variables' configuration."""
|
|
636
|
+
|
|
637
|
+
def createPostModuleLoadCode(self, module):
|
|
638
|
+
full_name = module.getFullName()
|
|
639
|
+
|
|
640
|
+
for entry in self.config.get(full_name, section="implicit-imports"):
|
|
641
|
+
if "post-import-code" in entry:
|
|
642
|
+
if self.evaluateCondition(
|
|
643
|
+
full_name=full_name, condition=entry.get("when", "True")
|
|
644
|
+
):
|
|
645
|
+
code = "\n".join(entry.get("post-import-code"))
|
|
646
|
+
|
|
647
|
+
# TODO: Add a description to the Yaml file.
|
|
648
|
+
yield code, """\
|
|
649
|
+
According to Yaml 'post-import-code' configuration."""
|
|
650
|
+
|
|
651
|
+
for entry in self.config.get(full_name, section="import-hacks"):
|
|
652
|
+
if "overridden-environment-variables" in entry:
|
|
653
|
+
if self.evaluateCondition(
|
|
654
|
+
full_name=full_name, condition=entry.get("when", "True")
|
|
655
|
+
):
|
|
656
|
+
for environment_variable_name in entry.get(
|
|
657
|
+
"overridden-environment-variables"
|
|
658
|
+
):
|
|
659
|
+
code = """\
|
|
660
|
+
import os
|
|
661
|
+
if os.getenv("%(environment_variable_name)s" + "_OLD") is None:
|
|
662
|
+
del os.environ["%(environment_variable_name)s"]
|
|
663
|
+
else:
|
|
664
|
+
os.environ["%(environment_variable_name)s"] = os.environ["%(environment_variable_name)s" + "_OLD"]
|
|
665
|
+
del os.environ["%(environment_variable_name)s" + "_OLD"]
|
|
666
|
+
""" % {
|
|
667
|
+
"environment_variable_name": environment_variable_name
|
|
668
|
+
}
|
|
669
|
+
|
|
670
|
+
yield code, """\
|
|
671
|
+
According to Yaml 'overridden-environment-variables' configuration."""
|
|
672
|
+
|
|
673
|
+
unworthy_namespaces = (
|
|
674
|
+
"setuptools", # Not performance relevant.
|
|
675
|
+
"distutils", # Not performance relevant.
|
|
676
|
+
"wheel", # Not performance relevant.
|
|
677
|
+
"pkg_resources", # Not performance relevant.
|
|
678
|
+
"pycparser", # Not performance relevant.
|
|
679
|
+
# "cffi", # Not performance relevant.
|
|
680
|
+
"numpy.distutils", # Largely unused, and a lot of modules.
|
|
681
|
+
"numpy.f2py", # Mostly unused, only numpy.distutils import it.
|
|
682
|
+
"numpy.testing", # Useless.
|
|
683
|
+
"nose", # Not performance relevant.
|
|
684
|
+
"coverage", # Not performance relevant.
|
|
685
|
+
"docutils", # Not performance relevant.
|
|
686
|
+
"pytest", # Not performance relevant.
|
|
687
|
+
"_pytest", # Not performance relevant.
|
|
688
|
+
"unittest", # Not performance relevant.
|
|
689
|
+
"pexpect", # Not performance relevant.
|
|
690
|
+
"Cython", # Mostly unused, and a lot of modules.
|
|
691
|
+
"cython",
|
|
692
|
+
"pyximport",
|
|
693
|
+
"IPython", # Mostly unused, and a lot of modules.
|
|
694
|
+
"wx._core", # Too large generated code
|
|
695
|
+
"pyVmomi.ServerObjects", # Too large generated code
|
|
696
|
+
"pyglet.gl", # Too large generated code
|
|
697
|
+
"telethon.tl.types", # Not performance relevant and slow C compile
|
|
698
|
+
"importlib_metadata", # Not performance relevant and slow C compile
|
|
699
|
+
"comtypes.gen", # Not performance relevant and slow C compile
|
|
700
|
+
"win32com.gen_py", # Not performance relevant and slow C compile
|
|
701
|
+
"phonenumbers.geodata", # Not performance relevant and slow C compile
|
|
702
|
+
"site", # Not performance relevant and problems with .pth files
|
|
703
|
+
"packaging", # Not performance relevant.
|
|
704
|
+
"appdirs", # Not performance relevant.
|
|
705
|
+
"dropbox.team_log", # Too large generated code
|
|
706
|
+
"asyncua.ua.object_ids", # Too large generated code
|
|
707
|
+
"asyncua.ua.uaerrors._auto", # Too large generated code
|
|
708
|
+
"asyncua.server.standard_address_space.standard_address_space_services", # Too large generated code
|
|
709
|
+
"opcua.ua.object_ids", # Too large generated code
|
|
710
|
+
"opcua.ua.uaerrors._auto", # Too large generated code
|
|
711
|
+
"opcua.server.server.standard_address_space",
|
|
712
|
+
"azure.mgmt.network", # Too large generated code
|
|
713
|
+
"azure.mgmt.compute", # Too large generated code
|
|
714
|
+
"transformers.utils.dummy_pt_objects", # Not performance relevant.
|
|
715
|
+
"transformers.utils.dummy_flax_objects", # Not performance relevant.
|
|
716
|
+
"transformers.utils.dummy_tf_objects", # Not performance relevant.
|
|
717
|
+
"rich", # Not performance relevant and memory leaking due to empty compiled cell leaks
|
|
718
|
+
"altair.vegalite.v5.schema", # Not performance relevant.
|
|
719
|
+
"azure", # Not performance relevant.
|
|
720
|
+
"networkx", # Needs solutions for bytecode requiring decorators.
|
|
721
|
+
)
|
|
722
|
+
|
|
723
|
+
unworthy_modulename_patterns = (
|
|
724
|
+
"tensorflow.*test", # Not performance relevant.
|
|
725
|
+
"tensorflow.**.test_util", # Not performance relevant.
|
|
726
|
+
"google.protobuf.*_pb2", # Too large generated code
|
|
727
|
+
)
|
|
728
|
+
|
|
729
|
+
def decideCompilation(self, module_name):
|
|
730
|
+
if module_name.hasOneOfNamespaces(self.unworthy_namespaces):
|
|
731
|
+
return "bytecode"
|
|
732
|
+
|
|
733
|
+
is_match, _reason = module_name.matchesToShellPatterns(
|
|
734
|
+
self.unworthy_modulename_patterns
|
|
735
|
+
)
|
|
736
|
+
if is_match:
|
|
737
|
+
return "bytecode"
|
|
738
|
+
|
|
739
|
+
def onModuleUsageLookAhead(
|
|
740
|
+
self, module_name, module_filename, module_kind, get_module_source
|
|
741
|
+
):
|
|
742
|
+
# Getting the source code will also trigger our modification
|
|
743
|
+
# and potentially tell us if any lazy loading applies.
|
|
744
|
+
if get_module_source() is None:
|
|
745
|
+
return
|
|
746
|
+
|
|
747
|
+
if module_name in self.lazy_loader_usages:
|
|
748
|
+
from nuitka.HardImportRegistry import (
|
|
749
|
+
addModuleAttributeFactory,
|
|
750
|
+
addModuleDynamicHard,
|
|
751
|
+
addModuleTrust,
|
|
752
|
+
trust_module,
|
|
753
|
+
trust_node,
|
|
754
|
+
)
|
|
755
|
+
|
|
756
|
+
addModuleDynamicHard(module_name)
|
|
757
|
+
|
|
758
|
+
sub_module_names, sub_module_attr = self.lazy_loader_usages[module_name]
|
|
759
|
+
|
|
760
|
+
for sub_module_name in sub_module_names:
|
|
761
|
+
addModuleTrust(module_name, sub_module_name, trust_module)
|
|
762
|
+
|
|
763
|
+
sub_module_name = module_name.getChildNamed(sub_module_name)
|
|
764
|
+
addModuleDynamicHard(sub_module_name)
|
|
765
|
+
|
|
766
|
+
_lookAhead(using_module_name=module_name, module_name=sub_module_name)
|
|
767
|
+
|
|
768
|
+
for (
|
|
769
|
+
sub_module_name,
|
|
770
|
+
attribute_names,
|
|
771
|
+
) in sub_module_attr.items():
|
|
772
|
+
addModuleDynamicHard(sub_module_name)
|
|
773
|
+
|
|
774
|
+
_lookAhead(using_module_name=module_name, module_name=sub_module_name)
|
|
775
|
+
|
|
776
|
+
for attribute_name in attribute_names:
|
|
777
|
+
addModuleTrust(module_name, attribute_name, trust_node)
|
|
778
|
+
addModuleAttributeFactory(
|
|
779
|
+
module_name,
|
|
780
|
+
attribute_name,
|
|
781
|
+
makeExpressionImportModuleNameHardExistsAfterImportFactory(
|
|
782
|
+
sub_module_name=sub_module_name,
|
|
783
|
+
attribute_name=attribute_name,
|
|
784
|
+
),
|
|
785
|
+
)
|
|
786
|
+
|
|
787
|
+
|
|
788
|
+
def makeExpressionImportModuleNameHardExistsAfterImportFactory(
|
|
789
|
+
sub_module_name,
|
|
790
|
+
attribute_name,
|
|
791
|
+
):
|
|
792
|
+
from nuitka.HardImportRegistry import trust_node_factory
|
|
793
|
+
from nuitka.nodes.ImportHardNodes import (
|
|
794
|
+
ExpressionImportModuleNameHardExists,
|
|
795
|
+
)
|
|
796
|
+
|
|
797
|
+
key = (sub_module_name, attribute_name)
|
|
798
|
+
if key in trust_node_factory:
|
|
799
|
+
return lambda source_ref: trust_node_factory[key](source_ref=source_ref)
|
|
800
|
+
|
|
801
|
+
return lambda source_ref: ExpressionImportModuleNameHardExists(
|
|
802
|
+
module_name=sub_module_name,
|
|
803
|
+
import_name=attribute_name,
|
|
804
|
+
module_guaranteed=False,
|
|
805
|
+
source_ref=source_ref,
|
|
806
|
+
)
|
|
807
|
+
|
|
808
|
+
|
|
809
|
+
def _lookAhead(using_module_name, module_name):
|
|
810
|
+
(
|
|
811
|
+
_module_name,
|
|
812
|
+
package_filename,
|
|
813
|
+
package_module_kind,
|
|
814
|
+
finding,
|
|
815
|
+
) = locateModule(
|
|
816
|
+
module_name=module_name,
|
|
817
|
+
parent_package=None,
|
|
818
|
+
level=0,
|
|
819
|
+
)
|
|
820
|
+
|
|
821
|
+
assert module_name == _module_name
|
|
822
|
+
|
|
823
|
+
if finding != "not-found":
|
|
824
|
+
decideRecursion(
|
|
825
|
+
using_module_name=using_module_name,
|
|
826
|
+
module_filename=package_filename,
|
|
827
|
+
module_name=module_name,
|
|
828
|
+
module_kind=package_module_kind,
|
|
829
|
+
)
|
|
830
|
+
|
|
831
|
+
|
|
832
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
833
|
+
# integrates with CPython, but also works on its own.
|
|
834
|
+
#
|
|
835
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
836
|
+
# you may not use this file except in compliance with the License.
|
|
837
|
+
# You may obtain a copy of the License at
|
|
838
|
+
#
|
|
839
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
840
|
+
#
|
|
841
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
842
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
843
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
844
|
+
# See the License for the specific language governing permissions and
|
|
845
|
+
# limitations under the License.
|