Current status
Currently program traditionally compiles on Linux system: setup.py runs gcc compiler for c/python extension and installs package (module) along current python interpreter (if running with virtualenv the package/module is installed to environmental interpreter version).
It is somehow possible to use PyInstaller and create single-file program with encapsulated dependencies which works path-independently on Linux (Ubuntu 22.02).
To make windows installer we probably need docker file to emulate proper system.
Alternatively we can prepare program with docker container that can be run on windows.
Current status Currently program traditionally compiles on Linux system: setup.py runs gcc compiler for c/python extension and installs package (module) along current python interpreter (if running with virtualenv the package/module is installed to environmental interpreter version).
It is somehow possible to use PyInstaller and create single-file program with encapsulated dependencies which works path-independently on Linux (Ubuntu 22.02).
To make windows installer we probably need docker file to emulate proper system. Alternatively we can prepare program with docker container that can be run on windows.
Creating python package
www.freecodecamp.org/build-your-first-python-package
packaging.python.org/packaging-projects
packaging.python.org/en/latest/guides/packaging-binary-extensions/#implementing-binary-extensions
Docker
Docker tutorial on YT, https://docker-curriculum.com/
https://github.com/cdrx/docker-pyinstaller <- example of docker image, probably can be exploited
https://github.com/pypa/manylinux https://github.com/pypa/python-manylinux-demo
https://gist.github.com/dariodip/4e0133eaa8733e4206ccdb48e7af6a90 <- dockerfile for cython
Pyinstaller
https://pyinstaller.org/en/stable/index.html
https://github.com/mobiusklein/cython_pyinstaller_example
https://www.makeworld.space/2021/10/linux-wine-pyinstaller.html