qwenloop
qwenloop is an autonomous, local Qwen 2.5 Coder 14B runner. It uses a
portable llama.cpp/Q5_K_M profile by default and can use BF16 through vLLM on
Linux NVIDIA systems with at least 40 GiB of usable VRAM.
Model installation is always explicit. The package, tests, doctor, and Vibey
integration never download model weights.
Install
Until the first PyPI release, install the runner from the immutable Git tag or an explicit commit:
uv tool install \
'qwenloop @ git+https://github.com/adammatthewsteinberger/qwenloop.git@feature/qwenloop-local-engine'
The Python package never bundles model weights.
Quick start
qwenloop model install --profile portable
qwenloop model verify
qwenloop doctor
qwenloop run plan.md --run-id <uuid> --cwd <worktree>
The stable run contract is .qwenloop/runs/<run-id>/, exit code 75 for a
graceful wind-down, the QWENLOOP_TASK_FULLY_COMPLETE marker, and a
qwenloop-verdict result fence.
Inference profiles
| Profile | Backend | Intended hardware | Model installation |
|---|---|---|---|
portable |
llama.cpp Q5_K_M | Apple Silicon, Linux CPU, supported offload GPUs | Explicit qwenloop model install --profile portable |
nvidia-bf16 |
vLLM BF16 | Linux NVIDIA with at least 40 GiB free VRAM | Operator-managed pinned Hugging Face/vLLM cache |
Servers bind to loopback and require a per-launch bearer token. Qwenloop never silently changes backend during a run.
Development
uv sync --extra dev
uv run ruff check .
uv run ruff format --check .
uv run mypy --strict src/qwenloop
uv run lint-imports
uv run pytest -q
uv run bandit -q -r src/qwenloop
First-party code is held to 100% line and branch coverage. Model and hardware smokes are deliberately separate from the hermetic CI suite.
Release workflow
Qwenloop uses develop as its integration branch and main as its release
branch. vibey-gh provides provenance fingerprints, merge-train automation,
derived versions, promotion, and post-release branch realignment.
License
Qwenloop is MIT licensed. Qwen2.5-Coder model artifacts are separately licensed under Apache License 2.0 and are downloaded only after an explicit operator command.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qwenloop-0.2.0.tar.gz.
File metadata
- Download URL: qwenloop-0.2.0.tar.gz
- Upload date:
- Size: 111.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da67b6ee1713e48fc67190d2d3bc92ae1075aa2ae44c1135a286a0c6125143ae
|
|
| MD5 |
a762ddcbc6a51d429ae3556fecb6b9c9
|
|
| BLAKE2b-256 |
f87a391a856161fd2971c5acc378e7860f83355542786f08fa9c14de80955a2a
|
Provenance
The following attestation bundles were made for qwenloop-0.2.0.tar.gz:
Publisher:
release.yml on adammatthewsteinberger/qwenloop
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qwenloop-0.2.0.tar.gz -
Subject digest:
da67b6ee1713e48fc67190d2d3bc92ae1075aa2ae44c1135a286a0c6125143ae - Sigstore transparency entry: 2621558160
- Sigstore integration time:
-
Permalink:
adammatthewsteinberger/qwenloop@3853d50f648e94b9ce9f76efed9653b2c3215af8 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/adammatthewsteinberger
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@3853d50f648e94b9ce9f76efed9653b2c3215af8 -
Trigger Event:
push
-
Statement type:
File details
Details for the file qwenloop-0.2.0-py3-none-any.whl.
File metadata
- Download URL: qwenloop-0.2.0-py3-none-any.whl
- Upload date:
- Size: 22.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6acc6d967f82e766b94bb8ada464c07c8776d93dacebd6c199c381927613a1bb
|
|
| MD5 |
e27e76724db8283ab256dbb3a1139ff4
|
|
| BLAKE2b-256 |
936b7f9c09f659b47fbb4a3bf01ee620eec0e1a380dfcc18bfea5bbf9a82c052
|
Provenance
The following attestation bundles were made for qwenloop-0.2.0-py3-none-any.whl:
Publisher:
release.yml on adammatthewsteinberger/qwenloop
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qwenloop-0.2.0-py3-none-any.whl -
Subject digest:
6acc6d967f82e766b94bb8ada464c07c8776d93dacebd6c199c381927613a1bb - Sigstore transparency entry: 2621558174
- Sigstore integration time:
-
Permalink:
adammatthewsteinberger/qwenloop@3853d50f648e94b9ce9f76efed9653b2c3215af8 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/adammatthewsteinberger
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@3853d50f648e94b9ce9f76efed9653b2c3215af8 -
Trigger Event:
push
-
Statement type: