A command line alternative to the "Home Assistant Community Store", aka HACS
Go to file
Ian Fijolek 5f0b0ce8b5
All checks were successful
continuous-integration/drone/push Build is passing
Add theme installation and refactor install paths
A more object oriented approach would be good, but I'm lazy right now
2024-09-17 10:04:57 -07:00
docs/source Update targets 2024-06-07 16:46:09 -07:00
unhacs Add theme installation and refactor install paths 2024-09-17 10:04:57 -07:00
.drone.star Add URL for testpypi on Drone 2024-06-10 10:39:45 -07:00
.gitignore Use poetry 2024-06-07 16:31:02 -07:00
.pre-commit-config.yaml Switch to yaml for lock file 2024-07-06 15:01:27 -07:00
LICENSE Initial commit 2024-06-04 22:20:13 +00:00
Makefile Ignore pytest 2024-06-07 16:55:53 -07:00
pyproject.toml Bump version 2024-09-05 16:13:30 -07:00
README.md Update documentation for forked repos 2024-08-18 11:10:49 -07:00

unhacs

A command line alternative to the "Home Assistant Community Store", aka HACS

Installation

pipx install unhacs

Usage

Unhacs provides several commands to manage your Home Assistant packages:

Add a package

To add a package, use the add command followed by the URL of the package. Optionally, you can specify the package name and version:

unhacs add <package_url> --version <version>

If the package already exists, you can update it by adding the --update flag:

unhacs add <package_url> --update

If the package is a Lovelace plugin, you must specify it using the --plugin flag:

unhacs add --plugin <package_url>

If you already have a list of packages in a file, you can add them all at once using the --file flag:

unhacs add --file <file_path>

Add a component from a forked Home Assistant Core repository

To add a component from a fork of home-assistant/core, use the --forked-component flag followed by the URL of the forked repository and then specify the branch with the --branch flag:

unhacs add --forked-component <forked_repo_url> --branch <branch>

List packages

To list all installed packages, use the list command:

unhacs list

For a more detailed output, add the --verbose flag:

unhacs list --verbose

List tags

To list all tags for a package, use the tags command followed by the name of the package:

unhacs tags <package_url>

The number or returned tags is limited to 10 by default. To change this, add the --limit flag:

unhacs tags <package_url> --limit 20

Remove a package

To remove a package, use the remove command followed by the name of the package:

unhacs remove <package_name>

Upgrade packages

To upgrade all packages, use the upgrade command:

unhacs upgrade

To upgrade specific packages, add their names after the upgrade command:

unhacs upgrade <package_name_1> <package_name_2> ...

Use git tags

By default, identification of releases uses the GitHub API. If you want to use git tags instead, you can add the --git-tags flag to the base command:

unhacs --git-tags add <package_url>

License

Unhacs is licensed under the MIT License. See the LICENSE file for more details.

Original repo

Originally hosted at https://git.iamthefij.com/iamthefij/unhacs.git