"Do The Right eXtraction" - don't remember what set of tar flags or where
to pipe the output to extract it? no worries!
TL;DR
pip install dtrx
dtrx yolo.tar.gzThis is a copy-paste of the original dtrx repo, and all credit for this software should be attributed to the original author, Brett Smith @brettcs:
https://github.com/brettcs/dtrx
See the original README for more details on what this does!
This repo contains some patches on top of the original source to enable using
dtrx with python3. The original motivation was to enable dtrx on Ubuntu
20.04+, where the dtrx apt package was removed from the default ppas (likely
due to being python2 only).
Contributions are gladly welcomed! Feel free to open a Pull Request with any changes.
When posting an issue, it can be very handy to provide any example files (for example, the archive that failed to extract) or reproduction steps so we can address the problem quickly.
The tests are most easily run from Docker. Check out the
Dockerfile for how that's set up.
We push a pre-built image to Docker Hub as dtrx-py/dtrx:latest, so you can
pull that image and run the tests like so:
docker run --rm -it --volume $(pwd):/workspace ghcr.io/dtrx-py/dtrx:latest \
bash -c "cp -r /workspace ~/scratch && cd ~/scratch && uv run -- tests/compare.py"Releases are tagged in this repo and published to pypi.org. The release process for maintainers is the below steps:
-
update the version specifier:
# update the version appropriately ❯ uv version X.Y.Z ❯ git add pyproject.toml uv.lock ❯ git commit # fill in the commit message
-
create an annotated tag for the release.
❯ git tag -a {,-m}X.Y.Zbe sure to push the tag,
git push --tags. -
use the
make publish-releasecommand to build and publish to GitHub and PyPi
See the Makefile for details on what that rule does.