Python wrapper for dtach with built-in binary management
Project description
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
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 Distribution
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 dtachwrap-0.1.1.tar.gz.
File metadata
- Download URL: dtachwrap-0.1.1.tar.gz
- Upload date:
- Size: 92.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
21bd7bc31cb74a0851a0f89f613557b8e7b480a4e89afd4413c33662de565235
|
|
| MD5 |
42b1bdfb8420b58779d7ffb720edd301
|
|
| BLAKE2b-256 |
453eb08a6ae42e53b89f2c107546ee1562311a9ec53d974f2d42fead0ddc09b8
|
Provenance
The following attestation bundles were made for dtachwrap-0.1.1.tar.gz:
Publisher:
wheels.yml on HarborYuan/dtachwrap
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dtachwrap-0.1.1.tar.gz -
Subject digest:
21bd7bc31cb74a0851a0f89f613557b8e7b480a4e89afd4413c33662de565235 - Sigstore transparency entry: 963047046
- Sigstore integration time:
-
Permalink:
HarborYuan/dtachwrap@2c7e94ad46eb6416fbb0a9ca073d55fd015476d1 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/HarborYuan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@2c7e94ad46eb6416fbb0a9ca073d55fd015476d1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file dtachwrap-0.1.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: dtachwrap-0.1.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 109.4 kB
- Tags: PyPy, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c05508df4cfe14ac4523d45c4985940f63f1414154d894f7170ac0d52faf0d91
|
|
| MD5 |
685e8eddb4b8ea6247f12ebd0d334b6c
|
|
| BLAKE2b-256 |
668412a4e8de0f32f72c141a08a12cc04c37f4b7bbeb52b71274668ba9924f19
|
Provenance
The following attestation bundles were made for dtachwrap-0.1.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
wheels.yml on HarborYuan/dtachwrap
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dtachwrap-0.1.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
c05508df4cfe14ac4523d45c4985940f63f1414154d894f7170ac0d52faf0d91 - Sigstore transparency entry: 963047134
- Sigstore integration time:
-
Permalink:
HarborYuan/dtachwrap@2c7e94ad46eb6416fbb0a9ca073d55fd015476d1 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/HarborYuan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@2c7e94ad46eb6416fbb0a9ca073d55fd015476d1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file dtachwrap-0.1.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- 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
- Upload date:
- Size: 108.9 kB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f69800b39bcd4ac9872e4f1a7cb9968d39e12e38116b646d8566e11f63a57d5
|
|
| MD5 |
d7b100d33aa07831a6bec246ddaa429a
|
|
| BLAKE2b-256 |
67759ade22777b682e3de0cd28da65bb08f8d1e9f4dbb9f49083807a88b5faa3
|
Provenance
The following attestation bundles were made for dtachwrap-0.1.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
wheels.yml on HarborYuan/dtachwrap
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dtachwrap-0.1.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
1f69800b39bcd4ac9872e4f1a7cb9968d39e12e38116b646d8566e11f63a57d5 - Sigstore transparency entry: 963047057
- Sigstore integration time:
-
Permalink:
HarborYuan/dtachwrap@2c7e94ad46eb6416fbb0a9ca073d55fd015476d1 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/HarborYuan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@2c7e94ad46eb6416fbb0a9ca073d55fd015476d1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file dtachwrap-0.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: dtachwrap-0.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 109.4 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0dba17288ff5a923609a401ffb112459edf387ff3d8b2e2c7674991357144c42
|
|
| MD5 |
729dad1a8d27be14c7efa5bc21e094b5
|
|
| BLAKE2b-256 |
39b5ec70904999633b109dfcdc67bbb3bfb0d194f5b11991a853b3bea1013a3c
|
Provenance
The following attestation bundles were made for dtachwrap-0.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
wheels.yml on HarborYuan/dtachwrap
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dtachwrap-0.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
0dba17288ff5a923609a401ffb112459edf387ff3d8b2e2c7674991357144c42 - Sigstore transparency entry: 963047082
- Sigstore integration time:
-
Permalink:
HarborYuan/dtachwrap@2c7e94ad46eb6416fbb0a9ca073d55fd015476d1 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/HarborYuan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@2c7e94ad46eb6416fbb0a9ca073d55fd015476d1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file dtachwrap-0.1.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- 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
- Upload date:
- Size: 108.9 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d6095570561cc2daef5d66fd4e625c398ec51874d5215f5b88d5d73616555a07
|
|
| MD5 |
251e6b48dbc11ae98851762469c0274e
|
|
| BLAKE2b-256 |
a0895f9466710c460424388283f4f11e63e60381bf8c4f725ccf47175b15760b
|
Provenance
The following attestation bundles were made for dtachwrap-0.1.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
wheels.yml on HarborYuan/dtachwrap
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dtachwrap-0.1.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
d6095570561cc2daef5d66fd4e625c398ec51874d5215f5b88d5d73616555a07 - Sigstore transparency entry: 963047071
- Sigstore integration time:
-
Permalink:
HarborYuan/dtachwrap@2c7e94ad46eb6416fbb0a9ca073d55fd015476d1 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/HarborYuan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@2c7e94ad46eb6416fbb0a9ca073d55fd015476d1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file dtachwrap-0.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: dtachwrap-0.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 109.4 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83487116736b545f7eb595a26cbd4d126032478bb4e879b47fa2d9ea16cdfb6c
|
|
| MD5 |
02c9a08656a0276e92589d5ae2225a09
|
|
| BLAKE2b-256 |
5d68b158f2caaa0e08f0a43e1b8bfe5bb517d57b2f0672dd74cfb5a00b6d1c53
|
Provenance
The following attestation bundles were made for dtachwrap-0.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
wheels.yml on HarborYuan/dtachwrap
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dtachwrap-0.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
83487116736b545f7eb595a26cbd4d126032478bb4e879b47fa2d9ea16cdfb6c - Sigstore transparency entry: 963047107
- Sigstore integration time:
-
Permalink:
HarborYuan/dtachwrap@2c7e94ad46eb6416fbb0a9ca073d55fd015476d1 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/HarborYuan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@2c7e94ad46eb6416fbb0a9ca073d55fd015476d1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file dtachwrap-0.1.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- 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
- Upload date:
- Size: 108.9 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98ec6521f6c7d89e0fae1ecef20959ad64d5e7f11e1a50a1a15dcc1c17d43921
|
|
| MD5 |
48d51993b16f00be39029fd3e1372673
|
|
| BLAKE2b-256 |
c7bafb9bf72c58962ad6b280aae586975bfee8a006697ce7a36c01225bf2e1f9
|
Provenance
The following attestation bundles were made for dtachwrap-0.1.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
wheels.yml on HarborYuan/dtachwrap
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dtachwrap-0.1.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
98ec6521f6c7d89e0fae1ecef20959ad64d5e7f11e1a50a1a15dcc1c17d43921 - Sigstore transparency entry: 963047125
- Sigstore integration time:
-
Permalink:
HarborYuan/dtachwrap@2c7e94ad46eb6416fbb0a9ca073d55fd015476d1 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/HarborYuan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@2c7e94ad46eb6416fbb0a9ca073d55fd015476d1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file dtachwrap-0.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: dtachwrap-0.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 109.4 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
141352ee80492a9198837ad8e353d26f374f8691d25a135b93eecf08b9550f18
|
|
| MD5 |
845526222ee894b51e6fbcaf657e9bde
|
|
| BLAKE2b-256 |
cfd132efebfdb69d669322cfd554152fe46328aeadfcacf8575cc86d43851f59
|
Provenance
The following attestation bundles were made for dtachwrap-0.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
wheels.yml on HarborYuan/dtachwrap
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dtachwrap-0.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
141352ee80492a9198837ad8e353d26f374f8691d25a135b93eecf08b9550f18 - Sigstore transparency entry: 963047097
- Sigstore integration time:
-
Permalink:
HarborYuan/dtachwrap@2c7e94ad46eb6416fbb0a9ca073d55fd015476d1 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/HarborYuan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@2c7e94ad46eb6416fbb0a9ca073d55fd015476d1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file dtachwrap-0.1.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- 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
- Upload date:
- Size: 108.9 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c26b6e4ab455fd363b74654a65f4a141f3c4a3665ff834e49be1659c1551b228
|
|
| MD5 |
5376eb8793912f9e2224388b1df13709
|
|
| BLAKE2b-256 |
ebff607bed705ec40fa4bc714fee516b79788e3482114089829308a3512f7f8b
|
Provenance
The following attestation bundles were made for dtachwrap-0.1.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
wheels.yml on HarborYuan/dtachwrap
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dtachwrap-0.1.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
c26b6e4ab455fd363b74654a65f4a141f3c4a3665ff834e49be1659c1551b228 - Sigstore transparency entry: 963047116
- Sigstore integration time:
-
Permalink:
HarborYuan/dtachwrap@2c7e94ad46eb6416fbb0a9ca073d55fd015476d1 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/HarborYuan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@2c7e94ad46eb6416fbb0a9ca073d55fd015476d1 -
Trigger Event:
push
-
Statement type: