Skip to content

arturormk/odsview-cli-python

Repository files navigation

odsview-cli-python

curator-ci

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 odsview CLI skeleton plus tests.

For background on the curatorship setup itself, see:

  • docs/curation/AI_CURATOR_RECIPE_BASELINE_v0.3.md
  • docs/curation/PROMPT_instrument_curator_project.md
  • docs/curation/PROMPT_upgrade_with_tooling.md

Status

This project is in an early experimental phase.

  • The odsview CLI entry point exists and is wired via pyproject.toml.
  • Internal loader and workbook layers (using odfpy) can open plain .ods files 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.

Quickstart (local development)

From the project root:

python -m venv .venv
source .venv/bin/activate
pip install -e .
pip install pytest
pytest -q

To 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.ods

The 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ú, 東京).

Curation & Guardrails

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.md in sync with implemented behavior.

See AI_CURATOR_RECIPE.md and docs/adr/ for the authoritative contract and architectural decisions.

License

MIT. See LICENSE for details.

About

A read-only LibreOffice Calc viewer for the terminal.

Resources

License

Stars

Watchers

Forks

Packages

No packages published