1737 Commits

Author SHA1 Message Date
Kay Hayen 04281e34ef Tests: Allow system package file accesses for Debian Python flavor
When the Python flavor is "Debian Python", the test file access checker
now tolerates loaded files under system library paths (/usr/lib, /lib,
/usr/lib64, /lib64) since Debian's Python relies on system-packaged libraries.
2026-05-26 13:30:45 +02:00
Kay Hayen 71be9379e6 Quality: Added pyright configuration and checker tool
* Main goal is to get Visual Code and LSPs happier.
2026-05-26 13:30:45 +02:00
Kay Hayen edb7714ff8 Tests: Verify signature before executing it
* Some programs modify themselves on launch, e.g. Qt webengine
2026-05-26 13:30:45 +02:00
Kevin Turcios 8c4d37d111 Standalone: Expanded dual type operations with missing sub helpers, fixed mistakes for existing ones
---------
Co-authored-by: Kay Hayen <kay.hayen@gmail.com>
2026-05-26 13:30:44 +02:00
Kevin Turcios ad7e3cbdd5 Standalone: Expanded dual type operations with missing sub helpers, fixed mistakes for existing ones
---------
Co-authored-by: Kay Hayen <kay.hayen@gmail.com>
2026-05-26 13:30:39 +02:00
Peter Bierma 0dca6d368a Standalone: Fix the __type_params__ attribute for functions
---------
Co-authored-by: Kay Hayen <kay.hayen@gmail.com>
2026-05-25 13:54:56 +02:00
Kay Hayen c680f1c0f9 fixup! Python3.11: Fix, align package and module dicts closer to avoid CPython bug 2026-05-15 13:42:05 +02:00
Kay Hayen 7bcd580a6d Project: Correct a few mistakes done when changing the license
* Reference the runtime exception everywhere as that is expected
  to be done, not just generally.

* Proper link to the correct version of the license file on the
  web.
2026-05-15 13:27:38 +02:00
Peter Bierma 4f0292d4c1 Python3.14: Implement __annotate__ for classes
* Also delay class level annotations if the experimental flag is given

---------

Co-authored-by: Kay Hayen <kay.hayen@gmail.com>
2026-05-15 13:21:25 +02:00
Kay Hayen fda44b976f Tests: Need to disable test part with newer pkg_resources 2026-05-15 13:21:00 +02:00
Kay Hayen 970996d473 Tests: Don't run with Python2.6
* No set contractions there, but we don't bother changing the test now.
2026-05-05 09:54:07 +02:00
Kay Hayen 8ad1c4389c fixup! Standalone: Added support for multiphase module extension modules with postload 2026-05-05 09:53:23 +02:00
Kay Hayen f8ee7e8c40 Python3.11: Fix, align package and module dicts closer to avoid CPython bug
* The module attribute bytecode expects "__file__" to live in the
  same location even for different modules with Python 3.11 which
  is a horrible bug we need to work around.

* The work around is to avoid adding "__compiled__" for modules early,
  but keep doing it for package, that way they are in the same offset
  in the dictionaries, and the CPython bytecode can work with it.

* Adding a decided node to do it at module runtime, and this was sort
  of missing anyway, and will be a pre-cursor for compile time
  optimization of this values attributes and existance.
2026-05-04 21:39:45 +02:00
Kay Hayen 501b4006a4 Standalone: Added support for "anyio" process forking 2026-05-04 12:21:17 +02:00
Kay Hayen 70275e7132 Standalone: Add support for "tyro" package
* The tyro.cli help can be supported through a new plugin that captures source reads it does and provides them at runtime.
2026-05-02 21:18:47 +02:00
Kay Hayen 472d4e9869 Fix, bytecode files were not working properly for importing scans 2026-05-02 21:18:47 +02:00
Kay Hayen 712d60f0f0 fixup! Standalone: Fix PySide6 WebEngine framework support on macOS without duplicated Qt libraries 2026-05-02 15:28:26 +02:00
Kay Hayen ef48f60964 fixup! Python3.10+: Fix uncompiled coroutine throw() return handling (#3845) 2026-05-01 07:46:17 +02:00
Kay Hayen 909b94069d Standalone: Added support for "bpy" package
* Also data dirs and raw data dirs now accept expressions

* Added a test coverage for raw directory configuration

* Now we allow to be passed a path argument to our "find_spec"
2026-04-30 20:23:43 +02:00
Kay Hayen f33e67c0d2 macOS: Added support for signing included frameworks in app mode 2026-04-30 19:29:07 +02:00
Kay Hayen 08a1a7f2b0 Tests: Enable multiprocessing test for macOS
* This has been working for a long time already.
2026-04-30 19:29:07 +02:00
Kay Hayen 8ab1dca77b Fix, compiled nuitka needs to run scons and data composer from within 2026-04-30 19:29:07 +02:00
Kay Hayen 1f62db9721 Fix, fake modules were still located and could conflict with existing modules
* This is mostly a cleanup, to make the report not say "not-found" when
  in fact it will be found at runtime.

* Also using more namedtuples and other cleanups so importing code
  becomes more readable.
2026-04-30 19:29:07 +02:00
Kay Hayen 19e8b7fbc6 Standalone: Added support for multiphase module extension modules with postload
* Need to properly delay execution of these.
2026-04-30 19:29:06 +02:00
Kay Hayen f5716fda4f Distutils: Was not properly handling empty module-root configuration 2026-04-30 19:29:06 +02:00
Kay Hayen 697a526ef7 Compatibility: Class frames need to expose the locals as well 2026-04-30 11:24:47 +02:00
seal++ 32d3815d15 Python3.10+: Fix uncompiled coroutine throw() return handling (#3845)
* Fix the uncompiled throw() bridge for coroutines that catch the
  injected exception and return a value.

* Advance "f_lasti" using Python 3.10 instruction-index semantics,
  instead of the older _Py_CODEUNIT-sized offset logic.

* Restore completed coroutine results via StopIteration.value rather
  than exposing them as ordinary return values to the outer await
  chain.

* Add a regression test for the coroutine throw return value
  case that previously raised "cannot reuse already awaited coroutine".

---------

Co-authored-by: Kay Hayen <kay.hayen@gmail.com>
2026-04-26 18:37:15 +02:00
Kay Hayen 8418051295 fixup! Fix missing flet_desktop app assets in standalone mode (#3853) 2026-04-26 06:52:06 +02:00
Kay Hayen 8c98c0e2e7 Tests: Make version suffixes more automatic
* Some tests also were never executed due to confusing min and max version suffixes

* Moved 3.6 specific classes test for super() to dedicated test.

* Merge Classes32 and Classes34 test, as the versions are now the same to us.
2026-04-26 06:52:06 +02:00
Kay Hayen b33458abd6 Python3.14: Fix, for as long as we don't have deferred annotations pretend to have "__annotate__" still 2026-04-26 06:52:06 +02:00
Kay Hayen 2ebf48ffc4 Tests: Cleanup, macOS handles sigint just fine for onefile now 2026-04-26 06:52:06 +02:00
Kay Hayen 9cee29e64c Compatibility: Proper SyntaxError for wrongly encoded files 2026-04-26 06:52:05 +02:00
Kay Hayen 056709bb1e Standalone: Fix PySide6 WebEngine framework support on macOS without duplicated Qt libraries
* This now uses the new framework inclusion mechanism instead of
  copying framework contents file by file.
2026-04-26 06:52:05 +02:00
Kay Hayen 2325d3210a Tests: Added standalone test for textual. 2026-04-26 06:52:05 +02:00
Kay Hayen 895978ddd1 Windows: Enhanced "depends.exe" alternatives
* The "pefile" experimental support didn't consider delay
  load DLLs and was not recursive like "depends.exe" is.

* Started experimental support for "windepends" which is
  better maintained, but needs more work and evaluation
  before we can consider it for use.

* Cleaned up the structure for the alternatives on Windows.

* On ARM we cannot due runtime DLL tracing because "depends.exe"
  is not available there.

* Also detect architecture of Windows for ARM in the test runner
  properly.

* Also big cleanup for the compile_extension_modules test which
  was not checking if runtime tracing was available and had lots
  code complexity issues to solve.
2026-04-26 06:52:05 +02:00
Kay Hayen 023839ea36 fixup! Fix, had missing exception-exit annotations for dict pop/setdefault walrus rewrites (#3840) 2026-04-26 06:52:05 +02:00
Kay Hayen fcd9f805f3 Python3.6+: Added support for "__classcell__"
* This is necessary to be able to use super during the metaclass construction work.
2026-04-26 06:52:05 +02:00
Kay Hayen 0b8f2bedeb Cleanup, have shared code for diff generation
* We mean to add another one for generated headers, let that be less verbose code.
2026-04-26 06:52:05 +02:00
Kay Hayen dc4f88bf58 fixup! Add support for running data composer from compiled nuitka 2026-04-26 06:52:04 +02:00
seal++ 61b642e1b6 Python3.12+: Align BUILTIN_SUM1 float summation with CPython compensated sum
* Python3.12+: Fix BUILTIN_SUM1 float summation accuracy

* Python3.14 compatibility needs more changes

* Also some speed-ups for sum built-in code in general.

---------

Co-authored-by: Kay Hayen <kay.hayen@gmail.com>
2026-04-26 06:50:14 +02:00
seal++ 17f48029b4 Fix missing flet_desktop app assets in standalone mode (#3853)
* Fix missing flet_desktop app assets in standalone mode

- add a Windows package configuration entry for the bundled app directory
- preserve the packaged flet.exe and sidecar DLLs in standalone output
- add a Windows standalone regression test for the flet_desktop runtime layout

* Avoid using raw_dir, not good long term

---------

Co-authored-by: Kay Hayen <kay.hayen@gmail.com>
2026-04-24 02:02:39 +02:00
Peter Bierma 4ca399897c Python3.12+: Fix generic class type parameters
Co-authored-by: Kay Hayen <kay.hayen@gmail.com>
2026-04-23 12:39:31 +02:00
Kay Hayen c3b67b5332 Merge tag '4.0.8' into develop 2026-04-10 09:05:31 +02:00
Eric Cong 505917f202 Plugins: Added support for multiprocessing forkserver
* This adds support for using forkserver, which previously caused errors and even earlier fork-bombs.

---------

Co-authored-by: Kay Hayen <kay.hayen@gmail.com>
2026-04-08 11:01:59 +02:00
SeepMystery f09c94258c Python3.11: Fix 'ags-as-a-type-variable-tuple` in PEP 646 (#3829)
* Starred arguments were not working as type variables.
---------

Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
Co-authored-by: Kay Hayen <kay.hayen@gmail.com>
2026-04-08 11:01:59 +02:00
Peter Bierma 082ee0e55c Python3.13: Fix the __parameters__ attribute of generic classes
* Use "typing._GenericAlias" instead of "types.GenericAlias"

* Don't create multiple instances of type variables.
2026-04-08 11:01:59 +02:00
Eric Cong 99e705d583 Fix, had missing exception-exit annotations for dict pop/setdefault walrus rewrites (#3840)
* Annotate dict pop/setdefault exception exits

Align dict rewrite exception-exit tracking with mayRaiseException() for unknown-hashability keys and add walrus regression coverage to prevent try-analysis invariant failures.

---------

Co-authored-by: Kay Hayen <kay.hayen@gmail.com>
2026-04-01 14:18:29 +02:00
Kay Hayen 781c886896 Add support for running data composer from compiled nuitka 2026-03-25 10:44:11 +01:00
Kay Hayen b4dfff180d Tests: Avoid running program test suite with useless variant 2026-03-25 10:44:11 +01:00
Kay Hayen a0e1d3fcc1 Tests: Cover "post-import-code" with a new test 2026-03-25 10:44:11 +01:00