wiswa
A highly opinionated way to generate projects with Jsonnet.
Installation
We recommend a global install so wiswa is on your PATH from any working
directory:
uv tool install wiswa
Or with pipx:
pipx install wiswa
If you prefer not to install globally, add Wiswa as a development dependency
of your project—for example uv add --group dev wiswa, or list wiswa under
dependency-groups.dev in pyproject.toml and install inside the project
virtual environment with your usual workflow.
Usage
Add -d to show debug logs.
Usage: wiswa [OPTIONS] [FILE]
Entry point for the Wiswa CLI.
Options:
--cache-time INTEGER Cache expiry time in seconds. [default:
600]
-d, --debug Enable debug output.
-J, --jpath TEXT Add a directory to the Jsonnet search path
(only used when evaluating settings).
--no-cache Disable HTTP response caching.
-o, --output-dir DIRECTORY Output directory for generated files.
-q, --quiet Suppress the progress spinner.
--skip-jsonnet Skip project.jsonnet manifests; settings merge still runs.
--skip-postprocess Skip post-processing steps.
--skip-remote Skip configuring the remote Git host (GitHub or GitLab).
--skip-static Skip copying static files.
--skip-templates Skip Jinja2 template evaluation.
--skip-yarn Skip Yarn download.
-h, --help Show this message and exit.
Remote API tokens (GitHub and GitLab)
When Wiswa configures the remote (wiswa without --skip-remote), it calls the GitHub or GitLab
API using a personal access token. Tokens are read from the environment when supported, or from
the system keyring. Service names include the repository hostname so different hosts (for
example GitHub.com, GitHub Enterprise, or self-managed GitLab) keep separate credentials.
Keyring entries use the usual service name and username fields (for example as shown by
secret-tool on Linux or Keychain Access on macOS). The username is normally your OS login
name (whoami).
GitHub
- Service
wiswa-github:<hostname>, username your OS user. The hostname is taken fromrepository_uri(for examplegithub.comforhttps://github.com/org/repo).
Example (hostname github.com, OS user alice):
python -m keyring set 'wiswa-github:github.com' alice
# paste the token at the prompt
GitLab
- Environment:
GITLAB_TOKEN(if set, used first). - Preferred: service
wiswa-gitlab:<hostname>, username your OS user (for examplewiswa-gitlab:gitlab.com). - Same service with username equal to the hostname is also checked (for older or alternate storage patterns).
Example for gitlab.com:
export GITLAB_TOKEN='glpat-...' # optional; overrides keyring
python -m keyring set 'wiswa-gitlab:gitlab.com' "$(whoami)"
MCP Server
A companion FastMCP server, wiswa-mcp, exposes the
Wiswa settings discovery tools to AI assistants. Install it separately:
pipx install wiswa-mcp
See the wiswa-mcp project for client configuration (Claude Code, Cursor, and GitHub Copilot CLI).
Metadata
Release files for wiswa 0.6.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| wiswa-0.6.2.tar.gz | 230.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wiswa-0.6.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 486.1 kB
Release files / wiswa-0.6.2.tar.gz
| Download URL | wiswa-0.6.2.tar.gz |
|---|---|
| Size | 230.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
12a91e02d8c8e6e5fd431fc0e95a665f4e8bb792fab208074a7b85ba46bb4fa5
|
|
BLAKE2b-256 checksum How to use checksums |
53b4e8459b20e11b3309faafe7457306c34ced5dadb87739eaf0aeb5c06f4ba7
|
| 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 23, 2026.
Transparency logRelease files / wiswa-0.6.2-py3-none-any.whl
| Download URL | wiswa-0.6.2-py3-none-any.whl |
|---|---|
| Size | 255.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
76a76ab4d87b26c0673d8a35dd3f782beb7018bdab9ff29c5b96b473b65c6442
|
|
BLAKE2b-256 checksum How to use checksums |
28f5c482a0817b8b5a93f9d816ebb3e7417b69fc9869df36993cea66e6e98f72
|
| 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 23, 2026.
Transparency log