Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qstatus-0.2.0.tar.gz (47.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qstatus-0.2.0-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

File details

Details for the file qstatus-0.2.0.tar.gz.

File metadata

  • Download URL: qstatus-0.2.0.tar.gz
  • Upload date:
  • Size: 47.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for qstatus-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a866271ab2752239fd675f6d3022e6eaa435e99b297ae2be116cfb0f20f67d39
MD5 6532cca381737f9050a022e76f1718cd
BLAKE2b-256 aa3546f65d2cab0dbc16fde8deabb4c6cfca75c40685c42c823ada7af7f188f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for qstatus-0.2.0.tar.gz:

Publisher: release.yml on alik-git/qstatus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qstatus-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: qstatus-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 14.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for qstatus-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 74616b6cd217fd0fb58dede0b2f78b1b3adefc8598ae749bfb97d17de9456b5d
MD5 51c4957deaf84252f7f5ef0892cbe31c
BLAKE2b-256 ec1fd473e1eeed6ade2ea6c7ae9f7cfd3f57ef84f372de8a26e3dbaae8691313

See more details on using hashes here.

Provenance

The following attestation bundles were made for qstatus-0.2.0-py3-none-any.whl:

Publisher: release.yml on alik-git/qstatus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page