Spreadsheet Schema Manager is a web-based tool for standardising spreadsheet metadata and improving data consistency across projects and teams. Built with Rio, it helps streamline spreadsheet-based data collection workflows by centrally defining Fields, auto-generating ready-to-fill Excel templates, and bootstrapping metadata standards from legacy spreadsheets while standardising them at the same time.
- Centrally define Fields — reusable field (data column) definitions (Category, Measurement, Text, Number, Date) for consistency across projects and teams, with import/export to/from Excel.
- Auto-generate Excel templates — group Fields into a reusable Template, then instantiate a Workbook with pre-filled headers and data validation, ready for data collection (with an optional QR-code reference sheet).
- Bootstrap and standardise legacy spreadsheets — upload existing spreadsheet data as a Dataset and standardise it against a Field schema, bringing legacy data in line with your metadata standards.
Full documentation, including tutorials, configuration and deployment, is at https://spreadsheet-schema-manager.readthedocs.io.
The current version supports spreadsheets that contain a single fixed-column table with simple headers. Variable column structures and complex 2D matrix-style tables are not supported.
Requires Python 3.12+, MongoDB and a SeaweedFS (S3-compatible) object store.
pip install -r requirements.txt
AUTH_DISABLED=true python -m rio runAUTH_DISABLED=true skips Keycloak login for local development; never use it in production.
See Configuration
for the other environment variables, and
Deploy and operate
for the Helm chart and other deployment templates in this repo.
- Unit tests:
python -m unittest discover -s tests - End-to-end tests (Playwright): spreadsheet-schema-manager-tests
Contributions are welcome. If you are planning a change, please open an issue or discussion first so the intended approach and scope are clear.
When updating application behaviour, configuration, or deployment wiring, also update the
documentation in docs/source/ so the project remains easy to operate and understand.
Licensed under the Apache License, Version 2.0 — see LICENSE and NOTICE for details.
Funded by the New Zealand Ministry of Business, Innovation and Employment Strategic Science Investment Fund (contract number C11X1702) as part of the Digital Horticulture Systems Ngā Pou Rangahau, a Growing Futures™ programme at The New Zealand Institute for Bioeconomy Science Limited (Bioeconomy Science Institute).
