Documentation and data model for collecting georeferenced project locations in international aid and development cooperation, maintained by the MAPME Community of Practice.
IATI-Project-Location-Standard/
├── docs/ # Documentation source (Markdown)
├── model/ # JSON schema files (the data model)
├── mkdocs.yml # Site configuration
└── pyproject.toml
docs/— Source files for the documentation website. Edit these to update the published site.model/— The actual data model as JSON schemas (project_core_schema_en.json,feature_project_schema.json). These define the structure for validating submitted location data.
All documentation lives in docs/ as plain Markdown files. To propose a change:
- Fork the repository
- Edit or add files in
docs/ - Open a pull request
To report an issue or suggest an improvement without editing directly, open an issue.
The JSON schemas in model/ define the data structure. Changes there should be discussed via an issue first, as they affect downstream validators and template files.
Prerequisites: uv
# 1. Clone the repo
git clone https://github.com/mapme-initiative/IATI-Project-Location-Standard.git
cd IATI-Project-Location-Standard
# 2. Install dependencies
uv sync
# 3. Start the live-reload dev server
uv run mkdocs serveOpen http://127.0.0.1:8000 — the site reloads automatically when you save a file.
To do a one-off build:
uv run mkdocs build # output goes to site/The site is automatically built and deployed to GitHub Pages on every push to main via the workflow in .github/workflows/deploy.yml. No manual steps required.
The workflow uses mkdocs-material and requires no secrets or tokens beyond the default GITHUB_TOKEN.
GPL-3.0 — MAPME Community of Practice