A minimal, read-only terminal viewer for .ods (LibreOffice Calc) files,
curated using the Software Curatorship methodology.
This repository started from the curator-seed baseline and adds:
- A project-specific AI curator recipe (
AI_CURATOR_RECIPE.md). - A live blueprint for the intended product (
docs/curation/BLUEPRINT.md). - Architecture Decision Records under
docs/adr/. - An initial
odsviewCLI skeleton plus tests.
For background on the curatorship setup itself, see:
docs/curation/AI_CURATOR_RECIPE_BASELINE_v0.3.mddocs/curation/PROMPT_instrument_curator_project.mddocs/curation/PROMPT_upgrade_with_tooling.md
This project is in an early experimental phase.
- The
odsviewCLI entry point exists and is wired viapyproject.toml. - Internal loader and workbook layers (using
odfpy) can open plain.odsfiles and enumerate sheet names. - The CLI currently supports:
--list-sheets FILE.ods→ list sheet names (ADR-0003).- A simple range-based table view for cell contents (ADR-0004).
- Help/usage output when invoked without arguments.
From the project root:
python -m venv .venv
source .venv/bin/activate
pip install -e .
pip install pytest
pytest -qTo see the current CLI behavior:
odsview --help
odsview --list-sheets tests/fixtures/simple.ods
odsview tests/fixtures/table_small.ods
odsview --sheet Sheet2 tests/fixtures/table_small.ods
odsview --range A1:C3 tests/fixtures/table_small.ods
odsview --sheet Σheet-✓ tests/fixtures/unicode_sheets.odsThe range-based table view has been exercised against curated fixtures
that include mixed numeric/text/date columns, sparse sheets with
leading/trailing empty rows and columns, long text that stretches
column widths, and non-ASCII sheet names and cell contents (e.g.
Σheet-✓, ñandú, 東京).
This repository is instrumented for Software Curatorship. When using AI assistants (e.g., GitHub Copilot Chat) or IDE integrations:
- Run git operations and checks via explicit terminal commands (e.g.
pre-commit run --all-files,bash scripts/fast_tests.sh,python scripts/validate_recipe.py …). - Treat AI output as a draft; the human curator reviews, edits, and approves.
- Keep ADRs, tests, and
AI_CURATOR_RECIPE.mdin sync with implemented behavior.
See AI_CURATOR_RECIPE.md and docs/adr/ for the authoritative contract
and architectural decisions.
MIT. See LICENSE for details.