Quick local status snapshots for developer workspaces.
Project description
qstatus
Quick local status snapshots for developer workspaces.
Installation
Recommended with uv:
uv sync --extra dev
Standard Python fallback:
python -m pip install -e ".[dev]"
Usage
qstatus
qstatus repo
qstatus repo --json
qstatus repo --github
qstatus repo --cwd /path/to/repo
qstatus repo --verbose
qstatus --version
qstatus is an alias for qstatus repo. By default it performs a fast local
Git snapshot only. It does not fetch, push, pull, run tests, run builds, or call
network services.
Example human output:
REPO qstatus /home/ali/Projects/qstatus
BRANCH main 6acc81f origin/main synced ahead=0 behind=0
STATE clean staged=0 unstaged=0 untracked=0 conflicts=0 stash=0
REMOTE origin git@github.com:alik-git/qstatus.git
SUBMODULES none
PR not-requested
CI not-requested
Use --json when another tool or agent should consume the snapshot:
qstatus repo --json
Use --github only when you want read-only GitHub context through the gh CLI:
qstatus repo --github
qstatus repo --json --github
GitHub mode reports PR, CI/check, and package-release facts when available. If
gh is missing, unauthenticated, offline, or rate-limited, the local snapshot
still succeeds and the GitHub section is marked unavailable.
qstatus reports facts and neutral summaries only. It intentionally does not
decide whether a repo is ready to commit, push, merge, or release.
Development
Run the standard checks before opening a PR:
uv run ruff format --check .
uv run ruff check .
uv run mypy
uv run pytest
uv build
If you are using standard Python tools instead of uv:
python -m ruff format --check .
python -m ruff check .
python -m mypy
python -m pytest
python -m build
Publishing
This repo publishes to PyPI through GitHub Actions Trusted Publishing. The
release workflow is .github/workflows/release.yml.
Use these values in PyPI's pending trusted publisher form:
PyPI project name: qstatus
Owner: alik-git
Repository name: qstatus
Workflow name: release.yml
Environment name: pypi
The workflow filename is release.yml; the display name inside that file is
Release, but PyPI wants the filename. The pypi environment should also exist
under the GitHub repository's environment settings.
Publishing is release-driven: normal pushes and pull requests build and test the package, but publishing happens when a GitHub Release is published or the release workflow is manually dispatched.
Project details
Release history Release notifications | RSS feed
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 qstatus-0.2.1.tar.gz.
File metadata
- Download URL: qstatus-0.2.1.tar.gz
- Upload date:
- Size: 47.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fced0aa21b9ae915f5ab24090a87a7c8917d0d0f76f6618bb57b09b3e579d75b
|
|
| MD5 |
2b4e850ce111983f55b1104a39ad41d1
|
|
| BLAKE2b-256 |
db567ed507a52d830afa782de953819838c1120e7766be54eec5b8d189e22586
|
Provenance
The following attestation bundles were made for qstatus-0.2.1.tar.gz:
Publisher:
release.yml on alik-git/qstatus
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qstatus-0.2.1.tar.gz -
Subject digest:
fced0aa21b9ae915f5ab24090a87a7c8917d0d0f76f6618bb57b09b3e579d75b - Sigstore transparency entry: 1611146260
- Sigstore integration time:
-
Permalink:
alik-git/qstatus@35c183be31a2c01a1a6021bc25d90167d708d2e4 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/alik-git
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@35c183be31a2c01a1a6021bc25d90167d708d2e4 -
Trigger Event:
release
-
Statement type:
File details
Details for the file qstatus-0.2.1-py3-none-any.whl.
File metadata
- Download URL: qstatus-0.2.1-py3-none-any.whl
- Upload date:
- Size: 14.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4b97ed557f4e2785fafe526ab86a609ce051c51ed5997337976527d2cb57537
|
|
| MD5 |
defe7154f6ecfea645d3c3d04efb21c1
|
|
| BLAKE2b-256 |
e0e254959c93b82bbd377bb841016b619b7cbea1b49aa4e7e8d1ce85b5a613e7
|
Provenance
The following attestation bundles were made for qstatus-0.2.1-py3-none-any.whl:
Publisher:
release.yml on alik-git/qstatus
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qstatus-0.2.1-py3-none-any.whl -
Subject digest:
f4b97ed557f4e2785fafe526ab86a609ce051c51ed5997337976527d2cb57537 - Sigstore transparency entry: 1611146347
- Sigstore integration time:
-
Permalink:
alik-git/qstatus@35c183be31a2c01a1a6021bc25d90167d708d2e4 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/alik-git
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@35c183be31a2c01a1a6021bc25d90167d708d2e4 -
Trigger Event:
release
-
Statement type: