scverse repo health

scverse/pandas-uuid · Other repositories

Required checks passing
47%
9 of 19 scored
Failing
10
required checks
Unreadable
0
needs more permissions

Pandas ExtensionArray / ExtensionDType for UUID

Default branch
main
PyPI
pandas-uuid 0.2.0

Template

CheckTierDetailFix
✗ Uses cookiecutter-scverse
template/cruft — .cruft.json exists and names the scverse template
required No .cruft.json — repo was not generated from the template open
– Template up to date
template/up-to-date — .cruft.json commit matches the latest cookiecutter-scverse release
required Does not apply to this repository
✓ src layout + hatchling
template/src-layout — Builds with hatchling from a src/ layout
recommended hatchling, src layout open
✓ pre-commit.ci enabled
template/pre-commit-ci — pre-commit.ci runs on pull requests
recommended Listed among required status checks open
✓ codecov configured
template/codecov — A codecov config or a codecov check run exists
recommended .codecov.yml present open
✓ Default branch is main
template/default-branch — The default branch is called main
recommended Default branch is main open
– Listed in packages.json
template/packages-json — Listed in scverse.org's ecosystem index, under a category the dashboard knows
informational Not listed in packages.json

Documentation

CheckTierDetailFix
✓ .readthedocs.yaml present
docs/readthedocs-yaml — A .readthedocs.yaml build config is committed
required .readthedocs.yml present open
✗ RTD project points here
docs/rtd-linked — The Read the Docs project of the same slug builds *this* repository
required No Read the Docs project with slug pandas-uuid (set rtd_slugs: in config/repos.yaml if it differs) open
✗ ≥2 core devs on RTD
docs/rtd-core-devs — At least two scverse core devs can administer the RTD project
required No Read the Docs project to inspect
✗ Docs on *.scverse.org
docs/scverse-domain — Documentation is served from <package>.scverse.org, not readthedocs.io
required Docs served from icb-pandas-uuid.readthedocs-hosted.com open
✗ Stable RTD build passed
docs/rtd-build — The most recent build of the stable version succeeded
recommended No Read the Docs project to inspect

Packaging

CheckTierDetailFix
✓ PyPI project owned by scverse
packaging/pypi-org — ownership.organization on PyPI is the scverse org
required Owned by the scverse PyPI organization open
✓ Trusted publishing
packaging/trusted-publishing — The latest release carries PEP 740 attestations naming this repo's workflow
required 0.2.0 published by scverse/pandas-uuid/.github/workflows/release.yml open
✓ Release workflow hardened
packaging/release-workflow — Publishes via pypa/gh-action-pypi-publish with id-token: write, no password, in an environment
required .github/workflows/release.yml publishes via OIDC from an environment open
✓ SPEC 0 minimum Python
packaging/spec0-python — requires-python has dropped the Python versions SPEC 0 has dropped
required requires-python = ">=3.13" is at or above SPEC 0's 3.13 open
✓ Immutable releases enabled
packaging/immutable-releases — The repository has immutable releases turned on
required Immutable releases enabled open
✗ Recent releases immutable
packaging/releases-immutable — The last few published releases are actually marked immutable
recommended 2 of the last 3 are mutable: v0.1.1, v0.1 open
! `pypi` environment protected
packaging/pypi-environment — A deployment environment named pypi exists and has protection rules
recommended pypi environment exists but has no protection rules open
✓ Tag matches PyPI version
packaging/version-sync — The newest GitHub release tag matches the newest PyPI version
recommended GitHub v0.2.0 == PyPI 0.2.0 open

Supply chain

CheckTierDetailFix
– Integration tests passing
integration/upstream-tests — This package's test suite passes in scverse/integration-testing against upstream core packages
required Does not apply to this repository
✗ Actions pinned to SHA
security/actions-pinned — Every uses: names a full 40-character commit SHA
required 14 of 14 unpinned: actions/checkout@v6, actions/checkout@v7, amannn/action-semantic-pull-request@v6 and 5 more open
✗ pre-commit revs pinned
security/precommit-pinned — Every rev: in .pre-commit-config.yaml is a commit SHA
recommended 4 of 4 on tags: [email protected], [email protected], [email protected] and 1 more open
✗ zizmor audit is clean
security/zizmor-clean — A zizmor audit of every workflow, action and Dependabot config reports no findings
required 28 findings in 4 files, online: artipacked, cache-poisoning, dangerous-triggers and 2 more open
✗ Dependabot configured
security/dependabot — .github/dependabot.yml covers both the github-actions and pre-commit ecosystems
required No .github/dependabot.yml (needs github-actions, pre-commit) open
✓ No open Dependabot alerts
security/dependabot-alerts — No unresolved Dependabot security alerts
recommended No open Dependabot alerts open
✓ Secret scanning + push protection
security/secret-scanning — Secret scanning and push protection are both enabled
recommended Secret scanning and push protection enabled open
✓ Private vulnerability reporting
security/private-vuln-reporting — Researchers can report vulnerabilities privately
recommended Private vulnerability reporting enabled open
✗ Minimal workflow permissions
security/workflow-permissions — Every workflow declares a top-level permissions:, and the repo default is read-only
required 4 of 4 lack permissions:: build.yml, pr.yml, release.yml and 1 more open
✗ checkout without credentials
security/persist-credentials — actions/checkout steps set persist-credentials: false (zizmor artipacked)
recommended 5 of 5 keep credentials: build.yml:package, release.yml:release, test.yml:get-environments and 2 more open
! No unsafe pull_request_target
security/dangerous-triggers — pull_request_target does not check out untrusted PR code (zizmor dangerous-triggers)
recommended pr.yml use pull_request_target (no PR checkout seen) open
✗ SECURITY.md
security/security-md — A security policy exists, in this repo or via the org's .github repo
recommended No security policy open

Branch protection

CheckTierDetailFix
✓ Default branch protected
branch/protected — Neither force-pushes nor deletion are allowed on the default branch
required Force-push and deletion blocked (ruleset) open
✗ Requires a pull request
branch/requires-pr — Changes to the default branch must go through a pull request
required No pull-request requirement open
✗ Requires ≥1 approving review
branch/requires-review — A pull request needs at least one approving review to merge
required Pull requests are not required, so neither are reviews open
✓ Requires status checks
branch/status-checks — At least one status check must pass before merging
recommended 7 required: Tests pass in all hatch environments, package, pre-commit.ci - pr and 4 more open

Governance

CheckTierDetailFix
✓ OSI license
governance/license — The repo carries a recognised OSI-approved license
required MPL-2.0 open
✓ GPL-free dependencies
governance/gpl-free — No runtime dependency, direct or transitive, is GPL-licensed, unless the repo is GPL itself
required None of 4 runtime dependencies is GPL open
✗ Description, homepage, topic
governance/description-topics — The repo has a description, a homepage and the scverse topic
recommended Missing scverse topic open
✓ Actively maintained
governance/maintained — Pushed to within the last year
informational Last push 6 days ago open