577 Commits

Author SHA1 Message Date
Kay Hayen
90447e0fe7 Project: Changed license to AGPLv3 for remaining files 2026-01-31 11:31:41 +01:00
Kay Hayen
e28181fd0c Fix, need to install nuitka package config schema
* Otherwise we cannot validate modified files or unchecked user config files.
2026-01-31 11:31:41 +01:00
Kay Hayen
16dc691c3e macOS: Added script for reference how to compile CPython best for Nuitka. 2026-01-28 13:47:30 +01:00
Kay Hayen
b4e135ce68 Cleanup, prefer "os.getenv" over "os.environ.get" 2026-01-28 13:47:29 +01:00
Kay Hayen
e16ada41bf Visual Code: Add a shebang to make the script manually executable naively 2026-01-28 13:46:27 +01:00
Kay Hayen
82f70c3efb Plugins: Enhance schema somewhat
* Added more specifics for more values and use references to
  annotate python expressions and non-empty values.

* This is aimed at better guidance during creating new values
  in IDEs.
2026-01-28 13:44:29 +01:00
Kay Hayen
0ac329ec01 Scons: Changed error message for using MinGW64 on newer Python to also mention Zig
* Also enhanced reporting error exit reporting through the scons logger to provide
  the exception in the compilation report.

* More error exits in scons should do this.
2026-01-28 13:44:29 +01:00
Kay Hayen
7ddc84ba11 Visual Code: Generate C extension configuration at startup with task
* Rather than trying to find a configuration that works not everywhere, create the config automatically
2026-01-28 13:37:48 +01:00
Kay Hayen
25d9589c92 Project: Changed license to AGPLv3
* This is with an exception for the runtime library parts
  to allow proprietary compiled code to link against it.

* But it makes creating competitors to Nuitka commercial
  impossible, as they would need to open source their code.
2026-01-28 13:27:34 +01:00
Kay Hayen
46527eb455 Cleanup, attach copyright during code generation for specialiations
* This also enhances the formatting for almost all files by making
  leading and trailing new lines more consistent.

* One C file turns out unused, was probably a left over.
2025-10-10 17:05:56 +02:00
Kay Hayen
642fcec025 Plugins: Added support for configuring recompilation of extension modules
* When we have both Python code and an extension module, we only had a global option available.

* This adds --recompile-extension-modules for more fine grained choices.

* Existing unworthy namespaces were migrated to not do it by default.

* For "zmq" we need to enforce it to never be compiled, as it checks if it is compiled with Cython at runtime.
2025-10-10 17:05:56 +02:00
Kay Hayen
8f35fb4d73 Minor spelling cleanups 2025-10-10 17:05:56 +02:00
Kay Hayen
7bb1f3b1f8 Quality: Added autoformat for JSON files
* We got a few in our project and they were not
  formatted yet, and biome handles comments properly.

* Deciding to use no tabs, some of our files had it
  mixed space/tab indentations which is probably a
  very bad idea.
2025-10-10 17:05:56 +02:00
Kay Hayen
cf88d95fdc Deployment: Catch modules that error exit on import, while assumed to work perfectly
* This will give people an indication that the "numpy" module is expected to work, and that maybe just the newest version is not.
2025-10-10 17:05:16 +02:00
Kay Hayen
27da264aca macOS: Add ability to unlock keyring files with password
* This makes code signing directly possible.
2025-10-10 16:56:32 +02:00
Kay Hayen
7aa498a16a Anti-Bloat: Avoid using "unittest" in "reportlab" package
* This adds a new feature of "global_change_function" to the
  anti-bloat engine, to address all "test" functions in all
  sub-modules at once.
2025-10-10 16:56:05 +02:00
Kay Hayen
914ea9d7de Release: Make sure to use compatible setuptools version with "osc" uploads 2025-10-10 16:54:42 +02:00
Kay Hayen
3987dd490b Standalone: Resolve implicit dependency of numba at compile time 2025-04-28 11:04:39 +02:00
Kay Hayen
718ab60539 Bump copyright year 2025-04-28 11:04:36 +02:00
Kay Hayen
72d56f4d38 Merge tag '2.5.8' into develop 2025-04-28 11:04:12 +02:00
Kay Hayen
8d2cd15cdb Plugins: Variable sections can also have conditions 2025-04-28 11:01:58 +02:00
Kay Hayen
9236e115af Merge tag '2.5.6' into develop 2024-12-22 10:27:09 +01:00
Kay Hayen
2c0cfb4e92 Merge tag '2.5.5' into develop 2024-12-18 11:40:36 +01:00
Kay Hayen
1df0dad752 Release: Preparation of new setuptools compliance
* Enforce older setuptools now to retain the archive
  names as they have been so far.

* Build the sdist in a virtualenv instead of fixing
  them up later.

* The sdists archives uploaded for download didn't
  have files deleted for poetry workarounds, delete
  it from those too.

* More explicit filename usages when uploading and
  working with archives.
2024-12-18 11:38:11 +01:00
Kay Hayen
30753f837b Plugins: Added ability to specify DLLs from paths
* For use with variables and setup code, this should
  allow to remove "by_code" and be more flexible still,
  with "from_sources" files can be renamed too.
2024-12-18 11:37:45 +01:00
Kay Hayen
2596bea464 Minor spelling cleanups 2024-12-18 11:37:44 +01:00
Kay Hayen
493e011f41 Release: Fix, the renaming workaround wasn't working 2024-12-18 11:37:44 +01:00
Kay Hayen
b4fece95bd Release: Avoid using 3.12 setuptools, it breaks sdist names 2024-12-18 11:08:33 +01:00
Kay Hayen
97fbc6996a Plugins: Change data files configuration over to list of items as well
* This will make it easier to have multiple of them which can be necessary for OS differences
2024-12-18 11:08:33 +01:00
Kay Hayen
82a5bdd182 Standalone: Added support for Django settings files
* New module parameter to specify settings
  module name.

* Now module name patterns can be coming from
  expressions for depends values.

* For variables section added support for providing
  environment variables, used to pass django settings
  module name.

* Error out on variables sections without declarations.
2024-12-18 11:08:31 +01:00
Kay Hayen
bc5f05de58 Plugins: Make "no_annotations" tests per module, add "no_docstrings" and "no_asserts" as well
* The annotations decision is no longer strictly global and we need config to respect that.
2024-12-18 11:08:18 +01:00
Kay Hayen
15f0fdacb3 Plugins: Allow to specify is annotations should be included or not per module
* The global mode is not going to be good enough, we
  are moving to plugin decisions, so we can specify
  to use it for whole packages with limited exceptions
  and make the general mode work despite some packages
  needed them in some places.
2024-12-18 11:08:18 +01:00
Kay Hayen
708cd00395 UI: Change runner scripts created
* For Windows use ".CMD" files rather than ".BAT" files,
  these should be more usable.

* Stripe the "3" suffix from Nuitka runner for Python3 versions,
  keep the "2" suffix only for Python2.

* Replaced the "nuitka3" binary in git to "nuitka2", expecting
  the "nuitka" runner to be Python3.
2024-12-18 10:56:01 +01:00
Kay Hayen
4dc5f5c6b6 Tests: Avoid using long deprecated option form 2024-12-18 10:54:56 +01:00
Kay Hayen
c2faac7d82 Minor cleanups
* Need for newer codespell
2024-12-18 10:54:56 +01:00
Kay Hayen
adc23d3fd0 UI: Major change in console handling
* Compiled programs on Windows are now created as GUI
  applications by default and attach to an available
  console if not redirected outputs.

* The new option "--console" controls this, and allows
  to restore old behavior with "force" value, and also
  disable with "disable" value, the new behavior is
  called "attach".

* On macOS the distinction has also been removed,
  technically it wasn't true for a while already,
  you need to use bundles for non-console
  applications through.

* Removed Nuitka Package configuration for the
  "options-nanny" plugin to warn the user about
  disabling console, it now recommend macOS bundle
  instead.

* This should improve the out of the box experience
  esp. on Windows by a lot.
2024-12-18 10:53:56 +01:00
Kay Hayen
695e3d3507 UI: Added support for including raw data file directories
* These are including all the files, nothing is filtered at all,
  unless through "--noinclude-data-file option".

* Also adding Nuitka package configuration for "data-files"
  called "raw_dirs".
2024-12-18 10:52:53 +01:00
Kay Hayen
ac8bf341c1 Plugins: Use "plugin" warnings for GUI plugins to be used 2024-12-18 10:49:56 +01:00
Kay Hayen
274e389572 Anti-Bloat: Added "change_class" feature and remove "unitest" usage in "antlr" package
* With this new feature, we can change the test classes to
  not use the "unittest.TestCase" base class and remove
  the import of "unitest" as a consequence.
2024-12-18 10:49:56 +01:00
Kay Hayen
602727967b Release: We no longer maintain changelog in Nuitka repo itself 2024-12-18 10:49:54 +01:00
Kay Hayen
90dc87393d Plugins: Cleanup how constants and variables interact
* This allows for a much cleaner solution to new "torch" problems
2024-12-18 10:49:54 +01:00
Kay Hayen
f34f8d0c63 Bump copyright year
* Also split copyright notices between the top and bottom,
  such that readability of just opened files is not harmed
  by license text.
2024-12-18 10:48:16 +01:00
Kay Hayen
8ff15f37b9 Merge tag '2.0.4' into develop 2024-12-18 10:47:50 +01:00
Kay Hayen
f4f05c76e5 Plugins: Add support for variables from constants
* Make "relative_path" for DLLs an evaluated expression.
2024-12-18 10:46:08 +01:00
Kay Hayen
544f16b027 Plugins: Added ability to specify modules to not follow when a module is used. 2024-12-18 10:45:33 +01:00
Kay Hayen
dcb8063f91 Release: Have generate "man" pages added
* Avoid having to build them, which for some cases, requires things we may not have available
2024-12-18 10:45:31 +01:00
Kay Hayen
f52f122dcf Standalone: Make usage of JIT with torch configurable
* This adds command line configuration for package configuration.
2024-12-18 10:45:30 +01:00
Kay Hayen
9ab5693a13 Plugins: Added variables for use in implicit import dependencies
* This allows to solve "toga" factories without implementing
  its policy on our own.
2024-12-18 10:45:30 +01:00
Kay Hayen
80429018b5 Cleanup, prefer "os.getenv" over "os.environ.get"
* More readable and shorter code as a result.
2024-12-18 10:43:40 +01:00
Kay Hayen
6231288d5f Plugins: Added "overridden-environment-variables" feature to package configuration
* Make this a generic mechanism for re-use in the future.

* Applied to "timm" first.
2024-12-18 10:43:40 +01:00