{
  "package": "pyrate-limiter",
  "normalized_name": "pyrate-limiter",
  "version": "4.4.0",
  "role": "transitive",
  "declared_line": null,
  "artifact": "pyrate_limiter-4.4.0-py3-none-any.whl",
  "artifact_url": "https://files.pythonhosted.org/packages/2b/77/2b5ea2e5e343fd7f74ba9c50a282d7cb66d1be3d12bd647510338d78fcf1/pyrate_limiter-4.4.0-py3-none-any.whl",
  "artifact_sha256_per_index": "f738dfa3c7ac1222a5ea3d31e00cfd31b5592b13ade4077afe9e8ac6293381f5",
  "limbs": {
    "index_resolves": {
      "status": "ok",
      "resolved_version": "4.4.0",
      "artifact": "pyrate_limiter-4.4.0-py3-none-any.whl"
    },
    "provenance_published": {
      "status": "ok",
      "http_status": 200
    },
    "bundle_wellformed": {
      "status": "ok",
      "bundles": 1,
      "publisher_kind": "GitHub",
      "publisher_repository": "vutran1710/PyrateLimiter",
      "publisher_workflow": "build_test.yml"
    },
    "artifact_bytes_match_index": {
      "status": "ok",
      "sha256": "f738dfa3c7ac1222a5ea3d31e00cfd31b5592b13ade4077afe9e8ac6293381f5",
      "bytes": 43102
    },
    "signature_verifies": {
      "status": "ok",
      "verified_against": "f738dfa3c7ac1222a5ea3d31e00cfd31b5592b13ade4077afe9e8ac6293381f5",
      "identity": {
        "kind": "GitHub",
        "repository": "vutran1710/PyrateLimiter",
        "workflow": "build_test.yml",
        "environment": null
      },
      "predicate_type": "https://docs.pypi.org/attestations/publish/v1"
    },
    "signer_matches_declared_source": {
      "status": "ok",
      "repository": "vutran1710/pyratelimiter",
      "matched_against": [
        "vutran1710/pyratelimiter"
      ]
    },
    "predicate_is_slsa_build_provenance": {
      "status": "fail",
      "reason": "publish_attestation_not_build_provenance",
      "predicate_type": "https://docs.pypi.org/attestations/publish/v1",
      "meaning": "the signature proves which workflow uploaded the file; it does not describe how the file was built"
    },
    "attestation_in_transparency_log": {
      "status": "ok",
      "log_indexes": [
        "1815291452"
      ],
      "log": "rekor"
    }
  },
  "must_admit": true,
  "full_admit": false,
  "first_failing_limb": "predicate_is_slsa_build_provenance",
  "first_refuse_reason": "predicate_is_slsa_build_provenance:publish_attestation_not_build_provenance",
  "notes": {
    "provenance_url": "https://pypi.org/integrity/pyrate-limiter/4.4.0/pyrate_limiter-4.4.0-py3-none-any.whl/provenance",
    "publisher": {
      "environment": null,
      "kind": "GitHub",
      "repository": "vutran1710/PyrateLimiter",
      "workflow": "build_test.yml"
    },
    "attestation_count": 1,
    "artifact_bytes": 43102,
    "artifact_sha256_computed": "f738dfa3c7ac1222a5ea3d31e00cfd31b5592b13ade4077afe9e8ac6293381f5",
    "predicate_type": "https://docs.pypi.org/attestations/publish/v1",
    "declared_source_repos": [
      "vutran1710/pyratelimiter"
    ]
  }
}
