Skip to main content

Preview of webcon.

Control your computer through shell commands from a barebones web interface.

Example configuration: config.yaml

__variables__:
    mpvfifo: ~/.local/share/mpv/fifo
mpv:
    rewind: echo seek -5 > {mpvfifo}
    play/pause: echo cycle pause > {mpvfifo}
    fast forward: echo seek 5 > {mpvfifo}
announcer:
    greet: say hello
    part: say farewell

Installation

pip3 install webcon

Tab completion

sudo activate-global-python-argcomplete

If you installed via pip, you may need to run the following before autocompletion works:

grep 'PYTHON_ARGCOMPLETE_OK' "$(which webcon)" &>/dev/null || sudo sed -i "1a # PYTHON_ARGCOMPLETE_OK" "$(which webcon)"

Usage

usage: webcon [-h] [--host HOST] [-p PORT] [config_file]

Control your computer through shell commands from a barebones web interface.

Configuration goes in ~/.config/webcon/config.yaml, or an alternate location
may be provided by command line argument.

Configuration format:

- Throughout the configuration, order of each mapping is taken into account to
  ensure the layout does not deviate from expectations.
- The top level of the configuration is a mapping.
- Variables in the top-level key `__variables__` will be substituted once via
  `str.format` throughout the entire file. This may be used to extract long
  constants, etc.
- Every other top-level key will define a service, and its value shall be a
  mapping of the actions it supports.
- Each action shall define a label/command pair, in the the form of
  `label: command`.

Example configuration:

    __variables__:
        mpvfifo: ~/.local/share/mpv/fifo
    mpv:
        rewind: echo seek -5 > {mpvfifo}
        play/pause: echo cycle pause > {mpvfifo}
        fast forward: echo seek 5 > {mpvfifo}
    announcer:
        greet: say hello
        part: say farewell

Explanation:

- Define `mpvfifo` as a variable holding the location of a mpv fifo.
- Define a service `mpv`.
    - This service exports the actions `rewind`, `play/pause`, and
      `fast forward`. The actions are different echoes to `mpvffo`.
- Define a service `announcer`.
    - This service exports the actions `greet` and `part`. The actions are
    different phrases which will be synthesized through `say`.

positional arguments:
  config_file           The config file to use. Default:
                        /Users/echan/.config/webcon/config.yaml

optional arguments:
  -h, --help            show this help message and exit
  --host HOST           The server host. Default: 0.0.0.0
  -p PORT, --port PORT  The server port. Default: 8080

Release files for webcon 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for webcon 1.0.2
File Size Uploaded
webcon-1.0.2.tar.gz 12.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for webcon 1.0.2
File Interpreter ABI Platform
webcon-1.0.2-py36-none-any.whl Python 3.6 none any Details

Total release size:28.0 kB

Release files / webcon-1.0.2.tar.gz

Download URL webcon-1.0.2.tar.gz
Size 12.5 kB
Tags Source
SHA-256 checksum
How to use checksums
174b4a93136907f558adfcbb0a1a759d2ca5be539b42564952a7c95d10e51e7e
BLAKE2b-256 checksum
How to use checksums
58114a22cdedac41e83e8c9b9f5d0023ae930eca70c4205f12fcceabdd063a61
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / webcon-1.0.2-py36-none-any.whl

Download URL webcon-1.0.2-py36-none-any.whl
Size 15.5 kB
Tags Python 3.6
SHA-256 checksum
How to use checksums
7e11a614ab1302e066e5b8b73c31b668a44578eea17207e1391575c42211cbcd
BLAKE2b-256 checksum
How to use checksums
1bc941a8c0af0234ba7af889542686beeace6e414ac2b4dc80e2a9bc753fa19f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page