Skip to content

Releases: MrBooks36/PyCompyle

1.2.1

16 Dec 03:54
47585bd

Choose a tag to compare

Release 1.2.0 hotfix 1 (1.2.1)
Released: December 16 2025
Author: MrBooks36

  • Fixed compile_main in the cython plugin
  • Small change to the nutika plugin
  • Fixed an import error with monkey patches

1.2.0

07 Dec 09:38

Choose a tag to compare

PyCompyle v1.2.0 Release
Released: December 7 2025
Author: MrBooks36

Notice: there are a few bugs in the version that prevents it from working. Please use the latest version or hotfix 1.2.1 (Hang on we did this last release. I forgot to test the built version (I know, I suck))

What is PyCompyle?

PyCompyle is a lightweight Python packaging tool designed to convert .py scripts into standalone .exe files. It offers advanced control over how the build is generated, what files are included, and how the output behaves.


Key changes in v1.2.0

  • Fix spelling error (licence -> license) by @lilafian in #1

  • Adds --midwaycommand argument to specify a cmd command to be executed before the wrapping phase

  • Adds --upx-threads argument to control how many threads are used for upx compression

  • Adds caching to upx compressed binaries to save compile time. (Cache file that are older then 30 days will be removed to same space)

  • Adds a debug option to the bootloader accessed with the environment variable PYCOMPYLEDEBUG set to True

  • Adds --pyarg argument that adds arguments to the startup of the python interpreter. (e.g. -m, -X,, -c "print('Hello world!')" )

  • Adds the --include-script argument that adds a specified file located in PYTHONPATH/Scripts'. (e.g. '--include-script=pip.exe')

  • Adds the --copy-include argument that will add PYTHONPATH/include to the build

  • Changed license back to the BSD-3-Clause license

  • PLUGIN SUPPORT!!!!!!!!!

    • New argument --plugin or -pl to specific a plugin to load. Works with relative or full paths and names for the built-in ones

    More info on the below will be in the wiki when i get around to doing it

    • Adds exec modules init, midway and end.
    • Adds the plugin default variable for exec modules, enabling access to other components of the plugin.
    • Adds import special cases to support custom import-handling behavior.
    • Adds monkey-patch options for replacing and/or wrapping existing functions.
  • Built-in plugins:

    • pythoncom Adds the requirements for the pythoncom package to function.
    • pyqtstripper Removes parts of pyqt5 and 6 that are not commonly used.
    • cython Adds cython pyd generation to your code but not the python standard library or site-packages.
    • nuitka Same as cython but uses Nuitka instead of cython.
  • Other backend changes have been made as well but are not worth mentioning.


Roadmap (Future Plans)

  • Linux support
  • Rewrite of the bootloader in a different language (I'm looking into Nim)

📝 License

See LICENSE.md.
(c) 2025 MrBooks36. All rights reserved.

1.1.1

23 Sep 02:01

Choose a tag to compare

Release 1.1.0 hotfix 1 (1.1.1)
Released: September 23 2025
Author: MrBooks36

  • Fixes the --bootloader flag
  • Fixes the problem when running the code as a module (python -m PyCompyle)

Please note the the source code will be slightly different as there a few small fixes that do not change much where added later.

1.1.0

14 Sep 01:50

Choose a tag to compare

PyCompyle v1.1.0 Release
Released: September 14 2025
Author: MrBooks36

Notice: there are a few bugs in the version that prevents it from working. Please use the latest version or hotfix 1.1.1


What is PyCompyle?

PyCompyle is a lightweight Python packaging tool designed to convert .py scripts into standalone .exe files. It offers advanced control over how the build is generated, what files are included, and how the output behaves.


Key Features in v1.1.0

  • New --folder build option to build the python script into a folder instead of a onefile EXE.
  • New --bat build option to use a Windows Batchfile to start the created code instead of a EXE which can improve startup times and/or cli use. (Automatically implies --folder)
  • New --zip build option to automatically zip a --folder build once done creating the build. (Automatically implies --folder)
  • Added AES encryption to the onefile bootloader help prevent being flagged by Window Defender. (Can be disabled with --disable-password)
  • Compression: (All can be disabled with --disable-compressing)
    • Added UPX com-pression to binary files
    • Added a feature where files/folders that only contain raw python (no assets like images or json files etc.) will be moved to an embedded Zipfile called lib_c.zip to save space

Roadmap (Future Plans)

  • Add generating PYD files while building to speed-up code and/or code security with Nuitka or Cython
  • Plugin support

📝 License

See LICENSE.md.
(c) 2025 MrBooks36. All rights reserved.

1.0.0

13 Aug 05:57

Choose a tag to compare

PyCompyle v1.0.0 – Initial Release
Released: August 13, 2025
Author: MrBooks36


What is PyCompyle?

PyCompyle is a lightweight Python packaging tool designed to convert .py scripts into standalone .exe files. It offers advanced control over how the build is generated, what files are included, and how the output behaves.


Key Features in v1.0.0

  • Package any .py file into a .exe
  • Defender-friendly builds — avoids typical false-positive triggers.
  • Optional icon injection (--icon) for a professional appearance.
  • Force UAC elevation prompt with --uac.
  • Support for GUI apps via --windowed mode (no console window).
  • Custom post-processing:
  • Copy arbitrary files/folders into the build dir (--copy).
  • Auto-resolves local and standard library imports.
  • Manual override support for missed packages (--package).
  • linked_imports.json support with optional --force-refresh.
  • Option to preserve intermediate build files (--keepfiles).
  • Debugging & diagnostics:
    • Verbose mode (--verbose)
    • Debug mode (--debug) = verbose + keep files - windowed
  • Clean CLI interface (python -m PyCompyle)

Example Command

python -m PyCompyle --force-refresh --icon="myicon.ico" --verbose --windowed --package=numpy --package=ollama my_script.py


Known Limitations

  • No support for one folder builds (yet).
  • PyPy is not supported.

🔮 Roadmap (Future Plans)

  • --onefolder flag to build into a folder not a standalone exe
  • PyPy runtime embedding

Bug Reporting & Contributions

Found a bug? Import not detected?
Submit an issue at: https://github.com/MrBooks36/PyCompyle/issues


📝 License

BSD 3-Clause License – See LICENSE.md for full terms.
(c) 2025 MrBooks36. All rights reserved.