{
 "schema_version": 1,
 "generated": "2026-11-02T12:21:50+00:00",
 "org": "scverse",
 "template": {
  "repo": "scverse/cookiecutter-scverse",
  "latest": {
   "tag": "v0.8.0",
   "commit": "6518dfa1abde7379ea7255daf0ce09c23f2b4c94",
   "published_at": "2026-07-17T07:06:47Z",
   "url": "https://github.com/scverse/cookiecutter-scverse/releases/tag/v0.8.0"
  }
 },
 "meta": {
  "auth": "token",
  "failed_repos": [],
  "github_requests": 1134,
  "github_cache_hits": 1,
  "rate_limit_remaining": 11610,
  "rate_limit": 12500,
  "core_devs": 15
 },
 "checks": [
  {
   "id": "template/cruft",
   "tier": "required",
   "category": "Template",
   "title": "Uses cookiecutter-scverse",
   "description": "`.cruft.json` exists and names the scverse template",
   "needs": [
    "cont"
   ]
  },
  {
   "id": "template/up-to-date",
   "tier": "required",
   "category": "Template",
   "title": "Template up to date",
   "description": "`.cruft.json` commit matches the latest cookiecutter-scverse release",
   "needs": [
    "cont",
    "meta"
   ]
  },
  {
   "id": "template/src-layout",
   "tier": "recommended",
   "category": "Template",
   "title": "src layout + hatchling",
   "description": "Builds with hatchling from a `src/` layout",
   "needs": [
    "cont"
   ]
  },
  {
   "id": "template/pre-commit-ci",
   "tier": "recommended",
   "category": "Template",
   "title": "pre-commit.ci enabled",
   "description": "pre-commit.ci runs on pull requests",
   "needs": [
    "meta"
   ]
  },
  {
   "id": "template/codecov",
   "tier": "recommended",
   "category": "Template",
   "title": "codecov configured",
   "description": "A codecov config or a codecov check run exists",
   "needs": [
    "cont",
    "meta"
   ]
  },
  {
   "id": "template/default-branch",
   "tier": "recommended",
   "category": "Template",
   "title": "Default branch is main",
   "description": "The default branch is called `main`",
   "needs": [
    "meta"
   ]
  },
  {
   "id": "template/packages-json",
   "tier": "informational",
   "category": "Template",
   "title": "Listed in packages.json",
   "description": "Listed in scverse.org's ecosystem index, under a category the dashboard knows",
   "needs": [
    "web"
   ]
  },
  {
   "id": "docs/readthedocs-yaml",
   "tier": "required",
   "category": "Documentation",
   "title": ".readthedocs.yaml present",
   "description": "A `.readthedocs.yaml` build config is committed",
   "needs": [
    "cont"
   ]
  },
  {
   "id": "docs/rtd-linked",
   "tier": "required",
   "category": "Documentation",
   "title": "RTD project points here",
   "description": "The Read the Docs project of the same slug builds *this* repository",
   "needs": [
    "rtd"
   ]
  },
  {
   "id": "docs/rtd-core-devs",
   "tier": "required",
   "category": "Documentation",
   "title": "\u22652 core devs on RTD",
   "description": "At least two scverse core devs can administer the RTD project",
   "needs": [
    "rtd"
   ]
  },
  {
   "id": "docs/scverse-domain",
   "tier": "required",
   "category": "Documentation",
   "title": "Docs on *.scverse.org",
   "description": "Documentation is served from `<package>.scverse.org`, not readthedocs.io",
   "needs": [
    "rtd",
    "meta"
   ]
  },
  {
   "id": "docs/rtd-build",
   "tier": "recommended",
   "category": "Documentation",
   "title": "Stable RTD build passed",
   "description": "The most recent build of the `stable` version succeeded",
   "needs": [
    "rtd"
   ]
  },
  {
   "id": "packaging/pypi-org",
   "tier": "required",
   "category": "Packaging",
   "title": "PyPI project owned by scverse",
   "description": "`ownership.organization` on PyPI is the scverse org",
   "needs": [
    "pypi"
   ]
  },
  {
   "id": "packaging/trusted-publishing",
   "tier": "required",
   "category": "Packaging",
   "title": "Trusted publishing",
   "description": "The latest release carries PEP 740 attestations naming this repo's workflow",
   "needs": [
    "pypi"
   ]
  },
  {
   "id": "packaging/release-workflow",
   "tier": "required",
   "category": "Packaging",
   "title": "Release workflow hardened",
   "description": "Publishes via pypa/gh-action-pypi-publish with `id-token: write`, no password, in an environment",
   "needs": [
    "cont"
   ]
  },
  {
   "id": "packaging/spec0-python",
   "tier": "required",
   "category": "Packaging",
   "title": "SPEC 0 minimum Python",
   "description": "`requires-python` has dropped the Python versions SPEC 0 has dropped",
   "needs": [
    "cont",
    "py"
   ]
  },
  {
   "id": "packaging/immutable-releases",
   "tier": "required",
   "category": "Packaging",
   "title": "Immutable releases enabled",
   "description": "The repository has immutable releases turned on",
   "needs": [
    "admin"
   ]
  },
  {
   "id": "packaging/releases-immutable",
   "tier": "recommended",
   "category": "Packaging",
   "title": "Recent releases immutable",
   "description": "The last few published releases are actually marked immutable",
   "needs": [
    "meta"
   ]
  },
  {
   "id": "packaging/pypi-environment",
   "tier": "recommended",
   "category": "Packaging",
   "title": "`pypi` environment protected",
   "description": "A deployment environment named `pypi` exists and has protection rules",
   "needs": [
    "admin"
   ]
  },
  {
   "id": "packaging/version-sync",
   "tier": "recommended",
   "category": "Packaging",
   "title": "Tag matches PyPI version",
   "description": "The newest GitHub release tag matches the newest PyPI version",
   "needs": [
    "meta",
    "pypi"
   ]
  },
  {
   "id": "integration/upstream-tests",
   "tier": "required",
   "category": "Supply chain",
   "title": "Integration tests passing",
   "description": "This package's test suite passes in scverse/integration-testing against upstream core packages",
   "needs": [
    "meta"
   ]
  },
  {
   "id": "security/actions-pinned",
   "tier": "required",
   "category": "Supply chain",
   "title": "Actions pinned to SHA",
   "description": "Every `uses:` names a full 40-character commit SHA",
   "needs": [
    "cont"
   ]
  },
  {
   "id": "security/precommit-pinned",
   "tier": "recommended",
   "category": "Supply chain",
   "title": "pre-commit revs pinned",
   "description": "Every `rev:` in `.pre-commit-config.yaml` is a commit SHA",
   "needs": [
    "cont"
   ]
  },
  {
   "id": "security/zizmor-clean",
   "tier": "required",
   "category": "Supply chain",
   "title": "zizmor audit is clean",
   "description": "A zizmor audit of every workflow, action and Dependabot config reports no findings",
   "needs": [
    "cont"
   ]
  },
  {
   "id": "security/dependabot",
   "tier": "required",
   "category": "Supply chain",
   "title": "Dependabot configured",
   "description": "`.github/dependabot.yml` covers both the github-actions and pre-commit ecosystems",
   "needs": [
    "cont"
   ]
  },
  {
   "id": "security/dependabot-alerts",
   "tier": "recommended",
   "category": "Supply chain",
   "title": "No open Dependabot alerts",
   "description": "No unresolved Dependabot security alerts",
   "needs": [
    "sec"
   ]
  },
  {
   "id": "security/secret-scanning",
   "tier": "recommended",
   "category": "Supply chain",
   "title": "Secret scanning + push protection",
   "description": "Secret scanning and push protection are both enabled",
   "needs": [
    "admin"
   ]
  },
  {
   "id": "security/private-vuln-reporting",
   "tier": "recommended",
   "category": "Supply chain",
   "title": "Private vulnerability reporting",
   "description": "Researchers can report vulnerabilities privately",
   "needs": [
    "admin"
   ]
  },
  {
   "id": "security/workflow-permissions",
   "tier": "required",
   "category": "Supply chain",
   "title": "Minimal workflow permissions",
   "description": "Every workflow declares a top-level `permissions:`, and the repo default is read-only",
   "needs": [
    "cont",
    "admin"
   ]
  },
  {
   "id": "security/persist-credentials",
   "tier": "recommended",
   "category": "Supply chain",
   "title": "checkout without credentials",
   "description": "`actions/checkout` steps set `persist-credentials: false` (zizmor `artipacked`)",
   "needs": [
    "cont"
   ]
  },
  {
   "id": "security/dangerous-triggers",
   "tier": "recommended",
   "category": "Supply chain",
   "title": "No unsafe pull_request_target",
   "description": "`pull_request_target` does not check out untrusted PR code (zizmor `dangerous-triggers`)",
   "needs": [
    "cont"
   ]
  },
  {
   "id": "security/security-md",
   "tier": "recommended",
   "category": "Supply chain",
   "title": "SECURITY.md",
   "description": "A security policy exists, in this repo or via the org's `.github` repo",
   "needs": [
    "meta"
   ]
  },
  {
   "id": "branch/protected",
   "tier": "required",
   "category": "Branch protection",
   "title": "Default branch protected",
   "description": "Neither force-pushes nor deletion are allowed on the default branch",
   "needs": [
    "meta",
    "admin?"
   ]
  },
  {
   "id": "branch/requires-pr",
   "tier": "required",
   "category": "Branch protection",
   "title": "Requires a pull request",
   "description": "Changes to the default branch must go through a pull request",
   "needs": [
    "meta",
    "admin?"
   ]
  },
  {
   "id": "branch/requires-review",
   "tier": "required",
   "category": "Branch protection",
   "title": "Requires \u22651 approving review",
   "description": "A pull request needs at least one approving review to merge",
   "needs": [
    "meta",
    "admin?"
   ]
  },
  {
   "id": "branch/status-checks",
   "tier": "recommended",
   "category": "Branch protection",
   "title": "Requires status checks",
   "description": "At least one status check must pass before merging",
   "needs": [
    "meta",
    "admin?"
   ]
  },
  {
   "id": "governance/license",
   "tier": "required",
   "category": "Governance",
   "title": "OSI license",
   "description": "The repo carries a recognised OSI-approved license",
   "needs": [
    "meta"
   ]
  },
  {
   "id": "governance/gpl-free",
   "tier": "required",
   "category": "Governance",
   "title": "GPL-free dependencies",
   "description": "No runtime dependency, direct or transitive, is GPL-licensed, unless the repo is GPL itself",
   "needs": [
    "cont",
    "pypi"
   ]
  },
  {
   "id": "governance/description-topics",
   "tier": "recommended",
   "category": "Governance",
   "title": "Description, homepage, topic",
   "description": "The repo has a description, a homepage and the `scverse` topic",
   "needs": [
    "meta"
   ]
  },
  {
   "id": "governance/maintained",
   "tier": "informational",
   "category": "Governance",
   "title": "Actively maintained",
   "description": "Pushed to within the last year",
   "needs": [
    "meta"
   ]
  }
 ],
 "repos": [
  {
   "repo": {
    "name": "202611_workshop_SBI2",
    "category": "other",
    "repo": {
     "name": "202611_workshop_SBI2",
     "full_name": "scverse/202611_workshop_SBI2",
     "html_url": "https://github.com/scverse/202611_workshop_SBI2",
     "description": "Materials for the scverse workshop at SBI2 2026: deep learning on morphology data",
     "pushed_at": "2026-11-02T01:12:47Z",
     "homepage": "https://scverse.org/sbi2_2026/",
     "archived": false,
     "license": null,
     "topics": [],
     "default_branch": "main"
    },
    "pypi": null,
    "rtd": null,
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/pre-commit-ci": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/codecov": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/202611_workshop_SBI2/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-linked": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-core-devs": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/scverse-domain": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-org": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/trusted-publishing": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/release-workflow": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/spec0-python": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/202611_workshop_SBI2/settings"
    },
    "packaging/releases-immutable": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-environment": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/precommit-pinned": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/zizmor-clean": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dependabot": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dependabot-alerts": {
     "status": "fail",
     "detail": "58 open alerts, 40 high or critical",
     "fix_url": "https://github.com/scverse/202611_workshop_SBI2/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/202611_workshop_SBI2/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/202611_workshop_SBI2/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/persist-credentials": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dangerous-triggers": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/202611_workshop_SBI2/security/policy"
    },
    "branch/protected": {
     "status": "fail",
     "detail": "`main` is not protected at all",
     "fix_url": "https://github.com/scverse/202611_workshop_SBI2/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "Direct pushes to the default branch are allowed",
     "fix_url": "https://github.com/scverse/202611_workshop_SBI2/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "No review requirement",
     "fix_url": "https://github.com/scverse/202611_workshop_SBI2/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No required status checks",
     "fix_url": "https://github.com/scverse/202611_workshop_SBI2/settings/rules"
    },
    "governance/license": {
     "status": "fail",
     "detail": "No license",
     "fix_url": "https://github.com/scverse/202611_workshop_SBI2/community/license/new?branch=main"
    },
    "governance/gpl-free": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing `scverse` topic",
     "fix_url": "https://github.com/scverse/202611_workshop_SBI2"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 0 days ago",
     "fix_url": "https://github.com/scverse/202611_workshop_SBI2/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "acumen",
    "category": "other",
    "repo": {
     "name": "acumen",
     "full_name": "scverse/acumen",
     "html_url": "https://github.com/scverse/acumen",
     "description": "A toolkit to test, validate, and improve agentic skills.",
     "pushed_at": "2026-10-26T23:58:08Z",
     "homepage": "",
     "archived": false,
     "license": {
      "key": "mit",
      "name": "MIT License",
      "spdx_id": "MIT",
      "url": "https://api.github.com/licenses/mit",
      "node_id": "MDc6TGljZW5zZTEz"
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": {
     "name": "acumen",
     "version": "0.0.1.dev0",
     "summary": "Build, Benchmark, and Optimize Agentic Skills for Python Packages.",
     "home_page": null,
     "project_urls": {
      "Documentation": "https://acumen.readthedocs.io/",
      "Homepage": "https://github.com/scverse/acumen",
      "Source": "https://github.com/scverse/acumen"
     },
     "license": "MIT License",
     "classifiers": [
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
      "Programming Language :: Python :: 3.14"
     ],
     "ownership": {
      "organization": null,
      "roles": [
       {
        "role": "Owner",
        "user": "PauBM"
       }
      ]
     },
     "url": "https://pypi.org/project/acumen/",
     "provenance": {
      "filename": "acumen-0.0.1.dev0-py3-none-any.whl",
      "publisher": {
       "environment": null,
       "kind": "GitHub",
       "repository": "scverse/acumen",
       "workflow": "release.yaml"
      },
      "san": "https://github.com/scverse/acumen/.github/workflows/release.yaml@refs/tags/0.0.1dev",
      "san_parts": {
       "repo": "scverse/acumen",
       "workflow": ".github/workflows/release.yaml",
       "ref": "refs/tags/0.0.1dev"
      },
      "files_with_provenance": 2
     }
    },
    "rtd": {
     "slug": "acumen",
     "name": "Acumen",
     "repository": {
      "type": "git",
      "url": "https://github.com/affraike/full_scale_scala_app.git"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/acumen/builds/",
      "documentation": "https://acumen.readthedocs.io/en/latest/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/acumen/",
      "versions": "https://app.readthedocs.org/projects/acumen/versions/"
     },
     "users": [
      "affraike"
     ],
     "default_branch": "master",
     "readthedocs_yaml_path": null,
     "home": "https://app.readthedocs.org/projects/acumen/",
     "stable_build": null
    },
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": 1,
     "commits_behind": 2,
     "latest": "v0.8.0",
     "status": "ahead"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/acumen/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "fail",
     "detail": "1 release behind (v0.8.0 is current)",
     "fix_url": "https://github.com/scverse/acumen/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/acumen/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "fail",
     "detail": "No pre-commit.ci check run on the default branch",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yaml` present",
     "fix_url": "https://github.com/scverse/acumen/blob/main/.codecov.yaml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/acumen/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/acumen/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "fail",
     "detail": "RTD `acumen` builds https://github.com/affraike/full_scale_scala_app.git, expected https://github.com/scverse/acumen.git",
     "fix_url": "https://app.readthedocs.org/dashboard/acumen/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "fail",
     "detail": "0 of 1 maintainers are core devs; at least 2 required",
     "fix_url": "https://app.readthedocs.org/dashboard/acumen/edit/"
    },
    "docs/scverse-domain": {
     "status": "fail",
     "detail": "Docs served from acumen.readthedocs.io",
     "fix_url": "https://app.readthedocs.org/dashboard/acumen/domains/"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "No build of a `stable` version",
     "fix_url": "https://app.readthedocs.org/projects/acumen/"
    },
    "packaging/pypi-org": {
     "status": "fail",
     "detail": "Not owned by a PyPI organization",
     "fix_url": "https://pypi.org/project/acumen/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`0.0.1.dev0` published by scverse/acumen/.github/workflows/release.yaml",
     "fix_url": "https://pypi.org/project/acumen/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yaml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/acumen/blob/main/.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/acumen/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "1 of the last 1 are mutable: 0.0.1dev",
     "fix_url": "https://github.com/scverse/acumen/releases"
    },
    "packaging/pypi-environment": {
     "status": "warn",
     "detail": "`pypi` environment exists but has no protection rules",
     "fix_url": "https://github.com/scverse/acumen/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `0.0.1dev` == PyPI `0.0.1.dev0`",
     "fix_url": "https://github.com/scverse/acumen/releases/tag/0.0.1dev"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "fail",
     "detail": "12 of 12 unpinned: actions/checkout@v6, actions/setup-node@v6, astral-sh/setup-uv@v7 and 3 more",
     "fix_url": "https://github.com/scverse/acumen/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "4 of 4 on tags: pre-commit-hooks@v6.0.0, pre-commit@v2.6.3, pyproject-fmt@v2.30.3 and 1 more",
     "fix_url": "https://github.com/scverse/acumen/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "22 findings in 3 files, online: adhoc-packages, artipacked, cache-poisoning and 2 more",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "No `.github/dependabot.yml` (needs github-actions, pre-commit)",
     "fix_url": "https://github.com/scverse/acumen/new/main?filename=.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/acumen/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/acumen/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/acumen/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "3 of 3 lack `permissions:`: build.yaml, release.yaml, test.yaml",
     "fix_url": "https://github.com/scverse/acumen/settings/actions"
    },
    "security/persist-credentials": {
     "status": "fail",
     "detail": "4 of 4 keep credentials: build.yaml:package, release.yaml:release, test.yaml:get-environments and 1 more",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/acumen/security/policy"
    },
    "branch/protected": {
     "status": "fail",
     "detail": "`main` is not protected at all",
     "fix_url": "https://github.com/scverse/acumen/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "Direct pushes to the default branch are allowed",
     "fix_url": "https://github.com/scverse/acumen/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "No review requirement",
     "fix_url": "https://github.com/scverse/acumen/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No required status checks",
     "fix_url": "https://github.com/scverse/acumen/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "MIT",
     "fix_url": "https://github.com/scverse/acumen/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 16 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/acumen/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing homepage, `scverse` topic",
     "fix_url": "https://github.com/scverse/acumen"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 6 days ago",
     "fix_url": "https://github.com/scverse/acumen/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "annbatch",
    "category": "other",
    "repo": {
     "name": "annbatch",
     "full_name": "scverse/annbatch",
     "html_url": "https://github.com/scverse/annbatch",
     "description": "Minibatch loading for on-disk anndata files, co-developed by Lamin Labs and scverse",
     "pushed_at": "2026-10-29T19:27:10Z",
     "homepage": "https://annbatch.readthedocs.io",
     "archived": false,
     "license": {
      "key": "mit",
      "name": "MIT License",
      "spdx_id": "MIT",
      "url": "https://api.github.com/licenses/mit",
      "node_id": "MDc6TGljZW5zZTEz"
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": {
     "name": "annbatch",
     "version": "0.3.1",
     "summary": "A minibatch loader for AnnData stores",
     "home_page": null,
     "project_urls": {
      "Documentation": "https://annbatch.readthedocs.io/",
      "Homepage": "https://github.com/scverse/annbatch",
      "Source": "https://github.com/scverse/annbatch"
     },
     "license": "MIT License",
     "classifiers": [
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
      "Programming Language :: Python :: 3.14",
      "Programming Language :: Python :: 3.15"
     ],
     "ownership": {
      "organization": "scverse",
      "roles": []
     },
     "url": "https://pypi.org/project/annbatch/",
     "provenance": {
      "filename": "annbatch-0.3.1-py3-none-any.whl",
      "publisher": {
       "environment": "pypi",
       "kind": "GitHub",
       "repository": "scverse/annbatch",
       "workflow": "release.yaml"
      },
      "san": "https://github.com/scverse/annbatch/.github/workflows/release.yaml@refs/tags/v0.3.1",
      "san_parts": {
       "repo": "scverse/annbatch",
       "workflow": ".github/workflows/release.yaml",
       "ref": "refs/tags/v0.3.1"
      },
      "files_with_provenance": 2
     }
    },
    "rtd": {
     "slug": "annbatch",
     "name": "annbatch",
     "repository": {
      "type": "git",
      "url": "https://github.com/scverse/annbatch.git"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/annbatch/builds/",
      "documentation": "https://annbatch.readthedocs.io/en/stable/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/annbatch/",
      "versions": "https://app.readthedocs.org/projects/annbatch/versions/"
     },
     "users": [
      "Zethson",
      "ilan-gold"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": null,
     "home": "https://app.readthedocs.org/projects/annbatch/",
     "stable_build": {
      "id": 34976906,
      "success": true,
      "state": "finished",
      "finished": "2026-10-06T18:48:49.734768Z",
      "version": "stable",
      "commit": "616afdb226eb3dd902ef614e9452fddf14edcfaa",
      "url": "https://app.readthedocs.org/projects/annbatch/builds/34976906/"
     }
    },
    "package_entry": {
     "name": "annbatch",
     "description": "A data loader and io utilities for mini-batched data loading of on-disk AnnData files as well as in-memory data, co-developed by Lamin Labs and scverse.\n",
     "project_home": "https://github.com/scverse/annbatch",
     "documentation_home": "https://annbatch.readthedocs.io/",
     "tutorials_home": "https://annbatch.readthedocs.io/",
     "publications": [
      "10.48550/arXiv.2604.01949"
     ],
     "install": {
      "pypi": "annbatch"
     },
     "primary_category": "Data structures",
     "tags": [
      "data structures",
      "deep learning",
      "GPU acceleration"
     ],
     "license": "MIT",
     "language": "Python",
     "contact": [
      "ilan-gold"
     ],
     "test_command": "pip install --group=test && pytest",
     "category": "ecosystem",
     "logo": "annbatch/logo.svg",
     "version": "0.3.1",
     "inventory": "https://annbatch.readthedocs.io/en/stable/"
    },
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": 0,
     "release": "v0.8.0",
     "latest": "v0.8.0"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/annbatch/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "pass",
     "detail": "On the latest template release (v0.8.0)",
     "fix_url": "https://github.com/scverse/annbatch/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/annbatch/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "fail",
     "detail": "No pre-commit.ci check run on the default branch",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yaml` present",
     "fix_url": "https://github.com/scverse/annbatch/blob/main/.codecov.yaml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/annbatch/settings/branches"
    },
    "template/packages-json": {
     "status": "pass",
     "detail": "Listed under ecosystem",
     "fix_url": "https://github.com/scverse/scverse.github.io/blob/main/data/ecosystem-packages.yaml"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/annbatch/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "pass",
     "detail": "RTD `annbatch` builds scverse/annbatch",
     "fix_url": "https://app.readthedocs.org/dashboard/annbatch/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "pass",
     "detail": "2 of 2 maintainers are core devs (Zethson, ilan-gold)",
     "fix_url": "https://app.readthedocs.org/dashboard/annbatch/edit/"
    },
    "docs/scverse-domain": {
     "status": "fail",
     "detail": "Docs served from annbatch.readthedocs.io",
     "fix_url": "https://app.readthedocs.org/dashboard/annbatch/domains/"
    },
    "docs/rtd-build": {
     "status": "pass",
     "detail": "`stable` built from `616afdb` on 2026-10-06",
     "fix_url": "https://app.readthedocs.org/projects/annbatch/builds/34976906/"
    },
    "packaging/pypi-org": {
     "status": "pass",
     "detail": "Owned by the `scverse` PyPI organization",
     "fix_url": "https://pypi.org/project/annbatch/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`0.3.1` published by scverse/annbatch/.github/workflows/release.yaml",
     "fix_url": "https://pypi.org/project/annbatch/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yaml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/annbatch/blob/main/.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/annbatch/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "2 of the last 5 are mutable: v0.2.1, v0.2.0",
     "fix_url": "https://github.com/scverse/annbatch/releases"
    },
    "packaging/pypi-environment": {
     "status": "warn",
     "detail": "`pypi` environment exists but has no protection rules",
     "fix_url": "https://github.com/scverse/annbatch/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `v0.3.1` == PyPI `0.3.1`",
     "fix_url": "https://github.com/scverse/annbatch/releases/tag/v0.3.1"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "pass",
     "detail": "All 15 action references pinned to a SHA",
     "fix_url": "https://github.com/scverse/annbatch/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "6 of 6 on tags: codespell@v2.4.3, pre-commit-hooks@v6.0.0, pre-commit@v2.6.3 and 3 more",
     "fix_url": "https://github.com/scverse/annbatch/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "pass",
     "detail": "No findings (5 files, online)",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "Missing ecosystem: pre-commit",
     "fix_url": "https://github.com/scverse/annbatch/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/annbatch/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/annbatch/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/annbatch/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "Workflows are fine, but the repo's default GITHUB_TOKEN is read-write",
     "fix_url": "https://github.com/scverse/annbatch/settings/actions"
    },
    "security/persist-credentials": {
     "status": "pass",
     "detail": "All 5 checkouts set `persist-credentials: false`",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/annbatch/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/annbatch/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (ruleset)",
     "fix_url": "https://github.com/scverse/annbatch/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are required but need 0 approving reviews",
     "fix_url": "https://github.com/scverse/annbatch/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "6 required: Tests pass in all hatch environments, package, hatch-test.min-high and 3 more",
     "fix_url": "https://github.com/scverse/annbatch/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "MIT",
     "fix_url": "https://github.com/scverse/annbatch/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 49 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/annbatch/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing `scverse` topic",
     "fix_url": "https://github.com/scverse/annbatch"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 3 days ago",
     "fix_url": "https://github.com/scverse/annbatch/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "anndata",
    "category": "core-datastructure",
    "repo": {
     "name": "anndata",
     "full_name": "scverse/anndata",
     "html_url": "https://github.com/scverse/anndata",
     "description": "Annotated data.",
     "pushed_at": "2026-11-02T11:40:04Z",
     "homepage": "http://anndata.scverse.org",
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [
      "anndata",
      "bioinformatics",
      "data-science",
      "machine-learning",
      "scanpy",
      "scverse",
      "transcriptomics"
     ],
     "default_branch": "main"
    },
    "pypi": {
     "name": "anndata",
     "version": "0.13.4",
     "summary": "Annotated data.",
     "home_page": null,
     "project_urls": {
      "Documentation": "https://anndata.readthedocs.io/",
      "Home-page": "https://github.com/scverse/anndata",
      "Source": "https://github.com/scverse/anndata"
     },
     "license": "BSD-3-Clause",
     "classifiers": [
      "Environment :: Console",
      "Framework :: Jupyter",
      "Intended Audience :: Developers",
      "Intended Audience :: Science/Research",
      "Natural Language :: English",
      "Operating System :: MacOS :: MacOS X",
      "Operating System :: Microsoft :: Windows",
      "Operating System :: POSIX :: Linux",
      "Programming Language :: Python :: 3",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
      "Programming Language :: Python :: 3.14",
      "Topic :: Scientific/Engineering :: Bio-Informatics",
      "Topic :: Scientific/Engineering :: Visualization"
     ],
     "ownership": {
      "organization": "scverse",
      "roles": []
     },
     "url": "https://pypi.org/project/anndata/",
     "provenance": {
      "filename": "anndata-0.13.4-py3-none-any.whl",
      "publisher": {
       "environment": "pypi",
       "kind": "GitHub",
       "repository": "scverse/anndata",
       "workflow": "publish.yml"
      },
      "san": "https://github.com/scverse/anndata/.github/workflows/publish.yml@refs/tags/0.13.4",
      "san_parts": {
       "repo": "scverse/anndata",
       "workflow": ".github/workflows/publish.yml",
       "ref": "refs/tags/0.13.4"
      },
      "files_with_provenance": 2
     }
    },
    "rtd": null,
    "package_entry": {
     "name": "AnnData",
     "blurb": "Standard for annotated matrices",
     "description": "anndata is a Python package for handling annotated data matrices in memory and on disk,\npositioned between pandas and xarray. anndata offers a broad range of computationally\nefficient features including, among others, sparse data support, lazy operations, and GPU support.\n",
     "project_home": "https://github.com/scverse/anndata",
     "documentation_home": "https://anndata.scverse.org/",
     "tutorials_home": "https://anndata.scverse.org/page/tutorials/",
     "publications": [
      "10.21105/joss.04371"
     ],
     "install": {
      "pypi": "anndata",
      "conda": "conda-forge::anndata"
     },
     "primary_category": "Data structures",
     "tags": [
      "data structures"
     ],
     "license": "BSD-3-Clause",
     "language": "Python",
     "bindings": [
      {
       "language": "R",
       "name": "anndataR",
       "url": "https://anndatar.scverse.org/"
      },
      {
       "language": "Rust",
       "name": "anndata-rs",
       "url": "https://scverse.org/anndata-rs/"
      }
     ],
     "contact": [
      "flying-sheep",
      "ilan-gold"
     ],
     "logo": "anndata/logo.svg",
     "category": "core-datastructure",
     "version": "0.13.4",
     "inventory": "https://anndata.scverse.org/en/stable/"
    },
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": null,
     "commits_behind": 0,
     "latest": "v0.8.0",
     "status": "behind"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/anndata/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "pass",
     "detail": "Up to date with the template (v0.8.0)",
     "fix_url": "https://github.com/scverse/anndata/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/anndata/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "pass",
     "detail": "Listed among required status checks",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yml` present",
     "fix_url": "https://github.com/scverse/anndata/blob/main/.codecov.yml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/anndata/settings/branches"
    },
    "template/packages-json": {
     "status": "pass",
     "detail": "Listed under core-datastructure",
     "fix_url": "https://github.com/scverse/scverse.github.io/blob/main/data/ecosystem-packages.yaml"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yml` present",
     "fix_url": "https://github.com/scverse/anndata/blob/main/.readthedocs.yml"
    },
    "docs/rtd-linked": {
     "status": "fail",
     "detail": "No Read the Docs project with slug `anndata` (set `rtd_slugs:` in config/repos.yaml if it differs)",
     "fix_url": "https://app.readthedocs.org/dashboard/import/"
    },
    "docs/rtd-core-devs": {
     "status": "fail",
     "detail": "No Read the Docs project to inspect"
    },
    "docs/scverse-domain": {
     "status": "pass",
     "detail": "anndata.scverse.org",
     "fix_url": "https://app.readthedocs.org/dashboard/anndata/domains/"
    },
    "docs/rtd-build": {
     "status": "fail",
     "detail": "No Read the Docs project to inspect"
    },
    "packaging/pypi-org": {
     "status": "pass",
     "detail": "Owned by the `scverse` PyPI organization",
     "fix_url": "https://pypi.org/project/anndata/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`0.13.4` published by scverse/anndata/.github/workflows/publish.yml",
     "fix_url": "https://pypi.org/project/anndata/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/publish.yml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/anndata/blob/main/.github/workflows/publish.yml"
    },
    "packaging/spec0-python": {
     "status": "pass",
     "detail": "`requires-python = \">=3.13\"` is at or above SPEC 0's 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/anndata/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "3 of the last 5 are mutable: 0.13.2, 0.13.1, 0.13.0",
     "fix_url": "https://github.com/scverse/anndata/releases"
    },
    "packaging/pypi-environment": {
     "status": "warn",
     "detail": "`pypi` environment exists but has no protection rules",
     "fix_url": "https://github.com/scverse/anndata/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `0.13.4` == PyPI `0.13.4`",
     "fix_url": "https://github.com/scverse/anndata/releases/tag/0.13.4"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "pass",
     "detail": "All 30 action references pinned to a SHA",
     "fix_url": "https://github.com/scverse/anndata/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "7 of 7 on tags: codespell@v2.4.3, pre-commit-hooks@v6.0.0, pre-commit@v2.5.15 and 4 more",
     "fix_url": "https://github.com/scverse/anndata/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "pass",
     "detail": "No findings (8 files, online)",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "pass",
     "detail": "Covers github-actions, pre-commit",
     "fix_url": "https://github.com/scverse/anndata/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/anndata/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/anndata/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/anndata/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "5 of 7 lack `permissions:`: benchmark.yml, check-pr.yml, publish.yml and 2 more",
     "fix_url": "https://github.com/scverse/anndata/settings/actions"
    },
    "security/persist-credentials": {
     "status": "pass",
     "detail": "All 8 checkouts set `persist-credentials: false`",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/anndata/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/anndata/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (ruleset)",
     "fix_url": "https://github.com/scverse/anndata/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are required but need 0 approving reviews",
     "fix_url": "https://github.com/scverse/anndata/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "6 required: docs/readthedocs.com:icb-anndata, GPU Tests, Triage: Check if GPU tests are allowed to run and 3 more",
     "fix_url": "https://github.com/scverse/anndata/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/anndata/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 25 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/anndata/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "pass",
     "detail": "Described, linked and tagged (7 topics)",
     "fix_url": "https://github.com/scverse/anndata"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 0 days ago",
     "fix_url": "https://github.com/scverse/anndata/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "anndata-plot",
    "category": "other",
    "repo": {
     "name": "anndata-plot",
     "full_name": "scverse/anndata-plot",
     "html_url": "https://github.com/scverse/anndata-plot",
     "description": null,
     "pushed_at": "2026-05-04T18:04:10Z",
     "homepage": null,
     "archived": false,
     "license": {
      "key": "mit",
      "name": "MIT License",
      "spdx_id": "MIT",
      "url": "https://api.github.com/licenses/mit",
      "node_id": "MDc6TGljZW5zZTEz"
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": {
     "name": "anndata-plot",
     "missing": true
    },
    "rtd": null,
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": 3,
     "release": "v0.6.0",
     "latest": "v0.8.0"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/anndata-plot/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "fail",
     "detail": "3 releases behind (v0.8.0 is current)",
     "fix_url": "https://github.com/scverse/anndata-plot/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/anndata-plot/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "pass",
     "detail": "Listed among required status checks",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yaml` present",
     "fix_url": "https://github.com/scverse/anndata-plot/blob/main/.codecov.yaml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/anndata-plot/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/anndata-plot/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "fail",
     "detail": "No Read the Docs project with slug `anndata-plot` (set `rtd_slugs:` in config/repos.yaml if it differs)",
     "fix_url": "https://app.readthedocs.org/dashboard/import/"
    },
    "docs/rtd-core-devs": {
     "status": "fail",
     "detail": "No Read the Docs project to inspect"
    },
    "docs/scverse-domain": {
     "status": "unknown",
     "detail": "No documentation URL recorded anywhere",
     "fix_url": "https://app.readthedocs.org/dashboard/anndata-plot/domains/"
    },
    "docs/rtd-build": {
     "status": "fail",
     "detail": "No Read the Docs project to inspect"
    },
    "packaging/pypi-org": {
     "status": "na",
     "detail": "`anndata-plot` is not published on PyPI"
    },
    "packaging/trusted-publishing": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yaml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/anndata-plot/blob/main/.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/anndata-plot/settings"
    },
    "packaging/releases-immutable": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-environment": {
     "status": "fail",
     "detail": "No `pypi` environment (found: none)",
     "fix_url": "https://github.com/scverse/anndata-plot/settings/environments"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "fail",
     "detail": "11 of 11 unpinned: actions/checkout@v4, astral-sh/setup-uv@v5, codecov/codecov-action@v5 and 2 more",
     "fix_url": "https://github.com/scverse/anndata-plot/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "4 of 4 on tags: pre-commit-hooks@v6.0.0, pre-commit@v2.4.14, pyproject-fmt@v2.21.1 and 1 more",
     "fix_url": "https://github.com/scverse/anndata-plot/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "21 findings in 3 files, online: artipacked, cache-poisoning, excessive-permissions and 1 more",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "No `.github/dependabot.yml` (needs github-actions, pre-commit)",
     "fix_url": "https://github.com/scverse/anndata-plot/new/main?filename=.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/anndata-plot/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/anndata-plot/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/anndata-plot/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "3 of 3 lack `permissions:`: build.yaml, release.yaml, test.yaml",
     "fix_url": "https://github.com/scverse/anndata-plot/settings/actions"
    },
    "security/persist-credentials": {
     "status": "fail",
     "detail": "4 of 4 keep credentials: build.yaml:package, release.yaml:release, test.yaml:get-environments and 1 more",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/anndata-plot/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/anndata-plot/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (ruleset)",
     "fix_url": "https://github.com/scverse/anndata-plot/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are required but need 0 approving reviews",
     "fix_url": "https://github.com/scverse/anndata-plot/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "3 required: pre-commit.ci - pr, package, Tests pass in all hatch environments",
     "fix_url": "https://github.com/scverse/anndata-plot/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "MIT",
     "fix_url": "https://github.com/scverse/anndata-plot/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 55 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/anndata-plot/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing description, homepage, `scverse` topic",
     "fix_url": "https://github.com/scverse/anndata-plot"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 181 days ago",
     "fix_url": "https://github.com/scverse/anndata-plot/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "anndataR",
    "category": "other",
    "repo": {
     "name": "anndataR",
     "full_name": "scverse/anndataR",
     "html_url": "https://github.com/scverse/anndataR",
     "description": "AnnData interoperability in R",
     "pushed_at": "2026-10-30T13:57:06Z",
     "homepage": "http://anndataR.scverse.org",
     "archived": false,
     "license": {
      "key": "other",
      "name": "Other",
      "spdx_id": "NOASSERTION",
      "url": null,
      "node_id": "MDc6TGljZW5zZTA="
     },
     "topics": [
      "anndata",
      "h5ad",
      "interoperability"
     ],
     "default_branch": "devel"
    },
    "pypi": null,
    "rtd": null,
    "package_entry": {
     "name": "anndataR",
     "description": "An R implementation of the AnnData object including native reading and writing\nof H5AD files and conversion to common R data structures.\n",
     "project_home": "https://github.com/scverse/anndataR",
     "documentation_home": "https://bioconductor.org/packages/anndataR/",
     "tutorials_home": "https://scverse.org/anndataR/",
     "install": {
      "bioconductor": "anndataR"
     },
     "license": "MIT",
     "language": "R",
     "primary_category": "Data structures",
     "tags": [
      "data structures",
      "interoperability"
     ],
     "publications": [
      "10.1093/bioinformatics/btag288"
     ],
     "contact": [
      "lazappi",
      "rcannood",
      "LouiseDck"
     ],
     "logo": "anndataR/logo.svg",
     "category": "ecosystem",
     "version": "1.3.3"
    },
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/pre-commit-ci": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/codecov": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/default-branch": {
     "status": "fail",
     "detail": "Default branch is `devel`",
     "fix_url": "https://github.com/scverse/anndataR/settings/branches"
    },
    "template/packages-json": {
     "status": "warn",
     "detail": "license MIT vs GitHub's NOASSERTION",
     "fix_url": "https://github.com/scverse/scverse.github.io/blob/main/data/ecosystem-packages.yaml"
    },
    "docs/readthedocs-yaml": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-linked": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-core-devs": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/scverse-domain": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-org": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/trusted-publishing": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/release-workflow": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/spec0-python": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/anndataR/settings"
    },
    "packaging/releases-immutable": {
     "status": "pass",
     "detail": "All of the last 5 releases are immutable",
     "fix_url": "https://github.com/scverse/anndataR/releases"
    },
    "packaging/pypi-environment": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "fail",
     "detail": "48 of 48 unpinned: JamesIves/github-pages-deploy-action@v4, actions/cache@v6, actions/checkout@v7 and 15 more",
     "fix_url": "https://github.com/scverse/anndataR/tree/devel/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "65 findings in 10 files, online: artipacked, cache-poisoning, dependabot-cooldown and 3 more",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "pass",
     "detail": "Covers github-actions",
     "fix_url": "https://github.com/scverse/anndataR/blob/devel/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/anndataR/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/anndataR/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/anndataR/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "7 of 9 lack `permissions:`: R-CMD-check-bioc.yaml, bench-base.yaml, bench-pr-run.yaml and 4 more",
     "fix_url": "https://github.com/scverse/anndataR/settings/actions"
    },
    "security/persist-credentials": {
     "status": "fail",
     "detail": "6 of 8 keep credentials: R-CMD-check-bioc.yaml:R-CMD-check-bioc, bench-base.yaml:benchmark, bench-pr-run.yaml:benchmark and 3 more",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/anndataR/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/anndataR/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "No pull-request requirement",
     "fix_url": "https://github.com/scverse/anndataR/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are not required, so neither are reviews",
     "fix_url": "https://github.com/scverse/anndataR/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No status checks are required to merge",
     "fix_url": "https://github.com/scverse/anndataR/settings/rules"
    },
    "governance/license": {
     "status": "warn",
     "detail": "`LICENSE` exists but GitHub could not identify the license",
     "fix_url": "https://github.com/scverse/anndataR/blob/devel/LICENSE"
    },
    "governance/gpl-free": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing `scverse` topic",
     "fix_url": "https://github.com/scverse/anndataR"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 2 days ago",
     "fix_url": "https://github.com/scverse/anndataR/commits/devel"
    }
   }
  },
  {
   "repo": {
    "name": "cellrank",
    "category": "other",
    "repo": {
     "name": "cellrank",
     "full_name": "scverse/cellrank",
     "html_url": "https://github.com/scverse/cellrank",
     "description": "CellRank: dynamics from multi-view single-cell data",
     "pushed_at": "2026-10-14T08:50:26Z",
     "homepage": "https://cellrank.readthedocs.io/en/latest/",
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [
      "bioinformatics",
      "cell-fate-determination",
      "cell-fate-transitions",
      "data-science",
      "fuzzy-clustering-analyses",
      "genetics",
      "machine-learning",
      "manifold-learning",
      "markov-chains",
      "rna-velocity",
      "single-cell-genomics",
      "single-cell-rna-seq",
      "trajectory-generation"
     ],
     "default_branch": "main"
    },
    "pypi": {
     "name": "cellrank",
     "version": "2.3.3",
     "summary": "CellRank: dynamics from multi-view single-cell data",
     "home_page": null,
     "project_urls": {
      "Bug Tracker": "https://github.com/theislab/cellrank/issues",
      "Documentation": "https://cellrank.readthedocs.io",
      "Download": "https://cellrank.readthedocs.io/en/latest/installation.html",
      "Homepage": "https://github.com/theislab/cellrank",
      "Source Code": "https://github.com/theislab/cellrank"
     },
     "license": "BSD-3-Clause",
     "classifiers": [
      "Development Status :: 5 - Production/Stable",
      "Intended Audience :: Developers",
      "Intended Audience :: Science/Research",
      "Natural Language :: English",
      "Operating System :: MacOS :: MacOS X",
      "Operating System :: Microsoft :: Windows",
      "Operating System :: POSIX :: Linux",
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
      "Programming Language :: Python :: 3.14",
      "Topic :: Scientific/Engineering :: Bio-Informatics",
      "Topic :: Scientific/Engineering :: Mathematics",
      "Topic :: Scientific/Engineering :: Visualization",
      "Typing :: Typed"
     ],
     "ownership": {
      "organization": "scverse",
      "roles": [
       {
        "role": "Owner",
        "user": "marius1311"
       },
       {
        "role": "Owner",
        "user": "michalk8"
       },
       {
        "role": "Owner",
        "user": "s1nth0ra5"
       }
      ]
     },
     "url": "https://pypi.org/project/cellrank/",
     "provenance": {
      "filename": "cellrank-2.3.3-py3-none-any.whl",
      "publisher": {
       "environment": "deployment",
       "kind": "GitHub",
       "repository": "scverse/cellrank",
       "workflow": "release.yaml"
      },
      "san": "https://github.com/scverse/cellrank/.github/workflows/release.yaml@refs/tags/v2.3.3",
      "san_parts": {
       "repo": "scverse/cellrank",
       "workflow": ".github/workflows/release.yaml",
       "ref": "refs/tags/v2.3.3"
      },
      "files_with_provenance": 2
     }
    },
    "rtd": {
     "slug": "cellrank",
     "name": "CellRank",
     "repository": {
      "type": "git",
      "url": "https://github.com/theislab/cellrank"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/cellrank/builds/",
      "documentation": "https://cellrank.readthedocs.io/en/latest/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/cellrank/",
      "versions": "https://app.readthedocs.org/projects/cellrank/versions/"
     },
     "users": [
      "michalk8",
      "Marius1311"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": "",
     "home": "https://app.readthedocs.org/projects/cellrank/",
     "stable_build": {
      "id": 34587781,
      "success": true,
      "state": "finished",
      "finished": "2026-09-16T09:43:02.731543Z",
      "version": "stable",
      "commit": "17fee147f46b2cd4fac51e19a7955dc24e3e7c9e",
      "url": "https://app.readthedocs.org/projects/cellrank/builds/34587781/"
     }
    },
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "fail",
     "detail": "No `.cruft.json` \u2014 repo was not generated from the template",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse#usage"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/cellrank/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "fail",
     "detail": "No pre-commit.ci check run on the default branch",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "fail",
     "detail": "No codecov config file and no codecov check run",
     "fix_url": "https://app.codecov.io/gh/scverse/cellrank"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/cellrank/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/cellrank/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "fail",
     "detail": "RTD `cellrank` builds https://github.com/theislab/cellrank, expected https://github.com/scverse/cellrank.git",
     "fix_url": "https://app.readthedocs.org/dashboard/cellrank/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "fail",
     "detail": "0 of 2 maintainers are core devs; at least 2 required",
     "fix_url": "https://app.readthedocs.org/dashboard/cellrank/edit/"
    },
    "docs/scverse-domain": {
     "status": "fail",
     "detail": "Docs served from cellrank.readthedocs.io",
     "fix_url": "https://app.readthedocs.org/dashboard/cellrank/domains/"
    },
    "docs/rtd-build": {
     "status": "pass",
     "detail": "`stable` built from `17fee14` on 2026-09-16",
     "fix_url": "https://app.readthedocs.org/projects/cellrank/builds/34587781/"
    },
    "packaging/pypi-org": {
     "status": "pass",
     "detail": "Owned by the `scverse` PyPI organization",
     "fix_url": "https://pypi.org/project/cellrank/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`2.3.3` published by scverse/cellrank/.github/workflows/release.yaml",
     "fix_url": "https://pypi.org/project/cellrank/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yaml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/cellrank/blob/main/.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/cellrank/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "4 of the last 5 are mutable: v2.3.2, v2.3.1, v2.3.0 and 1 more",
     "fix_url": "https://github.com/scverse/cellrank/releases"
    },
    "packaging/pypi-environment": {
     "status": "fail",
     "detail": "No `pypi` environment (found: deployment)",
     "fix_url": "https://github.com/scverse/cellrank/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `v2.3.3` == PyPI `2.3.3`",
     "fix_url": "https://github.com/scverse/cellrank/releases/tag/v2.3.3"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "fail",
     "detail": "15 of 15 unpinned: actions/checkout@v7, actions/upload-artifact@v7, astral-sh/setup-uv@v7 and 4 more",
     "fix_url": "https://github.com/scverse/cellrank/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "4 of 4 on tags: pre-commit-hooks@v6.0.0, pre-commit@v2.5.12, pyproject-fmt@v2.29.3 and 1 more",
     "fix_url": "https://github.com/scverse/cellrank/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "29 findings in 4 files, online: artipacked, cache-poisoning, dependabot-cooldown and 2 more",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "Missing ecosystem: pre-commit",
     "fix_url": "https://github.com/scverse/cellrank/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/cellrank/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/cellrank/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/cellrank/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "3 of 3 lack `permissions:`: build.yaml, release.yaml, test.yaml",
     "fix_url": "https://github.com/scverse/cellrank/settings/actions"
    },
    "security/persist-credentials": {
     "status": "fail",
     "detail": "5 of 5 keep credentials: build.yaml:package, release.yaml:release, test.yaml:get-environments and 2 more",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/cellrank/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (classic)",
     "fix_url": "https://github.com/scverse/cellrank/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "No pull-request requirement",
     "fix_url": "https://github.com/scverse/cellrank/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are not required, so neither are reviews",
     "fix_url": "https://github.com/scverse/cellrank/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "2 required: docs/readthedocs.org:cellrank, All tests pass",
     "fix_url": "https://github.com/scverse/cellrank/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/cellrank/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 61 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/cellrank/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing `scverse` topic",
     "fix_url": "https://github.com/scverse/cellrank"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 19 days ago",
     "fix_url": "https://github.com/scverse/cellrank/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "cookiecutter-scverse",
    "category": "core-infrastructure",
    "repo": {
     "name": "cookiecutter-scverse",
     "full_name": "scverse/cookiecutter-scverse",
     "html_url": "https://github.com/scverse/cookiecutter-scverse",
     "description": "Cookiecutter template for scverse",
     "pushed_at": "2026-10-27T08:38:02Z",
     "homepage": "https://cookiecutter-scverse-instance.readthedocs.io/en/latest/",
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": null,
    "rtd": null,
    "package_entry": {
     "name": "cookiecutter-scverse",
     "description": "Cookiecutter template for scverse packages offering automated template sync\n",
     "project_home": "https://github.com/scverse/cookiecutter-scverse",
     "documentation_home": "https://cookiecutter-scverse-instance.readthedocs.io/page/template_usage.html",
     "primary_category": "Infrastructure",
     "tags": [
      "documentation"
     ],
     "license": "BSD-3-Clause",
     "language": "Python",
     "contact": [
      "grst",
      "flying-sheep"
     ],
     "category": "core-infrastructure",
     "inventory": "https://cookiecutter-scverse-instance.readthedocs.io/en/latest/"
    },
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/pre-commit-ci": {
     "status": "pass",
     "detail": "Listed among required status checks",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse/settings/branches"
    },
    "template/packages-json": {
     "status": "pass",
     "detail": "Listed under core-infrastructure",
     "fix_url": "https://github.com/scverse/scverse.github.io/blob/main/data/ecosystem-packages.yaml"
    },
    "docs/readthedocs-yaml": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-linked": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-core-devs": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/scverse-domain": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-org": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/trusted-publishing": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/release-workflow": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/spec0-python": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "5 of the last 5 are mutable: v0.8.0, test9, v0.7.0 and 2 more",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse/releases"
    },
    "packaging/pypi-environment": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "pass",
     "detail": "All 19 action references pinned to a SHA",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "5 of 5 on tags: codespell@v2.4.3, pre-commit@v2.5.15, pyproject-fmt@v2.30.3 and 2 more",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "pass",
     "detail": "No findings (6 files, online)",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "pass",
     "detail": "Covers github-actions, pre-commit",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "Workflows are fine, but the repo's default GITHUB_TOKEN is read-write",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse/settings/actions"
    },
    "security/persist-credentials": {
     "status": "fail",
     "detail": "1 of 6 keep credentials: deploy-instance-repo.yml:deploy",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (ruleset)",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse/settings/rules"
    },
    "branch/requires-review": {
     "status": "pass",
     "detail": "1 approving review required",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "3 required: deploy, check, Pre-commit checks",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing `scverse` topic",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 6 days ago",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "cupy-stubs",
    "category": "other",
    "repo": {
     "name": "cupy-stubs",
     "full_name": "scverse/cupy-stubs",
     "html_url": "https://github.com/scverse/cupy-stubs",
     "description": "Type stubs for CuPy",
     "pushed_at": "2026-10-30T10:28:00Z",
     "homepage": null,
     "archived": false,
     "license": {
      "key": "mpl-2.0",
      "name": "Mozilla Public License 2.0",
      "spdx_id": "MPL-2.0",
      "url": "https://api.github.com/licenses/mpl-2.0",
      "node_id": "MDc6TGljZW5zZTE0"
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": {
     "name": "cupy-stubs",
     "version": "1.3.0",
     "summary": "Type stubs for CuPy",
     "home_page": null,
     "project_urls": {
      "Documentation": "https://github.com/scverse/cupy-stubs#readme",
      "Homepage": "https://github.com/scverse/cupy-stubs",
      "Source": "https://github.com/scverse/cupy-stubs"
     },
     "license": "MPL-2.0",
     "classifiers": [
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.10",
      "Programming Language :: Python :: 3.11",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
      "Programming Language :: Python :: 3.14",
      "Programming Language :: Python :: 3.15",
      "Typing :: Typed"
     ],
     "ownership": {
      "organization": "scverse",
      "roles": []
     },
     "url": "https://pypi.org/project/cupy-stubs/",
     "provenance": {
      "filename": "cupy_stubs-1.3.0-py3-none-any.whl",
      "publisher": {
       "environment": "pypi",
       "kind": "GitHub",
       "repository": "scverse/cupy-stubs",
       "workflow": "release.yaml"
      },
      "san": "https://github.com/scverse/cupy-stubs/.github/workflows/release.yaml@refs/tags/v1.3.0",
      "san_parts": {
       "repo": "scverse/cupy-stubs",
       "workflow": ".github/workflows/release.yaml",
       "ref": "refs/tags/v1.3.0"
      },
      "files_with_provenance": 2
     }
    },
    "rtd": null,
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": null,
     "commits_behind": 0,
     "latest": "v0.8.0",
     "status": "behind"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/cupy-stubs/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "pass",
     "detail": "Up to date with the template (v0.8.0)",
     "fix_url": "https://github.com/scverse/cupy-stubs/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/cupy-stubs/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "pass",
     "detail": "Listed among required status checks",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "fail",
     "detail": "No codecov config file and no codecov check run",
     "fix_url": "https://app.codecov.io/gh/scverse/cupy-stubs"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/cupy-stubs/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "fail",
     "detail": "No `.readthedocs.yaml`",
     "fix_url": "https://github.com/scverse/cupy-stubs/new/main?filename=.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-core-devs": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/scverse-domain": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-org": {
     "status": "pass",
     "detail": "Owned by the `scverse` PyPI organization",
     "fix_url": "https://pypi.org/project/cupy-stubs/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`1.3.0` published by scverse/cupy-stubs/.github/workflows/release.yaml",
     "fix_url": "https://pypi.org/project/cupy-stubs/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yaml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/cupy-stubs/blob/main/.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.10\"` still allows 3.10; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/cupy-stubs/settings"
    },
    "packaging/releases-immutable": {
     "status": "pass",
     "detail": "All of the last 4 releases are immutable",
     "fix_url": "https://github.com/scverse/cupy-stubs/releases"
    },
    "packaging/pypi-environment": {
     "status": "warn",
     "detail": "`pypi` environment exists but has no protection rules",
     "fix_url": "https://github.com/scverse/cupy-stubs/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `v1.3.0` == PyPI `1.3.0`",
     "fix_url": "https://github.com/scverse/cupy-stubs/releases/tag/v1.3.0"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "pass",
     "detail": "All 11 action references pinned to a SHA",
     "fix_url": "https://github.com/scverse/cupy-stubs/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "5 of 5 on tags: pre-commit-hooks@v6.0.0, pre-commit@v2.6.2, pyproject-fmt@v2.30.3 and 2 more",
     "fix_url": "https://github.com/scverse/cupy-stubs/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "pass",
     "detail": "No findings (5 files, online)",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "pass",
     "detail": "Covers github-actions, pre-commit",
     "fix_url": "https://github.com/scverse/cupy-stubs/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/cupy-stubs/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/cupy-stubs/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/cupy-stubs/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "Workflows are fine, but the repo's default GITHUB_TOKEN is read-write",
     "fix_url": "https://github.com/scverse/cupy-stubs/settings/actions"
    },
    "security/persist-credentials": {
     "status": "pass",
     "detail": "All 4 checkouts set `persist-credentials: false`",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/cupy-stubs/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/cupy-stubs/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "No pull-request requirement",
     "fix_url": "https://github.com/scverse/cupy-stubs/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are not required, so neither are reviews",
     "fix_url": "https://github.com/scverse/cupy-stubs/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "4 required: Pre-commit checks, Check Label, package and 1 more",
     "fix_url": "https://github.com/scverse/cupy-stubs/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "MPL-2.0",
     "fix_url": "https://github.com/scverse/cupy-stubs/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 4 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/cupy-stubs/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing homepage, `scverse` topic",
     "fix_url": "https://github.com/scverse/cupy-stubs"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 3 days ago",
     "fix_url": "https://github.com/scverse/cupy-stubs/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "decoupler",
    "category": "core-framework",
    "repo": {
     "name": "decoupler",
     "full_name": "scverse/decoupler",
     "html_url": "https://github.com/scverse/decoupler",
     "description": "Python package to perform enrichment analysis from omics data.",
     "pushed_at": "2026-10-26T20:53:55Z",
     "homepage": "https://decoupler.scverse.org/",
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [
      "bioinformatics",
      "data-science",
      "enrichment",
      "enrichment-analysis",
      "numba",
      "python",
      "scverse",
      "single-cell",
      "spatial-transcriptomics",
      "transcriptomics"
     ],
     "default_branch": "main"
    },
    "pypi": {
     "name": "decoupler",
     "version": "2.3.1",
     "summary": "Python package to perform enrichment analysis from omics data.",
     "home_page": null,
     "project_urls": {
      "Documentation": "https://decoupler.scverse.org/",
      "Homepage": "https://github.com/scverse/decoupler",
      "Source": "https://github.com/scverse/decoupler"
     },
     "license": "BSD 3-Clause License",
     "classifiers": [
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
      "Programming Language :: Python :: 3.14",
      "Programming Language :: Python :: 3.15"
     ],
     "ownership": {
      "organization": "scverse",
      "roles": []
     },
     "url": "https://pypi.org/project/decoupler/",
     "provenance": {
      "filename": "decoupler-2.3.1-py3-none-any.whl",
      "publisher": {
       "environment": null,
       "kind": "GitHub",
       "repository": "scverse/decoupler",
       "workflow": "release.yaml"
      },
      "san": "https://github.com/scverse/decoupler/.github/workflows/release.yaml@refs/tags/v2.3.1",
      "san_parts": {
       "repo": "scverse/decoupler",
       "workflow": ".github/workflows/release.yaml",
       "ref": "refs/tags/v2.3.1"
      },
      "files_with_provenance": 2
     }
    },
    "rtd": {
     "slug": "decoupler",
     "name": "decoupler",
     "repository": {
      "type": "git",
      "url": "https://github.com/scverse/decoupler.git"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/decoupler/builds/",
      "documentation": "https://decoupler.scverse.org/en/stable/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/decoupler/",
      "versions": "https://app.readthedocs.org/projects/decoupler/versions/"
     },
     "users": [
      "flying-sheep",
      "PauBadiaM",
      "scverse"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": null,
     "home": "https://app.readthedocs.org/projects/decoupler/",
     "stable_build": {
      "id": 35425182,
      "success": true,
      "state": "finished",
      "finished": "2026-10-26T20:55:08.917506Z",
      "version": "stable",
      "commit": "27a1be7c75d88306bf3c2e4d0e7fb4b42d48f78a",
      "url": "https://app.readthedocs.org/projects/decoupler/builds/35425182/"
     }
    },
    "package_entry": {
     "name": "decoupler",
     "blurb": "Enrichment analysis framework",
     "description": "decoupler is a framework containing different enrichment statistical methods to extract\nbiologically driven scores from omics data within a unified framework.\n",
     "project_home": "https://github.com/scverse/decoupler",
     "documentation_home": "https://decoupler.readthedocs.io/",
     "tutorials_home": "https://decoupler.readthedocs.io/page/notebooks/",
     "publications": [
      "10.1093/bioadv/vbac016"
     ],
     "install": {
      "pypi": "decoupler",
      "conda": "conda-forge::decoupler-py"
     },
     "primary_category": "scRNA-seq",
     "tags": [
      "functional analysis"
     ],
     "license": "BSD-3-Clause",
     "language": "Python",
     "contact": [
      "PauBadiaM"
     ],
     "logo": "decoupler/logo.svg",
     "test_command": "pip install \".[test]\" && pytest",
     "category": "core-framework",
     "version": "2.3.1",
     "inventory": "https://decoupler.scverse.org/en/stable/"
    },
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": 0,
     "release": "v0.8.0",
     "latest": "v0.8.0"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/decoupler/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "pass",
     "detail": "On the latest template release (v0.8.0)",
     "fix_url": "https://github.com/scverse/decoupler/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/decoupler/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "fail",
     "detail": "No pre-commit.ci check run on the default branch",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yaml` present",
     "fix_url": "https://github.com/scverse/decoupler/blob/main/.codecov.yaml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/decoupler/settings/branches"
    },
    "template/packages-json": {
     "status": "pass",
     "detail": "Listed under core-framework",
     "fix_url": "https://github.com/scverse/scverse.github.io/blob/main/data/ecosystem-packages.yaml"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/decoupler/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "pass",
     "detail": "RTD `decoupler` builds scverse/decoupler",
     "fix_url": "https://app.readthedocs.org/dashboard/decoupler/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "pass",
     "detail": "2 of 3 maintainers are core devs (flying-sheep, PauBadiaM)",
     "fix_url": "https://app.readthedocs.org/dashboard/decoupler/edit/"
    },
    "docs/scverse-domain": {
     "status": "warn",
     "detail": "decoupler.scverse.org, but decoupler.readthedocs.io is still advertised",
     "fix_url": "https://app.readthedocs.org/dashboard/decoupler/domains/"
    },
    "docs/rtd-build": {
     "status": "pass",
     "detail": "`stable` built from `27a1be7` on 2026-10-26",
     "fix_url": "https://app.readthedocs.org/projects/decoupler/builds/35425182/"
    },
    "packaging/pypi-org": {
     "status": "pass",
     "detail": "Owned by the `scverse` PyPI organization",
     "fix_url": "https://pypi.org/project/decoupler/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`2.3.1` published by scverse/decoupler/.github/workflows/release.yaml",
     "fix_url": "https://pypi.org/project/decoupler/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yaml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/decoupler/blob/main/.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/decoupler/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "3 of the last 5 are mutable: v2.2.0, v2.1.6, v2.1.5",
     "fix_url": "https://github.com/scverse/decoupler/releases"
    },
    "packaging/pypi-environment": {
     "status": "warn",
     "detail": "`pypi` environment exists but has no protection rules",
     "fix_url": "https://github.com/scverse/decoupler/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `v2.3.1` == PyPI `2.3.1`",
     "fix_url": "https://github.com/scverse/decoupler/releases/tag/v2.3.1"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "pass",
     "detail": "All 14 action references pinned to a SHA",
     "fix_url": "https://github.com/scverse/decoupler/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "5 of 5 on tags: pre-commit-hooks@v6.0.0, pre-commit@v2.6.3, pyproject-fmt@v2.30.3 and 2 more",
     "fix_url": "https://github.com/scverse/decoupler/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "1 finding in 5 files, online: known-vulnerable-actions",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "Missing ecosystem: pre-commit",
     "fix_url": "https://github.com/scverse/decoupler/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/decoupler/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/decoupler/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/decoupler/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "Workflows are fine, but the repo's default GITHUB_TOKEN is read-write",
     "fix_url": "https://github.com/scverse/decoupler/settings/actions"
    },
    "security/persist-credentials": {
     "status": "pass",
     "detail": "All 5 checkouts set `persist-credentials: false`",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/decoupler/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (classic)",
     "fix_url": "https://github.com/scverse/decoupler/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (classic)",
     "fix_url": "https://github.com/scverse/decoupler/settings/rules"
    },
    "branch/requires-review": {
     "status": "pass",
     "detail": "1 approving review required",
     "fix_url": "https://github.com/scverse/decoupler/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No status checks are required to merge",
     "fix_url": "https://github.com/scverse/decoupler/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/decoupler/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 48 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/decoupler/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "pass",
     "detail": "Described, linked and tagged (10 topics)",
     "fix_url": "https://github.com/scverse/decoupler"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 6 days ago",
     "fix_url": "https://github.com/scverse/decoupler/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "deres",
    "category": "other",
    "repo": {
     "name": "deres",
     "full_name": "scverse/deres",
     "html_url": "https://github.com/scverse/deres",
     "description": "Container and visualization for differential expression (and similar) result tables",
     "pushed_at": "2025-04-18T13:18:10Z",
     "homepage": "https://deres.readthedocs.io/en/latest/",
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": {
     "name": "deres",
     "version": "0.1.1",
     "summary": "Container and visualization functions for differential expression (and similar) result tables.",
     "home_page": null,
     "project_urls": {
      "Documentation": "https://deres.readthedocs.io/",
      "Homepage": "https://github.com/scverse/deres",
      "Source": "https://github.com/scverse/deres"
     },
     "license": "BSD 3-Clause License",
     "classifiers": [
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.10",
      "Programming Language :: Python :: 3.11",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13"
     ],
     "ownership": {
      "organization": "scverse",
      "roles": []
     },
     "url": "https://pypi.org/project/deres/",
     "provenance": {
      "filename": "deres-0.1.1-py3-none-any.whl",
      "publisher": {
       "environment": "pypi",
       "kind": "GitHub",
       "repository": "scverse/deres",
       "workflow": "release.yaml"
      },
      "san": "https://github.com/scverse/deres/.github/workflows/release.yaml@refs/tags/v0.1.1",
      "san_parts": {
       "repo": "scverse/deres",
       "workflow": ".github/workflows/release.yaml",
       "ref": "refs/tags/v0.1.1"
      },
      "files_with_provenance": 2
     }
    },
    "rtd": {
     "slug": "deres",
     "name": "deres",
     "repository": {
      "type": "git",
      "url": "https://github.com/scverse/deres.git"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/deres/builds/",
      "documentation": "https://deres.readthedocs.io/en/latest/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/deres/",
      "versions": "https://app.readthedocs.org/projects/deres/versions/"
     },
     "users": [
      "grst",
      "flying-sheep",
      "Zethson",
      "scverse"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": null,
     "home": "https://app.readthedocs.org/projects/deres/",
     "stable_build": {
      "id": 27898743,
      "success": true,
      "state": "finished",
      "finished": "2025-04-18T13:22:55.370030Z",
      "version": "stable",
      "commit": "7ce0c2d94c2f07751e15540e91fbbad361770b2b",
      "url": "https://app.readthedocs.org/projects/deres/builds/27898743/"
     }
    },
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": 4,
     "release": "v0.5.0",
     "latest": "v0.8.0"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/deres/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "fail",
     "detail": "4 releases behind (v0.8.0 is current)",
     "fix_url": "https://github.com/scverse/deres/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/deres/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "fail",
     "detail": "No pre-commit.ci check run on the default branch",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yaml` present",
     "fix_url": "https://github.com/scverse/deres/blob/main/.codecov.yaml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/deres/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/deres/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "pass",
     "detail": "RTD `deres` builds scverse/deres",
     "fix_url": "https://app.readthedocs.org/dashboard/deres/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "pass",
     "detail": "3 of 4 maintainers are core devs (grst, flying-sheep, Zethson)",
     "fix_url": "https://app.readthedocs.org/dashboard/deres/edit/"
    },
    "docs/scverse-domain": {
     "status": "fail",
     "detail": "Docs served from deres.readthedocs.io",
     "fix_url": "https://app.readthedocs.org/dashboard/deres/domains/"
    },
    "docs/rtd-build": {
     "status": "pass",
     "detail": "`stable` built from `7ce0c2d` on 2025-04-18",
     "fix_url": "https://app.readthedocs.org/projects/deres/builds/27898743/"
    },
    "packaging/pypi-org": {
     "status": "pass",
     "detail": "Owned by the `scverse` PyPI organization",
     "fix_url": "https://pypi.org/project/deres/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`0.1.1` published by scverse/deres/.github/workflows/release.yaml",
     "fix_url": "https://pypi.org/project/deres/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yaml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/deres/blob/main/.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.10\"` still allows 3.10; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/deres/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "2 of the last 2 are mutable: v0.1.1, v0.1",
     "fix_url": "https://github.com/scverse/deres/releases"
    },
    "packaging/pypi-environment": {
     "status": "warn",
     "detail": "`pypi` environment exists but has no protection rules",
     "fix_url": "https://github.com/scverse/deres/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `v0.1.1` == PyPI `0.1.1`",
     "fix_url": "https://github.com/scverse/deres/releases/tag/v0.1.1"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "fail",
     "detail": "8 of 8 unpinned: actions/checkout@v4, astral-sh/setup-uv@v5, codecov/codecov-action@v4 and 1 more",
     "fix_url": "https://github.com/scverse/deres/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "4 of 4 on tags: pre-commit-hooks@v5.0.0, pre-commit@v1.9.4, pyproject-fmt@v2.5.1 and 1 more",
     "fix_url": "https://github.com/scverse/deres/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "14 findings in 3 files, online: artipacked, cache-poisoning, excessive-permissions and 1 more",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "No `.github/dependabot.yml` (needs github-actions, pre-commit)",
     "fix_url": "https://github.com/scverse/deres/new/main?filename=.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/deres/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/deres/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/deres/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "3 of 3 lack `permissions:`: build.yaml, release.yaml, test.yaml",
     "fix_url": "https://github.com/scverse/deres/settings/actions"
    },
    "security/persist-credentials": {
     "status": "fail",
     "detail": "3 of 3 keep credentials: build.yaml:package, release.yaml:release, test.yaml:test",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/deres/security/policy"
    },
    "branch/protected": {
     "status": "fail",
     "detail": "`main` is not protected at all",
     "fix_url": "https://github.com/scverse/deres/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "Direct pushes to the default branch are allowed",
     "fix_url": "https://github.com/scverse/deres/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "No review requirement",
     "fix_url": "https://github.com/scverse/deres/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No required status checks",
     "fix_url": "https://github.com/scverse/deres/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/deres/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 22 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/deres/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing `scverse` topic",
     "fix_url": "https://github.com/scverse/deres"
    },
    "governance/maintained": {
     "status": "warn",
     "detail": "Last push 18 months ago",
     "fix_url": "https://github.com/scverse/deres/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "ecosystem-packages",
    "category": "core-infrastructure",
    "repo": {
     "name": "ecosystem-packages",
     "full_name": "scverse/ecosystem-packages",
     "html_url": "https://github.com/scverse/ecosystem-packages",
     "description": "Registry for scverse ecosystem packages",
     "pushed_at": "2026-11-02T11:09:40Z",
     "homepage": "https://scverse.org/packages/#ecosystem",
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": null,
    "rtd": null,
    "package_entry": {
     "name": "ecosystem-packages",
     "description": "Registry for scverse ecosystem packages (https://scverse.org/packages/#ecosystem)\n",
     "project_home": "https://github.com/scverse/ecosystem-packages",
     "documentation_home": "https://github.com/scverse/ecosystem-packages",
     "inventory": null,
     "primary_category": "Infrastructure",
     "tags": [
      "documentation"
     ],
     "license": "BSD-3-Clause",
     "language": "Python",
     "contact": [
      "grst",
      "flying-sheep"
     ],
     "category": "core-infrastructure"
    },
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/pre-commit-ci": {
     "status": "pass",
     "detail": "Listed among required status checks",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/ecosystem-packages/settings/branches"
    },
    "template/packages-json": {
     "status": "pass",
     "detail": "Listed under core-infrastructure",
     "fix_url": "https://github.com/scverse/scverse.github.io/blob/main/data/ecosystem-packages.yaml"
    },
    "docs/readthedocs-yaml": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-linked": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-core-devs": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/scverse-domain": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-org": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/trusted-publishing": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/release-workflow": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/spec0-python": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/ecosystem-packages/settings"
    },
    "packaging/releases-immutable": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-environment": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "fail",
     "detail": "7 of 7 unpinned: EndBug/add-and-commit@v11, actions/checkout@v7, actions/deploy-pages@v5 and 2 more",
     "fix_url": "https://github.com/scverse/ecosystem-packages/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "8 of 8 on tags: check-jsonschema@0.38.2, check-jsonschema@0.38.2, jsonschema-gentypes@2.13.0 and 5 more",
     "fix_url": "https://github.com/scverse/ecosystem-packages/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "12 findings in 3 files, online: artipacked, excessive-permissions, unpinned-uses",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "Missing ecosystem: pre-commit",
     "fix_url": "https://github.com/scverse/ecosystem-packages/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/ecosystem-packages/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/ecosystem-packages/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/ecosystem-packages/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "2 of 2 lack `permissions:`: make-json.yml, register-template-repos.yml",
     "fix_url": "https://github.com/scverse/ecosystem-packages/settings/actions"
    },
    "security/persist-credentials": {
     "status": "fail",
     "detail": "2 of 2 keep credentials: make-json.yml:mkjson, register-template-repos.yml:register-template-repos",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/ecosystem-packages/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (classic)",
     "fix_url": "https://github.com/scverse/ecosystem-packages/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (classic)",
     "fix_url": "https://github.com/scverse/ecosystem-packages/settings/rules"
    },
    "branch/requires-review": {
     "status": "pass",
     "detail": "1 approving review required",
     "fix_url": "https://github.com/scverse/ecosystem-packages/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "2 required: pre-commit.ci - pr, mkjson",
     "fix_url": "https://github.com/scverse/ecosystem-packages/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/ecosystem-packages/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing `scverse` topic",
     "fix_url": "https://github.com/scverse/ecosystem-packages"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 0 days ago",
     "fix_url": "https://github.com/scverse/ecosystem-packages/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "fast-array-utils",
    "category": "other",
    "repo": {
     "name": "fast-array-utils",
     "full_name": "scverse/fast-array-utils",
     "html_url": "https://github.com/scverse/fast-array-utils",
     "description": "Fast array utilities",
     "pushed_at": "2026-10-30T06:23:49Z",
     "homepage": "https://fast-array-utils.scverse.org",
     "archived": false,
     "license": {
      "key": "mpl-2.0",
      "name": "Mozilla Public License 2.0",
      "spdx_id": "MPL-2.0",
      "url": "https://api.github.com/licenses/mpl-2.0",
      "node_id": "MDc6TGljZW5zZTE0"
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": {
     "name": "fast-array-utils",
     "version": "1.5.1",
     "summary": "Fast array utilities with minimal dependencies.",
     "home_page": null,
     "project_urls": {
      "Documentation": "https://icb-fast-array-utils.readthedocs-hosted.com/",
      "Issue Tracker": "https://github.com/scverse/fast-array-utils/issues",
      "Source Code": "https://github.com/scverse/fast-array-utils"
     },
     "license": "MPL-2.0",
     "classifiers": [
      "Development Status :: 5 - Production/Stable",
      "Intended Audience :: Developers",
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
      "Programming Language :: Python :: 3.14",
      "Programming Language :: Python :: 3.15"
     ],
     "ownership": {
      "organization": "scverse",
      "roles": []
     },
     "url": "https://pypi.org/project/fast-array-utils/",
     "provenance": {
      "filename": "fast_array_utils-1.5.1-py3-none-any.whl",
      "publisher": {
       "environment": "pypi",
       "kind": "GitHub",
       "repository": "scverse/fast-array-utils",
       "workflow": "publish.yml"
      },
      "san": "https://github.com/scverse/fast-array-utils/.github/workflows/publish.yml@refs/tags/v1.5.1",
      "san_parts": {
       "repo": "scverse/fast-array-utils",
       "workflow": ".github/workflows/publish.yml",
       "ref": "refs/tags/v1.5.1"
      },
      "files_with_provenance": 2
     }
    },
    "rtd": null,
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "fail",
     "detail": "No `.cruft.json` \u2014 repo was not generated from the template",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse#usage"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/fast-array-utils/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "pass",
     "detail": "Listed among required status checks",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "fail",
     "detail": "No codecov config file and no codecov check run",
     "fix_url": "https://app.codecov.io/gh/scverse/fast-array-utils"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/fast-array-utils/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yml` present",
     "fix_url": "https://github.com/scverse/fast-array-utils/blob/main/.readthedocs.yml"
    },
    "docs/rtd-linked": {
     "status": "fail",
     "detail": "No Read the Docs project with slug `fast-array-utils` (set `rtd_slugs:` in config/repos.yaml if it differs)",
     "fix_url": "https://app.readthedocs.org/dashboard/import/"
    },
    "docs/rtd-core-devs": {
     "status": "fail",
     "detail": "No Read the Docs project to inspect"
    },
    "docs/scverse-domain": {
     "status": "pass",
     "detail": "fast-array-utils.scverse.org",
     "fix_url": "https://app.readthedocs.org/dashboard/fast-array-utils/domains/"
    },
    "docs/rtd-build": {
     "status": "fail",
     "detail": "No Read the Docs project to inspect"
    },
    "packaging/pypi-org": {
     "status": "pass",
     "detail": "Owned by the `scverse` PyPI organization",
     "fix_url": "https://pypi.org/project/fast-array-utils/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`1.5.1` published by scverse/fast-array-utils/.github/workflows/publish.yml",
     "fix_url": "https://pypi.org/project/fast-array-utils/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/publish.yml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/fast-array-utils/blob/main/.github/workflows/publish.yml"
    },
    "packaging/spec0-python": {
     "status": "pass",
     "detail": "`requires-python = \">=3.13\"` is at or above SPEC 0's 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/fast-array-utils/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "4 of the last 5 are mutable: v1.5, v1.4.1, v1.4 and 1 more",
     "fix_url": "https://github.com/scverse/fast-array-utils/releases"
    },
    "packaging/pypi-environment": {
     "status": "warn",
     "detail": "`pypi` environment exists but has no protection rules",
     "fix_url": "https://github.com/scverse/fast-array-utils/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `v1.5.1` == PyPI `1.5.1`",
     "fix_url": "https://github.com/scverse/fast-array-utils/releases/tag/v1.5.1"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "fail",
     "detail": "25 of 26 unpinned: CodSpeedHQ/action@v5.6.0, actions-ecosystem/action-remove-labels@v1, actions/checkout@v7 and 8 more",
     "fix_url": "https://github.com/scverse/fast-array-utils/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "4 of 4 on tags: pre-commit-hooks@v6.0.0, pre-commit@v2.6.2, pyproject-fmt@v2.30.3 and 1 more",
     "fix_url": "https://github.com/scverse/fast-array-utils/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "41 findings in 6 files, online: artipacked, excessive-permissions, superfluous-actions and 1 more",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "pass",
     "detail": "Covers github-actions, pre-commit",
     "fix_url": "https://github.com/scverse/fast-array-utils/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/fast-array-utils/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/fast-array-utils/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/fast-array-utils/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "4 of 5 lack `permissions:`: ci-gpu.yml, ci.yml, pr.yml and 1 more",
     "fix_url": "https://github.com/scverse/fast-array-utils/settings/actions"
    },
    "security/persist-credentials": {
     "status": "fail",
     "detail": "6 of 7 keep credentials: ci-gpu.yml:test, ci.yml:bench, ci.yml:get-environments and 3 more",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "warn",
     "detail": "pr.yml use `pull_request_target` (no PR checkout seen)",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/fast-array-utils/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/fast-array-utils/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "No pull-request requirement",
     "fix_url": "https://github.com/scverse/fast-array-utils/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are not required, so neither are reviews",
     "fix_url": "https://github.com/scverse/fast-array-utils/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "8 required: docs/readthedocs.com:icb-fast-array-utils, CodSpeed Performance Analysis, codecov/patch and 5 more",
     "fix_url": "https://github.com/scverse/fast-array-utils/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "MPL-2.0",
     "fix_url": "https://github.com/scverse/fast-array-utils/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 2 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/fast-array-utils/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing `scverse` topic",
     "fix_url": "https://github.com/scverse/fast-array-utils"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 3 days ago",
     "fix_url": "https://github.com/scverse/fast-array-utils/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "formulaic-contrasts",
    "category": "other",
    "repo": {
     "name": "formulaic-contrasts",
     "full_name": "scverse/formulaic-contrasts",
     "html_url": "https://github.com/scverse/formulaic-contrasts",
     "description": "Build contrasts for models defined with formulaic",
     "pushed_at": "2026-10-26T18:16:29Z",
     "homepage": null,
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": {
     "name": "formulaic-contrasts",
     "version": "1.0.0",
     "summary": "Build contrasts for models defined with formulaic",
     "home_page": null,
     "project_urls": {
      "Documentation": "https://formulaic-contrasts.readthedocs.io/",
      "Homepage": "https://github.com/scverse/formulaic-contrasts",
      "Source": "https://github.com/scverse/formulaic-contrasts"
     },
     "license": "BSD 3-Clause License  Copyright (c) 2024, Gregor Sturm All rights reserved.  Red",
     "classifiers": [
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.10",
      "Programming Language :: Python :: 3.11",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13"
     ],
     "ownership": {
      "organization": "scverse",
      "roles": [
       {
        "role": "Owner",
        "user": "zethson"
       }
      ]
     },
     "url": "https://pypi.org/project/formulaic-contrasts/",
     "provenance": {
      "filename": "formulaic_contrasts-1.0.0-py3-none-any.whl",
      "publisher": {
       "environment": "pypi",
       "kind": "GitHub",
       "repository": "scverse/formulaic-contrasts",
       "workflow": "release.yaml"
      },
      "san": "https://github.com/scverse/formulaic-contrasts/.github/workflows/release.yaml@refs/tags/v1.0.0",
      "san_parts": {
       "repo": "scverse/formulaic-contrasts",
       "workflow": ".github/workflows/release.yaml",
       "ref": "refs/tags/v1.0.0"
      },
      "files_with_provenance": 2
     }
    },
    "rtd": {
     "slug": "formulaic-contrasts",
     "name": "formulaic-contrasts",
     "repository": {
      "type": "git",
      "url": "https://github.com/scverse/formulaic-contrasts.git"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/formulaic-contrasts/builds/",
      "documentation": "https://formulaic-contrasts.readthedocs.io/en/latest/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/formulaic-contrasts/",
      "versions": "https://app.readthedocs.org/projects/formulaic-contrasts/versions/"
     },
     "users": [
      "grst",
      "flying-sheep",
      "Zethson",
      "scverse"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": null,
     "home": "https://app.readthedocs.org/projects/formulaic-contrasts/",
     "stable_build": {
      "id": 26594945,
      "success": true,
      "state": "finished",
      "finished": "2024-12-15T13:44:46.001480Z",
      "version": "stable",
      "commit": "ceebb5c0fcfe3c72c7de736577d7e6a17162b019",
      "url": "https://app.readthedocs.org/projects/formulaic-contrasts/builds/26594945/"
     }
    },
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": 5,
     "commits_behind": 136,
     "latest": "v0.8.0",
     "status": "ahead"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/formulaic-contrasts/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "fail",
     "detail": "5 releases behind (v0.8.0 is current)",
     "fix_url": "https://github.com/scverse/formulaic-contrasts/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/formulaic-contrasts/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "pass",
     "detail": "Listed among required status checks",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yaml` present",
     "fix_url": "https://github.com/scverse/formulaic-contrasts/blob/main/.codecov.yaml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/formulaic-contrasts/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/formulaic-contrasts/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "pass",
     "detail": "RTD `formulaic-contrasts` builds scverse/formulaic-contrasts",
     "fix_url": "https://app.readthedocs.org/dashboard/formulaic-contrasts/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "pass",
     "detail": "3 of 4 maintainers are core devs (grst, flying-sheep, Zethson)",
     "fix_url": "https://app.readthedocs.org/dashboard/formulaic-contrasts/edit/"
    },
    "docs/scverse-domain": {
     "status": "fail",
     "detail": "Docs served from formulaic-contrasts.readthedocs.io",
     "fix_url": "https://app.readthedocs.org/dashboard/formulaic-contrasts/domains/"
    },
    "docs/rtd-build": {
     "status": "pass",
     "detail": "`stable` built from `ceebb5c` on 2024-12-15",
     "fix_url": "https://app.readthedocs.org/projects/formulaic-contrasts/builds/26594945/"
    },
    "packaging/pypi-org": {
     "status": "pass",
     "detail": "Owned by the `scverse` PyPI organization",
     "fix_url": "https://pypi.org/project/formulaic-contrasts/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`1.0.0` published by scverse/formulaic-contrasts/.github/workflows/release.yaml",
     "fix_url": "https://pypi.org/project/formulaic-contrasts/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yaml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/formulaic-contrasts/blob/main/.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.10\"` still allows 3.10; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/formulaic-contrasts/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "3 of the last 3 are mutable: v1.0.0, v0.2.0, v0.1.0",
     "fix_url": "https://github.com/scverse/formulaic-contrasts/releases"
    },
    "packaging/pypi-environment": {
     "status": "warn",
     "detail": "`pypi` environment exists but has no protection rules",
     "fix_url": "https://github.com/scverse/formulaic-contrasts/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `v1.0.0` == PyPI `1.0.0`",
     "fix_url": "https://github.com/scverse/formulaic-contrasts/releases/tag/v1.0.0"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "fail",
     "detail": "8 of 8 unpinned: actions/checkout@v4, actions/setup-python@v5, codecov/codecov-action@v3 and 1 more",
     "fix_url": "https://github.com/scverse/formulaic-contrasts/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "4 of 4 on tags: mirrors-prettier@v4.0.0-alpha.8, pre-commit-hooks@v6.0.0, pyproject-fmt@v2.11.1 and 1 more",
     "fix_url": "https://github.com/scverse/formulaic-contrasts/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "15 findings in 3 files, online: artipacked, cache-poisoning, excessive-permissions and 2 more",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "No `.github/dependabot.yml` (needs github-actions, pre-commit)",
     "fix_url": "https://github.com/scverse/formulaic-contrasts/new/main?filename=.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/formulaic-contrasts/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/formulaic-contrasts/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/formulaic-contrasts/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "3 of 3 lack `permissions:`: build.yaml, release.yaml, test.yaml",
     "fix_url": "https://github.com/scverse/formulaic-contrasts/settings/actions"
    },
    "security/persist-credentials": {
     "status": "fail",
     "detail": "3 of 3 keep credentials: build.yaml:package, release.yaml:release, test.yaml:test",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/formulaic-contrasts/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/formulaic-contrasts/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (ruleset)",
     "fix_url": "https://github.com/scverse/formulaic-contrasts/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are required but need 0 approving reviews",
     "fix_url": "https://github.com/scverse/formulaic-contrasts/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "4 required: docs/readthedocs.org:formulaic-contrasts, pre-commit.ci - pr, Python 3.10 and 1 more",
     "fix_url": "https://github.com/scverse/formulaic-contrasts/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/formulaic-contrasts/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 12 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/formulaic-contrasts/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing homepage, `scverse` topic",
     "fix_url": "https://github.com/scverse/formulaic-contrasts"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 6 days ago",
     "fix_url": "https://github.com/scverse/formulaic-contrasts/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "gatac",
    "category": "other",
    "repo": {
     "name": "gatac",
     "full_name": "scverse/gatac",
     "html_url": "https://github.com/scverse/gatac",
     "description": "GPU-accelerated scATACseq analysis",
     "pushed_at": "2026-10-31T21:45:00Z",
     "homepage": "https://gatac.readthedocs.io",
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": {
     "name": "gatac",
     "missing": true
    },
    "rtd": {
     "slug": "gatac",
     "name": "gatac",
     "repository": {
      "type": "git",
      "url": "https://github.com/Soldatov-Lab/gatac.git"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/gatac/builds/",
      "documentation": "https://gatac.readthedocs.io/en/latest/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/gatac/",
      "versions": "https://app.readthedocs.org/projects/gatac/versions/"
     },
     "users": [
      "LouisFaure"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": null,
     "home": "https://app.readthedocs.org/projects/gatac/",
     "stable_build": null
    },
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "fail",
     "detail": "No `.cruft.json` \u2014 repo was not generated from the template",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse#usage"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "fail",
     "detail": "no `src/` directory",
     "fix_url": "https://github.com/scverse/gatac/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/codecov": {
     "status": "fail",
     "detail": "No codecov config file and no codecov check run",
     "fix_url": "https://app.codecov.io/gh/scverse/gatac"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/gatac/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yml` present",
     "fix_url": "https://github.com/scverse/gatac/blob/main/.readthedocs.yml"
    },
    "docs/rtd-linked": {
     "status": "fail",
     "detail": "RTD `gatac` builds https://github.com/Soldatov-Lab/gatac.git, expected https://github.com/scverse/gatac.git",
     "fix_url": "https://app.readthedocs.org/dashboard/gatac/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "fail",
     "detail": "0 of 1 maintainers are core devs; at least 2 required",
     "fix_url": "https://app.readthedocs.org/dashboard/gatac/edit/"
    },
    "docs/scverse-domain": {
     "status": "fail",
     "detail": "Docs served from gatac.readthedocs.io",
     "fix_url": "https://app.readthedocs.org/dashboard/gatac/domains/"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "No build of a `stable` version",
     "fix_url": "https://app.readthedocs.org/projects/gatac/"
    },
    "packaging/pypi-org": {
     "status": "na",
     "detail": "`gatac` is not published on PyPI"
    },
    "packaging/trusted-publishing": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/release-workflow": {
     "status": "fail",
     "detail": "No workflow uses `pypa/gh-action-pypi-publish`",
     "fix_url": "https://github.com/scverse/gatac/new/main?filename=.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/gatac/settings"
    },
    "packaging/releases-immutable": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-environment": {
     "status": "fail",
     "detail": "No `pypi` environment (found: none)",
     "fix_url": "https://github.com/scverse/gatac/settings/environments"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/precommit-pinned": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/zizmor-clean": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dependabot": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/gatac/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/gatac/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/gatac/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/persist-credentials": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dangerous-triggers": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/gatac/security/policy"
    },
    "branch/protected": {
     "status": "fail",
     "detail": "`main` is not protected at all",
     "fix_url": "https://github.com/scverse/gatac/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "Direct pushes to the default branch are allowed",
     "fix_url": "https://github.com/scverse/gatac/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "No review requirement",
     "fix_url": "https://github.com/scverse/gatac/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No required status checks",
     "fix_url": "https://github.com/scverse/gatac/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/gatac/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 55 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/gatac/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing `scverse` topic",
     "fix_url": "https://github.com/scverse/gatac"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 1 days ago",
     "fix_url": "https://github.com/scverse/gatac/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "gatac-reproducibility",
    "category": "other",
    "repo": {
     "name": "gatac-reproducibility",
     "full_name": "scverse/gatac-reproducibility",
     "html_url": "https://github.com/scverse/gatac-reproducibility",
     "description": "Benchmark and comparison of gatac and snapatac2",
     "pushed_at": "2026-10-27T18:24:12Z",
     "homepage": null,
     "archived": false,
     "license": null,
     "topics": [],
     "default_branch": "main"
    },
    "pypi": null,
    "rtd": null,
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/pre-commit-ci": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/codecov": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/gatac-reproducibility/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-linked": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-core-devs": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/scverse-domain": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-org": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/trusted-publishing": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/release-workflow": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/spec0-python": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/gatac-reproducibility/settings"
    },
    "packaging/releases-immutable": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-environment": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/precommit-pinned": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/zizmor-clean": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dependabot": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/gatac-reproducibility/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/gatac-reproducibility/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/gatac-reproducibility/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/persist-credentials": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dangerous-triggers": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/gatac-reproducibility/security/policy"
    },
    "branch/protected": {
     "status": "fail",
     "detail": "`main` is not protected at all",
     "fix_url": "https://github.com/scverse/gatac-reproducibility/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "Direct pushes to the default branch are allowed",
     "fix_url": "https://github.com/scverse/gatac-reproducibility/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "No review requirement",
     "fix_url": "https://github.com/scverse/gatac-reproducibility/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No required status checks",
     "fix_url": "https://github.com/scverse/gatac-reproducibility/settings/rules"
    },
    "governance/license": {
     "status": "fail",
     "detail": "No license",
     "fix_url": "https://github.com/scverse/gatac-reproducibility/community/license/new?branch=main"
    },
    "governance/gpl-free": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing homepage, `scverse` topic",
     "fix_url": "https://github.com/scverse/gatac-reproducibility"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 5 days ago",
     "fix_url": "https://github.com/scverse/gatac-reproducibility/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "gatac-tutorials",
    "category": "other",
    "repo": {
     "name": "gatac-tutorials",
     "full_name": "scverse/gatac-tutorials",
     "html_url": "https://github.com/scverse/gatac-tutorials",
     "description": null,
     "pushed_at": "2026-10-26T19:30:47Z",
     "homepage": null,
     "archived": false,
     "license": null,
     "topics": [],
     "default_branch": "main"
    },
    "pypi": {
     "name": "gatac-notebooks",
     "missing": true
    },
    "rtd": null,
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "fail",
     "detail": "No `.cruft.json` \u2014 repo was not generated from the template",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse#usage"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "fail",
     "detail": "build backend is unset; no `src/` directory",
     "fix_url": "https://github.com/scverse/gatac-tutorials/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/codecov": {
     "status": "fail",
     "detail": "No codecov config file and no codecov check run",
     "fix_url": "https://app.codecov.io/gh/scverse/gatac-tutorials"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/gatac-tutorials/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "fail",
     "detail": "No `.readthedocs.yaml`",
     "fix_url": "https://github.com/scverse/gatac-tutorials/new/main?filename=.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-core-devs": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/scverse-domain": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-org": {
     "status": "na",
     "detail": "`gatac-notebooks` is not published on PyPI"
    },
    "packaging/trusted-publishing": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/release-workflow": {
     "status": "fail",
     "detail": "No workflow uses `pypa/gh-action-pypi-publish`",
     "fix_url": "https://github.com/scverse/gatac-tutorials/new/main?filename=.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/gatac-tutorials/settings"
    },
    "packaging/releases-immutable": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-environment": {
     "status": "fail",
     "detail": "No `pypi` environment (found: none)",
     "fix_url": "https://github.com/scverse/gatac-tutorials/settings/environments"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/precommit-pinned": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/zizmor-clean": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dependabot": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/gatac-tutorials/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/gatac-tutorials/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/gatac-tutorials/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/persist-credentials": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dangerous-triggers": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/gatac-tutorials/security/policy"
    },
    "branch/protected": {
     "status": "fail",
     "detail": "`main` is not protected at all",
     "fix_url": "https://github.com/scverse/gatac-tutorials/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "Direct pushes to the default branch are allowed",
     "fix_url": "https://github.com/scverse/gatac-tutorials/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "No review requirement",
     "fix_url": "https://github.com/scverse/gatac-tutorials/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No required status checks",
     "fix_url": "https://github.com/scverse/gatac-tutorials/settings/rules"
    },
    "governance/license": {
     "status": "fail",
     "detail": "No license",
     "fix_url": "https://github.com/scverse/gatac-tutorials/community/license/new?branch=main"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 170 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/gatac-tutorials/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing description, homepage, `scverse` topic",
     "fix_url": "https://github.com/scverse/gatac-tutorials"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 6 days ago",
     "fix_url": "https://github.com/scverse/gatac-tutorials/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "genomic-features",
    "category": "other",
    "repo": {
     "name": "genomic-features",
     "full_name": "scverse/genomic-features",
     "html_url": "https://github.com/scverse/genomic-features",
     "description": "Genomic Features in Python from BioConductor's AnnotationHub",
     "pushed_at": "2026-10-26T18:16:51Z",
     "homepage": "https://genomic-features.readthedocs.io",
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [
      "genomics",
      "python"
     ],
     "default_branch": "main"
    },
    "pypi": {
     "name": "genomic-features",
     "version": "0.0.1a0",
     "summary": "Genomic annotations using BioConductor resources in Python.",
     "home_page": "",
     "project_urls": {
      "Documentation": "https://genomic-features.readthedocs.io/",
      "Home-page": "https://github.com/scverse/genomic-features",
      "Source": "https://github.com/scverse/genomic-features"
     },
     "license": "BSD 3-Clause License  Copyright (c) 2023, Isaac Virshup, Emma Dann, and Laura Ma",
     "classifiers": [],
     "ownership": {
      "organization": "scverse",
      "roles": []
     },
     "url": "https://pypi.org/project/genomic-features/",
     "provenance": null
    },
    "rtd": {
     "slug": "genomic-features",
     "name": "genomic-features",
     "repository": {
      "type": "git",
      "url": "https://github.com/scverse/genomic-features.git"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/genomic-features/builds/",
      "documentation": "https://genomic-features.readthedocs.io/en/latest/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/genomic-features/",
      "versions": "https://app.readthedocs.org/projects/genomic-features/versions/"
     },
     "users": [
      "ivirshup",
      "emdann"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": ".readthedocs.yaml",
     "home": "https://app.readthedocs.org/projects/genomic-features/",
     "stable_build": null
    },
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": 6,
     "release": "v0.3.1",
     "latest": "v0.8.0"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/genomic-features/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "fail",
     "detail": "6 releases behind (v0.8.0 is current)",
     "fix_url": "https://github.com/scverse/genomic-features/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/genomic-features/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "fail",
     "detail": "No pre-commit.ci check run on the default branch",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yaml` present",
     "fix_url": "https://github.com/scverse/genomic-features/blob/main/.codecov.yaml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/genomic-features/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/genomic-features/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "pass",
     "detail": "RTD `genomic-features` builds scverse/genomic-features",
     "fix_url": "https://app.readthedocs.org/dashboard/genomic-features/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "fail",
     "detail": "0 of 2 maintainers are core devs; at least 2 required",
     "fix_url": "https://app.readthedocs.org/dashboard/genomic-features/edit/"
    },
    "docs/scverse-domain": {
     "status": "fail",
     "detail": "Docs served from genomic-features.readthedocs.io",
     "fix_url": "https://app.readthedocs.org/dashboard/genomic-features/domains/"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "No build of a `stable` version",
     "fix_url": "https://app.readthedocs.org/projects/genomic-features/"
    },
    "packaging/pypi-org": {
     "status": "pass",
     "detail": "Owned by the `scverse` PyPI organization",
     "fix_url": "https://pypi.org/project/genomic-features/"
    },
    "packaging/trusted-publishing": {
     "status": "fail",
     "detail": "`0.0.1a0` has no attestations \u2014 published with a token, not OIDC",
     "fix_url": "https://docs.pypi.org/trusted-publishers/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yaml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/genomic-features/blob/main/.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.9\"` still allows 3.9; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/genomic-features/settings"
    },
    "packaging/releases-immutable": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-environment": {
     "status": "fail",
     "detail": "No `pypi` environment (found: none)",
     "fix_url": "https://github.com/scverse/genomic-features/settings/environments"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "No published GitHub releases"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "fail",
     "detail": "9 of 9 unpinned: actions/cache@v3, actions/checkout@v3, actions/checkout@v4 and 3 more",
     "fix_url": "https://github.com/scverse/genomic-features/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "3 of 3 on tags: codespell@v2.2.6, pre-commit-hooks@v4.6.0, ruff-pre-commit@v0.3.7",
     "fix_url": "https://github.com/scverse/genomic-features/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "16 findings in 3 files, online: artipacked, cache-poisoning, excessive-permissions and 2 more",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "No `.github/dependabot.yml` (needs github-actions, pre-commit)",
     "fix_url": "https://github.com/scverse/genomic-features/new/main?filename=.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/genomic-features/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/genomic-features/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/genomic-features/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "3 of 3 lack `permissions:`: build.yaml, release.yaml, test.yaml",
     "fix_url": "https://github.com/scverse/genomic-features/settings/actions"
    },
    "security/persist-credentials": {
     "status": "fail",
     "detail": "3 of 3 keep credentials: build.yaml:package, release.yaml:release, test.yaml:test",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/genomic-features/security/policy"
    },
    "branch/protected": {
     "status": "fail",
     "detail": "force-push still allowed (classic)",
     "fix_url": "https://github.com/scverse/genomic-features/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "No pull-request requirement",
     "fix_url": "https://github.com/scverse/genomic-features/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are not required, so neither are reviews",
     "fix_url": "https://github.com/scverse/genomic-features/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "2 required: test (3.9, ubuntu-latest), test (3.11, ubuntu-latest)",
     "fix_url": "https://github.com/scverse/genomic-features/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/genomic-features/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 29 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/genomic-features/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing `scverse` topic",
     "fix_url": "https://github.com/scverse/genomic-features"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 6 days ago",
     "fix_url": "https://github.com/scverse/genomic-features/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "gget",
    "category": "other",
    "repo": {
     "name": "gget",
     "full_name": "scverse/gget",
     "html_url": "https://github.com/scverse/gget",
     "description": "\ud83e\uddec gget enables efficient querying of genomic reference databases",
     "pushed_at": "2026-11-01T05:03:41Z",
     "homepage": "https://scverse.org/gget",
     "archived": false,
     "license": {
      "key": "bsd-2-clause",
      "name": "BSD 2-Clause \"Simplified\" License",
      "spdx_id": "BSD-2-Clause",
      "url": "https://api.github.com/licenses/bsd-2-clause",
      "node_id": "MDc6TGljZW5zZTQ="
     },
     "topics": [
      "alphafold",
      "alphafold2",
      "archs4",
      "blast",
      "cellxgene",
      "databases",
      "enrichment-analysis",
      "enrichr",
      "ensembl",
      "genomics",
      "gget",
      "ncbi",
      "proteomics",
      "reference",
      "rna-seq",
      "transcriptomics",
      "uniprot"
     ],
     "default_branch": "main"
    },
    "pypi": {
     "name": "gget",
     "version": "0.30.8",
     "summary": "Efficient querying of genomic databases.",
     "home_page": null,
     "project_urls": {
      "Documentation": "https://pachterlab.github.io/gget",
      "Homepage": "https://github.com/pachterlab/gget",
      "Source": "https://github.com/pachterlab/gget"
     },
     "license": "BSD-2-Clause",
     "classifiers": [
      "Environment :: Console",
      "Framework :: Jupyter",
      "Intended Audience :: Science/Research",
      "Operating System :: OS Independent",
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
      "Programming Language :: Python :: 3.14",
      "Topic :: Scientific/Engineering :: Bio-Informatics",
      "Topic :: Utilities"
     ],
     "ownership": {
      "organization": null,
      "roles": [
       {
        "role": "Owner",
        "user": "lauraluebbert"
       },
       {
        "role": "Owner",
        "user": "lpachter"
       }
      ]
     },
     "url": "https://pypi.org/project/gget/",
     "provenance": {
      "filename": "gget-0.30.8-py3-none-any.whl",
      "publisher": {
       "environment": "pypi",
       "kind": "GitHub",
       "repository": "scverse/gget",
       "workflow": "release.yml"
      },
      "san": "https://github.com/scverse/gget/.github/workflows/release.yml@refs/tags/v0.30.8",
      "san_parts": {
       "repo": "scverse/gget",
       "workflow": ".github/workflows/release.yml",
       "ref": "refs/tags/v0.30.8"
      },
      "files_with_provenance": 2
     }
    },
    "rtd": null,
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "fail",
     "detail": "No `.cruft.json` \u2014 repo was not generated from the template",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse#usage"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "fail",
     "detail": "no `src/` directory",
     "fix_url": "https://github.com/scverse/gget/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "fail",
     "detail": "No pre-commit.ci check run on the default branch",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "fail",
     "detail": "No codecov config file and no codecov check run",
     "fix_url": "https://app.codecov.io/gh/scverse/gget"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/gget/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "fail",
     "detail": "No `.readthedocs.yaml`",
     "fix_url": "https://github.com/scverse/gget/new/main?filename=.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-core-devs": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/scverse-domain": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-org": {
     "status": "fail",
     "detail": "Not owned by a PyPI organization",
     "fix_url": "https://pypi.org/project/gget/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`0.30.8` published by scverse/gget/.github/workflows/release.yml",
     "fix_url": "https://pypi.org/project/gget/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/gget/blob/main/.github/workflows/release.yml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/gget/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "5 of the last 5 are mutable: v0.30.8, v0.30.7, v0.30.6 and 2 more",
     "fix_url": "https://github.com/scverse/gget/releases"
    },
    "packaging/pypi-environment": {
     "status": "pass",
     "detail": "`pypi` environment protected by branch_policy, required_reviewers",
     "fix_url": "https://github.com/scverse/gget/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `v0.30.8` == PyPI `0.30.8`",
     "fix_url": "https://github.com/scverse/gget/releases/tag/v0.30.8"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "fail",
     "detail": "22 of 22 unpinned: EndBug/add-and-commit@v4, actions/cache@v4, actions/checkout@v2 and 10 more",
     "fix_url": "https://github.com/scverse/gget/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "4 of 4 on tags: pre-commit-hooks@v6.0.0, pre-commit@v2.5.12, pyproject-fmt@v2.29.3 and 1 more",
     "fix_url": "https://github.com/scverse/gget/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "39 findings in 8 files, online: artipacked, dangerous-triggers, excessive-permissions and 2 more",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "No `.github/dependabot.yml` (needs github-actions, pre-commit)",
     "fix_url": "https://github.com/scverse/gget/new/main?filename=.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/gget/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/gget/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/gget/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "7 of 8 lack `permissions:`: build.yml, deploy.yml, gdrive_backup.yml and 4 more",
     "fix_url": "https://github.com/scverse/gget/settings/actions"
    },
    "security/persist-credentials": {
     "status": "fail",
     "detail": "8 of 8 keep credentials: build.yml:package, ci.yml:get-environments, ci.yml:test and 5 more",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/gget/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/gget/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "No pull-request requirement",
     "fix_url": "https://github.com/scverse/gget/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are not required, so neither are reviews",
     "fix_url": "https://github.com/scverse/gget/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No status checks are required to merge",
     "fix_url": "https://github.com/scverse/gget/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-2-Clause",
     "fix_url": "https://github.com/scverse/gget/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 42 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/gget/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing `scverse` topic",
     "fix_url": "https://github.com/scverse/gget"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 1 days ago",
     "fix_url": "https://github.com/scverse/gget/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "governance",
    "category": "core-infrastructure",
    "repo": {
     "name": "governance",
     "full_name": "scverse/governance",
     "html_url": "https://github.com/scverse/governance",
     "description": "Governance docs for scverse",
     "pushed_at": "2026-10-15T13:35:17Z",
     "homepage": "https://scverse.org/about",
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [
      "governance",
      "scverse"
     ],
     "default_branch": "main"
    },
    "pypi": null,
    "rtd": {
     "slug": "governance",
     "name": "governance",
     "repository": {
      "type": "git",
      "url": "https://github.com/uio-carpentry/governance"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/governance/builds/",
      "documentation": "https://governance.readthedocs.io/en/latest/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/governance/",
      "versions": "https://app.readthedocs.org/projects/governance/versions/"
     },
     "users": [
      "annefou"
     ],
     "default_branch": "master",
     "readthedocs_yaml_path": null,
     "home": "https://app.readthedocs.org/projects/governance/",
     "stable_build": null
    },
    "package_entry": {
     "name": "governance",
     "description": "Governance docs for scverse\n",
     "project_home": "https://github.com/scverse/governance",
     "documentation_home": "https://scverse.org/about",
     "inventory": null,
     "primary_category": "Infrastructure",
     "tags": [
      "documentation"
     ],
     "license": "BSD-3-Clause",
     "language": "Python",
     "contact": [
      "Zethson",
      "gtca",
      "mikelkou"
     ],
     "category": "core-infrastructure"
    },
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/pre-commit-ci": {
     "status": "pass",
     "detail": "Listed among required status checks",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/governance/settings/branches"
    },
    "template/packages-json": {
     "status": "pass",
     "detail": "Listed under core-infrastructure",
     "fix_url": "https://github.com/scverse/scverse.github.io/blob/main/data/ecosystem-packages.yaml"
    },
    "docs/readthedocs-yaml": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-linked": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-core-devs": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/scverse-domain": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-org": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/trusted-publishing": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/release-workflow": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/spec0-python": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/governance/settings"
    },
    "packaging/releases-immutable": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-environment": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "3 of 3 on tags: codespell@v2.4.3, mirrors-prettier@v4.0.0-alpha.8, pre-commit-hooks@v6.0.0",
     "fix_url": "https://github.com/scverse/governance/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "No `.github/dependabot.yml` (needs pre-commit)",
     "fix_url": "https://github.com/scverse/governance/new/main?filename=.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/governance/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/governance/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/governance/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/persist-credentials": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dangerous-triggers": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/governance/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/governance/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (ruleset)",
     "fix_url": "https://github.com/scverse/governance/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are required but need 0 approving reviews",
     "fix_url": "https://github.com/scverse/governance/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "1 required: pre-commit.ci - pr",
     "fix_url": "https://github.com/scverse/governance/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/governance/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "governance/description-topics": {
     "status": "pass",
     "detail": "Described, linked and tagged (2 topics)",
     "fix_url": "https://github.com/scverse/governance"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 17 days ago",
     "fix_url": "https://github.com/scverse/governance/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "gpu-ci-config",
    "category": "other",
    "repo": {
     "name": "gpu-ci-config",
     "full_name": "scverse/gpu-ci-config",
     "html_url": "https://github.com/scverse/gpu-ci-config",
     "description": "Update and Deploy GPU-CI AMI on AWS",
     "pushed_at": "2026-10-19T18:18:44Z",
     "homepage": null,
     "archived": false,
     "license": {
      "key": "mit",
      "name": "MIT License",
      "spdx_id": "MIT",
      "url": "https://api.github.com/licenses/mit",
      "node_id": "MDc6TGljZW5zZTEz"
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": null,
    "rtd": null,
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/pre-commit-ci": {
     "status": "pass",
     "detail": "Listed among required status checks",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/gpu-ci-config/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-linked": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-core-devs": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/scverse-domain": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-org": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/trusted-publishing": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/release-workflow": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/spec0-python": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/gpu-ci-config/settings"
    },
    "packaging/releases-immutable": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-environment": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "pass",
     "detail": "All 10 action references pinned to a SHA",
     "fix_url": "https://github.com/scverse/gpu-ci-config/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "1 of 1 on tags: zizmor-pre-commit@v1.26.1",
     "fix_url": "https://github.com/scverse/gpu-ci-config/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "pass",
     "detail": "No findings (6 files, online)",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "Missing ecosystem: pre-commit",
     "fix_url": "https://github.com/scverse/gpu-ci-config/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/gpu-ci-config/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/gpu-ci-config/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/gpu-ci-config/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "3 of 5 lack `permissions:`: build-ami.yml, cleanup-old-amis.yml, update-ci-ami.yml",
     "fix_url": "https://github.com/scverse/gpu-ci-config/settings/actions"
    },
    "security/persist-credentials": {
     "status": "pass",
     "detail": "All 4 checkouts set `persist-credentials: false`",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/gpu-ci-config/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/gpu-ci-config/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (ruleset)",
     "fix_url": "https://github.com/scverse/gpu-ci-config/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are required but need 0 approving reviews",
     "fix_url": "https://github.com/scverse/gpu-ci-config/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "1 required: pre-commit.ci - pr",
     "fix_url": "https://github.com/scverse/gpu-ci-config/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "MIT",
     "fix_url": "https://github.com/scverse/gpu-ci-config/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing homepage, `scverse` topic",
     "fix_url": "https://github.com/scverse/gpu-ci-config"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 13 days ago",
     "fix_url": "https://github.com/scverse/gpu-ci-config/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "integration-testing",
    "category": "core-infrastructure",
    "repo": {
     "name": "integration-testing",
     "full_name": "scverse/integration-testing",
     "html_url": "https://github.com/scverse/integration-testing",
     "description": "A repo for integration testing core packages against upstream core packages",
     "pushed_at": "2026-10-25T17:16:51Z",
     "homepage": null,
     "archived": false,
     "license": {
      "key": "mit",
      "name": "MIT License",
      "spdx_id": "MIT",
      "url": "https://api.github.com/licenses/mit",
      "node_id": "MDc6TGljZW5zZTEz"
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": null,
    "rtd": null,
    "package_entry": {
     "name": "integration-testing",
     "description": "A repo for integration testing core packages against upstream core packages\n",
     "project_home": "https://github.com/scverse/integration-testing",
     "documentation_home": "https://github.com/scverse/integration-testing",
     "inventory": null,
     "primary_category": "Infrastructure",
     "tags": [
      "benchmarking"
     ],
     "license": "MIT",
     "language": "Python",
     "contact": [
      "ilan-gold",
      "flying-sheep"
     ],
     "category": "core-infrastructure"
    },
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/pre-commit-ci": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/codecov": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/integration-testing/settings/branches"
    },
    "template/packages-json": {
     "status": "pass",
     "detail": "Listed under core-infrastructure",
     "fix_url": "https://github.com/scverse/scverse.github.io/blob/main/data/ecosystem-packages.yaml"
    },
    "docs/readthedocs-yaml": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-linked": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-core-devs": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/scverse-domain": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-org": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/trusted-publishing": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/release-workflow": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/spec0-python": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/integration-testing/settings"
    },
    "packaging/releases-immutable": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-environment": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "fail",
     "detail": "11 of 11 unpinned: Swatinem/rust-cache@v2, actions/checkout@v7, actions/setup-python@v7 and 4 more",
     "fix_url": "https://github.com/scverse/integration-testing/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "34 findings in 3 files, online: artipacked, github-app, template-injection and 1 more",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "No `.github/dependabot.yml` (needs github-actions)",
     "fix_url": "https://github.com/scverse/integration-testing/new/main?filename=.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/integration-testing/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/integration-testing/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/integration-testing/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "1 of 2 lack `permissions:`: integration-test.yml",
     "fix_url": "https://github.com/scverse/integration-testing/settings/actions"
    },
    "security/persist-credentials": {
     "status": "fail",
     "detail": "4 of 4 keep credentials: integration-test-r.yml:test, integration-test-r.yml:test, integration-test.yml:test and 1 more",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/integration-testing/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/integration-testing/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (ruleset)",
     "fix_url": "https://github.com/scverse/integration-testing/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are required but need 0 approving reviews",
     "fix_url": "https://github.com/scverse/integration-testing/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No status checks are required to merge",
     "fix_url": "https://github.com/scverse/integration-testing/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "MIT",
     "fix_url": "https://github.com/scverse/integration-testing/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing homepage, `scverse` topic",
     "fix_url": "https://github.com/scverse/integration-testing"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 7 days ago",
     "fix_url": "https://github.com/scverse/integration-testing/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "liana",
    "category": "other",
    "repo": {
     "name": "liana",
     "full_name": "scverse/liana",
     "html_url": "https://github.com/scverse/liana",
     "description": "LIANA+: an all-in-one framework for cell-cell communication",
     "pushed_at": "2026-10-31T13:23:05Z",
     "homepage": "http://liana.readthedocs.io/",
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [
      "cell-cell-communication",
      "ligand-receptor",
      "python",
      "single-cell",
      "single-cell-rna-seq",
      "spatial",
      "spatialomics"
     ],
     "default_branch": "main"
    },
    "pypi": {
     "name": "liana",
     "version": "2.1.0",
     "summary": "LIANA+: a one-stop-shop framework for cell-cell communication",
     "home_page": null,
     "project_urls": {
      "Documentation": "https://liana.readthedocs.io/",
      "Homepage": "https://github.com/scverse/liana",
      "Source": "https://github.com/scverse/liana"
     },
     "license": "BSD 3-Clause License",
     "classifiers": [
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
      "Programming Language :: Python :: 3.14",
      "Typing :: Typed"
     ],
     "ownership": {
      "organization": "scverse",
      "roles": []
     },
     "url": "https://pypi.org/project/liana/",
     "provenance": {
      "filename": "liana-2.1.0-py3-none-any.whl",
      "publisher": {
       "environment": "pypi",
       "kind": "GitHub",
       "repository": "scverse/liana",
       "workflow": "release.yaml"
      },
      "san": "https://github.com/scverse/liana/.github/workflows/release.yaml@refs/tags/v2.1.0",
      "san_parts": {
       "repo": "scverse/liana",
       "workflow": ".github/workflows/release.yaml",
       "ref": "refs/tags/v2.1.0"
      },
      "files_with_provenance": 2
     }
    },
    "rtd": {
     "slug": "liana",
     "name": "liana",
     "repository": {
      "type": "git",
      "url": "https://github.com/scverse/liana.git"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/liana/builds/",
      "documentation": "https://liana.readthedocs.io/en/stable/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/liana/",
      "versions": "https://app.readthedocs.org/projects/liana/versions/"
     },
     "users": [
      "dbdimitrov"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": null,
     "home": "https://app.readthedocs.org/projects/liana/",
     "stable_build": {
      "id": 35545198,
      "success": true,
      "state": "finished",
      "finished": "2026-10-31T13:25:10.639929Z",
      "version": "stable",
      "commit": "3140d5c976343ed6578be146ca62398183933b36",
      "url": "https://app.readthedocs.org/projects/liana/builds/35545198/"
     }
    },
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": null,
     "commits_behind": 0,
     "latest": "v0.8.0",
     "status": "behind"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/liana/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "pass",
     "detail": "Up to date with the template (v0.8.0)",
     "fix_url": "https://github.com/scverse/liana/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/liana/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "fail",
     "detail": "No pre-commit.ci check run on the default branch",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yaml` present",
     "fix_url": "https://github.com/scverse/liana/blob/main/.codecov.yaml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/liana/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/liana/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "pass",
     "detail": "RTD `liana` builds scverse/liana",
     "fix_url": "https://app.readthedocs.org/dashboard/liana/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "fail",
     "detail": "0 of 1 maintainers are core devs; at least 2 required",
     "fix_url": "https://app.readthedocs.org/dashboard/liana/edit/"
    },
    "docs/scverse-domain": {
     "status": "fail",
     "detail": "Docs served from liana.readthedocs.io",
     "fix_url": "https://app.readthedocs.org/dashboard/liana/domains/"
    },
    "docs/rtd-build": {
     "status": "pass",
     "detail": "`stable` built from `3140d5c` on 2026-10-31",
     "fix_url": "https://app.readthedocs.org/projects/liana/builds/35545198/"
    },
    "packaging/pypi-org": {
     "status": "pass",
     "detail": "Owned by the `scverse` PyPI organization",
     "fix_url": "https://pypi.org/project/liana/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`2.1.0` published by scverse/liana/.github/workflows/release.yaml",
     "fix_url": "https://pypi.org/project/liana/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yaml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/liana/blob/main/.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/liana/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "3 of the last 5 are mutable: v1.10.0, v1.9.0, v1.8.1",
     "fix_url": "https://github.com/scverse/liana/releases"
    },
    "packaging/pypi-environment": {
     "status": "warn",
     "detail": "`pypi` environment exists but has no protection rules",
     "fix_url": "https://github.com/scverse/liana/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `v2.1.0` == PyPI `2.1.0`",
     "fix_url": "https://github.com/scverse/liana/releases/tag/v2.1.0"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "pass",
     "detail": "All 17 action references pinned to a SHA",
     "fix_url": "https://github.com/scverse/liana/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "5 of 5 on tags: pre-commit-hooks@v6.0.0, pre-commit@v2.5.14, pyproject-fmt@v2.29.4 and 2 more",
     "fix_url": "https://github.com/scverse/liana/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "pass",
     "detail": "No findings (5 files, online)",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "pass",
     "detail": "Covers github-actions, pre-commit",
     "fix_url": "https://github.com/scverse/liana/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/liana/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/liana/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/liana/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "Workflows are fine, but the repo's default GITHUB_TOKEN is read-write",
     "fix_url": "https://github.com/scverse/liana/settings/actions"
    },
    "security/persist-credentials": {
     "status": "pass",
     "detail": "All 6 checkouts set `persist-credentials: false`",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/liana/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (classic)",
     "fix_url": "https://github.com/scverse/liana/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (classic)",
     "fix_url": "https://github.com/scverse/liana/settings/rules"
    },
    "branch/requires-review": {
     "status": "pass",
     "detail": "1 approving review required",
     "fix_url": "https://github.com/scverse/liana/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No status checks are required to merge",
     "fix_url": "https://github.com/scverse/liana/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/liana/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 62 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/liana/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing `scverse` topic",
     "fix_url": "https://github.com/scverse/liana"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 1 days ago",
     "fix_url": "https://github.com/scverse/liana/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "mantispy",
    "category": "other",
    "repo": {
     "name": "mantispy",
     "full_name": "scverse/mantispy",
     "html_url": "https://github.com/scverse/mantispy",
     "description": "Analysis framework for morphological profiling data",
     "pushed_at": "2026-11-02T11:49:04Z",
     "homepage": "https://mantispy.readthedocs.io",
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": {
     "name": "mantispy",
     "version": "0.1.0a3",
     "summary": "Image-based profiling on AnnData",
     "home_page": null,
     "project_urls": {
      "Changelog": "https://github.com/scverse/mantispy/releases",
      "Documentation": "https://mantispy.readthedocs.io/",
      "Forum": "https://discourse.scverse.org/",
      "Homepage": "https://github.com/scverse/mantispy",
      "Issues": "https://github.com/scverse/mantispy/issues",
      "Source": "https://github.com/scverse/mantispy"
     },
     "license": "BSD 3-Clause License",
     "classifiers": [
      "Development Status :: 3 - Alpha",
      "Framework :: Jupyter",
      "Intended Audience :: Developers",
      "Intended Audience :: Science/Research",
      "License :: OSI Approved :: BSD License",
      "Natural Language :: English",
      "Operating System :: MacOS :: MacOS X",
      "Operating System :: POSIX :: Linux",
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
      "Programming Language :: Python :: 3.14",
      "Programming Language :: Python :: 3.15",
      "Topic :: Scientific/Engineering :: Bio-Informatics",
      "Topic :: Scientific/Engineering :: Visualization",
      "Typing :: Typed"
     ],
     "ownership": {
      "organization": null,
      "roles": [
       {
        "role": "Owner",
        "user": "timtreis"
       }
      ]
     },
     "url": "https://pypi.org/project/mantispy/",
     "provenance": {
      "filename": "mantispy-0.1.0a3-py3-none-any.whl",
      "publisher": {
       "environment": "pypi",
       "kind": "GitHub",
       "repository": "scverse/mantispy",
       "workflow": "release.yaml"
      },
      "san": "https://github.com/scverse/mantispy/.github/workflows/release.yaml@refs/tags/v0.1.0a3",
      "san_parts": {
       "repo": "scverse/mantispy",
       "workflow": ".github/workflows/release.yaml",
       "ref": "refs/tags/v0.1.0a3"
      },
      "files_with_provenance": 2
     }
    },
    "rtd": {
     "slug": "mantispy",
     "name": "mantispy",
     "repository": {
      "type": "git",
      "url": "https://github.com/scverse/mantispy.git"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/mantispy/builds/",
      "documentation": "https://mantispy.readthedocs.io/en/latest/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/mantispy/",
      "versions": "https://app.readthedocs.org/projects/mantispy/versions/"
     },
     "users": [
      "Zethson"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": null,
     "home": "https://app.readthedocs.org/projects/mantispy/",
     "stable_build": null
    },
    "package_entry": {
     "name": "mantispy",
     "description": "mantispy brings Cell Painting and other image-based profiling data into the\nscverse ecosystem, from reading what a pipeline wrote through quality control,\nnormalization and batch correction to calling hits and evaluating what survived.\nProfiles are AnnData objects and the images behind them SpatialData objects.\n",
     "project_home": "https://github.com/scverse/mantispy",
     "documentation_home": "https://mantispy.readthedocs.io/",
     "tutorials_home": "https://mantispy.readthedocs.io/page/tutorials/general.html",
     "install": {
      "pypi": "mantispy"
     },
     "primary_category": "Imaging",
     "tags": [
      "imaging",
      "preprocessing",
      "quality control",
      "data integration",
      "perturbation"
     ],
     "license": "BSD-3-Clause",
     "language": "Python",
     "contact": [
      "timtreis",
      "Zethson"
     ],
     "test_command": "pip install . --group test && pytest",
     "category": "ecosystem",
     "version": "0.1.0a3",
     "inventory": "https://mantispy.readthedocs.io/en/latest/"
    },
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": null,
     "commits_behind": 0,
     "latest": "v0.8.0",
     "status": "behind"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/mantispy/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "pass",
     "detail": "Up to date with the template (v0.8.0)",
     "fix_url": "https://github.com/scverse/mantispy/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/mantispy/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "fail",
     "detail": "No pre-commit.ci check run on the default branch",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yaml` present",
     "fix_url": "https://github.com/scverse/mantispy/blob/main/.codecov.yaml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/mantispy/settings/branches"
    },
    "template/packages-json": {
     "status": "pass",
     "detail": "Listed under ecosystem",
     "fix_url": "https://github.com/scverse/scverse.github.io/blob/main/data/ecosystem-packages.yaml"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/mantispy/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "pass",
     "detail": "RTD `mantispy` builds scverse/mantispy",
     "fix_url": "https://app.readthedocs.org/dashboard/mantispy/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "fail",
     "detail": "1 of 1 maintainers are core devs (Zethson); at least 2 required",
     "fix_url": "https://app.readthedocs.org/dashboard/mantispy/edit/"
    },
    "docs/scverse-domain": {
     "status": "fail",
     "detail": "Docs served from mantispy.readthedocs.io",
     "fix_url": "https://app.readthedocs.org/dashboard/mantispy/domains/"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "No build of a `stable` version",
     "fix_url": "https://app.readthedocs.org/projects/mantispy/"
    },
    "packaging/pypi-org": {
     "status": "fail",
     "detail": "Not owned by a PyPI organization",
     "fix_url": "https://pypi.org/project/mantispy/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`0.1.0a3` published by scverse/mantispy/.github/workflows/release.yaml",
     "fix_url": "https://pypi.org/project/mantispy/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yaml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/mantispy/blob/main/.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/mantispy/settings"
    },
    "packaging/releases-immutable": {
     "status": "pass",
     "detail": "All of the last 3 releases are immutable",
     "fix_url": "https://github.com/scverse/mantispy/releases"
    },
    "packaging/pypi-environment": {
     "status": "warn",
     "detail": "`pypi` environment exists but has no protection rules",
     "fix_url": "https://github.com/scverse/mantispy/settings/environments"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "No published GitHub releases"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "pass",
     "detail": "All 24 action references pinned to a SHA",
     "fix_url": "https://github.com/scverse/mantispy/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "5 of 5 on tags: pre-commit-hooks@v6.0.0, pre-commit@v2.5.15, pyproject-fmt@v2.30.3 and 2 more",
     "fix_url": "https://github.com/scverse/mantispy/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "pass",
     "detail": "No findings (5 files, online)",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "pass",
     "detail": "Covers github-actions, pre-commit",
     "fix_url": "https://github.com/scverse/mantispy/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/mantispy/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/mantispy/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/mantispy/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "Workflows are fine, but the repo's default GITHUB_TOKEN is read-write",
     "fix_url": "https://github.com/scverse/mantispy/settings/actions"
    },
    "security/persist-credentials": {
     "status": "pass",
     "detail": "All 8 checkouts set `persist-credentials: false`",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/mantispy/security/policy"
    },
    "branch/protected": {
     "status": "fail",
     "detail": "`main` is not protected at all",
     "fix_url": "https://github.com/scverse/mantispy/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "Direct pushes to the default branch are allowed",
     "fix_url": "https://github.com/scverse/mantispy/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "No review requirement",
     "fix_url": "https://github.com/scverse/mantispy/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No required status checks",
     "fix_url": "https://github.com/scverse/mantispy/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/mantispy/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 65 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/mantispy/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing `scverse` topic",
     "fix_url": "https://github.com/scverse/mantispy"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 0 days ago",
     "fix_url": "https://github.com/scverse/mantispy/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "mudata",
    "category": "core-datastructure",
    "repo": {
     "name": "mudata",
     "full_name": "scverse/mudata",
     "html_url": "https://github.com/scverse/mudata",
     "description": "Multimodal Data (.h5mu) implementation for Python",
     "pushed_at": "2026-11-02T08:45:15Z",
     "homepage": "https://mudata.scverse.org",
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [
      "anndata",
      "data-analysis",
      "genomics",
      "mudata",
      "multi-omics",
      "multimodal-omics-analysis",
      "muon",
      "scverse"
     ],
     "default_branch": "main"
    },
    "pypi": {
     "name": "mudata",
     "version": "0.4.1",
     "summary": "Multimodal data",
     "home_page": null,
     "project_urls": {
      "Documentation": "https://mudata.readthedocs.io/",
      "Homepage": "https://muon.scverse.org",
      "Source": "https://github.com/scverse/mudata"
     },
     "license": "BSD 3-Clause License",
     "classifiers": [
      "Intended Audience :: Science/Research",
      "License :: OSI Approved :: BSD License",
      "Operating System :: OS Independent",
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
      "Programming Language :: Python :: 3.14",
      "Topic :: Scientific/Engineering :: Bio-Informatics"
     ],
     "ownership": {
      "organization": "scverse",
      "roles": [
       {
        "role": "Owner",
        "user": "ilia-kats"
       }
      ]
     },
     "url": "https://pypi.org/project/mudata/",
     "provenance": {
      "filename": "mudata-0.4.1-py3-none-any.whl",
      "publisher": {
       "environment": "pypi",
       "kind": "GitHub",
       "repository": "scverse/mudata",
       "workflow": "release.yaml"
      },
      "san": "https://github.com/scverse/mudata/.github/workflows/release.yaml@refs/tags/v0.4.1",
      "san_parts": {
       "repo": "scverse/mudata",
       "workflow": ".github/workflows/release.yaml",
       "ref": "refs/tags/v0.4.1"
      },
      "files_with_provenance": 2
     }
    },
    "rtd": {
     "slug": "mudata",
     "name": "mudata",
     "repository": {
      "type": "git",
      "url": "https://github.com/scverse/mudata.git"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/mudata/builds/",
      "documentation": "https://mudata.scverse.org/stable/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/mudata/",
      "versions": "https://app.readthedocs.org/projects/mudata/versions/"
     },
     "users": [
      "flying-sheep",
      "gtca",
      "ilia-kats",
      "scverse"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": null,
     "home": "https://app.readthedocs.org/projects/mudata/",
     "stable_build": {
      "id": 34101099,
      "success": true,
      "state": "finished",
      "finished": "2026-08-17T11:40:48.339828Z",
      "version": "stable",
      "commit": "6e38e5a7e62939b378b2af67a0db46a4ed4fda17",
      "url": "https://app.readthedocs.org/projects/mudata/builds/34101099/"
     }
    },
    "package_entry": {
     "name": "MuData",
     "blurb": "Multimodal data format",
     "description": "MuData is a format for annotated multimodal datasets where each modality is represented\nby an AnnData object. MuData's reference implementation is in Python, and the cross-language\nfunctionality is achieved via HDF5-based .h5mu files with libraries in R and Julia.\n",
     "project_home": "https://github.com/scverse/mudata",
     "documentation_home": "https://mudata.readthedocs.io/",
     "tutorials_home": "https://mudata.readthedocs.io/page/notebooks/quickstart_mudata.html",
     "publications": [
      "10.1186/s13059-021-02577-8"
     ],
     "install": {
      "pypi": "mudata",
      "conda": "conda-forge::mudata"
     },
     "primary_category": "Data structures",
     "tags": [
      "multimodal",
      "data structures"
     ],
     "license": "BSD-3-Clause",
     "language": "Python",
     "bindings": [
      {
       "language": "Julia",
       "name": "Muon.jl",
       "url": "https://scverse.org/Muon.jl/"
      }
     ],
     "contact": [
      "gtca",
      "ilia-kats"
     ],
     "logo": "mudata/logo.svg",
     "category": "core-datastructure",
     "version": "0.4.1",
     "inventory": "https://mudata.scverse.org/stable/"
    },
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": null,
     "commits_behind": 0,
     "latest": "v0.8.0",
     "status": "behind"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/mudata/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "pass",
     "detail": "Up to date with the template (v0.8.0)",
     "fix_url": "https://github.com/scverse/mudata/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/mudata/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "fail",
     "detail": "No pre-commit.ci check run on the default branch",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yaml` present",
     "fix_url": "https://github.com/scverse/mudata/blob/main/.codecov.yaml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/mudata/settings/branches"
    },
    "template/packages-json": {
     "status": "pass",
     "detail": "Listed under core-datastructure",
     "fix_url": "https://github.com/scverse/scverse.github.io/blob/main/data/ecosystem-packages.yaml"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/mudata/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "pass",
     "detail": "RTD `mudata` builds scverse/mudata",
     "fix_url": "https://app.readthedocs.org/dashboard/mudata/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "pass",
     "detail": "2 of 4 maintainers are core devs (flying-sheep, gtca)",
     "fix_url": "https://app.readthedocs.org/dashboard/mudata/edit/"
    },
    "docs/scverse-domain": {
     "status": "warn",
     "detail": "mudata.scverse.org, but mudata.readthedocs.io is still advertised",
     "fix_url": "https://app.readthedocs.org/dashboard/mudata/domains/"
    },
    "docs/rtd-build": {
     "status": "pass",
     "detail": "`stable` built from `6e38e5a` on 2026-08-17",
     "fix_url": "https://app.readthedocs.org/projects/mudata/builds/34101099/"
    },
    "packaging/pypi-org": {
     "status": "pass",
     "detail": "Owned by the `scverse` PyPI organization",
     "fix_url": "https://pypi.org/project/mudata/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`0.4.1` published by scverse/mudata/.github/workflows/release.yaml",
     "fix_url": "https://pypi.org/project/mudata/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yaml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/mudata/blob/main/.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/mudata/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "5 of the last 5 are mutable: v0.3.2, v0.3.1, v0.3.0 and 2 more",
     "fix_url": "https://github.com/scverse/mudata/releases"
    },
    "packaging/pypi-environment": {
     "status": "pass",
     "detail": "`pypi` environment protected by branch_policy",
     "fix_url": "https://github.com/scverse/mudata/settings/environments"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "No published GitHub releases"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "pass",
     "detail": "All 16 action references pinned to a SHA",
     "fix_url": "https://github.com/scverse/mudata/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "pass",
     "detail": "All 5 hook repos pinned to a SHA",
     "fix_url": "https://github.com/scverse/mudata/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "pass",
     "detail": "No findings (5 files, online)",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "pass",
     "detail": "Covers github-actions, pre-commit",
     "fix_url": "https://github.com/scverse/mudata/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/mudata/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/mudata/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/mudata/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "pass",
     "detail": "All workflows declare `permissions:`; repo default is read-only",
     "fix_url": "https://github.com/scverse/mudata/settings/actions"
    },
    "security/persist-credentials": {
     "status": "fail",
     "detail": "1 of 6 keep credentials: release.yaml:generate-test-data",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/mudata/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/mudata/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (ruleset)",
     "fix_url": "https://github.com/scverse/mudata/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are required but need 0 approving reviews",
     "fix_url": "https://github.com/scverse/mudata/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "1 required: Tests pass in all hatch environments",
     "fix_url": "https://github.com/scverse/mudata/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/mudata/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 26 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/mudata/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "pass",
     "detail": "Described, linked and tagged (8 topics)",
     "fix_url": "https://github.com/scverse/mudata"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 0 days ago",
     "fix_url": "https://github.com/scverse/mudata/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "muon",
    "category": "core-framework",
    "repo": {
     "name": "muon",
     "full_name": "scverse/muon",
     "html_url": "https://github.com/scverse/muon",
     "description": "muon is a multimodal omics Python framework",
     "pushed_at": "2026-10-27T13:38:46Z",
     "homepage": "https://muon.scverse.org",
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [
      "anndata",
      "cite-seq",
      "mudata",
      "multi-omics",
      "multimodal-data",
      "multimodal-omics-analysis",
      "muon",
      "scanpy",
      "scatac-seq",
      "scrna-seq",
      "scverse"
     ],
     "default_branch": "main"
    },
    "pypi": {
     "name": "muon",
     "version": "0.2.1",
     "summary": "Multimodal omics analysis framework",
     "home_page": null,
     "project_urls": {
      "Documentation": "https://muon.scverse.org/",
      "Homepage": "https://github.com/scverse/muon",
      "Source": "https://github.com/scverse/muon"
     },
     "license": "BSD 3-Clause License",
     "classifiers": [
      "Development Status :: 3 - Alpha",
      "Intended Audience :: Science/Research",
      "Operating System :: OS Independent",
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
      "Programming Language :: Python :: 3.14",
      "Programming Language :: Python :: 3.15",
      "Topic :: Scientific/Engineering :: Bio-Informatics"
     ],
     "ownership": {
      "organization": "scverse",
      "roles": [
       {
        "role": "Owner",
        "user": "ilia-kats"
       }
      ]
     },
     "url": "https://pypi.org/project/muon/",
     "provenance": {
      "filename": "muon-0.2.1-py3-none-any.whl",
      "publisher": {
       "environment": "pypi",
       "kind": "GitHub",
       "repository": "scverse/muon",
       "workflow": "release.yaml"
      },
      "san": "https://github.com/scverse/muon/.github/workflows/release.yaml@refs/tags/v0.2.1",
      "san_parts": {
       "repo": "scverse/muon",
       "workflow": ".github/workflows/release.yaml",
       "ref": "refs/tags/v0.2.1"
      },
      "files_with_provenance": 1
     }
    },
    "rtd": {
     "slug": "muon",
     "name": "muon",
     "repository": {
      "type": "git",
      "url": "https://github.com/scverse/muon.git"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/muon/builds/",
      "documentation": "https://muon.scverse.org/stable/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/muon/",
      "versions": "https://app.readthedocs.org/projects/muon/versions/"
     },
     "users": [
      "flying-sheep",
      "gtca",
      "ilia-kats",
      "scverse"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": null,
     "home": "https://app.readthedocs.org/projects/muon/",
     "stable_build": {
      "id": 35443456,
      "success": true,
      "state": "finished",
      "finished": "2026-10-27T13:40:15.205892Z",
      "version": "stable",
      "commit": "cb4666ee7c0426c464b558001926f014bfacd60e",
      "url": "https://app.readthedocs.org/projects/muon/builds/35443456/"
     }
    },
    "package_entry": {
     "name": "Muon",
     "blurb": "Multi-omics analysis framework",
     "description": "muon is a Python framework for multimodal omics analysis. It provides functionality\nfor working with multimodal data, including preprocessing, integration, and visualization.\n",
     "project_home": "https://github.com/scverse/muon",
     "documentation_home": "https://muon.readthedocs.io/",
     "tutorials_home": "https://muon-tutorials.readthedocs.io/",
     "publications": [
      "10.1186/s13059-021-02577-8"
     ],
     "install": {
      "pypi": "muon",
      "conda": "conda-forge::muon"
     },
     "primary_category": "Multimodal",
     "tags": [
      "multimodal",
      "data integration"
     ],
     "license": "BSD-3-Clause",
     "language": "Python",
     "contact": [
      "gtca"
     ],
     "logo": "muon/logo.svg",
     "test_command": "pip install \".[test]\" && pytest",
     "category": "core-framework",
     "version": "0.2.1",
     "inventory": "https://muon.scverse.org/stable/"
    },
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": null,
     "commits_behind": 0,
     "latest": "v0.8.0",
     "status": "behind"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/muon/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "pass",
     "detail": "Up to date with the template (v0.8.0)",
     "fix_url": "https://github.com/scverse/muon/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/muon/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "fail",
     "detail": "No pre-commit.ci check run on the default branch",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yaml` present",
     "fix_url": "https://github.com/scverse/muon/blob/main/.codecov.yaml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/muon/settings/branches"
    },
    "template/packages-json": {
     "status": "pass",
     "detail": "Listed under core-framework",
     "fix_url": "https://github.com/scverse/scverse.github.io/blob/main/data/ecosystem-packages.yaml"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/muon/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "pass",
     "detail": "RTD `muon` builds scverse/muon",
     "fix_url": "https://app.readthedocs.org/dashboard/muon/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "pass",
     "detail": "2 of 4 maintainers are core devs (flying-sheep, gtca)",
     "fix_url": "https://app.readthedocs.org/dashboard/muon/edit/"
    },
    "docs/scverse-domain": {
     "status": "warn",
     "detail": "muon.scverse.org, but muon.readthedocs.io is still advertised",
     "fix_url": "https://app.readthedocs.org/dashboard/muon/domains/"
    },
    "docs/rtd-build": {
     "status": "pass",
     "detail": "`stable` built from `cb4666e` on 2026-10-27",
     "fix_url": "https://app.readthedocs.org/projects/muon/builds/35443456/"
    },
    "packaging/pypi-org": {
     "status": "pass",
     "detail": "Owned by the `scverse` PyPI organization",
     "fix_url": "https://pypi.org/project/muon/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`0.2.1` published by scverse/muon/.github/workflows/release.yaml",
     "fix_url": "https://pypi.org/project/muon/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yaml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/muon/blob/main/.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/muon/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "3 of the last 5 are mutable: v0.1.7, v0.1.6, v0.1.5",
     "fix_url": "https://github.com/scverse/muon/releases"
    },
    "packaging/pypi-environment": {
     "status": "pass",
     "detail": "`pypi` environment protected by branch_policy",
     "fix_url": "https://github.com/scverse/muon/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `v0.2.1` == PyPI `0.2.1`",
     "fix_url": "https://github.com/scverse/muon/releases/tag/v0.2.1"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "pass",
     "detail": "All 13 action references pinned to a SHA",
     "fix_url": "https://github.com/scverse/muon/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "pass",
     "detail": "All 5 hook repos pinned to a SHA",
     "fix_url": "https://github.com/scverse/muon/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "1 finding in 4 files, online: known-vulnerable-actions",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "pass",
     "detail": "Covers github-actions, pre-commit",
     "fix_url": "https://github.com/scverse/muon/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/muon/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/muon/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/muon/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "pass",
     "detail": "All workflows declare `permissions:`; repo default is read-only",
     "fix_url": "https://github.com/scverse/muon/settings/actions"
    },
    "security/persist-credentials": {
     "status": "pass",
     "detail": "All 5 checkouts set `persist-credentials: false`",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/muon/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/muon/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (ruleset)",
     "fix_url": "https://github.com/scverse/muon/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are required but need 0 approving reviews",
     "fix_url": "https://github.com/scverse/muon/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "1 required: Tests pass in all hatch environments",
     "fix_url": "https://github.com/scverse/muon/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/muon/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 55 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/muon/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "pass",
     "detail": "Described, linked and tagged (11 topics)",
     "fix_url": "https://github.com/scverse/muon"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 5 days ago",
     "fix_url": "https://github.com/scverse/muon/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "napari-spatialdata",
    "category": "other",
    "repo": {
     "name": "napari-spatialdata",
     "full_name": "scverse/napari-spatialdata",
     "html_url": "https://github.com/scverse/napari-spatialdata",
     "description": "Interactive visualization of spatial omics data",
     "pushed_at": "2026-09-08T12:42:53Z",
     "homepage": "https://spatialdata.scverse.org/projects/napari/en/latest/",
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [
      "napari",
      "napari-plugin",
      "spatial-analysis",
      "spatial-omics",
      "visualization"
     ],
     "default_branch": "main"
    },
    "pypi": null,
    "rtd": {
     "slug": "napari-spatialdata",
     "name": "napari-spatialdata",
     "repository": {
      "type": "git",
      "url": "https://github.com/scverse/napari-spatialdata.git"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/napari-spatialdata/builds/",
      "documentation": "https://spatialdata.scverse.org/projects/napari/en/latest/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/napari-spatialdata/",
      "versions": "https://app.readthedocs.org/projects/napari-spatialdata/versions/"
     },
     "users": [
      "giovp",
      "m.lucalmer@gmail.com",
      "kevinyamauchi",
      "melonora"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": null,
     "home": "https://app.readthedocs.org/projects/napari-spatialdata/",
     "stable_build": {
      "id": 33417853,
      "success": true,
      "state": "finished",
      "finished": "2026-07-02T20:47:58.003454Z",
      "version": "stable",
      "commit": "a1150de77d9c42467ab0f27b4aa94a048765707e",
      "url": "https://app.readthedocs.org/projects/napari-spatialdata/builds/33417853/"
     }
    },
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "fail",
     "detail": "No `.cruft.json` \u2014 repo was not generated from the template",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse#usage"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "fail",
     "detail": "build backend is setuptools.build_meta",
     "fix_url": "https://github.com/scverse/napari-spatialdata/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "fail",
     "detail": "No pre-commit.ci check run on the default branch",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "fail",
     "detail": "No codecov config file and no codecov check run",
     "fix_url": "https://app.codecov.io/gh/scverse/napari-spatialdata"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/napari-spatialdata/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/napari-spatialdata/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "pass",
     "detail": "RTD `napari-spatialdata` builds scverse/napari-spatialdata",
     "fix_url": "https://app.readthedocs.org/dashboard/napari-spatialdata/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "pass",
     "detail": "2 of 4 maintainers are core devs (giovp, melonora)",
     "fix_url": "https://app.readthedocs.org/dashboard/napari-spatialdata/edit/"
    },
    "docs/scverse-domain": {
     "status": "pass",
     "detail": "spatialdata.scverse.org",
     "fix_url": "https://app.readthedocs.org/dashboard/napari-spatialdata/domains/"
    },
    "docs/rtd-build": {
     "status": "pass",
     "detail": "`stable` built from `a1150de` on 2026-07-02",
     "fix_url": "https://app.readthedocs.org/projects/napari-spatialdata/builds/33417853/"
    },
    "packaging/pypi-org": {
     "status": "na",
     "detail": "No distribution name found in `pyproject.toml`"
    },
    "packaging/trusted-publishing": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/release-workflow": {
     "status": "fail",
     "detail": "job `upload-to-pypi` is not bound to an environment, job `upload-to-pypi` lacks `id-token: write`, publish step still passes a `password:`",
     "fix_url": "https://github.com/scverse/napari-spatialdata/blob/main/.github/workflows/release.yml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "No `requires-python` in `pyproject.toml`",
     "fix_url": "https://github.com/scverse/napari-spatialdata/blob/main/pyproject.toml"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/napari-spatialdata/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "5 of the last 5 are mutable: v0.7.2, v0.7.1, v0.7.0 and 2 more",
     "fix_url": "https://github.com/scverse/napari-spatialdata/releases"
    },
    "packaging/pypi-environment": {
     "status": "fail",
     "detail": "No `pypi` environment (found: none)",
     "fix_url": "https://github.com/scverse/napari-spatialdata/settings/environments"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "fail",
     "detail": "21 of 21 unpinned: JasonEtco/create-an-issue@v2, actions/checkout@v6, actions/download-artifact@v8 and 9 more",
     "fix_url": "https://github.com/scverse/napari-spatialdata/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "7 of 7 on tags: black-pre-commit-mirror@26.3.1, blacken-docs@1.20.0, mirrors-mypy@v1.20.2 and 4 more",
     "fix_url": "https://github.com/scverse/napari-spatialdata/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "40 findings in 5 files, online: artipacked, dangerous-triggers, dependabot-cooldown and 4 more",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "Missing ecosystem: pre-commit",
     "fix_url": "https://github.com/scverse/napari-spatialdata/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "fail",
     "detail": "24 open alerts, 10 high or critical",
     "fix_url": "https://github.com/scverse/napari-spatialdata/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/napari-spatialdata/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/napari-spatialdata/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "3 of 4 lack `permissions:`: benchmarks.yml, release.yml, test.yml",
     "fix_url": "https://github.com/scverse/napari-spatialdata/settings/actions"
    },
    "security/persist-credentials": {
     "status": "fail",
     "detail": "3 of 3 keep credentials: benchmarks.yml:benchmark, release.yml:build-and-inspect-package, test.yml:test",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/napari-spatialdata/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (classic)",
     "fix_url": "https://github.com/scverse/napari-spatialdata/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (classic)",
     "fix_url": "https://github.com/scverse/napari-spatialdata/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are required but need 0 approving reviews",
     "fix_url": "https://github.com/scverse/napari-spatialdata/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No status checks are required to merge",
     "fix_url": "https://github.com/scverse/napari-spatialdata/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/napari-spatialdata/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 0 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/napari-spatialdata/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing `scverse` topic",
     "fix_url": "https://github.com/scverse/napari-spatialdata"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 54 days ago",
     "fix_url": "https://github.com/scverse/napari-spatialdata/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "pandas-uuid",
    "category": "other",
    "repo": {
     "name": "pandas-uuid",
     "full_name": "scverse/pandas-uuid",
     "html_url": "https://github.com/scverse/pandas-uuid",
     "description": "Pandas ExtensionArray / ExtensionDType for UUID",
     "pushed_at": "2026-10-27T08:53:09Z",
     "homepage": "https://icb-pandas-uuid.readthedocs-hosted.com/",
     "archived": false,
     "license": {
      "key": "mpl-2.0",
      "name": "Mozilla Public License 2.0",
      "spdx_id": "MPL-2.0",
      "url": "https://api.github.com/licenses/mpl-2.0",
      "node_id": "MDc6TGljZW5zZTE0"
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": {
     "name": "pandas-uuid",
     "version": "0.2.0",
     "summary": "Pandas ExtensionArray / ExtensionDType for UUIDs.",
     "home_page": null,
     "project_urls": {
      "Documentation": "https://icb-pandas-uuid.readthedocs.io/",
      "Source": "https://github.com/scverse/pandas-uuid"
     },
     "license": "MPL-2.0",
     "classifiers": [],
     "ownership": {
      "organization": "scverse",
      "roles": []
     },
     "url": "https://pypi.org/project/pandas-uuid/",
     "provenance": {
      "filename": "pandas_uuid-0.2.0-py3-none-any.whl",
      "publisher": {
       "environment": "pypi",
       "kind": "GitHub",
       "repository": "scverse/pandas-uuid",
       "workflow": "release.yml"
      },
      "san": "https://github.com/scverse/pandas-uuid/.github/workflows/release.yml@refs/tags/v0.2.0",
      "san_parts": {
       "repo": "scverse/pandas-uuid",
       "workflow": ".github/workflows/release.yml",
       "ref": "refs/tags/v0.2.0"
      },
      "files_with_provenance": 2
     }
    },
    "rtd": null,
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "fail",
     "detail": "No `.cruft.json` \u2014 repo was not generated from the template",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse#usage"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/pandas-uuid/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "pass",
     "detail": "Listed among required status checks",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yml` present",
     "fix_url": "https://github.com/scverse/pandas-uuid/blob/main/.codecov.yml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/pandas-uuid/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yml` present",
     "fix_url": "https://github.com/scverse/pandas-uuid/blob/main/.readthedocs.yml"
    },
    "docs/rtd-linked": {
     "status": "fail",
     "detail": "No Read the Docs project with slug `pandas-uuid` (set `rtd_slugs:` in config/repos.yaml if it differs)",
     "fix_url": "https://app.readthedocs.org/dashboard/import/"
    },
    "docs/rtd-core-devs": {
     "status": "fail",
     "detail": "No Read the Docs project to inspect"
    },
    "docs/scverse-domain": {
     "status": "fail",
     "detail": "Docs served from icb-pandas-uuid.readthedocs-hosted.com",
     "fix_url": "https://app.readthedocs.org/dashboard/pandas-uuid/domains/"
    },
    "docs/rtd-build": {
     "status": "fail",
     "detail": "No Read the Docs project to inspect"
    },
    "packaging/pypi-org": {
     "status": "pass",
     "detail": "Owned by the `scverse` PyPI organization",
     "fix_url": "https://pypi.org/project/pandas-uuid/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`0.2.0` published by scverse/pandas-uuid/.github/workflows/release.yml",
     "fix_url": "https://pypi.org/project/pandas-uuid/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/pandas-uuid/blob/main/.github/workflows/release.yml"
    },
    "packaging/spec0-python": {
     "status": "pass",
     "detail": "`requires-python = \">=3.13\"` is at or above SPEC 0's 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/pandas-uuid/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "2 of the last 3 are mutable: v0.1.1, v0.1",
     "fix_url": "https://github.com/scverse/pandas-uuid/releases"
    },
    "packaging/pypi-environment": {
     "status": "warn",
     "detail": "`pypi` environment exists but has no protection rules",
     "fix_url": "https://github.com/scverse/pandas-uuid/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `v0.2.0` == PyPI `0.2.0`",
     "fix_url": "https://github.com/scverse/pandas-uuid/releases/tag/v0.2.0"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "fail",
     "detail": "14 of 14 unpinned: actions/checkout@v6, actions/checkout@v7, amannn/action-semantic-pull-request@v6 and 5 more",
     "fix_url": "https://github.com/scverse/pandas-uuid/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "4 of 4 on tags: pre-commit-hooks@v6.0.0, pre-commit@v2.6.3, ruff-pre-commit@v0.17.2 and 1 more",
     "fix_url": "https://github.com/scverse/pandas-uuid/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "28 findings in 4 files, online: artipacked, cache-poisoning, dangerous-triggers and 2 more",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "No `.github/dependabot.yml` (needs github-actions, pre-commit)",
     "fix_url": "https://github.com/scverse/pandas-uuid/new/main?filename=.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/pandas-uuid/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/pandas-uuid/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/pandas-uuid/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "4 of 4 lack `permissions:`: build.yml, pr.yml, release.yml and 1 more",
     "fix_url": "https://github.com/scverse/pandas-uuid/settings/actions"
    },
    "security/persist-credentials": {
     "status": "fail",
     "detail": "5 of 5 keep credentials: build.yml:package, release.yml:release, test.yml:get-environments and 2 more",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "warn",
     "detail": "pr.yml use `pull_request_target` (no PR checkout seen)",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/pandas-uuid/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/pandas-uuid/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "No pull-request requirement",
     "fix_url": "https://github.com/scverse/pandas-uuid/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are not required, so neither are reviews",
     "fix_url": "https://github.com/scverse/pandas-uuid/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "7 required: Tests pass in all hatch environments, package, pre-commit.ci - pr and 4 more",
     "fix_url": "https://github.com/scverse/pandas-uuid/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "MPL-2.0",
     "fix_url": "https://github.com/scverse/pandas-uuid/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 4 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/pandas-uuid/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing `scverse` topic",
     "fix_url": "https://github.com/scverse/pandas-uuid"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 6 days ago",
     "fix_url": "https://github.com/scverse/pandas-uuid/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "pertpy",
    "category": "core-framework",
    "repo": {
     "name": "pertpy",
     "full_name": "scverse/pertpy",
     "html_url": "https://github.com/scverse/pertpy",
     "description": "Single-cell perturbation analysis",
     "pushed_at": "2026-11-02T10:43:16Z",
     "homepage": "https://pertpy.scverse.org/",
     "archived": false,
     "license": {
      "key": "mit",
      "name": "MIT License",
      "spdx_id": "MIT",
      "url": "https://api.github.com/licenses/mit",
      "node_id": "MDc6TGljZW5zZTEz"
     },
     "topics": [
      "anndata",
      "bioinformatics",
      "computational-biology",
      "crispr",
      "differential-abundance",
      "differential-expression",
      "drug-discovery",
      "perturb-seq",
      "perturbation",
      "python",
      "scrna-seq",
      "scverse",
      "single-cell"
     ],
     "default_branch": "main"
    },
    "pypi": {
     "name": "pertpy",
     "version": "1.4.0",
     "summary": "Perturbation Analysis in the scverse ecosystem.",
     "home_page": null,
     "project_urls": {
      "Changelog": "https://pertpy.scverse.org/page/changelog.html",
      "Documentation": "https://pertpy.scverse.org/",
      "Forum": "https://discourse.scverse.org/c/ecosystem/pertpy/46",
      "Home-page": "https://github.com/scverse/pertpy",
      "Issues": "https://github.com/scverse/pertpy/issues",
      "Publication": "https://doi.org/10.1038/s41592-025-02909-7",
      "Source": "https://github.com/scverse/pertpy"
     },
     "license": "MIT License",
     "classifiers": [
      "Development Status :: 5 - Production/Stable",
      "Environment :: Console",
      "Framework :: Jupyter",
      "Intended Audience :: Developers",
      "Intended Audience :: Science/Research",
      "License :: OSI Approved :: Apache Software License",
      "Natural Language :: English",
      "Operating System :: MacOS :: MacOS X",
      "Operating System :: POSIX :: Linux",
      "Programming Language :: Python :: 3",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
      "Programming Language :: Python :: 3.14",
      "Topic :: Scientific/Engineering :: Bio-Informatics",
      "Topic :: Scientific/Engineering :: Visualization",
      "Typing :: Typed"
     ],
     "ownership": {
      "organization": "scverse",
      "roles": [
       {
        "role": "Owner",
        "user": "zethson"
       },
       {
        "role": "Maintainer",
        "user": "grst"
       }
      ]
     },
     "url": "https://pypi.org/project/pertpy/",
     "provenance": {
      "filename": "pertpy-1.4.0-py3-none-any.whl",
      "publisher": {
       "environment": "pypi",
       "kind": "GitHub",
       "repository": "scverse/pertpy",
       "workflow": "release.yml"
      },
      "san": "https://github.com/scverse/pertpy/.github/workflows/release.yml@refs/tags/1.4.0",
      "san_parts": {
       "repo": "scverse/pertpy",
       "workflow": ".github/workflows/release.yml",
       "ref": "refs/tags/1.4.0"
      },
      "files_with_provenance": 2
     }
    },
    "rtd": {
     "slug": "pertpy",
     "name": "pertpy",
     "repository": {
      "type": "git",
      "url": "https://github.com/scverse/pertpy.git"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/pertpy/builds/",
      "documentation": "https://pertpy.scverse.org/en/stable/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/pertpy/",
      "versions": "https://app.readthedocs.org/projects/pertpy/versions/"
     },
     "users": [
      "grst",
      "flying-sheep",
      "Zethson",
      "scverse"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": null,
     "home": "https://app.readthedocs.org/projects/pertpy/",
     "stable_build": {
      "id": 34897888,
      "success": true,
      "state": "finished",
      "finished": "2026-10-02T12:10:42.223054Z",
      "version": "stable",
      "commit": "3b6e02163b6a2564ec7eb294ca50157488862c91",
      "url": "https://app.readthedocs.org/projects/pertpy/builds/34897888/"
     }
    },
    "package_entry": {
     "name": "Pertpy",
     "blurb": "Perturbation data analysis framework",
     "description": "Pertpy is a framework for analyzing large-scale single-cell perturbation experiments.\nIt harmonizes datasets, automates metadata annotation, calculates perturbation distances,\nand analyzes cellular responses to genetic modifications, drugs, and environmental changes.\n",
     "project_home": "https://github.com/scverse/pertpy",
     "documentation_home": "https://pertpy.readthedocs.io/",
     "tutorials_home": "https://pertpy.readthedocs.io/page/tutorials.html",
     "publications": [
      "10.1038/s41592-025-02909-7"
     ],
     "install": {
      "pypi": "pertpy",
      "conda": "conda-forge::pertpy"
     },
     "primary_category": "scRNA-seq",
     "tags": [
      "differential expression",
      "perturbation"
     ],
     "license": "MIT",
     "language": "Python",
     "contact": [
      "Zethson"
     ],
     "logo": "pertpy/logo.svg",
     "test_command": "pip install \".[test]\" && pytest",
     "category": "core-framework",
     "version": "1.4.0",
     "inventory": "https://pertpy.scverse.org/en/stable/"
    },
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": 0,
     "release": "v0.8.0",
     "latest": "v0.8.0"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/pertpy/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "pass",
     "detail": "On the latest template release (v0.8.0)",
     "fix_url": "https://github.com/scverse/pertpy/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/pertpy/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "fail",
     "detail": "No pre-commit.ci check run on the default branch",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`codecov.yml` present",
     "fix_url": "https://github.com/scverse/pertpy/blob/main/codecov.yml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/pertpy/settings/branches"
    },
    "template/packages-json": {
     "status": "pass",
     "detail": "Listed under core-framework",
     "fix_url": "https://github.com/scverse/scverse.github.io/blob/main/data/ecosystem-packages.yaml"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yml` present",
     "fix_url": "https://github.com/scverse/pertpy/blob/main/.readthedocs.yml"
    },
    "docs/rtd-linked": {
     "status": "pass",
     "detail": "RTD `pertpy` builds scverse/pertpy",
     "fix_url": "https://app.readthedocs.org/dashboard/pertpy/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "pass",
     "detail": "3 of 4 maintainers are core devs (grst, flying-sheep, Zethson)",
     "fix_url": "https://app.readthedocs.org/dashboard/pertpy/edit/"
    },
    "docs/scverse-domain": {
     "status": "warn",
     "detail": "pertpy.scverse.org, but pertpy.readthedocs.io is still advertised",
     "fix_url": "https://app.readthedocs.org/dashboard/pertpy/domains/"
    },
    "docs/rtd-build": {
     "status": "pass",
     "detail": "`stable` built from `3b6e021` on 2026-10-02",
     "fix_url": "https://app.readthedocs.org/projects/pertpy/builds/34897888/"
    },
    "packaging/pypi-org": {
     "status": "pass",
     "detail": "Owned by the `scverse` PyPI organization",
     "fix_url": "https://pypi.org/project/pertpy/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`1.4.0` published by scverse/pertpy/.github/workflows/release.yml",
     "fix_url": "https://pypi.org/project/pertpy/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/pertpy/blob/main/.github/workflows/release.yml"
    },
    "packaging/spec0-python": {
     "status": "pass",
     "detail": "`requires-python = \">=3.13\"` is at or above SPEC 0's 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/pertpy/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "2 of the last 5 are mutable: 1.1.1, 1.1.0",
     "fix_url": "https://github.com/scverse/pertpy/releases"
    },
    "packaging/pypi-environment": {
     "status": "warn",
     "detail": "`pypi` environment exists but has no protection rules",
     "fix_url": "https://github.com/scverse/pertpy/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `1.4.0` == PyPI `1.4.0`",
     "fix_url": "https://github.com/scverse/pertpy/releases/tag/1.4.0"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "pass",
     "detail": "All 24 action references pinned to a SHA",
     "fix_url": "https://github.com/scverse/pertpy/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "pass",
     "detail": "All 4 hook repos pinned to a SHA",
     "fix_url": "https://github.com/scverse/pertpy/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "pass",
     "detail": "No findings (7 files, online)",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "pass",
     "detail": "Covers github-actions, pre-commit",
     "fix_url": "https://github.com/scverse/pertpy/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/pertpy/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/pertpy/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/pertpy/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "pass",
     "detail": "All workflows declare `permissions:`; repo default is read-only",
     "fix_url": "https://github.com/scverse/pertpy/settings/actions"
    },
    "security/persist-credentials": {
     "status": "pass",
     "detail": "All 7 checkouts set `persist-credentials: false`",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/pertpy/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (classic)",
     "fix_url": "https://github.com/scverse/pertpy/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (classic)",
     "fix_url": "https://github.com/scverse/pertpy/settings/rules"
    },
    "branch/requires-review": {
     "status": "pass",
     "detail": "1 approving review required",
     "fix_url": "https://github.com/scverse/pertpy/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No status checks are required to merge",
     "fix_url": "https://github.com/scverse/pertpy/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "MIT",
     "fix_url": "https://github.com/scverse/pertpy/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 78 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/pertpy/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "pass",
     "detail": "Described, linked and tagged (13 topics)",
     "fix_url": "https://github.com/scverse/pertpy"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 0 days ago",
     "fix_url": "https://github.com/scverse/pertpy/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "prelude-runner",
    "category": "other",
    "repo": {
     "name": "prelude-runner",
     "full_name": "scverse/prelude-runner",
     "html_url": "https://github.com/scverse/prelude-runner",
     "description": "Jupyter notebook runner that executes preludes before each cell",
     "pushed_at": "2026-10-27T08:38:00Z",
     "homepage": null,
     "archived": false,
     "license": {
      "key": "apache-2.0",
      "name": "Apache License 2.0",
      "spdx_id": "Apache-2.0",
      "url": "https://api.github.com/licenses/apache-2.0",
      "node_id": "MDc6TGljZW5zZTI="
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": {
     "name": "prelude-runner",
     "missing": true
    },
    "rtd": null,
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "fail",
     "detail": "No `.cruft.json` \u2014 repo was not generated from the template",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse#usage"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/prelude-runner/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "pass",
     "detail": "Listed among required status checks",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "fail",
     "detail": "No codecov config file and no codecov check run",
     "fix_url": "https://app.codecov.io/gh/scverse/prelude-runner"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/prelude-runner/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "fail",
     "detail": "No `.readthedocs.yaml`",
     "fix_url": "https://github.com/scverse/prelude-runner/new/main?filename=.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-core-devs": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/scverse-domain": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-org": {
     "status": "na",
     "detail": "`prelude-runner` is not published on PyPI"
    },
    "packaging/trusted-publishing": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/release-workflow": {
     "status": "fail",
     "detail": "No workflow uses `pypa/gh-action-pypi-publish`",
     "fix_url": "https://github.com/scverse/prelude-runner/new/main?filename=.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.11\"` still allows 3.11; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/prelude-runner/settings"
    },
    "packaging/releases-immutable": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-environment": {
     "status": "fail",
     "detail": "No `pypi` environment (found: none)",
     "fix_url": "https://github.com/scverse/prelude-runner/settings/environments"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "fail",
     "detail": "2 of 2 unpinned: actions/checkout@v2, actions/setup-python@v4",
     "fix_url": "https://github.com/scverse/prelude-runner/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "2 of 2 on tags: mirrors-prettier@v4.0.0-alpha.8, ruff-pre-commit@v0.17.2",
     "fix_url": "https://github.com/scverse/prelude-runner/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "4 findings in 1 file, online: artipacked, excessive-permissions, unpinned-uses",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "No `.github/dependabot.yml` (needs github-actions, pre-commit)",
     "fix_url": "https://github.com/scverse/prelude-runner/new/main?filename=.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/prelude-runner/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/prelude-runner/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/prelude-runner/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "1 of 1 lack `permissions:`: test.yml",
     "fix_url": "https://github.com/scverse/prelude-runner/settings/actions"
    },
    "security/persist-credentials": {
     "status": "fail",
     "detail": "1 of 1 keep credentials: test.yml:test",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/prelude-runner/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/prelude-runner/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (ruleset)",
     "fix_url": "https://github.com/scverse/prelude-runner/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are required but need 0 approving reviews",
     "fix_url": "https://github.com/scverse/prelude-runner/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "3 required: test (3.11, ubuntu-latest), test (3.12, ubuntu-latest), pre-commit.ci - pr",
     "fix_url": "https://github.com/scverse/prelude-runner/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "Apache-2.0",
     "fix_url": "https://github.com/scverse/prelude-runner/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 17 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/prelude-runner/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing homepage, `scverse` topic",
     "fix_url": "https://github.com/scverse/prelude-runner"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 6 days ago",
     "fix_url": "https://github.com/scverse/prelude-runner/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "PyDESeq2",
    "category": "other",
    "repo": {
     "name": "PyDESeq2",
     "full_name": "scverse/PyDESeq2",
     "html_url": "https://github.com/scverse/PyDESeq2",
     "description": "A Python implementation of the DESeq2 pipeline for bulk RNA-seq DEA.",
     "pushed_at": "2026-11-01T01:09:59Z",
     "homepage": "https://pydeseq2.readthedocs.io/en/stable/",
     "archived": false,
     "license": {
      "key": "mit",
      "name": "MIT License",
      "spdx_id": "MIT",
      "url": "https://api.github.com/licenses/mit",
      "node_id": "MDc6TGljZW5zZTEz"
     },
     "topics": [
      "bioinformatics",
      "differential-expression",
      "python",
      "rna-seq",
      "transcriptomics"
     ],
     "default_branch": "main"
    },
    "pypi": {
     "name": "pydeseq2",
     "version": "0.5.4",
     "summary": "A python implementation of DESeq2.",
     "home_page": null,
     "project_urls": {
      "Documentation": "https://pydeseq2.readthedocs.io/",
      "Homepage": "https://github.com/owkin/PyDESeq2",
      "Source": "https://github.com/owkin/PyDESeq2"
     },
     "license": "MIT License",
     "classifiers": [
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.11",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13"
     ],
     "ownership": {
      "organization": "scverse",
      "roles": [
       {
        "role": "Maintainer",
        "user": "bmuzellec"
       }
      ]
     },
     "url": "https://pypi.org/project/pydeseq2/",
     "provenance": {
      "filename": "pydeseq2-0.5.4-py3-none-any.whl",
      "publisher": {
       "environment": "pypi",
       "kind": "GitHub",
       "repository": "scverse/PyDESeq2",
       "workflow": "release.yaml"
      },
      "san": "https://github.com/scverse/PyDESeq2/.github/workflows/release.yaml@refs/tags/v0.5.4",
      "san_parts": {
       "repo": "scverse/PyDESeq2",
       "workflow": ".github/workflows/release.yaml",
       "ref": "refs/tags/v0.5.4"
      },
      "files_with_provenance": 2
     }
    },
    "rtd": {
     "slug": "pydeseq2",
     "name": "PyDESeq2",
     "repository": {
      "type": "git",
      "url": "https://github.com/owkin/PyDESeq2"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/pydeseq2/builds/",
      "documentation": "https://pydeseq2.readthedocs.io/en/stable/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/pydeseq2/",
      "versions": "https://app.readthedocs.org/projects/pydeseq2/versions/"
     },
     "users": [
      "grst",
      "Zethson",
      "maikia",
      "arthurPignetOwkin",
      "BorisMuzellec"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": "",
     "home": "https://app.readthedocs.org/projects/pydeseq2/",
     "stable_build": {
      "id": 31121336,
      "success": true,
      "state": "finished",
      "finished": "2026-01-23T14:22:02.829482Z",
      "version": "stable",
      "commit": "4426e4db990db1c511de3b1b9b7a514989663dad",
      "url": "https://app.readthedocs.org/projects/pydeseq2/builds/31121336/"
     }
    },
    "package_entry": {
     "name": "PyDESeq2",
     "description": "PyDESeq2 is a python package for bulk RNA-seq differential expression analysis. It is a re-implementation\nfrom scratch of the main features of the R package DESeq2 (Love et al. 2014).\n",
     "project_home": "https://github.com/scverse/PyDESeq2",
     "documentation_home": "https://pydeseq2.readthedocs.io/",
     "tutorials_home": "https://pydeseq2.readthedocs.io/page/auto_examples/",
     "install": {
      "pypi": "pydeseq2"
     },
     "license": "MIT",
     "language": "Python",
     "primary_category": "bulk RNA-seq",
     "tags": [
      "bulk RNA-seq",
      "differential expression"
     ],
     "publications": [
      "10.1093/bioinformatics/btad547"
     ],
     "contact": [
      "BorisMuzellec",
      "maikia",
      "vcabeli"
     ],
     "test_command": "pip install .\"[dev]\" && pytest\n",
     "category": "ecosystem",
     "version": "0.5.4",
     "inventory": "https://pydeseq2.readthedocs.io/en/stable/"
    },
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": 0,
     "release": "v0.8.0",
     "latest": "v0.8.0"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/PyDESeq2/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "pass",
     "detail": "On the latest template release (v0.8.0)",
     "fix_url": "https://github.com/scverse/PyDESeq2/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/PyDESeq2/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "fail",
     "detail": "No pre-commit.ci check run on the default branch",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yaml` present",
     "fix_url": "https://github.com/scverse/PyDESeq2/blob/main/.codecov.yaml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/PyDESeq2/settings/branches"
    },
    "template/packages-json": {
     "status": "pass",
     "detail": "Listed under ecosystem",
     "fix_url": "https://github.com/scverse/scverse.github.io/blob/main/data/ecosystem-packages.yaml"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/PyDESeq2/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "fail",
     "detail": "RTD `pydeseq2` builds https://github.com/owkin/PyDESeq2, expected https://github.com/scverse/PyDESeq2.git",
     "fix_url": "https://app.readthedocs.org/dashboard/pydeseq2/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "pass",
     "detail": "2 of 5 maintainers are core devs (grst, Zethson)",
     "fix_url": "https://app.readthedocs.org/dashboard/pydeseq2/edit/"
    },
    "docs/scverse-domain": {
     "status": "fail",
     "detail": "Docs served from pydeseq2.readthedocs.io",
     "fix_url": "https://app.readthedocs.org/dashboard/pydeseq2/domains/"
    },
    "docs/rtd-build": {
     "status": "pass",
     "detail": "`stable` built from `4426e4d` on 2026-01-23",
     "fix_url": "https://app.readthedocs.org/projects/pydeseq2/builds/31121336/"
    },
    "packaging/pypi-org": {
     "status": "pass",
     "detail": "Owned by the `scverse` PyPI organization",
     "fix_url": "https://pypi.org/project/pydeseq2/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`0.5.4` published by scverse/PyDESeq2/.github/workflows/release.yaml",
     "fix_url": "https://pypi.org/project/pydeseq2/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yaml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/PyDESeq2/blob/main/.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/PyDESeq2/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "5 of the last 5 are mutable: v0.5.4, v0.5.3, v0.5.2 and 2 more",
     "fix_url": "https://github.com/scverse/PyDESeq2/releases"
    },
    "packaging/pypi-environment": {
     "status": "warn",
     "detail": "`pypi` environment exists but has no protection rules",
     "fix_url": "https://github.com/scverse/PyDESeq2/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `v0.5.4` == PyPI `0.5.4`",
     "fix_url": "https://github.com/scverse/PyDESeq2/releases/tag/v0.5.4"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "pass",
     "detail": "All 11 action references pinned to a SHA",
     "fix_url": "https://github.com/scverse/PyDESeq2/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "6 of 6 on tags: mirrors-mypy@v2.1.0, pre-commit-hooks@v6.0.0, pre-commit@v2.5.3 and 3 more",
     "fix_url": "https://github.com/scverse/PyDESeq2/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "1 finding in 4 files, online: known-vulnerable-actions",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "Missing ecosystem: pre-commit",
     "fix_url": "https://github.com/scverse/PyDESeq2/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/PyDESeq2/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/PyDESeq2/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/PyDESeq2/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "Workflows are fine, but the repo's default GITHUB_TOKEN is read-write",
     "fix_url": "https://github.com/scverse/PyDESeq2/settings/actions"
    },
    "security/persist-credentials": {
     "status": "pass",
     "detail": "All 4 checkouts set `persist-credentials: false`",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/PyDESeq2/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (classic)",
     "fix_url": "https://github.com/scverse/PyDESeq2/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (classic)",
     "fix_url": "https://github.com/scverse/PyDESeq2/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are required but need 0 approving reviews",
     "fix_url": "https://github.com/scverse/PyDESeq2/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No status checks are required to merge",
     "fix_url": "https://github.com/scverse/PyDESeq2/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "MIT",
     "fix_url": "https://github.com/scverse/PyDESeq2/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 44 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/PyDESeq2/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing `scverse` topic",
     "fix_url": "https://github.com/scverse/PyDESeq2"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 1 days ago",
     "fix_url": "https://github.com/scverse/PyDESeq2/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "pytometry",
    "category": "other",
    "repo": {
     "name": "pytometry",
     "full_name": "scverse/pytometry",
     "html_url": "https://github.com/scverse/pytometry",
     "description": "Flow & mass cytometry analytics.",
     "pushed_at": "2026-10-30T20:10:31Z",
     "homepage": "https://pytometry.readthedocs.io/en/latest/index.html",
     "archived": false,
     "license": {
      "key": "apache-2.0",
      "name": "Apache License 2.0",
      "spdx_id": "Apache-2.0",
      "url": "https://api.github.com/licenses/apache-2.0",
      "node_id": "MDc6TGljZW5zZTI="
     },
     "topics": [
      "anndata",
      "cytometry",
      "flowsom",
      "scverse"
     ],
     "default_branch": "main"
    },
    "pypi": {
     "name": "pytometry",
     "version": "0.1.6",
     "summary": "Flow & mass cytometry analytics in scverse",
     "home_page": null,
     "project_urls": {
      "Documentation": "https://pytometry.readthedocs.io/",
      "Home-page": "https://github.com/scverse/pytometry",
      "Source": "https://github.com/scverse/pytometry"
     },
     "license": "Apache License Version 2.0, January 2004 http://www.apache.org/licenses/  TERMS ",
     "classifiers": [],
     "ownership": {
      "organization": "scverse",
      "roles": [
       {
        "role": "Maintainer",
        "user": "grst"
       }
      ]
     },
     "url": "https://pypi.org/project/pytometry/",
     "provenance": null
    },
    "rtd": {
     "slug": "pytometry",
     "name": "pytometry",
     "repository": {
      "type": "git",
      "url": "https://github.com/scverse/pytometry.git"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/pytometry/builds/",
      "documentation": "https://pytometry.readthedocs.io/en/latest/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/pytometry/",
      "versions": "https://app.readthedocs.org/projects/pytometry/versions/"
     },
     "users": [
      "grst",
      "flying-sheep",
      "Zethson",
      "scverse"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": "",
     "home": "https://app.readthedocs.org/projects/pytometry/",
     "stable_build": {
      "id": 25735875,
      "success": true,
      "state": "finished",
      "finished": "2024-09-25T04:18:17.225465Z",
      "version": "stable",
      "commit": "ccab5c057c783608fb85f94bcfd1ed997ed73042",
      "url": "https://app.readthedocs.org/projects/pytometry/builds/25735875/"
     }
    },
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": 0,
     "release": "v0.8.0",
     "latest": "v0.8.0"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/pytometry/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "pass",
     "detail": "On the latest template release (v0.8.0)",
     "fix_url": "https://github.com/scverse/pytometry/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/pytometry/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "fail",
     "detail": "No pre-commit.ci check run on the default branch",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yaml` present",
     "fix_url": "https://github.com/scverse/pytometry/blob/main/.codecov.yaml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/pytometry/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/pytometry/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "pass",
     "detail": "RTD `pytometry` builds scverse/pytometry",
     "fix_url": "https://app.readthedocs.org/dashboard/pytometry/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "pass",
     "detail": "3 of 4 maintainers are core devs (grst, flying-sheep, Zethson)",
     "fix_url": "https://app.readthedocs.org/dashboard/pytometry/edit/"
    },
    "docs/scverse-domain": {
     "status": "fail",
     "detail": "Docs served from pytometry.readthedocs.io",
     "fix_url": "https://app.readthedocs.org/dashboard/pytometry/domains/"
    },
    "docs/rtd-build": {
     "status": "pass",
     "detail": "`stable` built from `ccab5c0` on 2024-09-25",
     "fix_url": "https://app.readthedocs.org/projects/pytometry/builds/25735875/"
    },
    "packaging/pypi-org": {
     "status": "pass",
     "detail": "Owned by the `scverse` PyPI organization",
     "fix_url": "https://pypi.org/project/pytometry/"
    },
    "packaging/trusted-publishing": {
     "status": "fail",
     "detail": "`0.1.6` has no attestations \u2014 published with a token, not OIDC",
     "fix_url": "https://docs.pypi.org/trusted-publishers/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yaml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/pytometry/blob/main/.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/pytometry/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "5 of the last 5 are mutable: 0.1.6, 0.1.5, 0.1.4a and 2 more",
     "fix_url": "https://github.com/scverse/pytometry/releases"
    },
    "packaging/pypi-environment": {
     "status": "warn",
     "detail": "`pypi` environment exists but has no protection rules",
     "fix_url": "https://github.com/scverse/pytometry/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `0.1.6` == PyPI `0.1.6`",
     "fix_url": "https://github.com/scverse/pytometry/releases/tag/0.1.6"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "pass",
     "detail": "All 11 action references pinned to a SHA",
     "fix_url": "https://github.com/scverse/pytometry/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "5 of 5 on tags: pre-commit-hooks@v6.0.0, pre-commit@v2.5.3, pyproject-fmt@v2.25.3 and 2 more",
     "fix_url": "https://github.com/scverse/pytometry/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "pass",
     "detail": "No findings (4 files, online)",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "Missing ecosystem: pre-commit",
     "fix_url": "https://github.com/scverse/pytometry/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/pytometry/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/pytometry/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/pytometry/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "Workflows are fine, but the repo's default GITHUB_TOKEN is read-write",
     "fix_url": "https://github.com/scverse/pytometry/settings/actions"
    },
    "security/persist-credentials": {
     "status": "pass",
     "detail": "All 4 checkouts set `persist-credentials: false`",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/pytometry/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (classic)",
     "fix_url": "https://github.com/scverse/pytometry/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "No pull-request requirement",
     "fix_url": "https://github.com/scverse/pytometry/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are not required, so neither are reviews",
     "fix_url": "https://github.com/scverse/pytometry/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No status checks are required to merge",
     "fix_url": "https://github.com/scverse/pytometry/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "Apache-2.0",
     "fix_url": "https://github.com/scverse/pytometry/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 74 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/pytometry/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "pass",
     "detail": "Described, linked and tagged (4 topics)",
     "fix_url": "https://github.com/scverse/pytometry"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 2 days ago",
     "fix_url": "https://github.com/scverse/pytometry/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "rapids-singlecell",
    "category": "core-framework",
    "repo": {
     "name": "rapids-singlecell",
     "full_name": "scverse/rapids-singlecell",
     "html_url": "https://github.com/scverse/rapids-singlecell",
     "description": "rapids-singlecell: GPU-accelerated framework for scRNA analysis",
     "pushed_at": "2026-11-02T11:44:51Z",
     "homepage": "https://rapids-singlecell.scverse.org/",
     "archived": false,
     "license": {
      "key": "mit",
      "name": "MIT License",
      "spdx_id": "MIT",
      "url": "https://api.github.com/licenses/mit",
      "node_id": "MDc6TGljZW5zZTEz"
     },
     "topics": [
      "anndata",
      "bioinformatics",
      "gpu",
      "scverse",
      "single-cell"
     ],
     "default_branch": "main"
    },
    "pypi": {
     "name": "rapids-singlecell",
     "version": "0.18.1",
     "summary": "running single cell analysis on Nvidia GPUs",
     "home_page": null,
     "project_urls": {
      "Documentation": "https://rapids-singlecell.scverse.org/",
      "Source": "https://github.com/scverse/rapids_singlecell"
     },
     "license": "MIT License",
     "classifiers": [],
     "ownership": {
      "organization": "scverse",
      "roles": [
       {
        "role": "Owner",
        "user": "Intron7"
       }
      ]
     },
     "url": "https://pypi.org/project/rapids-singlecell/",
     "provenance": {
      "filename": "rapids_singlecell-0.18.1.tar.gz",
      "publisher": {
       "environment": "publish",
       "kind": "GitHub",
       "repository": "scverse/rapids-singlecell",
       "workflow": "publish.yml"
      },
      "san": "https://github.com/scverse/rapids-singlecell/.github/workflows/publish.yml@refs/tags/v0.18.1",
      "san_parts": {
       "repo": "scverse/rapids-singlecell",
       "workflow": ".github/workflows/publish.yml",
       "ref": "refs/tags/v0.18.1"
      },
      "files_with_provenance": 1
     }
    },
    "rtd": {
     "slug": "rapids-singlecell",
     "name": "rapids-singlecell",
     "repository": {
      "type": "git",
      "url": "https://github.com/scverse/rapids-singlecell.git"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/rapids-singlecell/builds/",
      "documentation": "https://rapids-singlecell.scverse.org/en/latest/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/rapids-singlecell/",
      "versions": "https://app.readthedocs.org/projects/rapids-singlecell/versions/"
     },
     "users": [
      "flying-sheep",
      "Intron7",
      "scverse"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": null,
     "home": "https://app.readthedocs.org/projects/rapids-singlecell/",
     "stable_build": {
      "id": 35088112,
      "success": true,
      "state": "finished",
      "finished": "2026-10-12T09:19:04.630667Z",
      "version": "stable",
      "commit": "ad9b8470baf9ee21d9f89ac16e25b43d13115e0a",
      "url": "https://app.readthedocs.org/projects/rapids-singlecell/builds/35088112/"
     }
    },
    "package_entry": {
     "name": "rapids-singlecell",
     "blurb": "GPU-accelerated framework for scRNA analysis",
     "description": "rapids-singlecell is a GPU-accelerated single-cell analysis library that serves as a\ndrop-in replacement for scanpy, squidpy, and decoupler.\n",
     "project_home": "https://github.com/scverse/rapids-singlecell",
     "documentation_home": "https://rapids-singlecell.readthedocs.io/",
     "tutorials_home": "https://rapids-singlecell.readthedocs.io/page/tutorials.html",
     "install": {
      "pypi": "rapids-singlecell"
     },
     "primary_category": "scRNA-seq",
     "tags": [
      "preprocessing",
      "clustering",
      "GPU acceleration"
     ],
     "license": "MIT",
     "language": "Python",
     "contact": [
      "Intron7"
     ],
     "logo": "rapids-singlecell/logo.svg",
     "test_command": "pip install \".[test]\" && pytest",
     "category": "core-framework",
     "version": "0.18.1",
     "inventory": "https://rapids-singlecell.scverse.org/en/latest/"
    },
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": null,
     "commits_behind": 0,
     "latest": "v0.8.0",
     "status": "behind"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/rapids-singlecell/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "pass",
     "detail": "Up to date with the template (v0.8.0)",
     "fix_url": "https://github.com/scverse/rapids-singlecell/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/rapids-singlecell/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "pass",
     "detail": "Listed among required status checks",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yaml` present",
     "fix_url": "https://github.com/scverse/rapids-singlecell/blob/main/.codecov.yaml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/rapids-singlecell/settings/branches"
    },
    "template/packages-json": {
     "status": "pass",
     "detail": "Listed under core-framework",
     "fix_url": "https://github.com/scverse/scverse.github.io/blob/main/data/ecosystem-packages.yaml"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/rapids-singlecell/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "pass",
     "detail": "RTD `rapids-singlecell` builds scverse/rapids-singlecell",
     "fix_url": "https://app.readthedocs.org/dashboard/rapids-singlecell/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "pass",
     "detail": "2 of 3 maintainers are core devs (flying-sheep, Intron7)",
     "fix_url": "https://app.readthedocs.org/dashboard/rapids-singlecell/edit/"
    },
    "docs/scverse-domain": {
     "status": "warn",
     "detail": "rapids-singlecell.scverse.org, but rapids-singlecell.readthedocs.io is still advertised",
     "fix_url": "https://app.readthedocs.org/dashboard/rapids-singlecell/domains/"
    },
    "docs/rtd-build": {
     "status": "pass",
     "detail": "`stable` built from `ad9b847` on 2026-10-12",
     "fix_url": "https://app.readthedocs.org/projects/rapids-singlecell/builds/35088112/"
    },
    "packaging/pypi-org": {
     "status": "pass",
     "detail": "Owned by the `scverse` PyPI organization",
     "fix_url": "https://pypi.org/project/rapids-singlecell/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`0.18.1` published by scverse/rapids-singlecell/.github/workflows/publish.yml",
     "fix_url": "https://pypi.org/project/rapids-singlecell/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/publish.yml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/rapids-singlecell/blob/main/.github/workflows/publish.yml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12,<3.15\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/rapids-singlecell/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "2 of the last 5 are mutable: v0.16.1, v0.16.0",
     "fix_url": "https://github.com/scverse/rapids-singlecell/releases"
    },
    "packaging/pypi-environment": {
     "status": "fail",
     "detail": "No `pypi` environment (found: publish, publish-cu12, publish-cu13)",
     "fix_url": "https://github.com/scverse/rapids-singlecell/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `v0.18.1` == PyPI `0.18.1`",
     "fix_url": "https://github.com/scverse/rapids-singlecell/releases/tag/v0.18.1"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "pass",
     "detail": "All 32 action references pinned to a SHA",
     "fix_url": "https://github.com/scverse/rapids-singlecell/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "8 of 8 on tags: codespell@v2.4.3, mirrors-clang-format@v23.1.3, pre-commit-hooks@v6.0.0 and 5 more",
     "fix_url": "https://github.com/scverse/rapids-singlecell/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "pass",
     "detail": "No findings (6 files, online)",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "pass",
     "detail": "Covers github-actions, pre-commit",
     "fix_url": "https://github.com/scverse/rapids-singlecell/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/rapids-singlecell/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/rapids-singlecell/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/rapids-singlecell/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "1 of 5 lack `permissions:`: docker.yml",
     "fix_url": "https://github.com/scverse/rapids-singlecell/settings/actions"
    },
    "security/persist-credentials": {
     "status": "fail",
     "detail": "1 of 8 keep credentials: download-stats.yml:update",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/rapids-singlecell/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (classic)",
     "fix_url": "https://github.com/scverse/rapids-singlecell/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (classic)",
     "fix_url": "https://github.com/scverse/rapids-singlecell/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are required but need 0 approving reviews",
     "fix_url": "https://github.com/scverse/rapids-singlecell/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "4 required: docs/readthedocs.org:rapids-singlecell, check, CI-Pass and 1 more",
     "fix_url": "https://github.com/scverse/rapids-singlecell/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "MIT",
     "fix_url": "https://github.com/scverse/rapids-singlecell/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 59 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/rapids-singlecell/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "pass",
     "detail": "Described, linked and tagged (5 topics)",
     "fix_url": "https://github.com/scverse/rapids-singlecell"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 0 days ago",
     "fix_url": "https://github.com/scverse/rapids-singlecell/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "repo-health",
    "category": "other",
    "repo": {
     "name": "repo-health",
     "full_name": "scverse/repo-health",
     "html_url": "https://github.com/scverse/repo-health",
     "description": "Automated checks for security and consistency on scverse.org github repositories",
     "pushed_at": "2026-11-01T07:45:50Z",
     "homepage": "https://scverse.org/repo-health/",
     "archived": false,
     "license": {
      "key": "mpl-2.0",
      "name": "Mozilla Public License 2.0",
      "spdx_id": "MPL-2.0",
      "url": "https://api.github.com/licenses/mpl-2.0",
      "node_id": "MDc6TGljZW5zZTE0"
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": {
     "name": "scverse-repo-health",
     "missing": true
    },
    "rtd": null,
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {
     "template/cruft": "Org tooling, not generated from the package template",
     "template/up-to-date": "Org tooling, not generated from the package template",
     "docs/readthedocs-yaml": "The dashboard itself is the documentation, published to GitHub Pages",
     "packaging/release-workflow": "Not distributed on PyPI; deployed to GitHub Pages"
    },
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "na",
     "detail": "Waived: Org tooling, not generated from the package template"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Waived: Org tooling, not generated from the package template"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/repo-health/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "fail",
     "detail": "No pre-commit.ci check run on the default branch",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "fail",
     "detail": "No codecov config file and no codecov check run",
     "fix_url": "https://app.codecov.io/gh/scverse/repo-health"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/repo-health/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "na",
     "detail": "Waived: The dashboard itself is the documentation, published to GitHub Pages"
    },
    "docs/rtd-linked": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-core-devs": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/scverse-domain": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-org": {
     "status": "na",
     "detail": "`scverse-repo-health` is not published on PyPI"
    },
    "packaging/trusted-publishing": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/release-workflow": {
     "status": "na",
     "detail": "Waived: Not distributed on PyPI; deployed to GitHub Pages"
    },
    "packaging/spec0-python": {
     "status": "pass",
     "detail": "`requires-python = \">=3.13\"` is at or above SPEC 0's 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/repo-health/settings"
    },
    "packaging/releases-immutable": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-environment": {
     "status": "fail",
     "detail": "No `pypi` environment (found: github-pages)",
     "fix_url": "https://github.com/scverse/repo-health/settings/environments"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "pass",
     "detail": "All 10 action references pinned to a SHA",
     "fix_url": "https://github.com/scverse/repo-health/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "5 of 5 on tags: pre-commit-hooks@v6.0.0, pre-commit@v2.5.12, pyproject-fmt@v2.29.3 and 2 more",
     "fix_url": "https://github.com/scverse/repo-health/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "pass",
     "detail": "No findings (4 files, online)",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "pass",
     "detail": "Covers github-actions, pre-commit, uv",
     "fix_url": "https://github.com/scverse/repo-health/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/repo-health/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/repo-health/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/repo-health/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "Workflows are fine, but the repo's default GITHUB_TOKEN is read-write",
     "fix_url": "https://github.com/scverse/repo-health/settings/actions"
    },
    "security/persist-credentials": {
     "status": "pass",
     "detail": "All 3 checkouts set `persist-credentials: false`",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/repo-health/security/policy"
    },
    "branch/protected": {
     "status": "fail",
     "detail": "`main` is not protected at all",
     "fix_url": "https://github.com/scverse/repo-health/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "Direct pushes to the default branch are allowed",
     "fix_url": "https://github.com/scverse/repo-health/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "No review requirement",
     "fix_url": "https://github.com/scverse/repo-health/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No required status checks",
     "fix_url": "https://github.com/scverse/repo-health/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "MPL-2.0",
     "fix_url": "https://github.com/scverse/repo-health/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 23 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/repo-health/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing `scverse` topic",
     "fix_url": "https://github.com/scverse/repo-health"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 1 days ago",
     "fix_url": "https://github.com/scverse/repo-health/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "sbi2_2026",
    "category": "other",
    "repo": {
     "name": "sbi2_2026",
     "full_name": "scverse/sbi2_2026",
     "html_url": "https://github.com/scverse/sbi2_2026",
     "description": "Landing page for the scverse workshop at SBI2 2026",
     "pushed_at": "2026-10-29T01:11:24Z",
     "homepage": "https://scverse.org/sbi2_2026/",
     "archived": false,
     "license": null,
     "topics": [],
     "default_branch": "main"
    },
    "pypi": null,
    "rtd": null,
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/pre-commit-ci": {
     "status": "fail",
     "detail": "No pre-commit.ci check run on the default branch",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/sbi2_2026/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-linked": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-core-devs": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/scverse-domain": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-org": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/trusted-publishing": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/release-workflow": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/spec0-python": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/sbi2_2026/settings"
    },
    "packaging/releases-immutable": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-environment": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "fail",
     "detail": "4 of 4 unpinned: actions/checkout@v4, actions/upload-artifact@v4, peaceiris/actions-gh-pages@v3 and 1 more",
     "fix_url": "https://github.com/scverse/sbi2_2026/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "1 of 1 on tags: mirrors-prettier@v3.8.1",
     "fix_url": "https://github.com/scverse/sbi2_2026/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "6 findings in 1 file, online: artipacked, excessive-permissions, unpinned-uses",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "No `.github/dependabot.yml` (needs github-actions, pre-commit)",
     "fix_url": "https://github.com/scverse/sbi2_2026/new/main?filename=.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/sbi2_2026/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/sbi2_2026/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/sbi2_2026/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "1 of 1 lack `permissions:`: gh-pages.yml",
     "fix_url": "https://github.com/scverse/sbi2_2026/settings/actions"
    },
    "security/persist-credentials": {
     "status": "fail",
     "detail": "1 of 1 keep credentials: gh-pages.yml:deploy",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/sbi2_2026/security/policy"
    },
    "branch/protected": {
     "status": "fail",
     "detail": "`main` is not protected at all",
     "fix_url": "https://github.com/scverse/sbi2_2026/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "Direct pushes to the default branch are allowed",
     "fix_url": "https://github.com/scverse/sbi2_2026/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "No review requirement",
     "fix_url": "https://github.com/scverse/sbi2_2026/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No required status checks",
     "fix_url": "https://github.com/scverse/sbi2_2026/settings/rules"
    },
    "governance/license": {
     "status": "fail",
     "detail": "No license",
     "fix_url": "https://github.com/scverse/sbi2_2026/community/license/new?branch=main"
    },
    "governance/gpl-free": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing `scverse` topic",
     "fix_url": "https://github.com/scverse/sbi2_2026"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 4 days ago",
     "fix_url": "https://github.com/scverse/sbi2_2026/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "scanpy",
    "category": "core-framework",
    "repo": {
     "name": "scanpy",
     "full_name": "scverse/scanpy",
     "html_url": "https://github.com/scverse/scanpy",
     "description": "Single-cell analysis in Python. Scales to >100M cells.",
     "pushed_at": "2026-11-02T12:20:22Z",
     "homepage": "https://scanpy.scverse.org",
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [
      "anndata",
      "bioinformatics",
      "data-science",
      "machine-learning",
      "python",
      "scanpy",
      "scverse",
      "transcriptomics",
      "visualize-data"
     ],
     "default_branch": "main"
    },
    "pypi": {
     "name": "scanpy",
     "version": "1.12.5",
     "summary": "Single-Cell Analysis in Python.",
     "home_page": null,
     "project_urls": {
      "Bluesky": "https://bsky.app/profile/scverse.bsky.social",
      "Discourse": "https://discourse.scverse.org/c/help/scanpy/37",
      "Documentation": "https://scanpy.scverse.org/",
      "Homepage": "https://scanpy.org",
      "Source": "https://github.com/scverse/scanpy",
      "Twitter": "https://x.com/scverse_team"
     },
     "license": "BSD-3-Clause",
     "classifiers": [
      "Development Status :: 5 - Production/Stable",
      "Environment :: Console",
      "Framework :: Jupyter",
      "Intended Audience :: Developers",
      "Intended Audience :: Science/Research",
      "License :: OSI Approved :: BSD License",
      "Natural Language :: English",
      "Operating System :: MacOS :: MacOS X",
      "Operating System :: Microsoft :: Windows",
      "Operating System :: POSIX :: Linux",
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
      "Programming Language :: Python :: 3.14",
      "Topic :: Scientific/Engineering :: Bio-Informatics",
      "Topic :: Scientific/Engineering :: Visualization"
     ],
     "ownership": {
      "organization": "scverse",
      "roles": []
     },
     "url": "https://pypi.org/project/scanpy/",
     "provenance": {
      "filename": "scanpy-1.12.5-py3-none-any.whl",
      "publisher": {
       "environment": "pypi",
       "kind": "GitHub",
       "repository": "scverse/scanpy",
       "workflow": "publish.yml"
      },
      "san": "https://github.com/scverse/scanpy/.github/workflows/publish.yml@refs/tags/1.12.5",
      "san_parts": {
       "repo": "scverse/scanpy",
       "workflow": ".github/workflows/publish.yml",
       "ref": "refs/tags/1.12.5"
      },
      "files_with_provenance": 2
     }
    },
    "rtd": {
     "slug": "scanpy",
     "name": "scanpy",
     "repository": {
      "type": "git",
      "url": "https://github.com/theislab/scanpy.git"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/scanpy/builds/",
      "documentation": "https://scanpy.readthedocs.io/en/latest/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/scanpy/",
      "versions": "https://app.readthedocs.org/projects/scanpy/versions/"
     },
     "users": [
      "fidelram"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": null,
     "home": "https://app.readthedocs.org/projects/scanpy/",
     "stable_build": {
      "id": 26251242,
      "success": true,
      "state": "finished",
      "finished": "2024-11-12T10:13:34.681988Z",
      "version": "stable",
      "commit": "e4a05f1fad491471ebbe0da13b4c4c02a50787f3",
      "url": "https://app.readthedocs.org/projects/scanpy/builds/26251242/"
     }
    },
    "package_entry": {
     "name": "Scanpy",
     "blurb": "Single-cell analysis framework",
     "description": "Scanpy is a scalable toolkit for analyzing single-cell gene expression data built jointly\nwith anndata. It includes preprocessing, visualization, clustering, trajectory inference\nand differential expression testing. The Python-based implementation efficiently deals\nwith datasets of more than one million cells.\n",
     "project_home": "https://github.com/scverse/scanpy",
     "documentation_home": "https://scanpy.scverse.org/",
     "tutorials_home": "https://scanpy.scverse.org/page/tutorials.html",
     "publications": [
      "10.1186/s13059-017-1382-0"
     ],
     "install": {
      "pypi": "scanpy",
      "conda": "conda-forge::scanpy"
     },
     "primary_category": "scRNA-seq",
     "tags": [
      "preprocessing",
      "differential expression",
      "clustering",
      "visualization"
     ],
     "license": "BSD-3-Clause",
     "language": "Python",
     "contact": [
      "flying-sheep",
      "ilan-gold"
     ],
     "logo": "scanpy/logo.svg",
     "test_command": "pip install \".[test]\" && pytest",
     "category": "core-framework",
     "version": "1.12.5",
     "inventory": "https://scanpy.scverse.org/en/stable/"
    },
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": 3,
     "release": "v0.6.0",
     "latest": "v0.8.0"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/scanpy/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "fail",
     "detail": "3 releases behind (v0.8.0 is current)",
     "fix_url": "https://github.com/scverse/scanpy/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/scanpy/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "pass",
     "detail": "Listed among required status checks",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yml` present",
     "fix_url": "https://github.com/scverse/scanpy/blob/main/.codecov.yml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/scanpy/settings/branches"
    },
    "template/packages-json": {
     "status": "pass",
     "detail": "Listed under core-framework",
     "fix_url": "https://github.com/scverse/scverse.github.io/blob/main/data/ecosystem-packages.yaml"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yml` present",
     "fix_url": "https://github.com/scverse/scanpy/blob/main/.readthedocs.yml"
    },
    "docs/rtd-linked": {
     "status": "fail",
     "detail": "RTD `scanpy` builds https://github.com/theislab/scanpy.git, expected https://github.com/scverse/scanpy.git",
     "fix_url": "https://app.readthedocs.org/dashboard/scanpy/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "fail",
     "detail": "0 of 1 maintainers are core devs; at least 2 required",
     "fix_url": "https://app.readthedocs.org/dashboard/scanpy/edit/"
    },
    "docs/scverse-domain": {
     "status": "warn",
     "detail": "scanpy.scverse.org, but scanpy.readthedocs.io is still advertised",
     "fix_url": "https://app.readthedocs.org/dashboard/scanpy/domains/"
    },
    "docs/rtd-build": {
     "status": "pass",
     "detail": "`stable` built from `e4a05f1` on 2024-11-12",
     "fix_url": "https://app.readthedocs.org/projects/scanpy/builds/26251242/"
    },
    "packaging/pypi-org": {
     "status": "pass",
     "detail": "Owned by the `scverse` PyPI organization",
     "fix_url": "https://pypi.org/project/scanpy/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`1.12.5` published by scverse/scanpy/.github/workflows/publish.yml",
     "fix_url": "https://pypi.org/project/scanpy/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/publish.yml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/scanpy/blob/main/.github/workflows/publish.yml"
    },
    "packaging/spec0-python": {
     "status": "pass",
     "detail": "`requires-python = \">=3.13\"` is at or above SPEC 0's 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/scanpy/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "2 of the last 5 are mutable: 1.13.0a1, 1.12.3",
     "fix_url": "https://github.com/scverse/scanpy/releases"
    },
    "packaging/pypi-environment": {
     "status": "pass",
     "detail": "`pypi` environment protected by branch_policy",
     "fix_url": "https://github.com/scverse/scanpy/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `1.12.5` == PyPI `1.12.5`",
     "fix_url": "https://github.com/scverse/scanpy/releases/tag/1.12.5"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "pass",
     "detail": "All 27 action references pinned to a SHA",
     "fix_url": "https://github.com/scverse/scanpy/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "6 of 6 on tags: bibfmt@v4.3.0, pre-commit-hooks@v6.0.0, pre-commit@v2.5.15 and 3 more",
     "fix_url": "https://github.com/scverse/scanpy/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "pass",
     "detail": "No findings (6 files, online)",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "pass",
     "detail": "Covers github-actions, pre-commit",
     "fix_url": "https://github.com/scverse/scanpy/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/scanpy/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/scanpy/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/scanpy/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "1 of 5 lack `permissions:`: publish.yml",
     "fix_url": "https://github.com/scverse/scanpy/settings/actions"
    },
    "security/persist-credentials": {
     "status": "pass",
     "detail": "All 7 checkouts set `persist-credentials: false`",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/scanpy/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/scanpy/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (ruleset)",
     "fix_url": "https://github.com/scverse/scanpy/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are required but need 0 approving reviews",
     "fix_url": "https://github.com/scverse/scanpy/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "4 required: docs/readthedocs.com:icb-scanpy, Check title, milestone, and labels, Pre-commit checks and 1 more",
     "fix_url": "https://github.com/scverse/scanpy/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/scanpy/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 58 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/scanpy/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "pass",
     "detail": "Described, linked and tagged (9 topics)",
     "fix_url": "https://github.com/scverse/scanpy"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 0 days ago",
     "fix_url": "https://github.com/scverse/scanpy/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "scirpy",
    "category": "core-framework",
    "repo": {
     "name": "scirpy",
     "full_name": "scverse/scirpy",
     "html_url": "https://github.com/scverse/scirpy",
     "description": "A scanpy extension to analyse single-cell TCR and BCR data.",
     "pushed_at": "2026-10-28T11:14:45Z",
     "homepage": "https://scirpy.scverse.org/en/latest/",
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [
      "airr",
      "scverse"
     ],
     "default_branch": "main"
    },
    "pypi": {
     "name": "scirpy",
     "version": "0.25.1",
     "summary": "Python library for single-cell adaptive immune receptor repertoire (AIRR) analysis",
     "home_page": null,
     "project_urls": {
      "Documentation": "https://scirpy.readthedocs.io/",
      "Home-page": "https://github.com/scverse/scirpy",
      "Source": "https://github.com/scverse/scirpy"
     },
     "license": "BSD 3-Clause License",
     "classifiers": [
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
      "Programming Language :: Python :: 3.14"
     ],
     "ownership": {
      "organization": "scverse",
      "roles": [
       {
        "role": "Owner",
        "user": "zethson"
       }
      ]
     },
     "url": "https://pypi.org/project/scirpy/",
     "provenance": {
      "filename": "scirpy-0.25.1-py3-none-any.whl",
      "publisher": {
       "environment": "pypi",
       "kind": "GitHub",
       "repository": "scverse/scirpy",
       "workflow": "release.yaml"
      },
      "san": "https://github.com/scverse/scirpy/.github/workflows/release.yaml@refs/tags/v0.25.1",
      "san_parts": {
       "repo": "scverse/scirpy",
       "workflow": ".github/workflows/release.yaml",
       "ref": "refs/tags/v0.25.1"
      },
      "files_with_provenance": 2
     }
    },
    "rtd": {
     "slug": "scirpy",
     "name": "scirpy",
     "repository": {
      "type": "git",
      "url": "https://github.com/scverse/scirpy.git"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/scirpy/builds/",
      "documentation": "https://scirpy.scverse.org/en/latest/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/scirpy/",
      "versions": "https://app.readthedocs.org/projects/scirpy/versions/"
     },
     "users": [
      "grst",
      "flying-sheep",
      "Zethson",
      "scverse"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": "",
     "home": "https://app.readthedocs.org/projects/scirpy/",
     "stable_build": {
      "id": 34167969,
      "success": true,
      "state": "finished",
      "finished": "2026-08-21T08:16:21.440379Z",
      "version": "stable",
      "commit": "79a83440e71a758b531a44b93565c0f2d379263b",
      "url": "https://app.readthedocs.org/projects/scirpy/builds/34167969/"
     }
    },
    "package_entry": {
     "name": "Scirpy",
     "blurb": "Single-cell immune sequencing analysis framework",
     "description": "Scirpy is a scalable toolkit to analyse T-cell receptor or B-cell receptor repertoires\nfrom single-cell RNA sequencing data. It seamlessly integrates with scanpy and provides\nvarious modules for data import, analysis and visualization.\n",
     "project_home": "https://github.com/scverse/scirpy",
     "documentation_home": "https://scirpy.scverse.org/",
     "tutorials_home": "https://scirpy.scverse.org/page/tutorials.html",
     "publications": [
      "10.1093/bioinformatics/btaa611"
     ],
     "install": {
      "pypi": "scirpy",
      "conda": "bioconda::scirpy"
     },
     "primary_category": "Adaptive immune cell receptor",
     "tags": [
      "immune receptor"
     ],
     "license": "BSD-3-Clause",
     "language": "Python",
     "contact": [
      "grst"
     ],
     "logo": "scirpy/logo.svg",
     "test_command": "pip install \".[test]\" && pytest",
     "category": "core-framework",
     "version": "0.25.1",
     "inventory": "https://scirpy.scverse.org/en/latest/"
    },
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": 0,
     "release": "v0.8.0",
     "latest": "v0.8.0"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/scirpy/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "pass",
     "detail": "On the latest template release (v0.8.0)",
     "fix_url": "https://github.com/scverse/scirpy/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/scirpy/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "pass",
     "detail": "Listed among required status checks",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yaml` present",
     "fix_url": "https://github.com/scverse/scirpy/blob/main/.codecov.yaml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/scirpy/settings/branches"
    },
    "template/packages-json": {
     "status": "pass",
     "detail": "Listed under core-framework",
     "fix_url": "https://github.com/scverse/scverse.github.io/blob/main/data/ecosystem-packages.yaml"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/scirpy/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "pass",
     "detail": "RTD `scirpy` builds scverse/scirpy",
     "fix_url": "https://app.readthedocs.org/dashboard/scirpy/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "pass",
     "detail": "3 of 4 maintainers are core devs (grst, flying-sheep, Zethson)",
     "fix_url": "https://app.readthedocs.org/dashboard/scirpy/edit/"
    },
    "docs/scverse-domain": {
     "status": "pass",
     "detail": "scirpy.scverse.org",
     "fix_url": "https://app.readthedocs.org/dashboard/scirpy/domains/"
    },
    "docs/rtd-build": {
     "status": "pass",
     "detail": "`stable` built from `79a8344` on 2026-08-21",
     "fix_url": "https://app.readthedocs.org/projects/scirpy/builds/34167969/"
    },
    "packaging/pypi-org": {
     "status": "pass",
     "detail": "Owned by the `scverse` PyPI organization",
     "fix_url": "https://pypi.org/project/scirpy/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`0.25.1` published by scverse/scirpy/.github/workflows/release.yaml",
     "fix_url": "https://pypi.org/project/scirpy/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yaml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/scirpy/blob/main/.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/scirpy/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "3 of the last 5 are mutable: v0.24.0, v0.23.0, v0.22.5",
     "fix_url": "https://github.com/scverse/scirpy/releases"
    },
    "packaging/pypi-environment": {
     "status": "warn",
     "detail": "`pypi` environment exists but has no protection rules",
     "fix_url": "https://github.com/scverse/scirpy/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `v0.25.1` == PyPI `0.25.1`",
     "fix_url": "https://github.com/scverse/scirpy/releases/tag/v0.25.1"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "pass",
     "detail": "All 18 action references pinned to a SHA",
     "fix_url": "https://github.com/scverse/scirpy/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "5 of 5 on tags: pre-commit-hooks@v6.0.0, pre-commit@v2.5.13, pyproject-fmt@v2.29.4 and 2 more",
     "fix_url": "https://github.com/scverse/scirpy/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "1 finding in 7 files, online: known-vulnerable-actions",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "Missing ecosystem: pre-commit",
     "fix_url": "https://github.com/scverse/scirpy/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/scirpy/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/scirpy/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/scirpy/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "Workflows are fine, but the repo's default GITHUB_TOKEN is read-write",
     "fix_url": "https://github.com/scverse/scirpy/settings/actions"
    },
    "security/persist-credentials": {
     "status": "pass",
     "detail": "All 7 checkouts set `persist-credentials: false`",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/scirpy/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/scirpy/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (ruleset)",
     "fix_url": "https://github.com/scverse/scirpy/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are required but need 0 approving reviews",
     "fix_url": "https://github.com/scverse/scirpy/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "6 required: docs/readthedocs.org:scirpy, pre-commit.ci - pr, Tests pass in all hatch environments and 3 more",
     "fix_url": "https://github.com/scverse/scirpy/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/scirpy/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "fail",
     "detail": "`igraph` (GNU General Public License (GPL)), `python-Levenshtein` (GPL-2.0-or-later), `Levenshtein` (GPL-2.0-or-later) via `python-Levenshtein`",
     "fix_url": "https://github.com/scverse/scirpy/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "pass",
     "detail": "Described, linked and tagged (2 topics)",
     "fix_url": "https://github.com/scverse/scirpy"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 5 days ago",
     "fix_url": "https://github.com/scverse/scirpy/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "scverse-backends",
    "category": "other",
    "repo": {
     "name": "scverse-backends",
     "full_name": "scverse/scverse-backends",
     "html_url": "https://github.com/scverse/scverse-backends",
     "description": "The default plugin and dispatch mechanism for scverse. Host libraries mark public functions with @backend_dispatch or replaceable classes with @backend_class.",
     "pushed_at": "2026-10-05T19:31:47Z",
     "homepage": "https://scverse-backends.readthedocs.io/en/latest/",
     "archived": false,
     "license": {
      "key": "mit",
      "name": "MIT License",
      "spdx_id": "MIT",
      "url": "https://api.github.com/licenses/mit",
      "node_id": "MDc6TGljZW5zZTEz"
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": {
     "name": "scverse-backends",
     "version": "0.0.3",
     "summary": "Pluggable backend dispatch for scverse and scientific Python host libraries",
     "home_page": null,
     "project_urls": {
      "Bug Tracker": "https://github.com/scverse/scverse-backends/issues",
      "Documentation": "https://scverse-backends.readthedocs.io",
      "Source": "https://github.com/scverse/scverse-backends"
     },
     "license": "MIT",
     "classifiers": [
      "Development Status :: 3 - Alpha",
      "Intended Audience :: Science/Research",
      "License :: OSI Approved :: MIT License",
      "Operating System :: MacOS :: MacOS X",
      "Operating System :: POSIX :: Linux",
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
      "Programming Language :: Python :: 3.14",
      "Topic :: Scientific/Engineering :: Bio-Informatics",
      "Typing :: Typed"
     ],
     "ownership": {
      "organization": "scverse",
      "roles": []
     },
     "url": "https://pypi.org/project/scverse-backends/",
     "provenance": {
      "filename": "scverse_backends-0.0.3-py3-none-any.whl",
      "publisher": {
       "environment": "pypi",
       "kind": "GitHub",
       "repository": "scverse/scverse-backends",
       "workflow": "python-publish.yml"
      },
      "san": "https://github.com/scverse/scverse-backends/.github/workflows/python-publish.yml@refs/tags/v0.0.3",
      "san_parts": {
       "repo": "scverse/scverse-backends",
       "workflow": ".github/workflows/python-publish.yml",
       "ref": "refs/tags/v0.0.3"
      },
      "files_with_provenance": 2
     }
    },
    "rtd": {
     "slug": "scverse-backends",
     "name": "scverse-backends",
     "repository": {
      "type": "git",
      "url": "https://github.com/scverse/scverse-backends.git"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/scverse-backends/builds/",
      "documentation": "https://scverse-backends.readthedocs.io/en/latest/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/scverse-backends/",
      "versions": "https://app.readthedocs.org/projects/scverse-backends/versions/"
     },
     "users": [
      "Intron7"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": null,
     "home": "https://app.readthedocs.org/projects/scverse-backends/",
     "stable_build": {
      "id": 33724112,
      "success": true,
      "state": "finished",
      "finished": "2026-07-23T11:27:33.526490Z",
      "version": "stable",
      "commit": "e32b7f73953e9a1b925db17a9e68a3540488cebd",
      "url": "https://app.readthedocs.org/projects/scverse-backends/builds/33724112/"
     }
    },
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "fail",
     "detail": "No `.cruft.json` \u2014 repo was not generated from the template",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse#usage"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/scverse-backends/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "pass",
     "detail": "Listed among required status checks",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`codecov.yml` present",
     "fix_url": "https://github.com/scverse/scverse-backends/blob/main/codecov.yml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/scverse-backends/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/scverse-backends/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "pass",
     "detail": "RTD `scverse-backends` builds scverse/scverse-backends",
     "fix_url": "https://app.readthedocs.org/dashboard/scverse-backends/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "fail",
     "detail": "1 of 1 maintainers are core devs (Intron7); at least 2 required",
     "fix_url": "https://app.readthedocs.org/dashboard/scverse-backends/edit/"
    },
    "docs/scverse-domain": {
     "status": "fail",
     "detail": "Docs served from scverse-backends.readthedocs.io",
     "fix_url": "https://app.readthedocs.org/dashboard/scverse-backends/domains/"
    },
    "docs/rtd-build": {
     "status": "pass",
     "detail": "`stable` built from `e32b7f7` on 2026-07-23",
     "fix_url": "https://app.readthedocs.org/projects/scverse-backends/builds/33724112/"
    },
    "packaging/pypi-org": {
     "status": "pass",
     "detail": "Owned by the `scverse` PyPI organization",
     "fix_url": "https://pypi.org/project/scverse-backends/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`0.0.3` published by scverse/scverse-backends/.github/workflows/python-publish.yml",
     "fix_url": "https://pypi.org/project/scverse-backends/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/python-publish.yml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/scverse-backends/blob/main/.github/workflows/python-publish.yml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/scverse-backends/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "2 of the last 2 are mutable: v0.0.3, v0.0.2",
     "fix_url": "https://github.com/scverse/scverse-backends/releases"
    },
    "packaging/pypi-environment": {
     "status": "warn",
     "detail": "`pypi` environment exists but has no protection rules",
     "fix_url": "https://github.com/scverse/scverse-backends/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `v0.0.3` == PyPI `0.0.3`",
     "fix_url": "https://github.com/scverse/scverse-backends/releases/tag/v0.0.3"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "fail",
     "detail": "16 of 16 unpinned: actions/checkout@v6, actions/download-artifact@v4, actions/upload-artifact@v4 and 4 more",
     "fix_url": "https://github.com/scverse/scverse-backends/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "4 of 4 on tags: codespell@v2.4.3, pre-commit-hooks@v6.0.0, ruff-pre-commit@v0.16.0 and 1 more",
     "fix_url": "https://github.com/scverse/scverse-backends/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "27 findings in 2 files, online: artipacked, excessive-permissions, unpinned-uses",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "No `.github/dependabot.yml` (needs github-actions, pre-commit)",
     "fix_url": "https://github.com/scverse/scverse-backends/new/main?filename=.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/scverse-backends/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/scverse-backends/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/scverse-backends/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "1 of 2 lack `permissions:`: ci.yaml",
     "fix_url": "https://github.com/scverse/scverse-backends/settings/actions"
    },
    "security/persist-credentials": {
     "status": "fail",
     "detail": "5 of 5 keep credentials: ci.yaml:build, ci.yaml:get-test-environments, ci.yaml:quality and 2 more",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/scverse-backends/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (classic)",
     "fix_url": "https://github.com/scverse/scverse-backends/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (classic)",
     "fix_url": "https://github.com/scverse/scverse-backends/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are required but need 0 approving reviews",
     "fix_url": "https://github.com/scverse/scverse-backends/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "3 required: pre-commit.ci - pr, All CI Green, docs/readthedocs.org:scverse-backends",
     "fix_url": "https://github.com/scverse/scverse-backends/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "MIT",
     "fix_url": "https://github.com/scverse/scverse-backends/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 0 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/scverse-backends/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing `scverse` topic",
     "fix_url": "https://github.com/scverse/scverse-backends"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 27 days ago",
     "fix_url": "https://github.com/scverse/scverse-backends/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "scverse-doc",
    "category": "other",
    "repo": {
     "name": "scverse-doc",
     "full_name": "scverse/scverse-doc",
     "html_url": "https://github.com/scverse/scverse-doc",
     "description": "scverse doc theme & utilities",
     "pushed_at": "2026-11-02T11:24:50Z",
     "homepage": "https://scverse-doc.readthedocs.io/",
     "archived": false,
     "license": {
      "key": "mpl-2.0",
      "name": "Mozilla Public License 2.0",
      "spdx_id": "MPL-2.0",
      "url": "https://api.github.com/licenses/mpl-2.0",
      "node_id": "MDc6TGljZW5zZTE0"
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": {
     "name": "scverse-doc",
     "version": "0.3.0",
     "summary": "Scverse documentation theme and utilities.",
     "home_page": null,
     "project_urls": {
      "Documentation": "https://scverse-doc.readthedocs.io/",
      "Homepage": "https://github.com/scverse/scverse-doc",
      "Source": "https://github.com/scverse/scverse-doc"
     },
     "license": "MPL-2.0",
     "classifiers": [
      "Framework :: Sphinx :: Theme",
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
      "Programming Language :: Python :: 3.14",
      "Programming Language :: Python :: 3.15",
      "Typing :: Typed"
     ],
     "ownership": {
      "organization": null,
      "roles": [
       {
        "role": "Owner",
        "user": "flyingsheep"
       }
      ]
     },
     "url": "https://pypi.org/project/scverse-doc/",
     "provenance": {
      "filename": "scverse_doc-0.3.0-py3-none-any.whl",
      "publisher": {
       "environment": "pypi",
       "kind": "GitHub",
       "repository": "scverse/scverse-doc",
       "workflow": "release.yaml"
      },
      "san": "https://github.com/scverse/scverse-doc/.github/workflows/release.yaml@refs/tags/v0.3.0",
      "san_parts": {
       "repo": "scverse/scverse-doc",
       "workflow": ".github/workflows/release.yaml",
       "ref": "refs/tags/v0.3.0"
      },
      "files_with_provenance": 2
     }
    },
    "rtd": {
     "slug": "scverse-doc",
     "name": "scverse-doc",
     "repository": {
      "type": "git",
      "url": "https://github.com/scverse/scverse-doc.git"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/scverse-doc/builds/",
      "documentation": "https://scverse-doc.readthedocs.io/en/stable/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/scverse-doc/",
      "versions": "https://app.readthedocs.org/projects/scverse-doc/versions/"
     },
     "users": [
      "flying-sheep",
      "scverse"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": null,
     "home": "https://app.readthedocs.org/projects/scverse-doc/",
     "stable_build": {
      "id": 35329354,
      "success": true,
      "state": "finished",
      "finished": "2026-10-22T15:31:35.847973Z",
      "version": "stable",
      "commit": "7e617f772874707a50885c6c02ff82f78a1d1d4e",
      "url": "https://app.readthedocs.org/projects/scverse-doc/builds/35329354/"
     }
    },
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": null,
     "commits_behind": 0,
     "latest": "v0.8.0",
     "status": "behind"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/scverse-doc/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "pass",
     "detail": "Up to date with the template (v0.8.0)",
     "fix_url": "https://github.com/scverse/scverse-doc/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/scverse-doc/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "pass",
     "detail": "Listed among required status checks",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yaml` present",
     "fix_url": "https://github.com/scverse/scverse-doc/blob/main/.codecov.yaml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/scverse-doc/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/scverse-doc/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "pass",
     "detail": "RTD `scverse-doc` builds scverse/scverse-doc",
     "fix_url": "https://app.readthedocs.org/dashboard/scverse-doc/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "fail",
     "detail": "1 of 2 maintainers are core devs (flying-sheep); at least 2 required",
     "fix_url": "https://app.readthedocs.org/dashboard/scverse-doc/edit/"
    },
    "docs/scverse-domain": {
     "status": "fail",
     "detail": "Docs served from scverse-doc.readthedocs.io",
     "fix_url": "https://app.readthedocs.org/dashboard/scverse-doc/domains/"
    },
    "docs/rtd-build": {
     "status": "pass",
     "detail": "`stable` built from `7e617f7` on 2026-10-22",
     "fix_url": "https://app.readthedocs.org/projects/scverse-doc/builds/35329354/"
    },
    "packaging/pypi-org": {
     "status": "fail",
     "detail": "Not owned by a PyPI organization",
     "fix_url": "https://pypi.org/project/scverse-doc/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`0.3.0` published by scverse/scverse-doc/.github/workflows/release.yaml",
     "fix_url": "https://pypi.org/project/scverse-doc/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yaml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/scverse-doc/blob/main/.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/scverse-doc/settings"
    },
    "packaging/releases-immutable": {
     "status": "pass",
     "detail": "All of the last 5 releases are immutable",
     "fix_url": "https://github.com/scverse/scverse-doc/releases"
    },
    "packaging/pypi-environment": {
     "status": "warn",
     "detail": "`pypi` environment exists but has no protection rules",
     "fix_url": "https://github.com/scverse/scverse-doc/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `v0.3.0` == PyPI `0.3.0`",
     "fix_url": "https://github.com/scverse/scverse-doc/releases/tag/v0.3.0"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "pass",
     "detail": "All 20 action references pinned to a SHA",
     "fix_url": "https://github.com/scverse/scverse-doc/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "6 of 6 on tags: djLint@v1.47.0, pre-commit-hooks@v6.0.0, pre-commit@v2.6.3 and 3 more",
     "fix_url": "https://github.com/scverse/scverse-doc/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "pass",
     "detail": "No findings (7 files, online)",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "pass",
     "detail": "Covers github-actions, pre-commit",
     "fix_url": "https://github.com/scverse/scverse-doc/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/scverse-doc/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/scverse-doc/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/scverse-doc/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "Workflows are fine, but the repo's default GITHUB_TOKEN is read-write",
     "fix_url": "https://github.com/scverse/scverse-doc/settings/actions"
    },
    "security/persist-credentials": {
     "status": "pass",
     "detail": "All 9 checkouts set `persist-credentials: false`",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/scverse-doc/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/scverse-doc/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (ruleset)",
     "fix_url": "https://github.com/scverse/scverse-doc/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are required but need 0 approving reviews",
     "fix_url": "https://github.com/scverse/scverse-doc/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "5 required: docs/readthedocs.org:scverse-doc, Tests pass in all hatch environments, package and 2 more",
     "fix_url": "https://github.com/scverse/scverse-doc/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "MPL-2.0",
     "fix_url": "https://github.com/scverse/scverse-doc/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 22 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/scverse-doc/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing `scverse` topic",
     "fix_url": "https://github.com/scverse/scverse-doc"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 0 days ago",
     "fix_url": "https://github.com/scverse/scverse-doc/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "scverse-io",
    "category": "other",
    "repo": {
     "name": "scverse-io",
     "full_name": "scverse/scverse-io",
     "html_url": "https://github.com/scverse/scverse-io",
     "description": "Read various formats into AnnData and MuData",
     "pushed_at": "2026-09-17T19:27:14Z",
     "homepage": null,
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": null,
    "rtd": null,
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/pre-commit-ci": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/codecov": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/scverse-io/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-linked": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-core-devs": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/scverse-domain": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-org": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/trusted-publishing": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/release-workflow": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/spec0-python": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/scverse-io/settings"
    },
    "packaging/releases-immutable": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-environment": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/precommit-pinned": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/zizmor-clean": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dependabot": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/scverse-io/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/scverse-io/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/scverse-io/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/persist-credentials": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dangerous-triggers": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/scverse-io/security/policy"
    },
    "branch/protected": {
     "status": "fail",
     "detail": "`main` is not protected at all",
     "fix_url": "https://github.com/scverse/scverse-io/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "Direct pushes to the default branch are allowed",
     "fix_url": "https://github.com/scverse/scverse-io/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "No review requirement",
     "fix_url": "https://github.com/scverse/scverse-io/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No required status checks",
     "fix_url": "https://github.com/scverse/scverse-io/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/scverse-io/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing homepage, `scverse` topic",
     "fix_url": "https://github.com/scverse/scverse-io"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 45 days ago",
     "fix_url": "https://github.com/scverse/scverse-io/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "scverse-misc",
    "category": "other",
    "repo": {
     "name": "scverse-misc",
     "full_name": "scverse/scverse-misc",
     "html_url": "https://github.com/scverse/scverse-misc",
     "description": "Miscellaneous utility code used by scverse packages",
     "pushed_at": "2026-10-30T19:57:08Z",
     "homepage": "https://scverse-misc.readthedocs.io/",
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [
      "scverse"
     ],
     "default_branch": "main"
    },
    "pypi": {
     "name": "scverse-misc",
     "version": "0.1.8",
     "summary": "Miscellaneous utility code used by scverse packages",
     "home_page": null,
     "project_urls": {
      "Documentation": "https://scverse-misc.readthedocs.io/",
      "Homepage": "https://github.com/scverse/scverse-misc",
      "Source": "https://github.com/scverse/scverse-misc"
     },
     "license": "BSD 3-Clause License",
     "classifiers": [
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
      "Programming Language :: Python :: 3.14",
      "Programming Language :: Python :: 3.15"
     ],
     "ownership": {
      "organization": "scverse",
      "roles": [
       {
        "role": "Owner",
        "user": "ilia-kats"
       }
      ]
     },
     "url": "https://pypi.org/project/scverse-misc/",
     "provenance": {
      "filename": "scverse_misc-0.1.8-py3-none-any.whl",
      "publisher": {
       "environment": "pypi",
       "kind": "GitHub",
       "repository": "scverse/scverse-misc",
       "workflow": "release.yaml"
      },
      "san": "https://github.com/scverse/scverse-misc/.github/workflows/release.yaml@refs/tags/v0.1.8",
      "san_parts": {
       "repo": "scverse/scverse-misc",
       "workflow": ".github/workflows/release.yaml",
       "ref": "refs/tags/v0.1.8"
      },
      "files_with_provenance": 2
     }
    },
    "rtd": {
     "slug": "scverse-misc",
     "name": "scverse-misc",
     "repository": {
      "type": "git",
      "url": "https://github.com/scverse/scverse-misc.git"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/scverse-misc/builds/",
      "documentation": "https://scverse-misc.readthedocs.io/stable/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/scverse-misc/",
      "versions": "https://app.readthedocs.org/projects/scverse-misc/versions/"
     },
     "users": [
      "ilia-kats"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": null,
     "home": "https://app.readthedocs.org/projects/scverse-misc/",
     "stable_build": {
      "id": 35532784,
      "success": true,
      "state": "finished",
      "finished": "2026-10-30T19:54:51.915395Z",
      "version": "stable",
      "commit": "81a78f532df7861e34c83fe4733f6fee044a3bb2",
      "url": "https://app.readthedocs.org/projects/scverse-misc/builds/35532784/"
     }
    },
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": 0,
     "release": "v0.8.0",
     "latest": "v0.8.0"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/scverse-misc/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "pass",
     "detail": "On the latest template release (v0.8.0)",
     "fix_url": "https://github.com/scverse/scverse-misc/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/scverse-misc/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "pass",
     "detail": "Listed among required status checks",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yaml` present",
     "fix_url": "https://github.com/scverse/scverse-misc/blob/main/.codecov.yaml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/scverse-misc/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/scverse-misc/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "pass",
     "detail": "RTD `scverse-misc` builds scverse/scverse-misc",
     "fix_url": "https://app.readthedocs.org/dashboard/scverse-misc/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "fail",
     "detail": "0 of 1 maintainers are core devs; at least 2 required",
     "fix_url": "https://app.readthedocs.org/dashboard/scverse-misc/edit/"
    },
    "docs/scverse-domain": {
     "status": "fail",
     "detail": "Docs served from scverse-misc.readthedocs.io",
     "fix_url": "https://app.readthedocs.org/dashboard/scverse-misc/domains/"
    },
    "docs/rtd-build": {
     "status": "pass",
     "detail": "`stable` built from `81a78f5` on 2026-10-30",
     "fix_url": "https://app.readthedocs.org/projects/scverse-misc/builds/35532784/"
    },
    "packaging/pypi-org": {
     "status": "pass",
     "detail": "Owned by the `scverse` PyPI organization",
     "fix_url": "https://pypi.org/project/scverse-misc/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`0.1.8` published by scverse/scverse-misc/.github/workflows/release.yaml",
     "fix_url": "https://pypi.org/project/scverse-misc/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yaml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/scverse-misc/blob/main/.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/scverse-misc/settings"
    },
    "packaging/releases-immutable": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-environment": {
     "status": "pass",
     "detail": "`pypi` environment protected by branch_policy",
     "fix_url": "https://github.com/scverse/scverse-misc/settings/environments"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "No published GitHub releases"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "pass",
     "detail": "All 13 action references pinned to a SHA",
     "fix_url": "https://github.com/scverse/scverse-misc/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "pass",
     "detail": "All 6 hook repos pinned to a SHA",
     "fix_url": "https://github.com/scverse/scverse-misc/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "pass",
     "detail": "No findings (5 files, online)",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "Missing ecosystem: pre-commit",
     "fix_url": "https://github.com/scverse/scverse-misc/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/scverse-misc/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/scverse-misc/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/scverse-misc/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "pass",
     "detail": "All workflows declare `permissions:`; repo default is read-only",
     "fix_url": "https://github.com/scverse/scverse-misc/settings/actions"
    },
    "security/persist-credentials": {
     "status": "pass",
     "detail": "All 5 checkouts set `persist-credentials: false`",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/scverse-misc/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/scverse-misc/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (ruleset)",
     "fix_url": "https://github.com/scverse/scverse-misc/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are required but need 0 approving reviews",
     "fix_url": "https://github.com/scverse/scverse-misc/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "5 required: Tests pass in all hatch environments, Check changelog, pre-commit.ci - pr and 2 more",
     "fix_url": "https://github.com/scverse/scverse-misc/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/scverse-misc/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 1 runtime dependency is GPL",
     "fix_url": "https://github.com/scverse/scverse-misc/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "pass",
     "detail": "Described, linked and tagged (1 topics)",
     "fix_url": "https://github.com/scverse/scverse-misc"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 2 days ago",
     "fix_url": "https://github.com/scverse/scverse-misc/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "scverse-tutorials",
    "category": "core-infrastructure",
    "repo": {
     "name": "scverse-tutorials",
     "full_name": "scverse/scverse-tutorials",
     "html_url": "https://github.com/scverse/scverse-tutorials",
     "description": "Tutorials for learning scverse",
     "pushed_at": "2026-10-27T08:49:22Z",
     "homepage": "https://scverse-tutorials.readthedocs.io/en/latest/",
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": {
     "name": "scverse-tutorials",
     "missing": true
    },
    "rtd": {
     "slug": "scverse-tutorials",
     "name": "scverse-tutorials",
     "repository": {
      "type": "git",
      "url": "https://github.com/scverse/scverse-tutorials.git"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/scverse-tutorials/builds/",
      "documentation": "https://scverse-tutorials.readthedocs.io/en/latest/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/scverse-tutorials/",
      "versions": "https://app.readthedocs.org/projects/scverse-tutorials/versions/"
     },
     "users": [
      "grst",
      "flying-sheep",
      "ivirshup",
      "Zethson",
      "scverse"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": null,
     "home": "https://app.readthedocs.org/projects/scverse-tutorials/",
     "stable_build": null
    },
    "package_entry": {
     "name": "scverse-tutorials",
     "description": "Tutorials and tutorials registry for scverse.org/learn.\n",
     "project_home": "https://github.com/scverse/scverse-tutorials",
     "documentation_home": "https://scverse-tutorials.readthedocs.io/",
     "tutorials_home": "https://scverse-tutorials.readthedocs.io/",
     "primary_category": "Infrastructure",
     "tags": [
      "documentation"
     ],
     "license": "BSD-3-Clause",
     "language": "Python",
     "contact": [
      "grst",
      "flying-sheep"
     ],
     "category": "core-infrastructure",
     "inventory": "https://scverse-tutorials.readthedocs.io/en/latest/"
    },
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": 3,
     "release": "v0.6.0",
     "latest": "v0.8.0"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/scverse-tutorials/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "fail",
     "detail": "3 releases behind (v0.8.0 is current)",
     "fix_url": "https://github.com/scverse/scverse-tutorials/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "fail",
     "detail": "no `src/` directory",
     "fix_url": "https://github.com/scverse/scverse-tutorials/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "pass",
     "detail": "Listed among required status checks",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yaml` present",
     "fix_url": "https://github.com/scverse/scverse-tutorials/blob/main/.codecov.yaml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/scverse-tutorials/settings/branches"
    },
    "template/packages-json": {
     "status": "pass",
     "detail": "Listed under core-infrastructure",
     "fix_url": "https://github.com/scverse/scverse.github.io/blob/main/data/ecosystem-packages.yaml"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/scverse-tutorials/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "pass",
     "detail": "RTD `scverse-tutorials` builds scverse/scverse-tutorials",
     "fix_url": "https://app.readthedocs.org/dashboard/scverse-tutorials/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "pass",
     "detail": "3 of 5 maintainers are core devs (grst, flying-sheep, Zethson)",
     "fix_url": "https://app.readthedocs.org/dashboard/scverse-tutorials/edit/"
    },
    "docs/scverse-domain": {
     "status": "fail",
     "detail": "Docs served from scverse-tutorials.readthedocs.io",
     "fix_url": "https://app.readthedocs.org/dashboard/scverse-tutorials/domains/"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "No build of a `stable` version",
     "fix_url": "https://app.readthedocs.org/projects/scverse-tutorials/"
    },
    "packaging/pypi-org": {
     "status": "na",
     "detail": "`scverse-tutorials` is not published on PyPI"
    },
    "packaging/trusted-publishing": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/release-workflow": {
     "status": "fail",
     "detail": "No workflow uses `pypa/gh-action-pypi-publish`",
     "fix_url": "https://github.com/scverse/scverse-tutorials/new/main?filename=.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "pass",
     "detail": "`requires-python = \">=3.13\"` is at or above SPEC 0's 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/scverse-tutorials/settings"
    },
    "packaging/releases-immutable": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-environment": {
     "status": "fail",
     "detail": "No `pypi` environment (found: github-pages)",
     "fix_url": "https://github.com/scverse/scverse-tutorials/settings/environments"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "fail",
     "detail": "9 of 9 unpinned: actions/cache@v5, actions/checkout@v6, actions/deploy-pages@v5 and 4 more",
     "fix_url": "https://github.com/scverse/scverse-tutorials/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "6 of 6 on tags: check-jsonschema@0.38.2, check-jsonschema@0.38.2, pre-commit-hooks@v6.0.0 and 3 more",
     "fix_url": "https://github.com/scverse/scverse-tutorials/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "13 findings in 2 files, online: artipacked, excessive-permissions, unpinned-uses",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "No `.github/dependabot.yml` (needs github-actions, pre-commit)",
     "fix_url": "https://github.com/scverse/scverse-tutorials/new/main?filename=.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/scverse-tutorials/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/scverse-tutorials/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/scverse-tutorials/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "2 of 2 lack `permissions:`: execute-nbs.yaml, make-tutorials-json.yml",
     "fix_url": "https://github.com/scverse/scverse-tutorials/settings/actions"
    },
    "security/persist-credentials": {
     "status": "fail",
     "detail": "2 of 2 keep credentials: execute-nbs.yaml:runnbs, make-tutorials-json.yml:mkjson",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/scverse-tutorials/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/scverse-tutorials/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (ruleset)",
     "fix_url": "https://github.com/scverse/scverse-tutorials/settings/rules"
    },
    "branch/requires-review": {
     "status": "pass",
     "detail": "1 approving review required",
     "fix_url": "https://github.com/scverse/scverse-tutorials/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "2 required: pre-commit.ci - pr, docs/readthedocs.org:scverse-tutorials",
     "fix_url": "https://github.com/scverse/scverse-tutorials/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/scverse-tutorials/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 0 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/scverse-tutorials/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing `scverse` topic",
     "fix_url": "https://github.com/scverse/scverse-tutorials"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 6 days ago",
     "fix_url": "https://github.com/scverse/scverse-tutorials/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "scverse.github.io",
    "category": "core-infrastructure",
    "repo": {
     "name": "scverse.github.io",
     "full_name": "scverse/scverse.github.io",
     "html_url": "https://github.com/scverse/scverse.github.io",
     "description": "scverse.org website",
     "pushed_at": "2026-11-02T11:10:40Z",
     "homepage": "https://scverse.org",
     "archived": false,
     "license": {
      "key": "mpl-2.0",
      "name": "Mozilla Public License 2.0",
      "spdx_id": "MPL-2.0",
      "url": "https://api.github.com/licenses/mpl-2.0",
      "node_id": "MDc6TGljZW5zZTE0"
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": null,
    "rtd": null,
    "package_entry": {
     "name": "scverse.github.io",
     "description": "scverse.org website\n",
     "project_home": "https://github.com/scverse/scverse.github.io",
     "documentation_home": "https://scverse.org",
     "inventory": null,
     "primary_category": "Infrastructure",
     "tags": [
      "documentation"
     ],
     "license": "BSD-3-Clause",
     "language": "Python",
     "authors": [
      "gtca"
     ],
     "category": "core-infrastructure"
    },
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/pre-commit-ci": {
     "status": "fail",
     "detail": "No pre-commit.ci check run on the default branch",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/scverse.github.io/settings/branches"
    },
    "template/packages-json": {
     "status": "warn",
     "detail": "license BSD-3-Clause vs GitHub's MPL-2.0",
     "fix_url": "https://github.com/scverse/scverse.github.io/blob/main/data/ecosystem-packages.yaml"
    },
    "docs/readthedocs-yaml": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-linked": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-core-devs": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/scverse-domain": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-org": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/trusted-publishing": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/release-workflow": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/spec0-python": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/scverse.github.io/settings"
    },
    "packaging/releases-immutable": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-environment": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "fail",
     "detail": "4 of 4 unpinned: actions/checkout@v7, actions/upload-artifact@v7, peaceiris/actions-gh-pages@v4 and 1 more",
     "fix_url": "https://github.com/scverse/scverse.github.io/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "3 of 3 on tags: mirrors-prettier@v3.9.10, oxipng@v10.2.1, webp-pre-commit@v0.0.12",
     "fix_url": "https://github.com/scverse/scverse.github.io/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "6 findings in 1 file, online: artipacked, excessive-permissions, unpinned-uses",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "No `.github/dependabot.yml` (needs github-actions, pre-commit)",
     "fix_url": "https://github.com/scverse/scverse.github.io/new/main?filename=.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/scverse.github.io/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/scverse.github.io/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/scverse.github.io/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "1 of 1 lack `permissions:`: gh-pages.yml",
     "fix_url": "https://github.com/scverse/scverse.github.io/settings/actions"
    },
    "security/persist-credentials": {
     "status": "fail",
     "detail": "1 of 1 keep credentials: gh-pages.yml:deploy",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/scverse.github.io/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/scverse.github.io/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (ruleset)",
     "fix_url": "https://github.com/scverse/scverse.github.io/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are required but need 0 approving reviews",
     "fix_url": "https://github.com/scverse/scverse.github.io/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No status checks are required to merge",
     "fix_url": "https://github.com/scverse/scverse.github.io/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "MPL-2.0",
     "fix_url": "https://github.com/scverse/scverse.github.io/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing `scverse` topic",
     "fix_url": "https://github.com/scverse/scverse.github.io"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 0 days ago",
     "fix_url": "https://github.com/scverse/scverse.github.io/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "scvi-colab",
    "category": "other",
    "repo": {
     "name": "scvi-colab",
     "full_name": "scverse/scvi-colab",
     "html_url": "https://github.com/scverse/scvi-colab",
     "description": "Lightweight helper to install scvi-tools in Google Colab",
     "pushed_at": "2026-11-02T11:03:24Z",
     "homepage": "",
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [
      "googlecolab",
      "scverse",
      "scvi-tools"
     ],
     "default_branch": "main"
    },
    "pypi": {
     "name": "scvi-colab",
     "version": "0.15.0",
     "summary": "Lightweight helper to install scvi-tools in Google Colab.",
     "home_page": null,
     "project_urls": {
      "Documentation": "https://scvi-tools.org",
      "Homepage": "https://github.com/scverse/scvi-colab"
     },
     "license": "BSD 3-Clause License",
     "classifiers": [
      "Development Status :: 4 - Beta",
      "Intended Audience :: Science/Research",
      "Natural Language :: English",
      "Operating System :: POSIX :: Linux",
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
      "Programming Language :: Python :: 3.14",
      "Topic :: Scientific/Engineering :: Bio-Informatics"
     ],
     "ownership": {
      "organization": null,
      "roles": [
       {
        "role": "Owner",
        "user": "adamgayoso"
       },
       {
        "role": "Owner",
        "user": "orikr"
       }
      ]
     },
     "url": "https://pypi.org/project/scvi-colab/",
     "provenance": null
    },
    "rtd": null,
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "fail",
     "detail": "No `.cruft.json` \u2014 repo was not generated from the template",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse#usage"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "fail",
     "detail": "no `src/` directory",
     "fix_url": "https://github.com/scverse/scvi-colab/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "pass",
     "detail": "Listed among required status checks",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yaml` present",
     "fix_url": "https://github.com/scverse/scvi-colab/blob/main/.codecov.yaml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/scvi-colab/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "fail",
     "detail": "No `.readthedocs.yaml`",
     "fix_url": "https://github.com/scverse/scvi-colab/new/main?filename=.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-core-devs": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/scverse-domain": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-org": {
     "status": "fail",
     "detail": "Not owned by a PyPI organization",
     "fix_url": "https://pypi.org/project/scvi-colab/"
    },
    "packaging/trusted-publishing": {
     "status": "fail",
     "detail": "`0.15.0` has no attestations \u2014 published with a token, not OIDC",
     "fix_url": "https://docs.pypi.org/trusted-publishers/"
    },
    "packaging/release-workflow": {
     "status": "fail",
     "detail": "No workflow uses `pypa/gh-action-pypi-publish`",
     "fix_url": "https://github.com/scverse/scvi-colab/new/main?filename=.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12,<4.0\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/scvi-colab/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "5 of the last 5 are mutable: 0.15.0, 0.14.0, 0.13.0 and 2 more",
     "fix_url": "https://github.com/scverse/scvi-colab/releases"
    },
    "packaging/pypi-environment": {
     "status": "fail",
     "detail": "No `pypi` environment (found: none)",
     "fix_url": "https://github.com/scverse/scvi-colab/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `0.15.0` == PyPI `0.15.0`",
     "fix_url": "https://github.com/scverse/scvi-colab/releases/tag/0.15.0"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "pass",
     "detail": "All 6 action references pinned to a SHA",
     "fix_url": "https://github.com/scverse/scvi-colab/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "5 of 5 on tags: pre-commit-hooks@v6.0.0, pre-commit@v2.6.3, pyproject-fmt@v2.30.3 and 2 more",
     "fix_url": "https://github.com/scverse/scvi-colab/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "1 finding in 3 files, online: use-trusted-publishing",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "Missing ecosystem: pre-commit",
     "fix_url": "https://github.com/scverse/scvi-colab/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/scvi-colab/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/scvi-colab/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/scvi-colab/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "Workflows are fine, but the repo's default GITHUB_TOKEN is read-write",
     "fix_url": "https://github.com/scverse/scvi-colab/settings/actions"
    },
    "security/persist-credentials": {
     "status": "pass",
     "detail": "All 2 checkouts set `persist-credentials: false`",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/scvi-colab/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/scvi-colab/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (ruleset)",
     "fix_url": "https://github.com/scverse/scvi-colab/settings/rules"
    },
    "branch/requires-review": {
     "status": "pass",
     "detail": "1 approving review required",
     "fix_url": "https://github.com/scverse/scvi-colab/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "5 required: pre-commit.ci - pr, codecov/project, build (3.12) and 2 more",
     "fix_url": "https://github.com/scverse/scvi-colab/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/scvi-colab/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 4 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/scvi-colab/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing homepage",
     "fix_url": "https://github.com/scverse/scvi-colab"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 0 days ago",
     "fix_url": "https://github.com/scverse/scvi-colab/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "scvi-tools",
    "category": "core-framework",
    "repo": {
     "name": "scvi-tools",
     "full_name": "scverse/scvi-tools",
     "html_url": "https://github.com/scverse/scvi-tools",
     "description": "Deep probabilistic analysis of single-cell and spatial omics data",
     "pushed_at": "2026-11-01T16:35:46Z",
     "homepage": "http://scvi-tools.org/",
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [
      "cite-seq",
      "deep-generative-model",
      "deep-learning",
      "human-cell-atlas",
      "scrna-seq",
      "scverse",
      "single-cell-genomics",
      "single-cell-rna-seq",
      "variational-autoencoder",
      "variational-bayes"
     ],
     "default_branch": "main"
    },
    "pypi": {
     "name": "scvi-tools",
     "version": "1.5.2",
     "summary": "Deep probabilistic analysis of single-cell omics data.",
     "home_page": null,
     "project_urls": {
      "Documentation": "https://docs.scvi-tools.org/",
      "Homepage": "https://scvi-tools.org",
      "Source": "https://github.com/scverse/scvi-tools"
     },
     "license": "BSD 3-Clause License",
     "classifiers": [
      "Development Status :: 4 - Beta",
      "Intended Audience :: Science/Research",
      "Natural Language :: English",
      "Operating System :: MacOS :: MacOS X",
      "Operating System :: Microsoft :: Windows",
      "Operating System :: POSIX :: Linux",
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
      "Programming Language :: Python :: 3.14",
      "Programming Language :: Python :: 3.15",
      "Topic :: Scientific/Engineering :: Bio-Informatics"
     ],
     "ownership": {
      "organization": "scverse",
      "roles": [
       {
        "role": "Owner",
        "user": "cane11"
       },
       {
        "role": "Owner",
        "user": "orikr"
       },
       {
        "role": "Maintainer",
        "user": "adamgayoso"
       }
      ]
     },
     "url": "https://pypi.org/project/scvi-tools/",
     "provenance": {
      "filename": "scvi_tools-1.5.2-py3-none-any.whl",
      "publisher": {
       "environment": "pypi",
       "kind": "GitHub",
       "repository": "scverse/scvi-tools",
       "workflow": "release.yaml"
      },
      "san": "https://github.com/scverse/scvi-tools/.github/workflows/release.yaml@refs/heads/main",
      "san_parts": {
       "repo": "scverse/scvi-tools",
       "workflow": ".github/workflows/release.yaml",
       "ref": "refs/heads/main"
      },
      "files_with_provenance": 2
     }
    },
    "rtd": null,
    "package_entry": {
     "name": "scvi-tools",
     "blurb": "Single-cell machine learning framework",
     "description": "scvi-tools is a library for developing and deploying machine learning models based on\nPyTorch and AnnData. With an emphasis on probabilistic models, scvi-tools streamlines\nthe development process via training, data management, and user interface abstractions.\nscvi-tools also contains easy-to-use implementations of more than 14 state-of-the-art\nprobabilistic models in the field.\n",
     "project_home": "https://github.com/scverse/scvi-tools",
     "documentation_home": "https://docs.scvi-tools.org/",
     "tutorials_home": "https://docs.scvi-tools.org/page/tutorials/",
     "publications": [
      "10.1038/s41587-021-01206-w",
      "10.1038/s41587-022-01272-8",
      "10.1038/s41592-020-01050-x",
      "10.15252/msb.20209620",
      "10.48550/arXiv.1905.02269",
      "10.1101/794289",
      "10.1093/bioinformatics/btaa169",
      "10.1101/794875",
      "10.1038/s41592-018-0229-2",
      "10.1038/s41592-023-01909-9",
      "10.1016/j.crmeth.2022.100182",
      "10.1038/s41592-025-02808-x",
      "10.1038/s41592-025-02799-9",
      "10.1101/2025.01.20.634005",
      "10.1038/s41592-023-01994-w",
      "10.1101/2025.09.07.674699",
      "10.1101/2025.06.01.657182"
     ],
     "install": {
      "pypi": "scvi-tools",
      "conda": "conda-forge::scvi-tools"
     },
     "primary_category": "scRNA-seq",
     "tags": [
      "data integration",
      "cell-type annotation",
      "differential expression",
      "deep learning",
      "probabilistic modeling"
     ],
     "license": "BSD-3-Clause",
     "language": "Python",
     "contact": [
      "ori-kron-wis",
      "canergen"
     ],
     "logo": "scvi-tools/logo.svg",
     "test_command": "pip install \".[test]\" && pytest",
     "category": "core-framework",
     "version": "1.5.2",
     "inventory": "https://docs.scvi-tools.org/en/stable/"
    },
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": 0,
     "release": "v0.8.0",
     "latest": "v0.8.0"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/scvi-tools/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "pass",
     "detail": "On the latest template release (v0.8.0)",
     "fix_url": "https://github.com/scverse/scvi-tools/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/scvi-tools/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "pass",
     "detail": "Listed among required status checks",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yaml` present",
     "fix_url": "https://github.com/scverse/scvi-tools/blob/main/.codecov.yaml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/scvi-tools/settings/branches"
    },
    "template/packages-json": {
     "status": "pass",
     "detail": "Listed under core-framework",
     "fix_url": "https://github.com/scverse/scverse.github.io/blob/main/data/ecosystem-packages.yaml"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/scvi-tools/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "fail",
     "detail": "No Read the Docs project with slug `scvi-tools` (set `rtd_slugs:` in config/repos.yaml if it differs)",
     "fix_url": "https://app.readthedocs.org/dashboard/import/"
    },
    "docs/rtd-core-devs": {
     "status": "fail",
     "detail": "No Read the Docs project to inspect"
    },
    "docs/scverse-domain": {
     "status": "fail",
     "detail": "Docs served from docs.scvi-tools.org, scvi-tools.org",
     "fix_url": "https://app.readthedocs.org/dashboard/scvi-tools/domains/"
    },
    "docs/rtd-build": {
     "status": "fail",
     "detail": "No Read the Docs project to inspect"
    },
    "packaging/pypi-org": {
     "status": "pass",
     "detail": "Owned by the `scverse` PyPI organization",
     "fix_url": "https://pypi.org/project/scvi-tools/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`1.5.2` published by scverse/scvi-tools/.github/workflows/release.yaml",
     "fix_url": "https://pypi.org/project/scvi-tools/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yaml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/scvi-tools/blob/main/.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/scvi-tools/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "3 of the last 5 are mutable: 1.5.0.post1, 1.5.0, 1.4.3",
     "fix_url": "https://github.com/scverse/scvi-tools/releases"
    },
    "packaging/pypi-environment": {
     "status": "pass",
     "detail": "`pypi` environment protected by branch_policy",
     "fix_url": "https://github.com/scverse/scvi-tools/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `1.5.2` == PyPI `1.5.2`",
     "fix_url": "https://github.com/scverse/scvi-tools/releases/tag/1.5.2"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "pass",
     "detail": "All 65 action references pinned to a SHA",
     "fix_url": "https://github.com/scverse/scvi-tools/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "5 of 5 on tags: pre-commit-hooks@v6.0.0, pre-commit@v2.6.3, pyproject-fmt@v2.30.3 and 2 more",
     "fix_url": "https://github.com/scverse/scvi-tools/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "1 finding in 19 files, online: known-vulnerable-actions",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "Missing ecosystem: pre-commit",
     "fix_url": "https://github.com/scverse/scvi-tools/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/scvi-tools/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/scvi-tools/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/scvi-tools/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "Workflows are fine, but the repo's default GITHUB_TOKEN is read-write",
     "fix_url": "https://github.com/scverse/scvi-tools/settings/actions"
    },
    "security/persist-credentials": {
     "status": "pass",
     "detail": "All 22 checkouts set `persist-credentials: false`",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/scvi-tools/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/scvi-tools/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (ruleset)",
     "fix_url": "https://github.com/scverse/scvi-tools/settings/rules"
    },
    "branch/requires-review": {
     "status": "pass",
     "detail": "1 approving review required",
     "fix_url": "https://github.com/scverse/scvi-tools/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "6 required: pre-commit.ci - pr, docs/readthedocs.org:scvi, codecov/project and 3 more",
     "fix_url": "https://github.com/scverse/scvi-tools/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/scvi-tools/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 113 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/scvi-tools/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "pass",
     "detail": "Described, linked and tagged (10 topics)",
     "fix_url": "https://github.com/scverse/scvi-tools"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 0 days ago",
     "fix_url": "https://github.com/scverse/scvi-tools/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "session-info2",
    "category": "other",
    "repo": {
     "name": "session-info2",
     "full_name": "scverse/session-info2",
     "html_url": "https://github.com/scverse/session-info2",
     "description": null,
     "pushed_at": "2026-10-27T08:38:00Z",
     "homepage": "https://session-info2.readthedocs.io/",
     "archived": false,
     "license": {
      "key": "mpl-2.0",
      "name": "Mozilla Public License 2.0",
      "spdx_id": "MPL-2.0",
      "url": "https://api.github.com/licenses/mpl-2.0",
      "node_id": "MDc6TGljZW5zZTE0"
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": {
     "name": "session-info2",
     "version": "0.4.2",
     "summary": "Print versions of imported packages.",
     "home_page": null,
     "project_urls": {
      "Documentation": "https://session-info2.readthedocs.io/",
      "Issues": "https://github.com/flying-sheep/session-info2/issues",
      "Source": "https://github.com/flying-sheep/session-info2"
     },
     "license": "MPL-2.0",
     "classifiers": [
      "Development Status :: 4 - Beta",
      "Programming Language :: Python",
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
      "Programming Language :: Python :: 3.14",
      "Programming Language :: Python :: Implementation :: CPython",
      "Programming Language :: Python :: Implementation :: PyPy",
      "Typing :: Typed"
     ],
     "ownership": {
      "organization": "scverse",
      "roles": []
     },
     "url": "https://pypi.org/project/session-info2/",
     "provenance": {
      "filename": "session_info2-0.4.2-py3-none-any.whl",
      "publisher": {
       "environment": "pypi",
       "kind": "GitHub",
       "repository": "scverse/session-info2",
       "workflow": "publish.yml"
      },
      "san": "https://github.com/scverse/session-info2/.github/workflows/publish.yml@refs/tags/v0.4.2",
      "san_parts": {
       "repo": "scverse/session-info2",
       "workflow": ".github/workflows/publish.yml",
       "ref": "refs/tags/v0.4.2"
      },
      "files_with_provenance": 2
     }
    },
    "rtd": {
     "slug": "session-info2",
     "name": "session-info2",
     "repository": {
      "type": "git",
      "url": "https://github.com/scverse/session-info2.git"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/session-info2/builds/",
      "documentation": "https://session-info2.readthedocs.io/en/stable/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/session-info2/",
      "versions": "https://app.readthedocs.org/projects/session-info2/versions/"
     },
     "users": [
      "flying-sheep",
      "scverse"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": "",
     "home": "https://app.readthedocs.org/projects/session-info2/",
     "stable_build": {
      "id": 33904231,
      "success": true,
      "state": "finished",
      "finished": "2026-08-04T09:01:49.329517Z",
      "version": "stable",
      "commit": "f21278bc8df63dbdffb8271ffcad7c169734769b",
      "url": "https://app.readthedocs.org/projects/session-info2/builds/33904231/"
     }
    },
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "fail",
     "detail": "No `.cruft.json` \u2014 repo was not generated from the template",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse#usage"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/session-info2/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "pass",
     "detail": "Listed among required status checks",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "fail",
     "detail": "No codecov config file and no codecov check run",
     "fix_url": "https://app.codecov.io/gh/scverse/session-info2"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/session-info2/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yml` present",
     "fix_url": "https://github.com/scverse/session-info2/blob/main/.readthedocs.yml"
    },
    "docs/rtd-linked": {
     "status": "pass",
     "detail": "RTD `session-info2` builds scverse/session-info2",
     "fix_url": "https://app.readthedocs.org/dashboard/session-info2/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "fail",
     "detail": "1 of 2 maintainers are core devs (flying-sheep); at least 2 required",
     "fix_url": "https://app.readthedocs.org/dashboard/session-info2/edit/"
    },
    "docs/scverse-domain": {
     "status": "fail",
     "detail": "Docs served from session-info2.readthedocs.io",
     "fix_url": "https://app.readthedocs.org/dashboard/session-info2/domains/"
    },
    "docs/rtd-build": {
     "status": "pass",
     "detail": "`stable` built from `f21278b` on 2026-08-04",
     "fix_url": "https://app.readthedocs.org/projects/session-info2/builds/33904231/"
    },
    "packaging/pypi-org": {
     "status": "pass",
     "detail": "Owned by the `scverse` PyPI organization",
     "fix_url": "https://pypi.org/project/session-info2/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`0.4.2` published by scverse/session-info2/.github/workflows/publish.yml",
     "fix_url": "https://pypi.org/project/session-info2/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/publish.yml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/session-info2/blob/main/.github/workflows/publish.yml"
    },
    "packaging/spec0-python": {
     "status": "pass",
     "detail": "`requires-python = \">=3.13\"` is at or above SPEC 0's 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/session-info2/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "4 of the last 5 are mutable: v0.4.1, v0.4, v0.3 and 1 more",
     "fix_url": "https://github.com/scverse/session-info2/releases"
    },
    "packaging/pypi-environment": {
     "status": "warn",
     "detail": "`pypi` environment exists but has no protection rules",
     "fix_url": "https://github.com/scverse/session-info2/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `v0.4.2` == PyPI `0.4.2`",
     "fix_url": "https://github.com/scverse/session-info2/releases/tag/v0.4.2"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "fail",
     "detail": "12 of 13 unpinned: actions/checkout@v7, actions/setup-python@v7, astral-sh/setup-uv@v10.1.0 and 5 more",
     "fix_url": "https://github.com/scverse/session-info2/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "5 of 5 on tags: nbstripout@0.9.1, pre-commit-hooks@v6.0.0, pre-commit@v2.5.15 and 2 more",
     "fix_url": "https://github.com/scverse/session-info2/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "20 findings in 4 files, online: artipacked, cache-poisoning, excessive-permissions and 1 more",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "pass",
     "detail": "Covers github-actions, pre-commit",
     "fix_url": "https://github.com/scverse/session-info2/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/session-info2/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/session-info2/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/session-info2/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "2 of 3 lack `permissions:`: ci.yml, publish.yml",
     "fix_url": "https://github.com/scverse/session-info2/settings/actions"
    },
    "security/persist-credentials": {
     "status": "fail",
     "detail": "3 of 4 keep credentials: ci.yml:get-environments, ci.yml:test, publish.yml:publish",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/session-info2/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/session-info2/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (ruleset)",
     "fix_url": "https://github.com/scverse/session-info2/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are required but need 0 approving reviews",
     "fix_url": "https://github.com/scverse/session-info2/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "3 required: docs/readthedocs.org:session-info2, check, Pre-commit checks",
     "fix_url": "https://github.com/scverse/session-info2/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "MPL-2.0",
     "fix_url": "https://github.com/scverse/session-info2/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 0 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/session-info2/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing description, `scverse` topic",
     "fix_url": "https://github.com/scverse/session-info2"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 6 days ago",
     "fix_url": "https://github.com/scverse/session-info2/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "shadows",
    "category": "other",
    "repo": {
     "name": "shadows",
     "full_name": "scverse/shadows",
     "html_url": "https://github.com/scverse/shadows",
     "description": "Shadow objects for AnnData and MuData (experimental)",
     "pushed_at": "2025-02-28T16:09:51Z",
     "homepage": "http://scverse.org/shadows/",
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": {
     "name": "shadows",
     "version": "0.1a2",
     "summary": "Low-memory data interfaces for scverse",
     "home_page": null,
     "project_urls": {
      "Documentation": "https://scverse.github.io/shadows",
      "Home-page": "https://github.com/scverse/shadows",
      "Source": "https://github.com/scverse/shadows"
     },
     "license": "BSD 3-Clause License  Copyright (c) 2020, Danila Bredikhin All rights reserved. ",
     "classifiers": [
      "Development Status :: 3 - Alpha",
      "Intended Audience :: Science/Research",
      "License :: OSI Approved :: BSD License",
      "Operating System :: OS Independent",
      "Programming Language :: Python :: 3",
      "Topic :: Scientific/Engineering :: Bio-Informatics"
     ],
     "ownership": {
      "organization": null,
      "roles": [
       {
        "role": "Owner",
        "user": "gtca"
       }
      ]
     },
     "url": "https://pypi.org/project/shadows/",
     "provenance": null
    },
    "rtd": {
     "slug": "shadows",
     "name": "shadows",
     "repository": {
      "type": "git",
      "url": "https://github.com/scverse/shadows"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/shadows/builds/",
      "documentation": "https://shadows.readthedocs.io/en/latest/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/shadows/",
      "versions": "https://app.readthedocs.org/projects/shadows/versions/"
     },
     "users": [
      "gtca"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": null,
     "home": "https://app.readthedocs.org/projects/shadows/",
     "stable_build": null
    },
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "fail",
     "detail": "No `.cruft.json` \u2014 repo was not generated from the template",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse#usage"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/shadows/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/codecov": {
     "status": "fail",
     "detail": "No codecov config file and no codecov check run",
     "fix_url": "https://app.codecov.io/gh/scverse/shadows"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/shadows/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "fail",
     "detail": "No `.readthedocs.yaml`",
     "fix_url": "https://github.com/scverse/shadows/new/main?filename=.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-core-devs": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/scverse-domain": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-org": {
     "status": "fail",
     "detail": "Not owned by a PyPI organization",
     "fix_url": "https://pypi.org/project/shadows/"
    },
    "packaging/trusted-publishing": {
     "status": "fail",
     "detail": "`0.1a2` has no attestations \u2014 published with a token, not OIDC",
     "fix_url": "https://docs.pypi.org/trusted-publishers/"
    },
    "packaging/release-workflow": {
     "status": "fail",
     "detail": "No workflow uses `pypa/gh-action-pypi-publish`",
     "fix_url": "https://github.com/scverse/shadows/new/main?filename=.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">= 3.10\"` still allows 3.10; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/shadows/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "1 of the last 1 are mutable: v0.1a0",
     "fix_url": "https://github.com/scverse/shadows/releases"
    },
    "packaging/pypi-environment": {
     "status": "fail",
     "detail": "No `pypi` environment (found: github-pages)",
     "fix_url": "https://github.com/scverse/shadows/settings/environments"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "No published GitHub releases"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "fail",
     "detail": "6 of 6 unpinned: actions/checkout@v3, actions/checkout@v4, actions/setup-python@v4 and 2 more",
     "fix_url": "https://github.com/scverse/shadows/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "9 findings in 2 files, online: artipacked, excessive-permissions, unpinned-uses",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "No `.github/dependabot.yml` (needs github-actions)",
     "fix_url": "https://github.com/scverse/shadows/new/main?filename=.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/shadows/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/shadows/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/shadows/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "2 of 2 lack `permissions:`: docs.yml, pythonpackage.yml",
     "fix_url": "https://github.com/scverse/shadows/settings/actions"
    },
    "security/persist-credentials": {
     "status": "fail",
     "detail": "2 of 2 keep credentials: docs.yml:docs, pythonpackage.yml:build",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/shadows/security/policy"
    },
    "branch/protected": {
     "status": "fail",
     "detail": "`main` is not protected at all",
     "fix_url": "https://github.com/scverse/shadows/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "Direct pushes to the default branch are allowed",
     "fix_url": "https://github.com/scverse/shadows/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "No review requirement",
     "fix_url": "https://github.com/scverse/shadows/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No required status checks",
     "fix_url": "https://github.com/scverse/shadows/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/shadows/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 0 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/shadows/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing `scverse` topic",
     "fix_url": "https://github.com/scverse/shadows"
    },
    "governance/maintained": {
     "status": "warn",
     "detail": "Last push 20 months ago",
     "fix_url": "https://github.com/scverse/shadows/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "SnapATAC2",
    "category": "core-framework",
    "repo": {
     "name": "SnapATAC2",
     "full_name": "scverse/SnapATAC2",
     "html_url": "https://github.com/scverse/SnapATAC2",
     "description": "Single-cell epigenomics analysis tools",
     "pushed_at": "2026-09-12T06:44:21Z",
     "homepage": "https://snapatac2.scverse.org/",
     "archived": false,
     "license": {
      "key": "mit",
      "name": "MIT License",
      "spdx_id": "MIT",
      "url": "https://api.github.com/licenses/mit",
      "node_id": "MDc6TGljZW5zZTEz"
     },
     "topics": [
      "scverse",
      "single-cell-genomics"
     ],
     "default_branch": "main"
    },
    "pypi": {
     "name": "snapatac2",
     "version": "2.10.0",
     "summary": "SnapATAC2: Single-cell epigenomics analysis pipeline",
     "home_page": "https://github.com/",
     "project_urls": {
      "Changelog": "https://scverse.org/SnapATAC2/version/dev/changelog.html",
      "Documentation": "https://scverse.org/SnapATAC2/index.html",
      "Homepage": "https://scverse.org/SnapATAC2/index.html",
      "Issues": "https://github.com/scverse/SnapATAC2/issues",
      "Repository": "https://scverse.org/SnapATAC2/"
     },
     "license": null,
     "classifiers": [
      "License :: OSI Approved :: MIT License",
      "Programming Language :: Python :: Implementation :: CPython",
      "Programming Language :: Python :: Implementation :: PyPy",
      "Programming Language :: Rust"
     ],
     "ownership": {
      "organization": null,
      "roles": [
       {
        "role": "Owner",
        "user": "kaz007"
       }
      ]
     },
     "url": "https://pypi.org/project/snapatac2/",
     "provenance": {
      "filename": "snapatac2-2.10.0-cp312-cp312-macosx_10_13_x86_64.whl",
      "publisher": {
       "environment": null,
       "kind": "GitHub",
       "repository": "scverse/SnapATAC2",
       "workflow": "test_python.yml"
      },
      "san": "https://github.com/scverse/SnapATAC2/.github/workflows/test_python.yml@refs/tags/v2.10.0",
      "san_parts": {
       "repo": "scverse/SnapATAC2",
       "workflow": ".github/workflows/test_python.yml",
       "ref": "refs/tags/v2.10.0"
      },
      "files_with_provenance": 13
     }
    },
    "rtd": null,
    "package_entry": {
     "name": "SnapATAC2",
     "blurb": "Single-cell ATAC analysis framework",
     "description": "SnapATAC2 is a scalable and modular pipeline for analyzing single-cell ATAC-seq data,\nenabling efficient preprocessing, dimensionality reduction, clustering, and integration\nwith single-cell RNA-seq.\n",
     "project_home": "https://github.com/scverse/SnapATAC2",
     "documentation_home": "https://scverse.org/SnapATAC2/",
     "tutorials_home": "https://scverse.org/SnapATAC2/tutorials/",
     "publications": [
      "10.1038/s41592-023-02139-9"
     ],
     "install": {
      "pypi": "snapatac2",
      "conda": "bioconda::snapatac2"
     },
     "primary_category": "Epigenomics",
     "tags": [
      "ATAC-seq",
      "epigenomics"
     ],
     "license": "MIT",
     "language": "Python",
     "contact": [
      "kaizhang"
     ],
     "logo": "SnapATAC2/logo.svg",
     "test_command": "pip install \".[test]\" && pytest",
     "category": "core-framework",
     "version": "2.10.0",
     "inventory": "https://scverse.org/SnapATAC2/"
    },
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "fail",
     "detail": "No `.cruft.json` \u2014 repo was not generated from the template",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse#usage"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "fail",
     "detail": "build backend is maturin",
     "fix_url": "https://github.com/scverse/SnapATAC2/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/codecov": {
     "status": "fail",
     "detail": "No codecov config file and no codecov check run",
     "fix_url": "https://app.codecov.io/gh/scverse/SnapATAC2"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/SnapATAC2/settings/branches"
    },
    "template/packages-json": {
     "status": "pass",
     "detail": "Listed under core-framework",
     "fix_url": "https://github.com/scverse/scverse.github.io/blob/main/data/ecosystem-packages.yaml"
    },
    "docs/readthedocs-yaml": {
     "status": "fail",
     "detail": "No `.readthedocs.yaml`",
     "fix_url": "https://github.com/scverse/SnapATAC2/new/main?filename=.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-core-devs": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/scverse-domain": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-org": {
     "status": "fail",
     "detail": "Not owned by a PyPI organization",
     "fix_url": "https://pypi.org/project/snapatac2/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`2.10.0` published by scverse/SnapATAC2/.github/workflows/test_python.yml",
     "fix_url": "https://pypi.org/project/snapatac2/"
    },
    "packaging/release-workflow": {
     "status": "fail",
     "detail": "job `publish` is not bound to an environment",
     "fix_url": "https://github.com/scverse/SnapATAC2/blob/main/.github/workflows/test_python.yml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12, <3.15\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/SnapATAC2/settings"
    },
    "packaging/releases-immutable": {
     "status": "pass",
     "detail": "All of the last 1 releases are immutable",
     "fix_url": "https://github.com/scverse/SnapATAC2/releases"
    },
    "packaging/pypi-environment": {
     "status": "fail",
     "detail": "No `pypi` environment (found: github-pages, pypi_password)",
     "fix_url": "https://github.com/scverse/SnapATAC2/settings/environments"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "No published GitHub releases"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "fail",
     "detail": "17 of 17 unpinned: actions/checkout@v4, actions/checkout@v5, actions/download-artifact@v4 and 9 more",
     "fix_url": "https://github.com/scverse/SnapATAC2/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "44 findings in 7 files, online: archived-uses, artipacked, excessive-permissions and 4 more",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "No `.github/dependabot.yml` (needs github-actions)",
     "fix_url": "https://github.com/scverse/SnapATAC2/new/main?filename=.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "fail",
     "detail": "2 open alerts, 1 high or critical",
     "fix_url": "https://github.com/scverse/SnapATAC2/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/SnapATAC2/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/SnapATAC2/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "4 of 4 lack `permissions:`: nightly.yml, test_python.yml, test_rust.yml and 1 more",
     "fix_url": "https://github.com/scverse/SnapATAC2/settings/actions"
    },
    "security/persist-credentials": {
     "status": "fail",
     "detail": "3 of 3 keep credentials: nightly.yml:check-for-new-commits, wheels.yml:build_wheels, wheels.yml:make_sdist",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/SnapATAC2/security/policy"
    },
    "branch/protected": {
     "status": "fail",
     "detail": "`main` is not protected at all",
     "fix_url": "https://github.com/scverse/SnapATAC2/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "Direct pushes to the default branch are allowed",
     "fix_url": "https://github.com/scverse/SnapATAC2/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "No review requirement",
     "fix_url": "https://github.com/scverse/SnapATAC2/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No required status checks",
     "fix_url": "https://github.com/scverse/SnapATAC2/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "MIT",
     "fix_url": "https://github.com/scverse/SnapATAC2/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "fail",
     "detail": "`igraph` (GNU General Public License (GPL))",
     "fix_url": "https://github.com/scverse/SnapATAC2/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "pass",
     "detail": "Described, linked and tagged (2 topics)",
     "fix_url": "https://github.com/scverse/SnapATAC2"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 51 days ago",
     "fix_url": "https://github.com/scverse/SnapATAC2/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "sp-ops",
    "category": "other",
    "repo": {
     "name": "sp-ops",
     "full_name": "scverse/sp-ops",
     "html_url": "https://github.com/scverse/sp-ops",
     "description": "Prototype schema and APIs for OPS support in SpatialData",
     "pushed_at": "2026-10-29T14:45:43Z",
     "homepage": null,
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": {
     "name": "sp-ops",
     "missing": true
    },
    "rtd": {
     "slug": "sp-ops",
     "name": "sp-ops",
     "repository": {
      "type": "git",
      "url": "https://github.com/scverse/sp-ops.git"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/sp-ops/builds/",
      "documentation": "https://sp-ops.readthedocs.io/en/latest/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/sp-ops/",
      "versions": "https://app.readthedocs.org/projects/sp-ops/versions/"
     },
     "users": [
      "m.lucalmer@gmail.com"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": null,
     "home": "https://app.readthedocs.org/projects/sp-ops/",
     "stable_build": null
    },
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "fail",
     "detail": "No `.cruft.json` \u2014 repo was not generated from the template",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse#usage"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "fail",
     "detail": "build backend is unset; no `src/` directory",
     "fix_url": "https://github.com/scverse/sp-ops/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/codecov": {
     "status": "fail",
     "detail": "No codecov config file and no codecov check run",
     "fix_url": "https://app.codecov.io/gh/scverse/sp-ops"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/sp-ops/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/sp-ops/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "pass",
     "detail": "RTD `sp-ops` builds scverse/sp-ops",
     "fix_url": "https://app.readthedocs.org/dashboard/sp-ops/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "fail",
     "detail": "0 of 1 maintainers are core devs; at least 2 required",
     "fix_url": "https://app.readthedocs.org/dashboard/sp-ops/edit/"
    },
    "docs/scverse-domain": {
     "status": "fail",
     "detail": "Docs served from sp-ops.readthedocs.io",
     "fix_url": "https://app.readthedocs.org/dashboard/sp-ops/domains/"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "No build of a `stable` version",
     "fix_url": "https://app.readthedocs.org/projects/sp-ops/"
    },
    "packaging/pypi-org": {
     "status": "na",
     "detail": "`sp-ops` is not published on PyPI"
    },
    "packaging/trusted-publishing": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/release-workflow": {
     "status": "fail",
     "detail": "No workflow uses `pypa/gh-action-pypi-publish`",
     "fix_url": "https://github.com/scverse/sp-ops/new/main?filename=.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/sp-ops/settings"
    },
    "packaging/releases-immutable": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-environment": {
     "status": "fail",
     "detail": "No `pypi` environment (found: copilot)",
     "fix_url": "https://github.com/scverse/sp-ops/settings/environments"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/precommit-pinned": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/zizmor-clean": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dependabot": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dependabot-alerts": {
     "status": "fail",
     "detail": "100 open alerts, 61 high or critical",
     "fix_url": "https://github.com/scverse/sp-ops/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/sp-ops/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/sp-ops/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/persist-credentials": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dangerous-triggers": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/sp-ops/security/policy"
    },
    "branch/protected": {
     "status": "fail",
     "detail": "`main` is not protected at all",
     "fix_url": "https://github.com/scverse/sp-ops/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "Direct pushes to the default branch are allowed",
     "fix_url": "https://github.com/scverse/sp-ops/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "No review requirement",
     "fix_url": "https://github.com/scverse/sp-ops/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No required status checks",
     "fix_url": "https://github.com/scverse/sp-ops/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/sp-ops/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 116 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/sp-ops/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing homepage, `scverse` topic",
     "fix_url": "https://github.com/scverse/sp-ops"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 3 days ago",
     "fix_url": "https://github.com/scverse/sp-ops/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "spatial-sample-aggregation",
    "category": "other",
    "repo": {
     "name": "spatial-sample-aggregation",
     "full_name": "scverse/spatial-sample-aggregation",
     "html_url": "https://github.com/scverse/spatial-sample-aggregation",
     "description": null,
     "pushed_at": "2025-09-05T06:53:38Z",
     "homepage": null,
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": {
     "name": "spatial-sample-aggregation",
     "missing": true
    },
    "rtd": null,
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": 5,
     "commits_behind": 119,
     "latest": "v0.8.0",
     "status": "ahead"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/spatial-sample-aggregation/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "fail",
     "detail": "5 releases behind (v0.8.0 is current)",
     "fix_url": "https://github.com/scverse/spatial-sample-aggregation/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/spatial-sample-aggregation/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "fail",
     "detail": "No pre-commit.ci check run on the default branch",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yaml` present",
     "fix_url": "https://github.com/scverse/spatial-sample-aggregation/blob/main/.codecov.yaml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/spatial-sample-aggregation/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/spatial-sample-aggregation/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "fail",
     "detail": "No Read the Docs project with slug `spatial-sample-aggregation` (set `rtd_slugs:` in config/repos.yaml if it differs)",
     "fix_url": "https://app.readthedocs.org/dashboard/import/"
    },
    "docs/rtd-core-devs": {
     "status": "fail",
     "detail": "No Read the Docs project to inspect"
    },
    "docs/scverse-domain": {
     "status": "unknown",
     "detail": "No documentation URL recorded anywhere",
     "fix_url": "https://app.readthedocs.org/dashboard/spatial-sample-aggregation/domains/"
    },
    "docs/rtd-build": {
     "status": "fail",
     "detail": "No Read the Docs project to inspect"
    },
    "packaging/pypi-org": {
     "status": "na",
     "detail": "`spatial-sample-aggregation` is not published on PyPI"
    },
    "packaging/trusted-publishing": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yaml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/spatial-sample-aggregation/blob/main/.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.10\"` still allows 3.10; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/spatial-sample-aggregation/settings"
    },
    "packaging/releases-immutable": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-environment": {
     "status": "fail",
     "detail": "No `pypi` environment (found: none)",
     "fix_url": "https://github.com/scverse/spatial-sample-aggregation/settings/environments"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "fail",
     "detail": "8 of 8 unpinned: actions/checkout@v4, actions/setup-python@v5, codecov/codecov-action@v3 and 1 more",
     "fix_url": "https://github.com/scverse/spatial-sample-aggregation/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "4 of 4 on tags: pre-commit-hooks@v5.0.0, pre-commit@v1.9.4, pyproject-fmt@v2.5.1 and 1 more",
     "fix_url": "https://github.com/scverse/spatial-sample-aggregation/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "15 findings in 3 files, online: artipacked, cache-poisoning, excessive-permissions and 2 more",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "No `.github/dependabot.yml` (needs github-actions, pre-commit)",
     "fix_url": "https://github.com/scverse/spatial-sample-aggregation/new/main?filename=.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/spatial-sample-aggregation/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/spatial-sample-aggregation/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/spatial-sample-aggregation/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "3 of 3 lack `permissions:`: build.yaml, release.yaml, test.yaml",
     "fix_url": "https://github.com/scverse/spatial-sample-aggregation/settings/actions"
    },
    "security/persist-credentials": {
     "status": "fail",
     "detail": "3 of 3 keep credentials: build.yaml:package, release.yaml:release, test.yaml:test",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/spatial-sample-aggregation/security/policy"
    },
    "branch/protected": {
     "status": "fail",
     "detail": "`main` is not protected at all",
     "fix_url": "https://github.com/scverse/spatial-sample-aggregation/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "Direct pushes to the default branch are allowed",
     "fix_url": "https://github.com/scverse/spatial-sample-aggregation/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "No review requirement",
     "fix_url": "https://github.com/scverse/spatial-sample-aggregation/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No required status checks",
     "fix_url": "https://github.com/scverse/spatial-sample-aggregation/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/spatial-sample-aggregation/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 151 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/spatial-sample-aggregation/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing description, homepage, `scverse` topic",
     "fix_url": "https://github.com/scverse/spatial-sample-aggregation"
    },
    "governance/maintained": {
     "status": "warn",
     "detail": "Last push 14 months ago",
     "fix_url": "https://github.com/scverse/spatial-sample-aggregation/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "spatialdata",
    "category": "core-datastructure",
    "repo": {
     "name": "spatialdata",
     "full_name": "scverse/spatialdata",
     "html_url": "https://github.com/scverse/spatialdata",
     "description": "An open and interoperable data framework for spatial omics data",
     "pushed_at": "2026-10-30T14:14:17Z",
     "homepage": "https://spatialdata.scverse.org/",
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [
      "scverse",
      "spatial",
      "spatial-analysis",
      "spatial-data"
     ],
     "default_branch": "main"
    },
    "pypi": {
     "name": "spatialdata",
     "version": "0.8.0",
     "summary": "Spatial data format.",
     "home_page": null,
     "project_urls": {
      "Documentation": "https://spatialdata.scverse.org/en/latest",
      "Home-page": "https://github.com/scverse/spatialdata.git",
      "Source": "https://github.com/scverse/spatialdata.git"
     },
     "license": "BSD 3-Clause License",
     "classifiers": [],
     "ownership": {
      "organization": "scverse",
      "roles": [
       {
        "role": "Owner",
        "user": "LucaMarconato"
       },
       {
        "role": "Owner",
        "user": "giovp"
       },
       {
        "role": "Owner",
        "user": "kevin.yamauchi"
       },
       {
        "role": "Owner",
        "user": "wmv1992"
       }
      ]
     },
     "url": "https://pypi.org/project/spatialdata/",
     "provenance": null
    },
    "rtd": {
     "slug": "spatialdata",
     "name": "spatialdata",
     "repository": {
      "type": "git",
      "url": "https://github.com/geodynamics/spatialdata.git"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/spatialdata/builds/",
      "documentation": "https://spatialdata.readthedocs.io/en/latest/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/spatialdata/",
      "versions": "https://app.readthedocs.org/projects/spatialdata/versions/"
     },
     "users": [
      "baagaard-usgs"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": null,
     "home": "https://app.readthedocs.org/projects/spatialdata/",
     "stable_build": {
      "id": 34040366,
      "success": true,
      "state": "finished",
      "finished": "2026-08-12T22:17:27.557398Z",
      "version": "stable",
      "commit": "27da34ca4f6f0e5e385ef1a8d9c57a95341c765b",
      "url": "https://app.readthedocs.org/projects/spatialdata/builds/34040366/"
     }
    },
    "package_entry": {
     "name": "SpatialData",
     "blurb": "Spatial data format",
     "description": "SpatialData is a data framework that comprises a FAIR storage format and a collection of\npython libraries for performant access, alignment, and processing of uni- and multi-modal\nspatial omics datasets.\n",
     "project_home": "https://github.com/scverse/spatialdata",
     "documentation_home": "https://spatialdata.scverse.org/",
     "tutorials_home": "https://spatialdata.scverse.org/page/tutorials/notebooks/notebooks.html",
     "publications": [
      "10.1038/s41592-024-02212-x"
     ],
     "install": {
      "pypi": "spatialdata"
     },
     "primary_category": "Data structures",
     "tags": [
      "spatial transcriptomics",
      "data structures",
      "file formats"
     ],
     "license": "BSD-3-Clause",
     "language": "Python",
     "contact": [
      "LucaMarconato",
      "melonora"
     ],
     "logo": "spatialdata/logo.svg",
     "category": "core-datastructure",
     "version": "0.8.0",
     "inventory": "https://spatialdata.scverse.org/en/stable/"
    },
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": null,
     "commits_behind": 0,
     "latest": "v0.8.0",
     "status": "behind"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/spatialdata/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "pass",
     "detail": "Up to date with the template (v0.8.0)",
     "fix_url": "https://github.com/scverse/spatialdata/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/spatialdata/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "fail",
     "detail": "No pre-commit.ci check run on the default branch",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yaml` present",
     "fix_url": "https://github.com/scverse/spatialdata/blob/main/.codecov.yaml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/spatialdata/settings/branches"
    },
    "template/packages-json": {
     "status": "pass",
     "detail": "Listed under core-datastructure",
     "fix_url": "https://github.com/scverse/scverse.github.io/blob/main/data/ecosystem-packages.yaml"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/spatialdata/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "fail",
     "detail": "RTD `spatialdata` builds https://github.com/geodynamics/spatialdata.git, expected https://github.com/scverse/spatialdata.git",
     "fix_url": "https://app.readthedocs.org/dashboard/spatialdata/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "fail",
     "detail": "0 of 1 maintainers are core devs; at least 2 required",
     "fix_url": "https://app.readthedocs.org/dashboard/spatialdata/edit/"
    },
    "docs/scverse-domain": {
     "status": "warn",
     "detail": "spatialdata.scverse.org, but spatialdata.readthedocs.io is still advertised",
     "fix_url": "https://app.readthedocs.org/dashboard/spatialdata/domains/"
    },
    "docs/rtd-build": {
     "status": "pass",
     "detail": "`stable` built from `27da34c` on 2026-08-12",
     "fix_url": "https://app.readthedocs.org/projects/spatialdata/builds/34040366/"
    },
    "packaging/pypi-org": {
     "status": "pass",
     "detail": "Owned by the `scverse` PyPI organization",
     "fix_url": "https://pypi.org/project/spatialdata/"
    },
    "packaging/trusted-publishing": {
     "status": "fail",
     "detail": "`0.8.0` has no attestations \u2014 published with a token, not OIDC",
     "fix_url": "https://docs.pypi.org/trusted-publishers/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yaml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/spatialdata/blob/main/.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/spatialdata/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "5 of the last 5 are mutable: v0.8.0, v0.7.3, v0.7.3a2 and 2 more",
     "fix_url": "https://github.com/scverse/spatialdata/releases"
    },
    "packaging/pypi-environment": {
     "status": "fail",
     "detail": "No `pypi` environment (found: copilot)",
     "fix_url": "https://github.com/scverse/spatialdata/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `v0.8.0` == PyPI `0.8.0`",
     "fix_url": "https://github.com/scverse/spatialdata/releases/tag/v0.8.0"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "pass",
     "detail": "All 17 action references pinned to a SHA",
     "fix_url": "https://github.com/scverse/spatialdata/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "5 of 5 on tags: pre-commit-hooks@v6.0.0, pre-commit@v2.5.10, pyproject-fmt@v2.28.1 and 2 more",
     "fix_url": "https://github.com/scverse/spatialdata/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "1 finding in 5 files, online: known-vulnerable-actions",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "pass",
     "detail": "Covers github-actions, pre-commit",
     "fix_url": "https://github.com/scverse/spatialdata/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/spatialdata/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/spatialdata/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/spatialdata/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "pass",
     "detail": "All workflows declare `permissions:`; repo default is read-only",
     "fix_url": "https://github.com/scverse/spatialdata/settings/actions"
    },
    "security/persist-credentials": {
     "status": "pass",
     "detail": "All 6 checkouts set `persist-credentials: false`",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/spatialdata/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/spatialdata/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (ruleset)",
     "fix_url": "https://github.com/scverse/spatialdata/settings/rules"
    },
    "branch/requires-review": {
     "status": "pass",
     "detail": "1 approving review required",
     "fix_url": "https://github.com/scverse/spatialdata/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "2 required: Tests pass in all hatch environments, docs/readthedocs.org:scverse-spatialdata",
     "fix_url": "https://github.com/scverse/spatialdata/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/spatialdata/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 114 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/spatialdata/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "pass",
     "detail": "Described, linked and tagged (4 topics)",
     "fix_url": "https://github.com/scverse/spatialdata"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 2 days ago",
     "fix_url": "https://github.com/scverse/spatialdata/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "spatialdata-integration-testing",
    "category": "other",
    "repo": {
     "name": "spatialdata-integration-testing",
     "full_name": "scverse/spatialdata-integration-testing",
     "html_url": "https://github.com/scverse/spatialdata-integration-testing",
     "description": "Integration testing for the SpatialData framework",
     "pushed_at": "2026-09-09T15:57:13Z",
     "homepage": null,
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": {
     "name": "spatialdata-data-converter",
     "missing": true
    },
    "rtd": null,
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "fail",
     "detail": "No `.cruft.json` \u2014 repo was not generated from the template",
     "fix_url": "https://github.com/scverse/cookiecutter-scverse#usage"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "fail",
     "detail": "build backend is unset",
     "fix_url": "https://github.com/scverse/spatialdata-integration-testing/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/codecov": {
     "status": "fail",
     "detail": "No codecov config file and no codecov check run",
     "fix_url": "https://app.codecov.io/gh/scverse/spatialdata-integration-testing"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/spatialdata-integration-testing/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "fail",
     "detail": "No `.readthedocs.yaml`",
     "fix_url": "https://github.com/scverse/spatialdata-integration-testing/new/main?filename=.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-core-devs": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/scverse-domain": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-org": {
     "status": "na",
     "detail": "`spatialdata-data-converter` is not published on PyPI"
    },
    "packaging/trusted-publishing": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/release-workflow": {
     "status": "fail",
     "detail": "No workflow uses `pypa/gh-action-pypi-publish`",
     "fix_url": "https://github.com/scverse/spatialdata-integration-testing/new/main?filename=.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">= 3.11\"` still allows 3.11; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/spatialdata-integration-testing/settings"
    },
    "packaging/releases-immutable": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-environment": {
     "status": "fail",
     "detail": "No `pypi` environment (found: none)",
     "fix_url": "https://github.com/scverse/spatialdata-integration-testing/settings/environments"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/precommit-pinned": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/zizmor-clean": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dependabot": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/spatialdata-integration-testing/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/spatialdata-integration-testing/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/spatialdata-integration-testing/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/persist-credentials": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dangerous-triggers": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/spatialdata-integration-testing/security/policy"
    },
    "branch/protected": {
     "status": "fail",
     "detail": "`main` is not protected at all",
     "fix_url": "https://github.com/scverse/spatialdata-integration-testing/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "Direct pushes to the default branch are allowed",
     "fix_url": "https://github.com/scverse/spatialdata-integration-testing/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "No review requirement",
     "fix_url": "https://github.com/scverse/spatialdata-integration-testing/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No required status checks",
     "fix_url": "https://github.com/scverse/spatialdata-integration-testing/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/spatialdata-integration-testing/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 0 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/spatialdata-integration-testing/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing homepage, `scverse` topic",
     "fix_url": "https://github.com/scverse/spatialdata-integration-testing"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 53 days ago",
     "fix_url": "https://github.com/scverse/spatialdata-integration-testing/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "spatialdata-io",
    "category": "other",
    "repo": {
     "name": "spatialdata-io",
     "full_name": "scverse/spatialdata-io",
     "html_url": "https://github.com/scverse/spatialdata-io",
     "description": null,
     "pushed_at": "2026-10-28T11:54:18Z",
     "homepage": null,
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": {
     "name": "spatialdata-io",
     "version": "0.7.1",
     "summary": "SpatialData IO for common techs",
     "home_page": null,
     "project_urls": {
      "Documentation": "https://spatialdata-io.readthedocs.io/",
      "Home-page": "https://github.com/scverse/spatialdata-io",
      "Source": "https://github.com/scverse/spatialdata-io"
     },
     "license": "BSD 3-Clause License",
     "classifiers": [],
     "ownership": {
      "organization": "scverse",
      "roles": [
       {
        "role": "Owner",
        "user": "LucaMarconato"
       },
       {
        "role": "Owner",
        "user": "kevin.yamauchi"
       }
      ]
     },
     "url": "https://pypi.org/project/spatialdata-io/",
     "provenance": null
    },
    "rtd": {
     "slug": "spatialdata-io",
     "name": "spatialdata-io",
     "repository": {
      "type": "git",
      "url": "https://github.com/scverse/spatialdata-io.git"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/spatialdata-io/builds/",
      "documentation": "https://spatialdata.scverse.org/projects/io/en/latest/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/spatialdata-io/",
      "versions": "https://app.readthedocs.org/projects/spatialdata-io/versions/"
     },
     "users": [
      "giovp",
      "m.lucalmer@gmail.com",
      "kevinyamauchi"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": null,
     "home": "https://app.readthedocs.org/projects/spatialdata-io/",
     "stable_build": {
      "id": 33417864,
      "success": false,
      "state": "finished",
      "finished": "2026-07-02T20:49:08.911322Z",
      "version": "stable",
      "commit": "a63ca08a421f74cc06c4aa7019d53bbaa4c74449",
      "url": "https://app.readthedocs.org/projects/spatialdata-io/builds/33417864/"
     }
    },
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": null,
     "commits_behind": 0,
     "latest": "v0.8.0",
     "status": "behind"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/spatialdata-io/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "pass",
     "detail": "Up to date with the template (v0.8.0)",
     "fix_url": "https://github.com/scverse/spatialdata-io/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/spatialdata-io/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "fail",
     "detail": "No pre-commit.ci check run on the default branch",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yaml` present",
     "fix_url": "https://github.com/scverse/spatialdata-io/blob/main/.codecov.yaml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/spatialdata-io/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/spatialdata-io/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "pass",
     "detail": "RTD `spatialdata-io` builds scverse/spatialdata-io",
     "fix_url": "https://app.readthedocs.org/dashboard/spatialdata-io/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "fail",
     "detail": "1 of 3 maintainers are core devs (giovp); at least 2 required",
     "fix_url": "https://app.readthedocs.org/dashboard/spatialdata-io/edit/"
    },
    "docs/scverse-domain": {
     "status": "pass",
     "detail": "spatialdata.scverse.org",
     "fix_url": "https://app.readthedocs.org/dashboard/spatialdata-io/domains/"
    },
    "docs/rtd-build": {
     "status": "fail",
     "detail": "The `stable` build of `a63ca08` failed on 2026-07-02",
     "fix_url": "https://app.readthedocs.org/projects/spatialdata-io/builds/33417864/"
    },
    "packaging/pypi-org": {
     "status": "pass",
     "detail": "Owned by the `scverse` PyPI organization",
     "fix_url": "https://pypi.org/project/spatialdata-io/"
    },
    "packaging/trusted-publishing": {
     "status": "fail",
     "detail": "`0.7.1` has no attestations \u2014 published with a token, not OIDC",
     "fix_url": "https://docs.pypi.org/trusted-publishers/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yaml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/spatialdata-io/blob/main/.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/spatialdata-io/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "5 of the last 5 are mutable: v0.7.1, v0.7.0, v0.6.0 and 2 more",
     "fix_url": "https://github.com/scverse/spatialdata-io/releases"
    },
    "packaging/pypi-environment": {
     "status": "fail",
     "detail": "No `pypi` environment (found: copilot)",
     "fix_url": "https://github.com/scverse/spatialdata-io/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `v0.7.1` == PyPI `0.7.1`",
     "fix_url": "https://github.com/scverse/spatialdata-io/releases/tag/v0.7.1"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "pass",
     "detail": "All 16 action references pinned to a SHA",
     "fix_url": "https://github.com/scverse/spatialdata-io/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "5 of 5 on tags: pre-commit-hooks@v6.0.0, pre-commit@v2.5.5, pyproject-fmt@v2.26.0 and 2 more",
     "fix_url": "https://github.com/scverse/spatialdata-io/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "1 finding in 5 files, online: known-vulnerable-actions",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "pass",
     "detail": "Covers github-actions, pre-commit",
     "fix_url": "https://github.com/scverse/spatialdata-io/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/spatialdata-io/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/spatialdata-io/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/spatialdata-io/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "Workflows are fine, but the repo's default GITHUB_TOKEN is read-write",
     "fix_url": "https://github.com/scverse/spatialdata-io/settings/actions"
    },
    "security/persist-credentials": {
     "status": "pass",
     "detail": "All 6 checkouts set `persist-credentials: false`",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/spatialdata-io/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (classic)",
     "fix_url": "https://github.com/scverse/spatialdata-io/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (classic)",
     "fix_url": "https://github.com/scverse/spatialdata-io/settings/rules"
    },
    "branch/requires-review": {
     "status": "pass",
     "detail": "1 approving review required",
     "fix_url": "https://github.com/scverse/spatialdata-io/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No status checks are required to merge",
     "fix_url": "https://github.com/scverse/spatialdata-io/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/spatialdata-io/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 141 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/spatialdata-io/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing description, homepage, `scverse` topic",
     "fix_url": "https://github.com/scverse/spatialdata-io"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 5 days ago",
     "fix_url": "https://github.com/scverse/spatialdata-io/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "spatialdata-plot",
    "category": "other",
    "repo": {
     "name": "spatialdata-plot",
     "full_name": "scverse/spatialdata-plot",
     "html_url": "https://github.com/scverse/spatialdata-plot",
     "description": "Static plotting for spatialdata",
     "pushed_at": "2026-11-02T10:08:51Z",
     "homepage": null,
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": {
     "name": "spatialdata-plot",
     "version": "0.4.3",
     "summary": "Static plotting for spatial data.",
     "home_page": null,
     "project_urls": {
      "Documentation": "https://spatialdata.scverse.org/projects/plot/en/latest/index.html",
      "Home-page": "https://github.com/scverse/spatialdata-plot.git",
      "Source": "https://github.com/scverse/spatialdata-plot.git"
     },
     "license": "BSD 3-Clause License",
     "classifiers": [
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
      "Programming Language :: Python :: 3.14"
     ],
     "ownership": {
      "organization": "scverse",
      "roles": [
       {
        "role": "Owner",
        "user": "LucaMarconato"
       },
       {
        "role": "Owner",
        "user": "kevin.yamauchi"
       }
      ]
     },
     "url": "https://pypi.org/project/spatialdata-plot/",
     "provenance": {
      "filename": "spatialdata_plot-0.4.3-py3-none-any.whl",
      "publisher": {
       "environment": "pypi",
       "kind": "GitHub",
       "repository": "scverse/spatialdata-plot",
       "workflow": "release.yaml"
      },
      "san": "https://github.com/scverse/spatialdata-plot/.github/workflows/release.yaml@refs/tags/v0.4.3",
      "san_parts": {
       "repo": "scverse/spatialdata-plot",
       "workflow": ".github/workflows/release.yaml",
       "ref": "refs/tags/v0.4.3"
      },
      "files_with_provenance": 2
     }
    },
    "rtd": {
     "slug": "spatialdata-plot",
     "name": "spatialdata-plot",
     "repository": {
      "type": "git",
      "url": "https://github.com/scverse/spatialdata-plot.git"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/spatialdata-plot/builds/",
      "documentation": "https://spatialdata.scverse.org/projects/plot/en/latest/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/spatialdata-plot/",
      "versions": "https://app.readthedocs.org/projects/spatialdata-plot/versions/"
     },
     "users": [
      "sagar87",
      "giovp",
      "m.lucalmer@gmail.com",
      "timtreis"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": null,
     "home": "https://app.readthedocs.org/projects/spatialdata-plot/",
     "stable_build": {
      "id": 35043795,
      "success": true,
      "state": "finished",
      "finished": "2026-10-09T15:20:27.670084Z",
      "version": "stable",
      "commit": "6c8b76d3fa866c9378f4b4b8fe1ae17b3b3d7b8c",
      "url": "https://app.readthedocs.org/projects/spatialdata-plot/builds/35043795/"
     }
    },
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": 0,
     "release": "v0.8.0",
     "latest": "v0.8.0"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/spatialdata-plot/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "pass",
     "detail": "On the latest template release (v0.8.0)",
     "fix_url": "https://github.com/scverse/spatialdata-plot/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/spatialdata-plot/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "fail",
     "detail": "No pre-commit.ci check run on the default branch",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yaml` present",
     "fix_url": "https://github.com/scverse/spatialdata-plot/blob/main/.codecov.yaml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/spatialdata-plot/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/spatialdata-plot/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "pass",
     "detail": "RTD `spatialdata-plot` builds scverse/spatialdata-plot",
     "fix_url": "https://app.readthedocs.org/dashboard/spatialdata-plot/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "pass",
     "detail": "2 of 4 maintainers are core devs (giovp, timtreis)",
     "fix_url": "https://app.readthedocs.org/dashboard/spatialdata-plot/edit/"
    },
    "docs/scverse-domain": {
     "status": "pass",
     "detail": "spatialdata.scverse.org",
     "fix_url": "https://app.readthedocs.org/dashboard/spatialdata-plot/domains/"
    },
    "docs/rtd-build": {
     "status": "pass",
     "detail": "`stable` built from `6c8b76d` on 2026-10-09",
     "fix_url": "https://app.readthedocs.org/projects/spatialdata-plot/builds/35043795/"
    },
    "packaging/pypi-org": {
     "status": "pass",
     "detail": "Owned by the `scverse` PyPI organization",
     "fix_url": "https://pypi.org/project/spatialdata-plot/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`0.4.3` published by scverse/spatialdata-plot/.github/workflows/release.yaml",
     "fix_url": "https://pypi.org/project/spatialdata-plot/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yaml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/spatialdata-plot/blob/main/.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/spatialdata-plot/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "2 of the last 5 are mutable: v0.4.0, v0.3.4",
     "fix_url": "https://github.com/scverse/spatialdata-plot/releases"
    },
    "packaging/pypi-environment": {
     "status": "warn",
     "detail": "`pypi` environment exists but has no protection rules",
     "fix_url": "https://github.com/scverse/spatialdata-plot/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `v0.4.3` == PyPI `0.4.3`",
     "fix_url": "https://github.com/scverse/spatialdata-plot/releases/tag/v0.4.3"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "pass",
     "detail": "All 14 action references pinned to a SHA",
     "fix_url": "https://github.com/scverse/spatialdata-plot/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "6 of 6 on tags: mirrors-mypy@v1.20.2, pre-commit-hooks@v6.0.0, pre-commit@v2.5.3 and 3 more",
     "fix_url": "https://github.com/scverse/spatialdata-plot/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "1 finding in 4 files, online: known-vulnerable-actions",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "Missing ecosystem: pre-commit",
     "fix_url": "https://github.com/scverse/spatialdata-plot/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/spatialdata-plot/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/spatialdata-plot/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/spatialdata-plot/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "Workflows are fine, but the repo's default GITHUB_TOKEN is read-write",
     "fix_url": "https://github.com/scverse/spatialdata-plot/settings/actions"
    },
    "security/persist-credentials": {
     "status": "pass",
     "detail": "All 5 checkouts set `persist-credentials: false`",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/spatialdata-plot/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (classic)",
     "fix_url": "https://github.com/scverse/spatialdata-plot/settings/rules"
    },
    "branch/requires-pr": {
     "status": "pass",
     "detail": "Pull request required (classic)",
     "fix_url": "https://github.com/scverse/spatialdata-plot/settings/rules"
    },
    "branch/requires-review": {
     "status": "pass",
     "detail": "1 approving review required",
     "fix_url": "https://github.com/scverse/spatialdata-plot/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "1 required: Tests pass in all hatch environments",
     "fix_url": "https://github.com/scverse/spatialdata-plot/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/spatialdata-plot/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 135 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/spatialdata-plot/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing homepage, `scverse` topic",
     "fix_url": "https://github.com/scverse/spatialdata-plot"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 0 days ago",
     "fix_url": "https://github.com/scverse/spatialdata-plot/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "squidpy",
    "category": "core-framework",
    "repo": {
     "name": "squidpy",
     "full_name": "scverse/squidpy",
     "html_url": "https://github.com/scverse/squidpy",
     "description": "Spatial Single Cell Analysis in Python",
     "pushed_at": "2026-10-30T10:17:30Z",
     "homepage": "https://squidpy.readthedocs.io/en/stable/",
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [
      "data-visualization",
      "image-analysis",
      "scverse",
      "single-cell-genomics",
      "single-cell-rna-seq",
      "spatial-analysis",
      "spatial-transcriptomics",
      "squidpy"
     ],
     "default_branch": "main"
    },
    "pypi": {
     "name": "squidpy",
     "version": "1.8.4",
     "summary": "Spatial Single Cell Analysis in Python",
     "home_page": null,
     "project_urls": {
      "Bug Tracker": "https://github.com/scverse/squidpy/issues",
      "Documentation": "https://squidpy.readthedocs.io",
      "Home-page": "https://github.com/scverse/squidpy",
      "Source": "https://github.com/scverse/squidpy"
     },
     "license": "BSD-3-Clause",
     "classifiers": [
      "Development Status :: 5 - Production/Stable",
      "Environment :: Console",
      "Framework :: Jupyter",
      "Intended Audience :: Science/Research",
      "Natural Language :: English",
      "Operating System :: MacOS :: MacOS X",
      "Operating System :: POSIX :: Linux",
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
      "Programming Language :: Python :: 3.14",
      "Topic :: Scientific/Engineering :: Bio-Informatics",
      "Topic :: Scientific/Engineering :: Visualization",
      "Typing :: Typed"
     ],
     "ownership": {
      "organization": "scverse",
      "roles": [
       {
        "role": "Owner",
        "user": "wmv1992"
       }
      ]
     },
     "url": "https://pypi.org/project/squidpy/",
     "provenance": {
      "filename": "squidpy-1.8.4-py3-none-any.whl",
      "publisher": {
       "environment": null,
       "kind": "GitHub",
       "repository": "scverse/squidpy",
       "workflow": "release.yaml"
      },
      "san": "https://github.com/scverse/squidpy/.github/workflows/release.yaml@refs/tags/v1.8.4",
      "san_parts": {
       "repo": "scverse/squidpy",
       "workflow": ".github/workflows/release.yaml",
       "ref": "refs/tags/v1.8.4"
      },
      "files_with_provenance": 2
     }
    },
    "rtd": {
     "slug": "squidpy",
     "name": "Squidpy",
     "repository": {
      "type": "git",
      "url": "https://github.com/scverse/squidpy"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/squidpy/builds/",
      "documentation": "https://squidpy.readthedocs.io/en/stable/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/squidpy/",
      "versions": "https://app.readthedocs.org/projects/squidpy/versions/"
     },
     "users": [
      "michalk8",
      "giovp"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": null,
     "home": "https://app.readthedocs.org/projects/squidpy/",
     "stable_build": {
      "id": 35502891,
      "success": true,
      "state": "finished",
      "finished": "2026-10-29T16:28:41.519103Z",
      "version": "stable",
      "commit": "a27c14f24ee55e4d86f1aea6b77287316f816bcb",
      "url": "https://app.readthedocs.org/projects/squidpy/builds/35502891/"
     }
    },
    "package_entry": {
     "name": "Squidpy",
     "blurb": "Spatial single-cell analysis",
     "description": "Squidpy is a tool for the analysis and visualization of spatial molecular data. It builds\non top of scanpy and anndata, from which it inherits modularity and scalability. It provides\nanalysis tools that leverages the spatial coordinates of the data, as well as tissue images\nif available.\n",
     "project_home": "https://github.com/scverse/squidpy",
     "documentation_home": "https://squidpy.readthedocs.io/",
     "tutorials_home": "https://squidpy.readthedocs.io/page/notebooks/tutorials/",
     "publications": [
      "10.1038/s41592-021-01358-2"
     ],
     "install": {
      "pypi": "squidpy",
      "conda": "conda-forge::squidpy"
     },
     "primary_category": "Spatial",
     "tags": [
      "spatial transcriptomics",
      "imaging"
     ],
     "license": "BSD-3-Clause",
     "language": "Python",
     "contact": [
      "giovp",
      "timtreis"
     ],
     "logo": "squidpy/logo.svg",
     "test_command": "pip install \".[test]\" && pytest",
     "category": "core-framework",
     "version": "1.8.4",
     "inventory": "https://squidpy.readthedocs.io/en/stable/"
    },
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": 0,
     "release": "v0.8.0",
     "latest": "v0.8.0"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/squidpy/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "pass",
     "detail": "On the latest template release (v0.8.0)",
     "fix_url": "https://github.com/scverse/squidpy/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/squidpy/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "pass",
     "detail": "Listed among required status checks",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yaml` present",
     "fix_url": "https://github.com/scverse/squidpy/blob/main/.codecov.yaml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/squidpy/settings/branches"
    },
    "template/packages-json": {
     "status": "pass",
     "detail": "Listed under core-framework",
     "fix_url": "https://github.com/scverse/scverse.github.io/blob/main/data/ecosystem-packages.yaml"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/squidpy/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "pass",
     "detail": "RTD `squidpy` builds scverse/squidpy",
     "fix_url": "https://app.readthedocs.org/dashboard/squidpy/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "fail",
     "detail": "1 of 2 maintainers are core devs (giovp); at least 2 required",
     "fix_url": "https://app.readthedocs.org/dashboard/squidpy/edit/"
    },
    "docs/scverse-domain": {
     "status": "fail",
     "detail": "Docs served from squidpy.readthedocs.io",
     "fix_url": "https://app.readthedocs.org/dashboard/squidpy/domains/"
    },
    "docs/rtd-build": {
     "status": "pass",
     "detail": "`stable` built from `a27c14f` on 2026-10-29",
     "fix_url": "https://app.readthedocs.org/projects/squidpy/builds/35502891/"
    },
    "packaging/pypi-org": {
     "status": "pass",
     "detail": "Owned by the `scverse` PyPI organization",
     "fix_url": "https://pypi.org/project/squidpy/"
    },
    "packaging/trusted-publishing": {
     "status": "pass",
     "detail": "`1.8.4` published by scverse/squidpy/.github/workflows/release.yaml",
     "fix_url": "https://pypi.org/project/squidpy/"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yaml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/squidpy/blob/main/.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/squidpy/settings"
    },
    "packaging/releases-immutable": {
     "status": "fail",
     "detail": "4 of the last 5 are mutable: v1.8.3, v1.8.2, v1.8.1 and 1 more",
     "fix_url": "https://github.com/scverse/squidpy/releases"
    },
    "packaging/pypi-environment": {
     "status": "warn",
     "detail": "`pypi` environment exists but has no protection rules",
     "fix_url": "https://github.com/scverse/squidpy/settings/environments"
    },
    "packaging/version-sync": {
     "status": "pass",
     "detail": "GitHub `v1.8.4` == PyPI `1.8.4`",
     "fix_url": "https://github.com/scverse/squidpy/releases/tag/v1.8.4"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "pass",
     "detail": "All 26 action references pinned to a SHA",
     "fix_url": "https://github.com/scverse/squidpy/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "5 of 5 on tags: pre-commit-hooks@v6.0.0, pre-commit@v2.5.10, pyproject-fmt@v2.28.1 and 2 more",
     "fix_url": "https://github.com/scverse/squidpy/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "1 finding in 5 files, online: known-vulnerable-actions",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "Missing ecosystem: pre-commit",
     "fix_url": "https://github.com/scverse/squidpy/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/squidpy/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/squidpy/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/squidpy/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "Workflows are fine, but the repo's default GITHUB_TOKEN is read-write",
     "fix_url": "https://github.com/scverse/squidpy/settings/actions"
    },
    "security/persist-credentials": {
     "status": "pass",
     "detail": "All 8 checkouts set `persist-credentials: false`",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/squidpy/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/squidpy/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "No pull-request requirement",
     "fix_url": "https://github.com/scverse/squidpy/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are not required, so neither are reviews",
     "fix_url": "https://github.com/scverse/squidpy/settings/rules"
    },
    "branch/status-checks": {
     "status": "pass",
     "detail": "4 required: pre-commit.ci - pr, docs/readthedocs.org:squidpy, package and 1 more",
     "fix_url": "https://github.com/scverse/squidpy/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/squidpy/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 148 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/squidpy/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "pass",
     "detail": "Described, linked and tagged (8 topics)",
     "fix_url": "https://github.com/scverse/squidpy"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 3 days ago",
     "fix_url": "https://github.com/scverse/squidpy/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "stats",
    "category": "core-infrastructure",
    "repo": {
     "name": "stats",
     "full_name": "scverse/stats",
     "html_url": "https://github.com/scverse/stats",
     "description": "scverse statistics",
     "pushed_at": "2026-11-01T20:32:06Z",
     "homepage": "https://scverse.org/stats/",
     "archived": false,
     "license": {
      "key": "mit",
      "name": "MIT License",
      "spdx_id": "MIT",
      "url": "https://api.github.com/licenses/mit",
      "node_id": "MDc6TGljZW5zZTEz"
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": null,
    "rtd": {
     "slug": "stats",
     "name": "Stats",
     "repository": {
      "type": "git",
      "url": "https://github.com/jfkoehler/stats_bmcc"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/stats/builds/",
      "documentation": "https://stats.readthedocs.io/en/latest/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/stats/",
      "versions": "https://app.readthedocs.org/projects/stats/versions/"
     },
     "users": [
      "jfkoehler"
     ],
     "default_branch": "master",
     "readthedocs_yaml_path": null,
     "home": "https://app.readthedocs.org/projects/stats/",
     "stable_build": null
    },
    "package_entry": {
     "name": "stats",
     "description": "Statistics for scverse\n",
     "project_home": "https://github.com/scverse/stats",
     "documentation_home": "https://scverse.org/stats/",
     "inventory": null,
     "primary_category": "Infrastructure",
     "tags": [
      "benchmarking"
     ],
     "license": "MIT",
     "language": "Python",
     "authors": [
      "maltekuehl",
      "grst"
     ],
     "category": "core-infrastructure"
    },
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/pre-commit-ci": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/codecov": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/stats/settings/branches"
    },
    "template/packages-json": {
     "status": "pass",
     "detail": "Listed under core-infrastructure",
     "fix_url": "https://github.com/scverse/scverse.github.io/blob/main/data/ecosystem-packages.yaml"
    },
    "docs/readthedocs-yaml": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-linked": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-core-devs": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/scverse-domain": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-org": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/trusted-publishing": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/release-workflow": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/spec0-python": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/stats/settings"
    },
    "packaging/releases-immutable": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-environment": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "fail",
     "detail": "3 of 3 unpinned: actions/checkout@v4, actions/setup-node@v4, aws-actions/configure-aws-credentials@v4",
     "fix_url": "https://github.com/scverse/stats/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "6 findings in 1 file, online: artipacked, excessive-permissions, unpinned-uses",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "No `.github/dependabot.yml` (needs github-actions)",
     "fix_url": "https://github.com/scverse/stats/new/main?filename=.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "fail",
     "detail": "8 open alerts, 4 high or critical",
     "fix_url": "https://github.com/scverse/stats/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/stats/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/stats/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "1 of 1 lack `permissions:`: deploy.yaml",
     "fix_url": "https://github.com/scverse/stats/settings/actions"
    },
    "security/persist-credentials": {
     "status": "fail",
     "detail": "1 of 1 keep credentials: deploy.yaml:generate-data",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/stats/security/policy"
    },
    "branch/protected": {
     "status": "pass",
     "detail": "Force-push and deletion blocked (ruleset)",
     "fix_url": "https://github.com/scverse/stats/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "No pull-request requirement",
     "fix_url": "https://github.com/scverse/stats/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "Pull requests are not required, so neither are reviews",
     "fix_url": "https://github.com/scverse/stats/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No status checks are required to merge",
     "fix_url": "https://github.com/scverse/stats/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "MIT",
     "fix_url": "https://github.com/scverse/stats/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing `scverse` topic",
     "fix_url": "https://github.com/scverse/stats"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 0 days ago",
     "fix_url": "https://github.com/scverse/stats/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "zarr-convention-dataframe",
    "category": "other",
    "repo": {
     "name": "zarr-convention-dataframe",
     "full_name": "scverse/zarr-convention-dataframe",
     "html_url": "https://github.com/scverse/zarr-convention-dataframe",
     "description": "A zarr convention for dataframes",
     "pushed_at": "2026-10-22T14:36:29Z",
     "homepage": null,
     "archived": false,
     "license": {
      "key": "mit",
      "name": "MIT License",
      "spdx_id": "MIT",
      "url": "https://api.github.com/licenses/mit",
      "node_id": "MDc6TGljZW5zZTEz"
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": null,
    "rtd": null,
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/pre-commit-ci": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/codecov": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/zarr-convention-dataframe/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-linked": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-core-devs": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/scverse-domain": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-org": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/trusted-publishing": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/release-workflow": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/spec0-python": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/zarr-convention-dataframe/settings"
    },
    "packaging/releases-immutable": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-environment": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/precommit-pinned": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/zizmor-clean": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dependabot": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/zarr-convention-dataframe/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/zarr-convention-dataframe/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/zarr-convention-dataframe/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/persist-credentials": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dangerous-triggers": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/zarr-convention-dataframe/security/policy"
    },
    "branch/protected": {
     "status": "fail",
     "detail": "`main` is not protected at all",
     "fix_url": "https://github.com/scverse/zarr-convention-dataframe/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "Direct pushes to the default branch are allowed",
     "fix_url": "https://github.com/scverse/zarr-convention-dataframe/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "No review requirement",
     "fix_url": "https://github.com/scverse/zarr-convention-dataframe/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No required status checks",
     "fix_url": "https://github.com/scverse/zarr-convention-dataframe/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "MIT",
     "fix_url": "https://github.com/scverse/zarr-convention-dataframe/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing homepage, `scverse` topic",
     "fix_url": "https://github.com/scverse/zarr-convention-dataframe"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 10 days ago",
     "fix_url": "https://github.com/scverse/zarr-convention-dataframe/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "zarr-convention-enum",
    "category": "other",
    "repo": {
     "name": "zarr-convention-enum",
     "full_name": "scverse/zarr-convention-enum",
     "html_url": "https://github.com/scverse/zarr-convention-enum",
     "description": "A zarr convention for enum data on-disk",
     "pushed_at": "2026-10-22T14:37:28Z",
     "homepage": null,
     "archived": false,
     "license": {
      "key": "mit",
      "name": "MIT License",
      "spdx_id": "MIT",
      "url": "https://api.github.com/licenses/mit",
      "node_id": "MDc6TGljZW5zZTEz"
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": null,
    "rtd": null,
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/pre-commit-ci": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/codecov": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/zarr-convention-enum/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-linked": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-core-devs": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/scverse-domain": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-org": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/trusted-publishing": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/release-workflow": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/spec0-python": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/zarr-convention-enum/settings"
    },
    "packaging/releases-immutable": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-environment": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/precommit-pinned": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/zizmor-clean": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dependabot": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/zarr-convention-enum/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/zarr-convention-enum/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/zarr-convention-enum/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/persist-credentials": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/dangerous-triggers": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/zarr-convention-enum/security/policy"
    },
    "branch/protected": {
     "status": "fail",
     "detail": "`main` is not protected at all",
     "fix_url": "https://github.com/scverse/zarr-convention-enum/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "Direct pushes to the default branch are allowed",
     "fix_url": "https://github.com/scverse/zarr-convention-enum/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "No review requirement",
     "fix_url": "https://github.com/scverse/zarr-convention-enum/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No required status checks",
     "fix_url": "https://github.com/scverse/zarr-convention-enum/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "MIT",
     "fix_url": "https://github.com/scverse/zarr-convention-enum/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing homepage, `scverse` topic",
     "fix_url": "https://github.com/scverse/zarr-convention-enum"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 10 days ago",
     "fix_url": "https://github.com/scverse/zarr-convention-enum/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "zarr-kvikio",
    "category": "other",
    "repo": {
     "name": "zarr-kvikio",
     "full_name": "scverse/zarr-kvikio",
     "html_url": "https://github.com/scverse/zarr-kvikio",
     "description": null,
     "pushed_at": "2026-10-30T14:48:27Z",
     "homepage": null,
     "archived": false,
     "license": {
      "key": "mit",
      "name": "MIT License",
      "spdx_id": "MIT",
      "url": "https://api.github.com/licenses/mit",
      "node_id": "MDc6TGljZW5zZTEz"
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": {
     "name": "zarr-kvikio",
     "missing": true
    },
    "rtd": {
     "slug": "zarr-kvikio",
     "name": "zarr-kvikio",
     "repository": {
      "type": "git",
      "url": "https://github.com/scverse/zarr-kvikio.git"
     },
     "urls": {
      "builds": "https://app.readthedocs.org/projects/zarr-kvikio/builds/",
      "documentation": "https://zarr-kvikio.readthedocs.io/en/latest/",
      "downloads": null,
      "home": "https://app.readthedocs.org/projects/zarr-kvikio/",
      "versions": "https://app.readthedocs.org/projects/zarr-kvikio/versions/"
     },
     "users": [
      "Intron7"
     ],
     "default_branch": "main",
     "readthedocs_yaml_path": null,
     "home": "https://app.readthedocs.org/projects/zarr-kvikio/",
     "stable_build": null
    },
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": {
     "releases_behind": null,
     "commits_behind": 0,
     "latest": "v0.8.0",
     "status": "behind"
    },
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "pass",
     "detail": "Generated from cookiecutter-scverse",
     "fix_url": "https://github.com/scverse/zarr-kvikio/blob/main/.cruft.json"
    },
    "template/up-to-date": {
     "status": "pass",
     "detail": "Up to date with the template (v0.8.0)",
     "fix_url": "https://github.com/scverse/zarr-kvikio/pulls?q=is%3Apr+cruft"
    },
    "template/src-layout": {
     "status": "pass",
     "detail": "hatchling, src layout",
     "fix_url": "https://github.com/scverse/zarr-kvikio/blob/main/pyproject.toml"
    },
    "template/pre-commit-ci": {
     "status": "fail",
     "detail": "No pre-commit.ci check run on the default branch",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "pass",
     "detail": "`.codecov.yaml` present",
     "fix_url": "https://github.com/scverse/zarr-kvikio/blob/main/.codecov.yaml"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/zarr-kvikio/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "pass",
     "detail": "`.readthedocs.yaml` present",
     "fix_url": "https://github.com/scverse/zarr-kvikio/blob/main/.readthedocs.yaml"
    },
    "docs/rtd-linked": {
     "status": "pass",
     "detail": "RTD `zarr-kvikio` builds scverse/zarr-kvikio",
     "fix_url": "https://app.readthedocs.org/dashboard/zarr-kvikio/edit/"
    },
    "docs/rtd-core-devs": {
     "status": "fail",
     "detail": "1 of 1 maintainers are core devs (Intron7); at least 2 required",
     "fix_url": "https://app.readthedocs.org/dashboard/zarr-kvikio/edit/"
    },
    "docs/scverse-domain": {
     "status": "fail",
     "detail": "Docs served from zarr-kvikio.readthedocs.io",
     "fix_url": "https://app.readthedocs.org/dashboard/zarr-kvikio/domains/"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "No build of a `stable` version",
     "fix_url": "https://app.readthedocs.org/projects/zarr-kvikio/"
    },
    "packaging/pypi-org": {
     "status": "na",
     "detail": "`zarr-kvikio` is not published on PyPI"
    },
    "packaging/trusted-publishing": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/release-workflow": {
     "status": "pass",
     "detail": "`.github/workflows/release.yaml` publishes via OIDC from an environment",
     "fix_url": "https://github.com/scverse/zarr-kvikio/blob/main/.github/workflows/release.yaml"
    },
    "packaging/spec0-python": {
     "status": "fail",
     "detail": "`requires-python = \">=3.12\"` still allows 3.12; SPEC 0 is at 3.13",
     "fix_url": "https://scientific-python.org/specs/spec-0000/"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/zarr-kvikio/settings"
    },
    "packaging/releases-immutable": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-environment": {
     "status": "fail",
     "detail": "No `pypi` environment (found: none)",
     "fix_url": "https://github.com/scverse/zarr-kvikio/settings/environments"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "pass",
     "detail": "All 18 action references pinned to a SHA",
     "fix_url": "https://github.com/scverse/zarr-kvikio/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "6 of 6 on tags: codespell@v2.4.3, pre-commit-hooks@v6.0.0, pre-commit@v2.6.2 and 3 more",
     "fix_url": "https://github.com/scverse/zarr-kvikio/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "pass",
     "detail": "No findings (6 files, online)",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "pass",
     "detail": "Covers github-actions, pre-commit",
     "fix_url": "https://github.com/scverse/zarr-kvikio/blob/main/.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/zarr-kvikio/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/zarr-kvikio/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/zarr-kvikio/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "Workflows are fine, but the repo's default GITHUB_TOKEN is read-write",
     "fix_url": "https://github.com/scverse/zarr-kvikio/settings/actions"
    },
    "security/persist-credentials": {
     "status": "pass",
     "detail": "All 6 checkouts set `persist-credentials: false`",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/zarr-kvikio/security/policy"
    },
    "branch/protected": {
     "status": "fail",
     "detail": "`main` is not protected at all",
     "fix_url": "https://github.com/scverse/zarr-kvikio/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "Direct pushes to the default branch are allowed",
     "fix_url": "https://github.com/scverse/zarr-kvikio/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "No review requirement",
     "fix_url": "https://github.com/scverse/zarr-kvikio/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No required status checks",
     "fix_url": "https://github.com/scverse/zarr-kvikio/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "MIT",
     "fix_url": "https://github.com/scverse/zarr-kvikio/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "pass",
     "detail": "None of 9 runtime dependencies is GPL",
     "fix_url": "https://github.com/scverse/zarr-kvikio/blob/main/pyproject.toml"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing description, homepage, `scverse` topic",
     "fix_url": "https://github.com/scverse/zarr-kvikio"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 2 days ago",
     "fix_url": "https://github.com/scverse/zarr-kvikio/commits/main"
    }
   }
  },
  {
   "repo": {
    "name": "zulip-bots",
    "category": "other",
    "repo": {
     "name": "zulip-bots",
     "full_name": "scverse/zulip-bots",
     "html_url": "https://github.com/scverse/zulip-bots",
     "description": "Repository for zulip bots for scverse.zulipchat.com",
     "pushed_at": "2026-10-27T08:48:40Z",
     "homepage": null,
     "archived": false,
     "license": {
      "key": "bsd-3-clause",
      "name": "BSD 3-Clause \"New\" or \"Revised\" License",
      "spdx_id": "BSD-3-Clause",
      "url": "https://api.github.com/licenses/bsd-3-clause",
      "node_id": "MDc6TGljZW5zZTU="
     },
     "topics": [],
     "default_branch": "main"
    },
    "pypi": null,
    "rtd": null,
    "package_entry": null,
    "template": null,
    "integration": null,
    "template_status": null,
    "waivers": {},
    "unavailable": {},
    "errors": []
   },
   "results": {
    "template/cruft": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/up-to-date": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/src-layout": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/pre-commit-ci": {
     "status": "fail",
     "detail": "No pre-commit.ci check run on the default branch",
     "fix_url": "https://pre-commit.ci/"
    },
    "template/codecov": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "template/default-branch": {
     "status": "pass",
     "detail": "Default branch is `main`",
     "fix_url": "https://github.com/scverse/zulip-bots/settings/branches"
    },
    "template/packages-json": {
     "status": "na",
     "detail": "Not listed in packages.json"
    },
    "docs/readthedocs-yaml": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-linked": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-core-devs": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/scverse-domain": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "docs/rtd-build": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-org": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/trusted-publishing": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/release-workflow": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/spec0-python": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/immutable-releases": {
     "status": "pass",
     "detail": "Immutable releases enabled",
     "fix_url": "https://github.com/scverse/zulip-bots/settings"
    },
    "packaging/releases-immutable": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/pypi-environment": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "packaging/version-sync": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "integration/upstream-tests": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "security/actions-pinned": {
     "status": "fail",
     "detail": "2 of 2 unpinned: actions/checkout@v4, astral-sh/setup-uv@v5",
     "fix_url": "https://github.com/scverse/zulip-bots/tree/main/.github/workflows"
    },
    "security/precommit-pinned": {
     "status": "fail",
     "detail": "1 of 1 on tags: pre-commit@v2.6.3",
     "fix_url": "https://github.com/scverse/zulip-bots/blob/main/.pre-commit-config.yaml"
    },
    "security/zizmor-clean": {
     "status": "fail",
     "detail": "5 findings in 1 file, online: artipacked, excessive-permissions, unpinned-uses",
     "fix_url": "https://docs.zizmor.sh/audits/"
    },
    "security/dependabot": {
     "status": "fail",
     "detail": "No `.github/dependabot.yml` (needs github-actions, pre-commit)",
     "fix_url": "https://github.com/scverse/zulip-bots/new/main?filename=.github/dependabot.yml"
    },
    "security/dependabot-alerts": {
     "status": "pass",
     "detail": "No open Dependabot alerts",
     "fix_url": "https://github.com/scverse/zulip-bots/security/dependabot"
    },
    "security/secret-scanning": {
     "status": "pass",
     "detail": "Secret scanning and push protection enabled",
     "fix_url": "https://github.com/scverse/zulip-bots/settings/security_analysis"
    },
    "security/private-vuln-reporting": {
     "status": "pass",
     "detail": "Private vulnerability reporting enabled",
     "fix_url": "https://github.com/scverse/zulip-bots/settings/security_analysis"
    },
    "security/workflow-permissions": {
     "status": "fail",
     "detail": "1 of 1 lack `permissions:`: reminders.yml",
     "fix_url": "https://github.com/scverse/zulip-bots/settings/actions"
    },
    "security/persist-credentials": {
     "status": "fail",
     "detail": "1 of 1 keep credentials: reminders.yml:standup-reminder",
     "fix_url": "https://docs.zizmor.sh/audits/#artipacked"
    },
    "security/dangerous-triggers": {
     "status": "pass",
     "detail": "No workflow uses `pull_request_target`",
     "fix_url": "https://docs.zizmor.sh/audits/#dangerous-triggers"
    },
    "security/security-md": {
     "status": "fail",
     "detail": "No security policy",
     "fix_url": "https://github.com/scverse/zulip-bots/security/policy"
    },
    "branch/protected": {
     "status": "fail",
     "detail": "`main` is not protected at all",
     "fix_url": "https://github.com/scverse/zulip-bots/settings/rules"
    },
    "branch/requires-pr": {
     "status": "fail",
     "detail": "Direct pushes to the default branch are allowed",
     "fix_url": "https://github.com/scverse/zulip-bots/settings/rules"
    },
    "branch/requires-review": {
     "status": "fail",
     "detail": "No review requirement",
     "fix_url": "https://github.com/scverse/zulip-bots/settings/rules"
    },
    "branch/status-checks": {
     "status": "fail",
     "detail": "No required status checks",
     "fix_url": "https://github.com/scverse/zulip-bots/settings/rules"
    },
    "governance/license": {
     "status": "pass",
     "detail": "BSD-3-Clause",
     "fix_url": "https://github.com/scverse/zulip-bots/blob/main/LICENSE"
    },
    "governance/gpl-free": {
     "status": "na",
     "detail": "Does not apply to this repository"
    },
    "governance/description-topics": {
     "status": "fail",
     "detail": "Missing homepage, `scverse` topic",
     "fix_url": "https://github.com/scverse/zulip-bots"
    },
    "governance/maintained": {
     "status": "pass",
     "detail": "Last push 6 days ago",
     "fix_url": "https://github.com/scverse/zulip-bots/commits/main"
    }
   }
  }
 ],
 "excluded": [
  {
   "repo": ".github",
   "reason": "Org-level community health files, not a project"
  },
  {
   "repo": "202504_workshop_GSCN",
   "reason": "archived"
  },
  {
   "repo": "202510_workshop_GSCN",
   "reason": "Workshop material"
  },
  {
   "repo": "2025_03_hackathon_owkin",
   "reason": "Hackathon repository"
  },
  {
   "repo": "202609_workshop_GSCN",
   "reason": "Workshop material"
  },
  {
   "repo": "2026_03_hackathon_proteomics",
   "reason": "Hackathon repository"
  },
  {
   "repo": "2026_04_hackathon_padua",
   "reason": "Hackathon repository"
  },
  {
   "repo": "2026_08_hackathon_cellpainting",
   "reason": "Hackathon repository"
  },
  {
   "repo": "2026_09_workshop_physalia",
   "reason": "Workshop material"
  },
  {
   "repo": "anndata-rs",
   "reason": "Rust crate"
  },
  {
   "repo": "anndata-tutorials",
   "reason": "archived"
  },
  {
   "repo": "antibody-based-spatial-proteomics-guide",
   "reason": "Community guide, prose only"
  },
  {
   "repo": "aws",
   "reason": "private"
  },
  {
   "repo": "benchmark",
   "reason": "Ad-hoc benchmarking scripts, not a released package"
  },
  {
   "repo": "cell-painting-io",
   "reason": "archived"
  },
  {
   "repo": "cellpainting2026",
   "reason": "Event repository"
  },
  {
   "repo": "cellrank_notebooks",
   "reason": "Tutorial notebooks"
  },
  {
   "repo": "conference-2024",
   "reason": "Conference material"
  },
  {
   "repo": "conference-2025",
   "reason": "Conference material"
  },
  {
   "repo": "cookiecutter-scverse-instance",
   "reason": "Example output of the template, regenerated automatically"
  },
  {
   "repo": "cookiecutter-scverse-presentation",
   "reason": "Slides introducing the template"
  },
  {
   "repo": "cookiecutter-scverse-reproducibility",
   "reason": "private"
  },
  {
   "repo": "decoupler-harness",
   "reason": "private"
  },
  {
   "repo": "decoupler-tutorials",
   "reason": "Tutorial notebooks"
  },
  {
   "repo": "ecobomb",
   "reason": "private"
  },
  {
   "repo": "event-template",
   "reason": "Template for event repositories"
  },
  {
   "repo": "gscn2026",
   "reason": "Website for the GSCN 2026 workshop"
  },
  {
   "repo": "internal-governance",
   "reason": "private"
  },
  {
   "repo": "irlba",
   "reason": "private"
  },
  {
   "repo": "liana-tutorials",
   "reason": "Tutorial notebooks"
  },
  {
   "repo": "multi-condition-comparisions",
   "reason": "archived"
  },
  {
   "repo": "muon-site",
   "reason": "Website"
  },
  {
   "repo": "muon-tutorials",
   "reason": "Tutorial notebooks"
  },
  {
   "repo": "Muon.jl",
   "reason": "Julia package"
  },
  {
   "repo": "org",
   "reason": "private"
  },
  {
   "repo": "pertpy-datasets",
   "reason": "Dataset hosting"
  },
  {
   "repo": "pertpy-tutorials",
   "reason": "Tutorial notebooks"
  },
  {
   "repo": "plotting_api",
   "reason": "archived"
  },
  {
   "repo": "postdata",
   "reason": "private"
  },
  {
   "repo": "rapids-singlecell-tutorials",
   "reason": "Tutorial notebooks"
  },
  {
   "repo": "rustar-aligner",
   "reason": "Rust crate"
  },
  {
   "repo": "sc-proteomics2026",
   "reason": "Event repository"
  },
  {
   "repo": "scanpy-tutorials",
   "reason": "archived"
  },
  {
   "repo": "scverse-conference-websites",
   "reason": "private"
  },
  {
   "repo": "scverse-stats",
   "reason": "private"
  },
  {
   "repo": "scverse-zulip-agent",
   "reason": "private"
  },
  {
   "repo": "scvi-tools-site",
   "reason": "Website"
  },
  {
   "repo": "scvi-tools-skeleton",
   "reason": "archived"
  },
  {
   "repo": "scvi-tutorials",
   "reason": "Tutorial notebooks"
  },
  {
   "repo": "simple-scvi",
   "reason": "Teaching example, not a released package"
  },
  {
   "repo": "single-cell-analysis-blueprint",
   "reason": "fork"
  },
  {
   "repo": "single-cell-spatial-proteomics",
   "reason": "Community collaboration repository, prose only"
  },
  {
   "repo": "spatialdata-basel-workshop-2024",
   "reason": "Workshop material"
  },
  {
   "repo": "spatialdata-plot-tutorials",
   "reason": "Tutorial notebooks"
  },
  {
   "repo": "spatialdata-spec",
   "reason": "private"
  },
  {
   "repo": "spatialdata-tutorials",
   "reason": "Tutorial notebooks"
  },
  {
   "repo": "squidpy-tutorials",
   "reason": "Tutorial notebooks"
  },
  {
   "repo": "test-gpu-ci",
   "reason": "fork"
  },
  {
   "repo": "xarray-interview",
   "reason": "private"
  }
 ]
}
