You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+14-14Lines changed: 14 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,12 @@
1
1
# Portable Python
2
2
3
-
Self-contained static Python distribution for Linux. Works on any distro without system dependencies. Statically linked from source with musl libc.
3
+
Self-contained Python distribution for Linux. Works on any distro without system dependencies. Uses a launcher approach with full dynamic extension support.
4
4
5
5
## Features
6
6
7
7
- Works on any x86_64 Linux distro (no system dependencies)
8
-
- Statically linked binary with SSL, sqlite3, compression support
8
+
- Full dynamic C extension support (NumPy, pandas, etc. work!)
9
+
- Tiny launcher + shared libpython
9
10
- Includes pip pre-installed and working
10
11
- Space-efficient hardlinked environments
11
12
- Independent site-packages per environment
@@ -16,8 +17,8 @@ Self-contained static Python distribution for Linux. Works on any distro without
16
17
17
18
```bash
18
19
make # build tarball from scratch
19
-
tar -xzf python-3.12.12-static-x86_64-linux-musl.tar.gz # extract tarball
@@ -27,7 +28,8 @@ tar -xzf python-3.12.12-static-x86_64-linux-musl.tar.gz # extract tarball
27
28
28
29
## How It Works
29
30
30
-
Python is compiled from source with static linking in an Alpine Linux container. All dependencies (OpenSSL, sqlite3, zlib, bzip2, xz, readline, ncurses) are statically linked into the binary. The result is a truly portable single binary.
31
+
Python is compiled from source in an Alpine Linux container.
32
+
A small kinda-static launcher dynamically loads libpython at runtime, enabling full dynamic extension support while maintaining portability.
31
33
32
34
`instantiate.py` creates environments using hardlinks (no copying) with independent site-packages. Multiple environments share base files on disk.
33
35
@@ -50,9 +52,9 @@ Python is compiled from source with static linking in an Alpine Linux container.
0 commit comments