dtachwrap
Python wrapper for dtach with built-in binary management and multi-task CLI.
It packages the dtach binary in the wheel (Linux x86_64 / aarch64), so it works out of the box without compilation during installation.
Features
- Portable: Includes pre-compiled
dtachbinaries (GPL compliant). - Easy Management:
start,attach,ls,logs,stopcommands. - Logging: Automatically captures stdout/stderr to files.
- Recovery: Keeps tasks running even if you disconnect.
Installation
pip install dtachwrap
Or run directly with uvx:
uvx dtachwrap start my-task -- python script.py
Usage
Start a task
dtachwrap start train-exp1 -- python train.py --cfg exp1.yaml
The task runs in the background.
- Socket:
~/.dtachwrap/sockets/train-exp1 - Logs:
~/.dtachwrap/logs/train-exp1.out
List tasks
dtachwrap ls
Shows running tasks. Use dtachwrap ls --all to see stopped tasks.
View logs
dtachwrap logs train-exp1 -f
Attach to a task
dtachwrap attach train-exp1
- Detach key:
^\(Ctrl+) - Redraw:
Ctrl+l
Stop a task
dtachwrap stop train-exp1
License
This project is licensed under MIT.
The bundled dtach binary is GPL-2.0. See src/dtachwrap/_vendor/licenses/DTACH_COPYING.
Development
This project uses uv for dependency management.
-
Setup:
uv sync -
Run locally:
uv run dtachwrap --help
-
Build:
uv build
Metadata
Release files for dtachwrap 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dtachwrap-0.1.1.tar.gz | 92.6 kB | Details |
Built distributions (wheels)
Total release size: 965.7 kB
Release files / dtachwrap-0.1.1.tar.gz
| Download URL | dtachwrap-0.1.1.tar.gz |
|---|---|
| Size | 92.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
21bd7bc31cb74a0851a0f89f613557b8e7b480a4e89afd4413c33662de565235
|
|
BLAKE2b-256 checksum How to use checksums |
453eb08a6ae42e53b89f2c107546ee1562311a9ec53d974f2d42fead0ddc09b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 18, 2026.
Transparency logRelease files / dtachwrap-0.1.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | dtachwrap-0.1.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 109.4 kB |
| Tags | Linux glibc 2.17+ ARM64 PyPy 3.10 PyPy 3.10 7.3 |
|
SHA-256 checksum How to use checksums |
c05508df4cfe14ac4523d45c4985940f63f1414154d894f7170ac0d52faf0d91
|
|
BLAKE2b-256 checksum How to use checksums |
668412a4e8de0f32f72c141a08a12cc04c37f4b7bbeb52b71274668ba9924f19
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 18, 2026.
Transparency logRelease files / dtachwrap-0.1.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | dtachwrap-0.1.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 108.9 kB |
| Tags | Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64 PyPy 3.10 PyPy 3.10 7.3 |
|
SHA-256 checksum How to use checksums |
1f69800b39bcd4ac9872e4f1a7cb9968d39e12e38116b646d8566e11f63a57d5
|
|
BLAKE2b-256 checksum How to use checksums |
67759ade22777b682e3de0cd28da65bb08f8d1e9f4dbb9f49083807a88b5faa3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 18, 2026.
Transparency logRelease files / dtachwrap-0.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | dtachwrap-0.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 109.4 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
0dba17288ff5a923609a401ffb112459edf387ff3d8b2e2c7674991357144c42
|
|
BLAKE2b-256 checksum How to use checksums |
39b5ec70904999633b109dfcdc67bbb3bfb0d194f5b11991a853b3bea1013a3c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 18, 2026.
Transparency logRelease files / dtachwrap-0.1.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | dtachwrap-0.1.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 108.9 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
d6095570561cc2daef5d66fd4e625c398ec51874d5215f5b88d5d73616555a07
|
|
BLAKE2b-256 checksum How to use checksums |
a0895f9466710c460424388283f4f11e63e60381bf8c4f725ccf47175b15760b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 18, 2026.
Transparency logRelease files / dtachwrap-0.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | dtachwrap-0.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 109.4 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
83487116736b545f7eb595a26cbd4d126032478bb4e879b47fa2d9ea16cdfb6c
|
|
BLAKE2b-256 checksum How to use checksums |
5d68b158f2caaa0e08f0a43e1b8bfe5bb517d57b2f0672dd74cfb5a00b6d1c53
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 18, 2026.
Transparency logRelease files / dtachwrap-0.1.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | dtachwrap-0.1.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 108.9 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
98ec6521f6c7d89e0fae1ecef20959ad64d5e7f11e1a50a1a15dcc1c17d43921
|
|
BLAKE2b-256 checksum How to use checksums |
c7bafb9bf72c58962ad6b280aae586975bfee8a006697ce7a36c01225bf2e1f9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 18, 2026.
Transparency logRelease files / dtachwrap-0.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | dtachwrap-0.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 109.4 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
141352ee80492a9198837ad8e353d26f374f8691d25a135b93eecf08b9550f18
|
|
BLAKE2b-256 checksum How to use checksums |
cfd132efebfdb69d669322cfd554152fe46328aeadfcacf8575cc86d43851f59
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 18, 2026.
Transparency logRelease files / dtachwrap-0.1.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | dtachwrap-0.1.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 108.9 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
c26b6e4ab455fd363b74654a65f4a141f3c4a3665ff834e49be1659c1551b228
|
|
BLAKE2b-256 checksum How to use checksums |
ebff607bed705ec40fa4bc714fee516b79788e3482114089829308a3512f7f8b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 18, 2026.
Transparency log