Skip to content

JeanFred/inteGraality

Repository files navigation

inteGraality

maintenance-status Python Version from PEP 621 TOML License: MIT

Toolforge Issues

A tool that generates dashboards of property coverage for a given part of Wikidata.

Wikidata editors configure a dashboard by placing {{Property dashboard}} on a Wikidata (or Commons) page, defining an item selection, a grouping dimension, and properties to track. A bot (User:InteGraalityBot) then periodically uses SPARQL to query the coverage for each property, and updates the table on-wiki (or users can trigger an update manually).

Each cell in the dashboard links (via 🔍) to a live query showing exactly which items have or lack a given property — making it easy to find and fix gaps.

Live instance: https://integraality.toolforge.org/

Documentation

How to get help and report issues

Development

Technical overview

A cron job periodically loops through all dashboard pages, runs SPARQL queries (via WDQS or QLever) to compute property coverage, and writes results back as wikitext tables. A Flask web app handles on-demand updates (/update) and generates the SPARQL queries behind the 🔍 links (/queries). Both use pywikibot to read template configs from wiki pages and write results back. Redis caches parsed configs to speed up the query endpoint.

Prerequisites

  • Python 3.11
  • uv
  • Docker & Docker Compose (for the full local stack)

Running locally with Docker

docker compose up -d

This starts the Flask web app on http://localhost:5000 and a Redis instance. Pages are written to docker_pages/ instead of to the live wiki.

Running tests

uv run pytest

Project layout

├── integraality/           # Python package (app, bot, tests)
├── bin/                    # Shell scripts for Toolforge jobs
├── conf/                   # Dockerfile
├── docker-compose.yml
└── pyproject.toml

Credits

Built and maintained by Jean-Frédéric.

Based on an original idea by Maarten Dammers.

License

MIT

About

Generate Wikidata property statistics dashboards, to be used by Wikiprojects.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors

Languages