Precompiled dtach binary shipped as platform-specific Python wheels
Project description
dtach-bin
Precompiled dtach binary shipped as
Python wheels for Linux and macOS. Install via pip / pipx and the dtach
binary lands on PATH automatically — no compiler, no system package
manager required.
This package exists so that Python projects can declare dtach as a
runtime dependency the same way they declare any other Python package —
and have it work across Linux x86_64, Linux aarch64, macOS Intel, and
macOS Apple Silicon out of the box. The packaging pattern is the same
one used by
nodejs-bin (ships Node.js),
cmake (ships CMake), and
ninja (ships the Ninja build tool).
Install
pip install dtach-bin
— or in anything that wraps pip: pipx, uv, poetry, hatch, etc.
Use
After install, call dtach normally:
dtach -n /tmp/my-session.sock bash # create a detached session
dtach -a /tmp/my-session.sock # reattach to it
From Python, ask for the absolute path of the bundled binary:
import dtach_bin
print(dtach_bin.path()) # → '/.../venv/bin/dtach'
dtach_bin.path() is just shutil.which("dtach") with a clearer error
message — useful when you want to log or display where the binary lives.
Supported platforms
Pre-built wheels are published for:
| OS | Architecture | Wheel tag |
|---|---|---|
| Linux | x86_64 | manylinux2014_x86_64 (glibc ≥ 2.17) |
| Linux | aarch64 | manylinux2014_aarch64 |
| macOS | x86_64 | macosx_11_0_x86_64 (macOS 11 Big Sur or later) |
| macOS | arm64 | macosx_11_0_arm64 |
If pip can't find a wheel for your platform (FreeBSD, Linux musl,
exotic arches, etc.) it falls back to the sdist and builds from source
— see Building from source. dtach is plain
POSIX C using only libc and termios, so the build works anywhere a
cc + make toolchain is available.
How it works
The wheel is not a Python C extension. It's a regular pure-Python
package whose only Python content is the dtach_bin/__init__.py helper
module, plus the compiled dtach binary placed in the wheel's
scripts data location.
At install time, pip lays the binary down at <prefix>/bin/dtach,
which is on PATH for any tool that runs inside that environment.
Each platform wheel is built inside the standard
pypa/manylinux2014 container (on
Linux) or against MACOSX_DEPLOYMENT_TARGET=11.0 (on macOS), then
re-tagged from cp310-cp310-<platform> to py3-none-<platform> — the
binary doesn't depend on the Python version, so any Python 3 can
install it.
The full CI pipeline lives in
.github/workflows/build-wheels.yml:
checkout → verify the vendored source SHA-256 → compile dtach inside
the target environment → bundle into a wheel → upload to PyPI via
Trusted Publisher OIDC (no
API tokens stored anywhere).
Building from source
To build a wheel locally — useful when contributing or when no pre-built wheel exists for your platform:
git clone https://github.com/dev-aly3n/dtach-bin && cd dtach-bin
# Compile dtach into the package's binary slot
tar -xzf vendor/dtach-0.9.tar.gz -C /tmp
( cd /tmp/dtach-0.9 && ./configure && make )
cp /tmp/dtach-0.9/dtach src/dtach_bin/_bin/dtach
chmod +x src/dtach_bin/_bin/dtach
# Build the wheel
python3 -m build --wheel
ls dist/
The vendored source tarball is the upstream crigler/dtach v0.9
release; its SHA-256 is committed at
vendor/dtach-0.9.tar.gz.sha256 and verified in CI before every
build.
License
dtach itself is GPL-2.0-only (© 2004–2016 Ned T. Crigler). This package redistributes the unmodified dtach source plus a thin Python helper, and is therefore also licensed under GPL-2.0-only — see LICENSE for the full text.
You can depend on dtach-bin from a non-GPL project. Programs that
invoke dtach as a separate process (via subprocess / exec) are not
derivative works of dtach — see the
FSF GPL FAQ on mere aggregation.
This is the same arrangement that lets Debian and Homebrew ship dtach
alongside non-GPL software. See
THIRD-PARTY-NOTICES.md for upstream credits.
Reporting issues
For build problems specific to this package, open an issue at github.com/dev-aly3n/dtach-bin/issues.
For dtach bugs or behavior questions, see upstream: github.com/crigler/dtach.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dtach_bin-0.9.0-py3-none-manylinux2014_x86_64.whl.
File metadata
- Download URL: dtach_bin-0.9.0-py3-none-manylinux2014_x86_64.whl
- Upload date:
- Size: 19.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83c7ed7f8796a380d310d0b3d9c57e3adaa4562662988f44be89ce36e23005c8
|
|
| MD5 |
c406abda24e62bf607894cad21e8a62b
|
|
| BLAKE2b-256 |
73ec08a33a99e93159fb5f6e5d45b8a5ecd317c3d57dff4df05bde68e86925e8
|
Provenance
The following attestation bundles were made for dtach_bin-0.9.0-py3-none-manylinux2014_x86_64.whl:
Publisher:
build-wheels.yml on dev-aly3n/dtach-bin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dtach_bin-0.9.0-py3-none-manylinux2014_x86_64.whl -
Subject digest:
83c7ed7f8796a380d310d0b3d9c57e3adaa4562662988f44be89ce36e23005c8 - Sigstore transparency entry: 1555321666
- Sigstore integration time:
-
Permalink:
dev-aly3n/dtach-bin@3584cbfec270d523fcc0fe775880fdf23170be4a -
Branch / Tag:
refs/tags/v0.9.0 - Owner: https://github.com/dev-aly3n
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@3584cbfec270d523fcc0fe775880fdf23170be4a -
Trigger Event:
push
-
Statement type:
File details
Details for the file dtach_bin-0.9.0-py3-none-manylinux2014_aarch64.whl.
File metadata
- Download URL: dtach_bin-0.9.0-py3-none-manylinux2014_aarch64.whl
- Upload date:
- Size: 20.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da6f766be41d6ba95121eff03a2fcf711f693515488b11b9a00d106e3aad6644
|
|
| MD5 |
17d90fcf4ba6ce4b365e39a2ba3dd94a
|
|
| BLAKE2b-256 |
dc8292dd8ad999afa8654a16eecc1a4380f1c7873519bc2f14c15bb765aa4132
|
Provenance
The following attestation bundles were made for dtach_bin-0.9.0-py3-none-manylinux2014_aarch64.whl:
Publisher:
build-wheels.yml on dev-aly3n/dtach-bin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dtach_bin-0.9.0-py3-none-manylinux2014_aarch64.whl -
Subject digest:
da6f766be41d6ba95121eff03a2fcf711f693515488b11b9a00d106e3aad6644 - Sigstore transparency entry: 1555321673
- Sigstore integration time:
-
Permalink:
dev-aly3n/dtach-bin@3584cbfec270d523fcc0fe775880fdf23170be4a -
Branch / Tag:
refs/tags/v0.9.0 - Owner: https://github.com/dev-aly3n
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@3584cbfec270d523fcc0fe775880fdf23170be4a -
Trigger Event:
push
-
Statement type:
File details
Details for the file dtach_bin-0.9.0-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: dtach_bin-0.9.0-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 19.1 kB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f97963b72d2aadb3146bc49454d94e59a79bcf0831560abb5c5499f8f94adca
|
|
| MD5 |
238fe1a08debfbe6d5bfcb6382c4454b
|
|
| BLAKE2b-256 |
3d15063c5388aa1d45a2e5e92f6fd596dc785378c3b1cef9bd190033920b67ef
|
Provenance
The following attestation bundles were made for dtach_bin-0.9.0-py3-none-macosx_11_0_arm64.whl:
Publisher:
build-wheels.yml on dev-aly3n/dtach-bin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dtach_bin-0.9.0-py3-none-macosx_11_0_arm64.whl -
Subject digest:
0f97963b72d2aadb3146bc49454d94e59a79bcf0831560abb5c5499f8f94adca - Sigstore transparency entry: 1555321681
- Sigstore integration time:
-
Permalink:
dev-aly3n/dtach-bin@3584cbfec270d523fcc0fe775880fdf23170be4a -
Branch / Tag:
refs/tags/v0.9.0 - Owner: https://github.com/dev-aly3n
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@3584cbfec270d523fcc0fe775880fdf23170be4a -
Trigger Event:
push
-
Statement type: