Metadata-Version: 2.4
Name: alga
Version: 2.1.0
Summary: CLI for remote controlling LG webOS TVs
Project-URL: documentation, https://github.com/Tenzer/alga/blob/main/usage.md
Project-URL: homepage, https://github.com/Tenzer/alga
Project-URL: issues, https://github.com/Tenzer/alga/issues
Project-URL: releasenotes, https://github.com/Tenzer/alga/releases
Project-URL: source, https://github.com/Tenzer/alga.git
Author-email: Jeppe Fihl-Pearson <jeppe@tenzer.dk>
License-Expression: MIT
License-File: LICENSE
Keywords: lg,lgtv,remote,remote-control,webos,webos-tv
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Home Automation
Classifier: Topic :: Multimedia
Classifier: Typing :: Typed
Requires-Python: >=3.9
Requires-Dist: cfgs>=0.13.0
Requires-Dist: getmac>=0.9.0
Requires-Dist: pzp>=0.0.25
Requires-Dist: rich>=13.0.0
Requires-Dist: typer>=0.15.0
Requires-Dist: wakeonlan>=2.0.0
Requires-Dist: websocket-client>=1.0.0
Description-Content-Type: text/markdown

Alga
====

A command line utility for controlling a LG webOS TV over the network.


Installing
----------

Alga is [available on PyPI](https://pypi.org/project/alga/).
I would recommend installing it via [pipx](https://pipx.pypa.io/stable/):

```shell
$ pipx install alga
```

Or, via [Nix flakes](https://nixos.org/):

```shell
nix run github:Tenzer/alga
```


Setup
-----

The first time you use the utility, you will need to setup a connection to the TV.
With the TV on, run `alga tv add <identifier> [hostname/IP]`.
This will bring up a prompt on the TV asking if you want to accept the pairing.
When accepted, Alga will be ready to use.

If no hostname or IP address is provided to `alga tv add`, it will be default try to connect to "lgwebostv" which should work.

The hostname, a key and MAC address will be written to `~/.config/alga/config.json` for future use.


Usage
-----

See [usage](usage.md) for a list of available commands.


Development
-----------

The code base is fully type annotated and test coverage is being enforced.
Types can be checked via `uv run mypy .` and tests via `uv run pytest`.

Tests are run for each of the supported Python versions in CI.

[pre-commit](https://pre-commit.com/) used to run Ruff for linting and formatting.

`usage.md` is updated via `uv run ./generate-usage.sh`.
