Zwischen Python Package
Python wrapper for Zwischen, an AI-augmented security scanning CLI. This package exposes a Python implementation of the core workflow for Python users.
The Ruby gem in the repository root is currently the canonical implementation. This wrapper has a smaller command surface and may not match every Ruby feature.
Installation
pip install zwischen-cli
The PyPI distribution is named zwischen-cli (the bare zwischen name is taken by an unrelated project), but the installed command is still zwischen.
For local development:
cd packages/pip
python -m pip install -e .
zwischen --help
Commands
zwischen init
zwischen scan
zwischen scan --ai ollama
zwischen scan --ai openai --api-key "$OPENAI_API_KEY"
zwischen scan --format json
zwischen scan --pre-push
zwischen doctor
Supported scan flags:
--ai:ollama,openai, oranthropic--api-key: provider API key--format:terminalorjson--pre-push: compact hook mode
--format json prints only a JSON document on stdout (no banners), shaped like the Ruby gem's output: {"summary": {"total": N, "by_severity": {...}}, "findings": [...]}. File paths in findings are relative to the project root, and ignore: globs from .zwischen.yml are honored.
Not currently supported in this wrapper:
zwischen uninstallzwischen scan --only ...zwischen scan --changedzwischen scan --format sarif(exits with status 2 and an error; use the Ruby gem for SARIF)- Ruby's changed-file filtering for
--pre-push
Behavior
zwischen init tries to install Gitleaks into ~/.zwischen/bin, creates .zwischen.yml, checks whether Semgrep is available, and installs or appends a Git pre-push hook when run inside a Git repository.
Semgrep is optional:
pip install semgrep
Configuration
The Python wrapper creates this shape:
ai:
enabled: true
pre_push_enabled: false
provider: ollama
model: llama3
blocking:
severity: high
scanners:
gitleaks: true
semgrep: true
ignore:
- "**/node_modules/**"
- "**/vendor/**"
- "**/.git/**"
- "**/dist/**"
- "**/build/**"
Blocking severities are high, critical, or none.
ignore: entries are glob patterns matched against paths relative to the project root; ** spans directories (so **/dist/** also covers a top-level dist/). Findings in ignored paths are dropped from all output formats.
License
MIT
Release files for zwischen-cli 0.1.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 | |
|---|---|---|---|
| zwischen_cli-0.1.2.tar.gz | 14.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| zwischen_cli-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.9 kB
Release files / zwischen_cli-0.1.2.tar.gz
| Download URL | zwischen_cli-0.1.2.tar.gz |
|---|---|
| Size | 14.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1b4d90096f20c99fb7ccce0d83b768e3b4c1e63435f840a524f7e1d18346d555
|
|
BLAKE2b-256 checksum How to use checksums |
832e813f96a6e3086bd3f6f2eaab09209f37b97ccf939c1d76bc64edde30470a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 11, 2026.
Transparency logRelease files / zwischen_cli-0.1.2-py3-none-any.whl
| Download URL | zwischen_cli-0.1.2-py3-none-any.whl |
|---|---|
| Size | 15.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6b786931060822b2fb59bfbbd52f56ec895daa34941ff23c56751027ed1c860d
|
|
BLAKE2b-256 checksum How to use checksums |
2b5430a65474b0b537ab00a32ebdc200a85f135ee4db028195bd2a021eb1719e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 11, 2026.
Transparency log