Package a Python CLI tool into a single executable so users don't need Python installed to run it.
Ship a pygame or Textual-based app as one binary that starts almost as fast as running the script directly.
Bundle apps that depend on compiled libraries like numpy or pandas into a standalone executable.
Distribute a finished Python application to non-technical users with zero setup steps.
| rawktron/fang | 0xallam/my-recipe | 0xhassaan/nn-from-scratch | |
|---|---|---|---|
| Stars | 0 | — | 0 |
| Language | Python | Python | Python |
| Last pushed | — | 2022-11-22 | — |
| Maintenance | — | Dormant | — |
| Setup difficulty | easy | moderate | moderate |
| Complexity | 2/5 | 2/5 | 4/5 |
| Audience | developer | general | developer |
Figures from each repo's GitHub metadata at analysis time.
Building requires downloading a separate fang-runtime binary and pointing an environment variable at it.
fang is a command line tool that packages a Python application into a single native executable file, similar to how the bun --compile feature works for JavaScript projects. Normally, sharing a Python program with someone else means they need Python itself installed, plus every library your code depends on, which can be a hassle to set up correctly. fang solves this by bundling a full Python interpreter, all of your project's dependencies including ones written in C, and your own code into one file that just runs, with no installation step and no separate runtime needed on the machine where it is used. Behind the scenes, fang handles compiled dependencies differently depending on the operating system to keep startup fast. On Linux, these compiled pieces are loaded directly into memory without writing anything to disk. On macOS, they are cached in a folder the first time the program runs, then loaded from there on later runs. Either way, the tool aims to start almost as quickly as running a normal Python script directly. Using fang involves a few simple commands: one to scan your project and create a configuration file, one to build the final executable, one to check your project and environment for problems before building, and one to inspect what got bundled into a finished executable. The configuration file lets you specify things like the Python version to use, whether to compress the output, and any native libraries that need special handling. fang supports typical command line applications built with common Python tools, as well as terminal-based visual interfaces, applications that depend on libraries like numpy and pandas, and even simple games built with pygame. It currently works on Linux and macOS, on both older Intel-style chips and newer Arm-based chips, but does not yet support Windows. This tool is aimed at Python developers who want to distribute a finished application to non-technical users without asking them to install Python first. It is released under a choice of the Apache 2.0 or MIT license, both of which allow free reuse, including commercially, with attribution.
A command line tool that bundles a Python app and all its dependencies into a single native executable, so users don't need Python installed to run it.
Mainly Python. The stack also includes Python, Rust.
Use freely for any purpose, including commercial use, as long as you keep the copyright notice. You may choose either the Apache 2.0 or MIT terms.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
double-check against the repo, no cap.