Skip to main content

rsmetacheck-bot

DOI SWH License: MIT Version Python 3.11--3.12 CI (build) Code style: ruff coverage interrogate rsmetacheck Validation

An automated bot that analyzes repository metadata quality and creates issues with improvement suggestions.

Part of the CodeMetaSoft project to improve research software metadata quality.

Subscribe


📋 What This Bot Does

If you received an issue from this bot, it means your repository's metadata was automatically analyzed and some improvements were detected on the main default branch.

The issue contains:

  • Pitfalls: Critical metadata issues that should be fixed
  • Warnings: Metadata improvements that are recommended
  • Suggestions: Specific recommendations on how to fix each issue
  • Codemeta.json generation: if your repo does not contain any codemeta.json file, the bot suggests one.

Example Issues You Might See

### [P002](https://w3id.org/rsmetacheck/catalog/#P002)
**Evidence:** P002 detected: LICENSE file contains unreplaced template placeholders

**Suggestion:** Update the copyright section with accurate names, organizations, and the current year. Personalizing this section ensures clarity and legal accuracy.

💬 How to Respond

If You Agree with the Suggestions

Fix the identified issues and close the issue with a comment explaining what you fixed. Your improvements help your software become more discoverable and citable!

If You Disagree or Have Questions

Feel free to comment on the issue. We're happy to discuss the suggestions and help clarify what's needed.

If You're Not Interested

Simply comment "unsubscribe" on the issue and we'll remove your repository from future analysis.


🔍 What Analysis Is Used

This bot uses rsmetacheck, which analyzes:

  • Software metadata completeness
  • Citation and documentation quality
  • Repository structure and best practices

The bot does not:

  • Modify your code or files
  • Make pull requests
  • Have access to your repository secrets

Install

pip install

pip install rsmetacheck-bot

uv

uv add rsmetacheck-bot

📚 Learn More


🛠️ For Maintainers Running This Bot

See CONTRIBUTING.md for setup and usage instructions.

Project storage policy: the repo-centric layout and migration rules are described in docs/output_storage.rst.

The pipeline is config driven: one JSON file defines the repository list, issue message, inline opt-outs, and output layout.

Supported platforms:

  • ✅ GitHub.com
  • ✅ Gitlab.com

The bot is handling self-hosted gitlab platform but requires providing a token to this server (and not gitlab.com).

Safe workflow for local validation

Use these commands when validating the bot without creating live issues:

  1. Legacy snapshot conversion
uv run sw-metadata-bot convert-legacy outputs/legacy_snapshot --target-root outputs/converted

This converts a legacy snapshot tree into the current repo-centric layout without publishing anything.

  1. Fresh dry-run analysis from scratch
uv run sw-metadata-bot run-analysis --config-file config.json --snapshot-tag 202603

This writes analysis outputs and run reports, but remains dry-run and does not create issues.

  1. Simulated publish review
uv run sw-metadata-bot simulate-publish --analysis-root outputs/batch-a/202603

This replays the analysis decisions with a fake issue client so you can review the generated issue bodies and opt-out logic without spamming real repositories.

Avoid the live publish command unless you explicitly want to create or update real repository issues.


📝 License

See LICENSE file.

Metadata

Release files for rsmetacheck-bot 0.6.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rsmetacheck-bot 0.6.1
File Size Uploaded
rsmetacheck_bot-0.6.1.tar.gz 77.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rsmetacheck-bot 0.6.1
File Interpreter ABI Platform
rsmetacheck_bot-0.6.1-py3-none-any.whl Python 3 none any Details

Total release size: 143.7 kB

Release files / rsmetacheck_bot-0.6.1.tar.gz

Download URL rsmetacheck_bot-0.6.1.tar.gz
Size 77.7 kB
Tags Source
SHA-256 checksum
How to use checksums
3e0c95436d7e59849ee4a5818156b7ef33b4034b37be1c120d414b04d259ecf3
BLAKE2b-256 checksum
How to use checksums
48faeee94d3b78f420f7089cb43b0ff87221c23e5cb51105e9128cbff4f060b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rsmetacheck_bot-0.6.1-py3-none-any.whl

Download URL rsmetacheck_bot-0.6.1-py3-none-any.whl
Size 66.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0cd928eeb2b05a7b321e2733fbe03a1a6bf1c18cabbd1035e08a2c6cc20ce98e
BLAKE2b-256 checksum
How to use checksums
d9cd3fec85d4b7688e3cd81bc0820bc26a544cadee4296b08100c9eaa139eecb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.6.1 This release

2 release files

0.6.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page