tableschema-to-template
Given a Frictionless Table Schema, generates an Excel template with input validation
What it is and what it does
tableschema-to-template bridges Frictionless Table Schema definitions and Excel spreadsheets. You provide a schema (YAML or JSON) describing fields, types, constraints, and descriptions, and the package generates a ready-to-use Excel file with input validation rules baked in. Enum fields become dropdown lists, numeric fields get range validation, and field descriptions appear as comments in the header row.
The package is built on jsonschema for validation logic, pyyaml for schema parsing, and xlsxwriter for Excel generation. It offers both a command-line tool (ts2xl.py) and a Python API (create_xlsx function). Because the project is abandoned with no commits since 2023-02-01, it will not receive updates for new Excel features, schema spec changes, or bug fixes.
Use it for:
- Generate standardized data-entry templates for biomedical or research projects that define schemas in Frictionless format.
- Automate creation of Excel files with validation rules so non-technical users can enter data without manual constraint setup.
- Convert machine-readable table schemas into human-friendly spreadsheet templates with built-in guidance via field descriptions.
- Build data pipelines where schema-driven templates enforce consistency before data reaches downstream processing.
- Create audit-ready templates with predefined valid values (enums) and type constraints for regulated data collection.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Converts a Frictionless Table Schema into an Excel template with built-in input validation, dropdown constraints, and field descriptions.
Yes, if you need to generate Excel templates from Frictionless schemas and can tolerate no future maintenance. The package is stable, has low install friction, no known vulnerabilities, and a permissive license. However, do not rely on it for production systems requiring active support or compatibility with future Excel or schema spec changes. Consider it a one-time tool rather than a long-term dependency.
Install
tableschema-to-template on PyPI
pip
pip install tableschema-to-templateuv
uv add tableschema-to-templatepoetry
poetry add tableschema-to-templateInstalling tableschema-to-template
Before you install
Low install friction with three lightweight runtime dependencies (jsonschema, pyyaml, xlsxwriter). However, the package is abandoned—last commit was 2023-02-01 with no releases since—so expect no maintenance or bug fixes.
License in practice
Licensed under MIT (permissive), so you may use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install tableschema-to-template
from tableschema_to_template import create_xlsx
schema = {'fields': [{'name': 'a_number', 'type': 'number'}]}
create_xlsx(schema, '/tmp/template.xlsx')
Verify before relying
- Whether enum constraints are reliably transformed into Excel dropdown lists across all schema variations.
- Whether float, integer, and boolean type validation works correctly with modern Excel versions.
- Whether range checks on numbers are enforced consistently in generated templates.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — jsonschema, pyyaml, xlsxwriter |
| Maintenance | abandoned — 1,290 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 292,146/month — #7,967 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: tableschema_to_template-0.0.13-py3-none-any.whl
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
frictionlessFrictionless provides a unified Python…
permissive · top 5,000 on PyPI
tableschemaValidates, infers, and works with tabular data…
permissive · top 15,000 on PyPI
xlsx2htmlConverts Excel spreadsheets (.xlsx files) to…
permissive · top 15,000 on PyPI
drf-excelAdds an Excel spreadsheet (xlsx) renderer to…
permissive · top 15,000 on PyPI
aspose-cells-pythonAspose.Cells for Python via .NET creates,…
unclear · top 15,000 on PyPI
agate-excelAdds Excel file (xls and xlsx) read support to…
permissive · top 15,000 on PyPI
tabulatorReads and writes tabular data in multiple…
permissive · top 15,000 on PyPI
xlsxwriterXlsxWriter creates Excel 2007+ XLSX files from…
permissive · top 1,000 on PyPI
xls2xlsxConverts legacy Excel files (.xls), HTML…
permissive · top 5,000 on PyPI
mkdocs-table-reader-pluginA MkDocs plugin that inserts tables from…
permissive · top 15,000 on PyPI