2025 10-October 04
Date: 2025 10-October 04
ELF binaries are available for Android Termux and Ubuntu. The Ubuntu binary (pipeline-eds-0.2.112-py312-ubuntu24.04-x86_64) is expected to work on other x86_64 Debian-based distros. The Termux binary (pipeline-eds-0.2.112-py312-android-aarch64) has been tested.
Future work: The Termux binary needs an installation function that sets up a shell script in the $HOME/.shortcuts folder and then runs chmod +x on it. This shell script must reference the specific filename of the Termux binary (pipeline-eds-0.2.112-py312-android-aarch64).
These binaries, and the Windows binary (pipeline-eds-0.2.112-py311-windows11-x86_64.exe) are all expected to work on Python ">=3.10,<3.15". These three binaries were all generated using the ./build_executible.py script, each run on their respective OS.
Zipapp PYZ and BAT were generated using ./build_shiv.sh, not ./build_shiv.py. This script does not currently use file naming to identify the system / OS it was built on, but it should in the future. The purpose of the BAT file is to be called on Windows, to ensure that the resulting console window stays open. The BAT merely calls the PYZ and incites a pause. These two files must be in the same directory for the BAT to succeed.
The only strange (read: limiting) behavior noticed running when running a PYZ file generated with the hard-won ./build_shiv.sh v0.2.112 is that, while it can be run from the command line in Termux, it cannot be successfully referenced in a $HOME/.shortcuts/ script called from the Termux Widget - a permission error is shown.
The WHL and TAR.GZ were built with Poetry.
To get the Termux binary onto the system, here are the steps:
- In the Termux console, allow access to the Downloads folder, et cetera.
termux-setup-storage
- Assuming your Termux binary (
pipeline-eds-0.2.112-py312-android-aarch64) is in your internal storageDownloadfolder, copy the file to your Termuxhomedirectory. Yes, the same folder will likely be called 'Download' in your file browser while being called 'storage/downloads' from the Termux perspective. I do not know why. Trick: HitTABfor line completions. Finally
cp storage/downloads/pipeline-eds-0.2.112-py312-android-aarch64/ .
# Line completions example
cp stor TAB down TAB p TAB SPACE .
# The 'dot' means 'here', AKA to your $HOME folder
- Allow the ELF file to be executible. Use TAB line competion.
chmod +x pipeline-eds-0.2.112-py312-android-aarch64
- Generate a shortcut script. I will provide this automatically in the future.
mkdir .shortcuts
echo "$HOME/pipeline-eds-0.2.112-py312-android-aarch64 trend -d" > eds-default.sh # Overwrites file.txt
chmod +x .shortcuts/eds-default.sh
- Place the Termux Widget on your Android home screen. If you installed Termux from the Google Play Store, this is available by long-pressing the Termux app and navigating until you find the widget. In this case, you can also file the widget using any other typical method, like checking all available widgets. However, if you installed Termux from F-Droid, you must go to F-Droid to install the separate Termux:Widget package.
Binary Summary Table (with Extensions)
| Filename | OS/Platform | Python Version | Arch | Extension | Notes |
|---|---|---|---|---|---|
| pipeline-eds-0.2.112-py311-windows11-x86_64.exe | Windows | 3.11 | x86_64 | .exe |
Generated with build_executible.py. EXE binary. |
| pipeline-eds-0.2.112-py312-ubuntu24.04-x86_64 | Ubuntu | 3.12 | x86_64 | none | Debian-based distros compatible. ELF binary. |
| pipeline-eds-0.2.112-py312-android-aarch64 | Termux | 3.12 | aarch64 | none | Tested; shortcut script recommended to access with Termux Widget. ELF binary. |
| pipeline-eds-0.2.112-py312.pyz | Cross-OS | 3.12 | All | .pyz |
Zipapp; run from CLI; Termux Widget issues |
| pipeline-eds-0.2.112-py312.bat | Windows | 3.12 | All | .bat |
Zipapp launcher |
| pipeline_eds-0.2.112-py3-none-any.whl | Python pkg | 3.x | All | .whl |
Standard Poetry build |
| pipeline_eds-0.2.112.tar.gz | Python pkg | 3.x | All | .tar.gz |
Standard Poetry build |
Notice how the Ubuntu and Termux binaries have no extension — that’s completely fine for ELF binaries. As long as chmod +x is applied (Termux/Linux) or the OS recognizes .exe (Windows), the file is executable.