Skip to content

Artifact download tool for GitHub, PyPi, etc.

License

Notifications You must be signed in to change notification settings

duckinator/homf

Repository files navigation

homf Build Status PyPI Documentation Status

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.

Contributing

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.