incubator: goqu

API

The package registry, the scan queue and the rating history of one module are readable as JSON. Plain GET, no key, no CORS headers, so call it from a server or a script rather than another site's page. The badge is an SVG for a README.

Console

GET /api/packages

Every known package in the order it was added, the std baseline row included, with its scan status and the overall rating of its newest rated scan. One document, no paging. Open.

FieldMeaning
import_paththe module path, as on the package page
git_remote_addrderived from the path as https://<import_path>.git; not a record of where the code was fetched, which is the Go module proxy
git_committhe module version that was scanned: a tag, a pseudo-version, or a +incompatible version; the Go release on the std row
statusok once any version has scanned, error when none has. A newer version that fails keeps ok and records the reason in error
errorwhat the scanner recorded on the last failure, empty when the last scan succeeded
licensethe license identifier found in the tree; unknown when a license file could not be classified; empty when none, or until the license pass runs after a version change
has_license_copyright1 when the license text carries a Copyright (c) YEAR holder line, else 0
size_bytesbytes of the module zip at the version sized, 0 until measured
code_sizebytes of the Go files read by the newest rated scan; a separate fetch from size_bytes, so it can exceed it
ratingthe overall score of the newest rated scan, a number; null when nothing is rated yet
created_at, updated_atUTC, YYYY-MM-DD HH:MM:SS, no zone designator. updated_at moves when the scanned version changes

GET /api/queue

The submission queue in submission order: what the scanner has waiting and how the past submissions went. Open.

FieldMeaning
import_paththe module path as submitted
statuspending until the scanner picks it up, then ok or error; invalid when the path is not a module path
created_atwhen it was submitted, UTC
updated_atwhen the scanner last changed the status; null while pending

GET /api/history?package=

The overall score of every rated scan of one module, in version order with non-version labels last, the way the history chart draws it. The path resolves the way a package page does, so a subpackage or a metaversion lands on its module; a module whose status is error answers like an unknown one: an empty package and an empty list.

FieldMeaning
packagethe module path the query resolved to
historya list, one entry per rated scan
history[].git_committhe version scanned
history[].scorethe overall rating of that scan
history[].created_atwhen that version was scanned, UTC
history[].rated_atwhen that scan was rated, UTC

GET /badge/<module>

The overall rating as an SVG badge, goreportcard style. The module path goes in as is, not percent-encoded. A path with no rated scan answers a grey n/a with status 200, so an image proxy keeps it and a README never shows a broken image. Responses are cached for an hour, the n/a too, and a README's image proxy adds its own cache: a module reads n/a until it is scanned, rated, and both caches have turned over.

goqu badge for github.com/docker/cli

For the README.md, the badge linking to the report:

[![goqu](https://goqu.incubator.to/badge/github.com/docker/cli)](https://goqu.incubator.to/github.com/docker/cli)