Skip to main content

GWAY

GWAY is a lightweight project manager and command dispatcher for the Arthexis/GWAY ecosystem.

The 1.x generation discovers and manages projects from GitHub and exposes each project's commands through a common gway <project> <command> interface. Framework-specific command discovery is provided by adapters, including Python function introspection and Django management commands.

Install the released package with:

python -m pip install gway

GWAY also keeps a first-class Python API. The intended stable import is:

from gway import gway as gw

# Mirrors the CLI namespace once the relevant managed projects are installed.
gw.wireguard.status()
gw.arthexis.check()

from gway import gw remains available as a compatibility alias. The Python facade uses the same registry, adapter, dispatcher, and runner as the CLI rather than bypassing managed project isolation.

Sigils on the CLI

gway-sigils is GWAY's single runtime dependency and provides the sigils Python package used as part of the command-value language. Project names and command paths stay literal for predictable routing; argument values are interpolated before adapter parsing.

Because Sigils is a required GWAY runtime component, installing GWAY already installs it into the same Python environment. The short GWAY-facing name remains sigils, so this is an idempotent runtime install/verification command rather than a second managed-project checkout:

gway install sigils
# installed sigils    gway-sigils@0.4.3

The PyPI distribution name gway-sigils is therefore an implementation/distribution detail; users do not need to type the gway- prefix through GWAY. The command refers to the environment that owns the gway executable: a global GWAY installation gives Sigils the same global scope, while virtualenv or pipx installations remain scoped to that environment.

gway web build --output "[project.path]/dist"
gway ocpp connect --label "%[cwd]-[project.name]"

%[...] expressions are captured eagerly before the project-aware lazy context is built. [...] expressions resolve immediately before the selected adapter parses the command arguments.

The built-in GWAY context includes:

  • [cwd] and [home]
  • [gway.config_dir] and [gway.data_dir]
  • [project.name], [project.path], [project.adapter], [project.aliases], [project.repository], [project.revision], and [project.environment]
  • [command.name] and [command.path]

All regular Sigils built-ins remain available, including the environment tool and eager/lazy recursive semantics supplied by the sigils library itself.

The pre-1.0 implementation has been preserved in arthexis/gway-legacy. Legacy bundled projects, recipes, shared mutable context, and application-specific dependencies are intentionally not part of this codebase.

See PLAN.md for the architecture and implementation sequence. gway-epaper is now explicitly scheduled immediately after the Django/Arthexis end-to-end milestone; see PLAN-EPAPER.md for that roadmap extension.

System / appliance installation

GWAY 1.x can be installed or upgraded as a system command without changing the operating system's default python3:

curl -fsSL https://raw.githubusercontent.com/arthexis/gway/main/install.sh | sudo bash

The bootstrap installer:

  • selects an available Python 3.11 or newer interpreter;
  • installs GWAY into /opt/gway/venv;
  • creates system state under /etc/gway and /var/lib/gway;
  • installs /usr/local/bin/gway as the system dispatcher;
  • automatically archives an existing unmanaged /usr/local/bin/gway as /usr/local/bin/gway-legacy before replacement;
  • preserves additional differing legacy commands with collision-safe timestamped archive names;
  • can be rerun safely to upgrade an existing managed GWAY installation.

Validate prerequisites without changing the machine:

curl -fsSL https://raw.githubusercontent.com/arthexis/gway/main/install.sh -o /tmp/gway-install.sh
bash /tmp/gway-install.sh --check

After installation, managed projects can be installed directly, for example:

sudo gway install wireguard
sudo gway wireguard --help

Development

python -m pip install -e '.[dev]'
python -m gway --help
gway --help
pytest

The package and executable remain named gway; the stable 1.x line starts at version 1.0.0.

Metadata

Release files for gway 1.0.0

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

Source distribution (sdist)

Source distribution for gway 1.0.0
File Size Uploaded
gway-1.0.0.tar.gz 24.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gway 1.0.0
File Interpreter ABI Platform
gway-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 47.3 kB

Release files / gway-1.0.0.tar.gz

Download URL gway-1.0.0.tar.gz
Size 24.9 kB
Tags Source
SHA-256 checksum
How to use checksums
6cd57b074e3ea7535fb53d8e318a6182636692f9d7ab7c98ccc17da1c2931535
BLAKE2b-256 checksum
How to use checksums
54c84c39094588bc3940ba1e712a7fab40181fef7cbfc14151899045124ccc2a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.

Transparency log

Release files / gway-1.0.0-py3-none-any.whl

Download URL gway-1.0.0-py3-none-any.whl
Size 22.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
84ffcdf08754b091ee40b6ce2233f778527e1da5a348cd86416b46d2acb8369e
BLAKE2b-256 checksum
How to use checksums
2ea1b68719f0789d47af3eb85ca554d3c65e1ad1cd6a611aef59a5b09f8ca205
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.

Transparency log

Release history Release notifications | RSS feed

1.0.1

2 release files

This release

1.0.0 This release

2 release files

0.4.66

2 release files

0.4.59

2 release files

0.4.58

2 release files

0.4.57

2 release files

0.4.56

2 release files

0.4.55

2 release files

0.4.54

2 release files

0.4.53

2 release files

0.4.52

2 release files

0.4.51

2 release files

0.4.50

2 release files

0.4.49

2 release files

0.4.48

2 release files

0.4.47

2 release files

0.4.46

2 release files

0.4.45

2 release files

0.4.44

2 release files

0.4.43

2 release files

0.4.42

2 release files

0.4.9

2 release files

0.4.8

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.3.40

2 release files

0.3.39

2 release files

0.3.38

2 release files

0.3.37

2 release files

0.3.36

2 release files

0.3.35

2 release files

0.3.34

2 release files

0.3.33

2 release files

0.3.32

2 release files

0.3.31

2 release files

0.3.30

2 release files

0.3.29

2 release files

0.3.28

2 release files

0.3.27

2 release files

0.3.26

2 release files

0.3.25

2 release files

0.3.24

2 release files

0.3.23

2 release files

0.3.22

2 release files

0.3.21

2 release files

0.3.20

2 release files

0.3.19

2 release files

0.3.18

2 release files

0.3.17

2 release files

0.3.16

2 release files

0.3.15

2 release files

0.3.14

2 release files

0.3.13

2 release files

0.3.12

2 release files

0.3.11

2 release files

0.3.10

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.2.56

2 release files

0.2.55

2 release files

0.2.54

2 release files

0.2.53

2 release files

0.2.52

2 release files

0.2.51

2 release files

0.2.50

2 release files

0.2.48

2 release files

0.2.47

2 release files

0.2.46

2 release files

0.2.18

2 release files

0.2.17

2 release files

0.2.16

2 release files

0.2.15

2 release files

0.2.14

2 release files

0.2.13

2 release files

0.2.12

2 release files

0.2.11

2 release files

0.2.10

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.1.48

2 release files

0.1.47

2 release files

0.1.44

2 release files

0.1.43

2 release files

0.1.42

2 release files

0.1.41

2 release files

0.1.40

2 release files

0.1.39

2 release files

0.1.38

2 release files

0.1.37

2 release files

0.1.36

2 release files

0.1.35

2 release files

0.1.34

2 release files

0.1.33

2 release files

0.1.32

2 release files

0.1.31

2 release files

0.1.30

2 release files

0.1.29

2 release files

0.1.28

2 release files

0.1.27

2 release files

0.1.26

2 release files

0.1.25

2 release files

0.1.24

2 release files

0.1.23

2 release files

0.1.22

2 release files

0.1.21

2 release files

0.1.20

2 release files

0.1.19

2 release files

0.1.18

2 release files

0.1.17

2 release files

0.1.16

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.0.26

2 release files

0.0.24

2 release files

0.0.23

2 release files

0.0.21

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