Pyspread – Pythonic Spreadsheet

A Python-based spreadsheet tool, Pyspread, is attracting interest for letting each cell contain arbitrary Python code, appealing to power users who want deeper programmability than Excel while keeping a grid-based interface. Commenters highlight its strengths and quirks — from numerical row/column indexing and lack of full dependency tracking to questions about performance, licensing (GPLv3), and how it compares to Jupyter and other Python-enabled spreadsheets. A major theme is installation complexity in the Python ecosystem, with users sharing mixed experiences across platforms and suggesting virtual environments, pipx, system packages, or Nix as workarounds, alongside calls for clearer documentation and onboarding.

Documentation & Onboarding

  • Several commenters like the idea and UI but say the docs are too thin, especially for semi-technical users.
  • Suggested model: follow Pandas-style “install + 10-minute tutorial” docs.
  • Documentation is seen as a good entry point for new contributors, but some push back on devs implicitly offloading “unglamorous” work to others.

Installation & Python Packaging

  • Multiple users report pip installation failures on mainstream distros (Mint, Ubuntu), especially when using system Python.
  • Others insist users should avoid system Python, use virtual environments or pipx, and blame user setup; this is countered as unfair when the official instructions say “pip install”.
  • Some success stories: works in a venv on Fedora, via pipx, via Debian packages, and with nix run nixpkgs#pyspread.
  • Broader frustration with Python’s fragmented packaging/venv story and unclear guidance for end-user applications.

Use Cases & Positioning vs Other Tools

  • Compared to Jupyter: spreadsheets are reactive graphs where cell order is irrelevant; notebooks have order-dependent, mutable state.
  • Pyspread is seen as powerful for “improvisational” analysis for non-developers, similar to why Excel dominates.
  • Some ask how it compares to Emacs org-mode spreadsheets and to Python-in-Excel or services like RowZero and Grist.

Spreadsheet Model & Technical Design

  • Praised for numeric row and column indices (matrix-like), avoiding Excel’s A-Z column scheme; others defend named ranges/tables in Excel instead.
  • A key criticism: it appears not to track cell dependencies and recomputes all cells on change.
  • Commenters discuss that proper dependency tracking with arbitrary Python is hard, but suggest runtime tracking of S[] accesses or explicit dependency declarations; side effects and dynamic ranges make this tricky.

Language Choice & Cell Semantics

  • Some argue Python is awkward for cell formulas: one-liners are clumsy, multiline code is visually ugly in cells due to indentation.
  • Others suggest Lisp-like languages might better suit a code-in-cells model.

Licensing, Platform Support, and Ecosystem

  • GPLv3 license is noted as preventing inclusion in some projects (e.g., FreeCAD’s spreadsheet workbench).
  • macOS is officially “unsupported” in docs, which worries non-technical users, though some report pip install working there.
  • The clearly written “Target User Group” section on the site is widely praised for stating who the tool is and is not for.