A full-stack application for managing and monitoring CuratorBot jobs.
The Curator Application consists of:
- Backend: A FastAPI-based service that provides an interface to the Wikimedia Toolforge API
 - Frontend: A Vue.js application with TypeScript and PrimeVue for displaying and managing Toolforge jobs
 
This application is designed to work within the Wikimedia ecosystem, particularly for tools that need to interact with the Toolforge infrastructure programmatically.
toolforge build start -i web https://github.com/DaxServer/wikibots-curator-backend.git -L-L flag uses the latest buildpacks and base image, required for Poetry.
Use toolforge envvars to set them up. The OAuth1 application is at OAuth applications - Wikimedia Meta-Wiki.
X_USERNAME
OAUTH_CLIENT_SECRET
OAUTH_CLIENT_ID
SECRET_KEYWhen deploying for the first time, use:
toolforge webservice buildservice start --buildservice-image tool-curator/web:latest --mount allFor subsequent deployments, use:
toolforge webservice restartThis project is the Backend application.
- Python 3.13 or higher
 - Poetry (for dependency management)
 
Install backend dependencies:
poetry installStart the FastAPI server:
X_USERNAME=DaxServer OAUTH_CLIENT_ID=abc123 OAUTH_CLIENT_SECRET=abc123 poetry run webThe backend server will be available at http://localhost:8000. The OAuth1 application is at OAuth applications - Wikimedia Meta-Wiki.
Build the frontend for production:
pack build -B tools-harbor.wmcloud.org/toolforge/heroku-builder:24_0.20.7 curator-webTo run the tests, use the following command:
poetry run pytestFor verbose output:
poetry run pytest -v