Skip to main content

Upload local pytest coverage to verifAIed for instant feedback

Project description

verifaied

CLI for uploading local pytest coverage to verifAIed so an LLM (or you) can see what's untested without waiting for CI.

Install

uv tool install verifaied        # or
pipx install verifaied

Configure

Set the API token (mint one from the verifAIed app) and, for self-hosted or local backends, the API URL:

export VERIFAIED_API_TOKEN=vr_live_...
export VERIFAIED_API_URL=http://localhost:8000   # default

Use

From inside any git repo you've connected to verifAIed:

pytest --cov --cov-report=json --junitxml=junit.xml
verifaied upload

That's it — --repo is optional. The CLI parses git remote get-url origin, looks the repo up under your account via /installations/me, and uses the resulting UUID. You can also be explicit:

verifaied upload --repo kyle/verifaied        # owner/name slug
verifaied upload --repo <UUID>                # raw UUID, no lookup

The CLI reads coverage.json, pulls the source for every file it references from your working tree, and posts everything to /repositories/<id>/local-coverage. The response prints a summary of untested / partial / failing functions so you (or your LLM) can fix them on the next iteration.

What gets uploaded

The CLI only sends files that appear in coverage.json's "files" map — i.e. exactly the files pytest --cov instrumented. There is no directory walk and no glob:

  • .env, build artefacts, vendored libraries, and anything outside your coverage scope are never read.
  • Test files themselves are only uploaded if your coverage config includes them (e.g. --cov=tests).

To audit the exact file list (and total bytes) before anything leaves your machine, run with --dry-run:

verifaied upload --dry-run

This prints the resolved branch / commit / file table and exits without contacting the backend. Useful when you're about to upload from an unfamiliar repo, or when narrowing down where an unexpected file is coming from.

If a sensitive value did make it into a covered source file (a baked-in API key in a fixture, etc.), open the repo in the verifAIed web UI, expand Recently deleted under the branches grid, and use Permanently delete. That hard-deletes the analysis row and cascades to the uploaded source — the per-card Delete is a soft-delete that keeps the data around for accidental-deletion recovery.

Flags

  • --repo / -r <UUID|owner/name> — repository to upload to. If omitted, the CLI auto-detects from the GitHub origin remote.
  • --branch / -b <name> — branch to attach the upload to (default: git branch --show-current, then local)
  • --coverage <path> — path to coverage.json (default: ./coverage.json)
  • --junit <path> — optional JUnit XML for failing-test detail
  • --commit-sha <sha> — commit sha for display (default: git rev-parse HEAD)
  • --root <path> — root the coverage paths are relative to (default: cwd)
  • --api-url <url> — backend base URL (overrides VERIFAIED_API_URL)
  • --token <token> — API token (overrides VERIFAIED_API_TOKEN)
  • --dry-run — print the file list and total bytes that would be uploaded, then exit without contacting the backend. Skips the token requirement so you can audit without configuring auth.

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

verifaied-0.1.0.dev22.tar.gz (28.1 kB view details)

Uploaded Source

Built Distribution

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

verifaied-0.1.0.dev22-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file verifaied-0.1.0.dev22.tar.gz.

File metadata

  • Download URL: verifaied-0.1.0.dev22.tar.gz
  • Upload date:
  • Size: 28.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for verifaied-0.1.0.dev22.tar.gz
Algorithm Hash digest
SHA256 10ad92332169a6e5efc0d468967cc44ac0dc4c9e23156f3913decf94a0f956f5
MD5 5d1fbaf2287c75b6a012d7ffa95da9f6
BLAKE2b-256 a04fed5e123c5c9bac94699a918ba65c855e84a16a6baea4fccfaba0497c74ee

See more details on using hashes here.

File details

Details for the file verifaied-0.1.0.dev22-py3-none-any.whl.

File metadata

  • Download URL: verifaied-0.1.0.dev22-py3-none-any.whl
  • Upload date:
  • Size: 12.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for verifaied-0.1.0.dev22-py3-none-any.whl
Algorithm Hash digest
SHA256 aa1a6647de4a3975158825e09f36d99ebf6fb2bfcc3b3037124921cced48e247
MD5 5bd55b1c433c99dde957c1cc2d07ec9c
BLAKE2b-256 7b25213a4ee11a4d53794bc664e2d6e5280f2e53592ce649aa2d1fa5dd2747d4

See more details on using hashes here.

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