Update Wikidata entries using metadata from GitHub.
For free software projects with a GitHub repository listed in Wikidata, this script will perform the following steps, using metadata collected from the GitHub API:
- Import all stable releases and the release dates, including release data, source, and a source title
- Update the project website
- Normalize the GitHub link
It is possible to exclude items from being edited by the bot, and also to allow using tags for projects without GitHub releases.
Install uv and install the dependencies:
uv syncGenerate a personal access token on GitHub and a bot password. Create a config.json file with the GitHub token, your usename, the bot name and the bot password:
{
"username": "my-wikidata-username",
"bot-name": "my-wikidata-bot",
"password": "my-bot-password-32-chars-long",
"github-oauth-token": "abcdedf1234567"
}Run the bot in a terminal and enter the password for your bot account:
uv run main.pyRun pytest, ruff format, ruff check and ty check after making code changes:
uv run ruff format && uv run ruff check && uv run ty check && uv run pytest
- Does the entity already have a VCS repository set? Use this query to determine entities without a repository.
You can find detailed statistics on wmflabs.