Homf is a tool for downloading artifacts from online services, like a ZipApp from GitHub Releases or a Wheel from PyPi.
Documentation: https://homf.readthedocs.io/
The recommended way to install Homf is via pipx.
If you have pipx installed, you can install Homf via pipx install homf
.
The basic syntax is homf SOURCE [OPTIONS] PACKAGE RELEASE
. SOURCE
is one of github
or pypi
.
For GitHub, PACKAGE
is the repository and RELEASE
is the tag used by GitHub Releases.
For PyPi, PACKAGE
is the package name on PyPi and RELEASE
is the version number.
By default, Homf downloads all files for the release into ./downloads
.
See the documentation for details on OPTIONS
.
$ homf github ppb/pursuedpybear
INFO Selected release 'v3.2.0 - The Bear Awakens!' as latest
INFO Downloaded 'downloads/examples.zip'
INFO Downloaded 'downloads/ppb-3.2.0-py3-none-any.whl'
INFO Downloaded 'downloads/ppb-3.2.0.tar.gz'
$ tree downloads/
downloads/
├── examples.zip
├── ppb-3.2.0-py3-none-any.whl
└── ppb-3.2.0.tar.gz
1 directory, 3 files
$ rm -r downloads/
$ homf pypi emanate
INFO Selected release '8.0.2' as latest
INFO Downloaded 'downloads/emanate-8.0.2-py3-none-any.whl'
INFO Downloaded 'downloads/emanate-8.0.2.tar.gz'
$ tree downloads/
downloads/
├── emanate-8.0.2-py3-none-any.whl
└── emanate-8.0.2.tar.gz
1 directory, 2 files
$
Homf requires Python 3.8 or newer.
Bug reports and pull requests are welcome on GitHub at https://github.com/duckinator/homf.
The code for Homf is available under the MIT License.