Skip to content

weectl extension

Use the weectl subcommand extension to manage WeeWX extensions.

Specify --help to see the actions and options:

weectl extension --help

List installed extensions

weectl extension list [--config=FILENAME]

This action will list all the extensions that you have installed.

Install an extension

 weectl extension install (FILE|DIR|URL)
    [--config=FILENAME]
    [--dry-run] [--yes] [--verbosity=N]

This action will install an extension from a zip file, tar file, directory, or URL.

For example, this would install the windy extension from the latest zip file located at github.com:

weectl extension install https://github.com/matthewwall/weewx-windy/archive/master.zip

This would install the windy extension from a compressed tar archive in the current directory:

weectl extension install windy-0.1.tgz

This would install the windy extension from a zip file in the Downloads directory:

weectl extension install ~/Downloads/windy-0.1.zip

Uninstall an extension

weectl extension uninstall NAME
    [--config=FILENAME]
    [--dry-run] [--yes] [--verbosity=N] [-y]

This action uninstalls an extension. Use the action list to see what to use for NAME.

For example, this would uninstall the extension called windy:

weectl extension uninstall windy

Examples

These examples illustrate how to use the extension installer to install, list, and uninstall the windy extension.

Do a dry run of installing an uploader for the Windy website, maximum verbosity:

% weectl extension install https://github.com/matthewwall/weewx-windy/archive/master.zip --dry-run --verbosity=3
weectl extension install https://github.com/matthewwall/weewx-windy/archive/master.zip --dry-run --verbosity=3
Using configuration file /Users/joe_user/weewx-data/weewx.conf
This is a dry run. Nothing will actually be done.
Install extension 'https://github.com/matthewwall/weewx-windy/archive/master.zip'? y
Extracting from zip archive /var/folders/xm/72q6zf8j71x8df2cqh0j9f6c0000gn/T/tmpjusc3qrv
  Request to install extension found in directory /var/folders/xm/72q6zf8j71x8df2cqh0j9f6c0000gn/T/tmpo0oq1u34/weewx-windy-master/.
  Found extension with name 'windy'.
  Copying new files...
    Fake copying from '/var/folders/xm/72q6zf8j71x8df2cqh0j9f6c0000gn/T/tmpo0oq1u34/weewx-windy-master/bin/user/windy.py' to '/Users/joe_user/weewx-data/bin/user/windy.py'
  Fake copied 1 files.
  Adding services to service lists.
    Added new service user.windy.Windy to restful_services.
  Adding sections to configuration file
    Merged extension settings into configuration file
Saving installer file to /Users/joe_user/weewx-data/bin/user/installer/windy.
Finished installing extension windy from https://github.com/matthewwall/weewx-windy/archive/master.zip.
This was a dry run. Nothing was actually done.

Do it for real, default verbosity:

% weectl extension install https://github.com/matthewwall/weewx-windy/archive/master.zip
Using configuration file /Users/joe_user/weewx-data/weewx.conf
Install extension 'https://github.com/matthewwall/weewx-windy/archive/master.zip'? y
Extracting from zip archive /var/folders/xm/72q6zf8j71x8df2cqh0j9f6c0000gn/T/tmpcc92m0oq
Saving installer file to /Users/joe_user/weewx-data/bin/user/installer/windy.
Saved configuration dictionary. Backup copy at /Users/joe_user/weewx-data/weewx.conf.20231222135954.
Finished installing extension windy from https://github.com/matthewwall/weewx-windy/archive/master.zip.

List the results:

% weectl extension list
Extension Name    Version   Description
windy             0.7       Upload weather data to Windy.

Uninstall the extension without asking for confirmation:

% weectl extension uninstall windy -y
Using configuration file /Users/joe_user/weewx-data/weewx.conf
Finished removing extension 'windy'

Options

These are options used by most of the actions.

--config

Path to the configuration file. Default is ~/weewx-data/weewx.conf.

--dry-run

Show what would happen if the action was run, but do not actually make any writable changes.

--help

Show the help message, then exit.

--verbosity=(0|1|2|3)

How much information to display (0-3).

-y | --yes

Do not ask for confirmation. Just do it.