Skip to main content

Metadata quality bot for software repositories, leveraging metacheck for analysis and GitHub/GitLab APIs for issue management.

Project description

sw-metadata-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

📚 Learn More


🛠️ For Maintainers Running This Bot

See CONTRIBUTING.md for setup and usage instructions.

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).


📝 License

See LICENSE file.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sw_metadata_bot-0.5.3.tar.gz (63.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sw_metadata_bot-0.5.3-py3-none-any.whl (52.5 kB view details)

Uploaded Python 3

File details

Details for the file sw_metadata_bot-0.5.3.tar.gz.

File metadata

  • Download URL: sw_metadata_bot-0.5.3.tar.gz
  • Upload date:
  • Size: 63.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","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}

File hashes

Hashes for sw_metadata_bot-0.5.3.tar.gz
Algorithm Hash digest
SHA256 92ad5deea97e7eb8c85c590dea8f042985ca6f41d35c3d7efb837fdd768a7b85
MD5 1df855818474c2e7990c52453374afe0
BLAKE2b-256 1e48de0a35b92d340db30c3f714731186d0fe19e737363310b9f9e5a759a1f53

See more details on using hashes here.

File details

Details for the file sw_metadata_bot-0.5.3-py3-none-any.whl.

File metadata

  • Download URL: sw_metadata_bot-0.5.3-py3-none-any.whl
  • Upload date:
  • Size: 52.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","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}

File hashes

Hashes for sw_metadata_bot-0.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3774d441c77819a7abb3f9f4685836a6590327e394c7850eca77383975400a8d
MD5 1eddc4bfe68f85df343ab724d1d8a222
BLAKE2b-256 299234a5f4cf338249bbc6912de209130f7cf62191c1d52e21eb3a63ed832e34

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page