Community health and capacity analytics for Wikimedia.
WikiSignals complements Wikistats by focusing on maintenance burden, administrative workload, governance queues, conflict signals, bot dependency, and community capacity. Standard activity statistics are consumed from Wikimedia Analytics (AQS) where practical rather than reproduced.
| Repository | https://github.com/wikimediairan/WikiSignals |
| Live example | https://wikisignals.toolforge.org |
| License | GNU GPL v3 or later |
| Default workspace | Persian Wikipedia (fa.wikipedia) — config only, not hard-coded product logic |
| Product | Answers |
|---|---|
| Wikistats / Wikimedia Analytics | How much activity is happening? |
| WikiSignals | What operational pressures is that activity producing? |
Details: docs/WIKISTATS_BOUNDARY.md.
- Capacity — active editors (official) as denominators
- Maintenance — configured backlog tracks + backlog per active editor
- Governance — process queues when configured
- Admin workload — blocks, protections, deletions, moves (aggregate)
- Conflict — revert rates (no user surveillance; needs wiki replicas)
- Automation — bot edit share (no automatic causation claims)
- Official context — edits, pageviews, etc. from AQS
Signals are interpretable (improving / stable / needs attention). There is no opaque community health score.
| Layer | Technology |
|---|---|
| Backend | Python 3.12, FastAPI, SQLAlchemy async, Alembic |
| Database | MariaDB (ToolsDB) / SQLite for local tests |
| Frontend | Vue 3, TypeScript, ECharts, vue-i18n (English UI; FA deferred) |
| Sources | AQS, MediaWiki API, optional Toolforge wiki replicas |
cp .env.example .env # set a real USER_AGENT
cd backend
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements-dev.txt
export DATABASE_URL=sqlite+aiosqlite:///./wikisignals.db
export USER_AGENT='WikiSignals/0.1 (https://github.com/wikimediairan/WikiSignals; you@example.org)'
export PYTHONPATH=.
alembic upgrade head
python -m app.jobs.cli bootstrap --project fa.wikipedia --months 12
python -m app.jobs.cli collect-health --project fa.wikipedia --months 1
uvicorn app.main:app --reload --port 8000cd frontend && npm ci && npm run devOr: docker compose up --build.
Full local workflow, tests, and PR tips: CONTRIBUTING.md.
One guide (accounts → envvars → build → migrate/seed → bootstrap → daily):
Add wikis and maintenance categories via config/projects/*.yaml —
docs/PROJECT_CONFIGURATION.md.
Aggregate systems analytics only. No volunteer or admin scoreboards.
docs/PRIVACY.md
Index: docs/README.md
| Doc | Topic |
|---|---|
| CONTRIBUTING.md | Develop and contribute |
| docs/DEPLOY.md | Toolforge from zero |
| docs/ARCHITECTURE.md | System design |
| docs/API.md | HTTP API |
| docs/METHODOLOGY.md | Metric definitions |
| docs/SECURITY.md | Security review |
| docs/DATA_COLLECTION.md | Job budgets |