Skip to content

Conversation

@bandoti
Copy link

@bandoti bandoti commented Apr 20, 2025

In order to support a statically linked Python a few conditional checks were added at the configure step, and instead of using dlopen, the Python module is statically initialized.

This allows for a tohil Tcl extension to bundle Python with it, providing a mechanism to deploy Python outside of a system level while still providing the Tcl-Python interoperability.

My goal is to follow up on this pull request with support for a custom module loader which supports loading Python modules using the Tcl Virtual Filesystem (VFS) C API. This will allow Python modules to be bundled using starpacks, zip files, or on the network as users see fit. Where it relates to the static build is allowing a Tcl kit to bundle: (1) a working python interpreter that is statically linked to the tohil extension; and (2) a mechanism to resolve all required Python modules from within a Tclkit VFS. This will allow for a self-contained Python application, including a working TKinter, which is not supported by the official Python freeze mechanism.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant