pyspread è un'applicazione scritta in linguaggio Python che permette di gestire fogli di calcolo in modo alternativo a quanto accade con soluzioni come Excel o OpenDocument. Come dichiarato dal suo autore: "The goal of pyspread is to be the most pythonic spreadsheet". In sostanza esso consente di scrivere espressioni Python direttamente all'interno delle celle. Ciò rende obsoleto l'impiego di un qualsiasi linguaggio specifico per i fogli di calcolo.
Le funzionalità di pyspread
Le celle gestite tramite l'applicazione accettano l'inserimento di codice Python e restituiscono oggetti dello stesso linguaggio. Permette inoltre di accedere ai moduli Python, come per esempio NumPy, dall'interno delle celle. Si possono importare dati da file nei formati CSV e SVG, mentre per quanto riguarda le esportazioni sono supportati CSV, SVG e PDF (tramite print to file
).
Le celle possono mostrare testi, markup, immagini, date o grafici. Questi ultimi due richiedono però l'installazione di dipendenze addizionali e si possono visualizzare anche grafici Matplotlib ed R. Nel caso delle immagini, queste ultime diventano visibili se la cella restituisce un oggetto QImage o se viene restituita una stringa in formato SVG valido.
Per quanto riguarda la sicurezza e supportata la funzione crittografica blake2b che offre un elevato livello di protezione contro l'esecuzione arbitraria di codice esterno.
Codice sorgente e installazione
pyspread viene distribuito come un software libero sotto licenza GPL v3. La versione più recente è la 2.2.3 e il codice sorgente può essere scaricato direttamente da un repository dedicato al progetto su GitLab. L'installazione può avvenire sia tramite il package manager pip di Python:
pip install pyspread
che con Git disponendo di quest'ultimo nel proprio sistema e di python3 che permette di accedere alle dipendenze. Una volta terminata l'installazione è possibile eseguire l'applicazione lanciando la seguente istruzione:
$ pyspread
Per utilizzare l'ultima versione di pyspread è necessario disporre di un ambiente in cui sia stato installato Python 3.6 o versione successiva.