LWN.net Logo

Development

Pyspread - a Python-based Spreadsheet application

By Forrest Cook
December 2, 2009

Pyspread is a spreadsheet program with the unusual capability of supporting Python syntax within its cells:

Pyspread is a cross-platform Python spreadsheet application. It is based on and written in the programming language Python. Instead of spreadsheet formulas, Python expressions are entered into the spreadsheet cells. Each expression returns a Python object that can be accessed from other cells. These objects can represent anything including lists or matrices.

[Pyspread]

The Pyspread feature list includes:

  • Released under the GPLv3 license.
  • Designed for cross-platform operation.
  • Individual cells can hold a Python expression.
  • Cells return Python objects such as lists and matrices.
  • Cells can access all of the available Python modules.
  • The cell grid can be three dimensional.
  • Unicode characters are supported.
  • Pyspread can import and export comma separated value (CSV) lists.
  • Statistics and plotting functions are available through RPy.

Pyspread version 0.0.12a was announced on November 21, 2009 by developer Martin Manns; it added some new functionality and included some bug fixes. The software is still in an early state of development: "Pyspread is currently in the Alpha stage. Feel free to try it out on your own risk. Toy with it. Send me lots of bug reports, feedback, suggestions and improvements."

Your author tried a test installation of Pyspread on an Ubuntu 9.10 system. The version 0.0.12a .zip file was downloaded and, unzipped. The installation instructions in the INSTALL file said to run python setup.py install as root. This was done and pyspread was installed in /usr/local/bin/. Pyspread was run with the command pyspread and produced the error: No module named wx. The project's SourceForge main page had more information on the required packages: "In case you do not have it already get and install Python, wxpython and numpy. If you want the examples to work, install gmpy, R and rpy." The required Ubuntu packages were named python-wxgtk2.8 and python-numpy. After installing the dependencies, Pyspread started successfully.

On the surface, Pyspread operation is similar to that of other spreadsheets, with the exception that the cells can contain the much more powerful Python expressions. The screenshot gives an example of the user interface. The Tutorial is the first place to go to learn how to use Pyspread, the FAQ may help to answer more obscure questions about the software. A few basic tutorial examples were tried and the software behaved as one would expect.

One issue that caused your author some confusion was that cells were labeled [X, Y, Z] but X was the position within the columns and Y was the position within the rows. From the Tutorial: "Each cell can access its own position in the grid through the magic variables X (row), Y (column) and Z (table)." The documentation is quite sparse at this point in the software's evolution, it could be improved by including basic spreadsheet examples such as how to calculate the sum of a row and/or column of numbers. One could imagine that it would take a document the size of a book to cover the software's full capabilities.

Some interesting questions can be raised when using a general purpose language such as Python to calculate the cell values in a spreadhseet. Could the cells be filled with values produced by a USB-connected sensor or pulled from an external web page? Could the output of a cell be sent somewhere across the network? Could it encroach on the turf of commercial software such as PV-WAVE? And of course, what are the security implications of all of this? Pyspread should be an interesting application to watch as it matures.

Comments (6 posted)

System Applications

Database Software

Database Designer for PostgreSQL 1.2.9 released

Version 1.2.9 of Database Designer for PostgreSQL has been announced. "Version 1.2.9 (December 1, 2009) Extended SQL Editor with code completion and syntax validation added. Support for privileges added as well as Grant Manager for ACL editing. Diagram objects drawing improved."

Full Story (comments: 2)

PostgreSQL Weekly News

The November 29, 2009 edition of the PostgreSQL Weekly News is online with the latest PostgreSQL DBMS articles and resources.

Full Story (comments: none)

Device Drivers

libshcodecs 0.9.9 released

Version 0.9.9 of libshcodecs, a library for controlling SH-Mobile hardware codecs, has been announced. "This release adds support for encoding and decoding in resolutions up to 720p (1280x720). The shcodecs-dec and shcodecs-play commands now accept size arguments "720p" and "D1", and resolutions up to 1280x720 are valid for shcodecs-enc and shcodecs-record."

Full Story (comments: none)

Interoperability

Samba 3.5.0pre1 is available

Version 3.5.0pre1 of Samba has been announced. "This is a preview of the next upgrade production release version of Samba. It is intended for testing purposes only."

Comments (none posted)

Telecom

Moblin Toolkit (MX) 0.2.0 developer snapshot released

Version 0.2.0 of the Moblin Toolkit has been announced. "A new developer snapshot of the Moblin Toolkit (MX) is available today, along with a preliminary schedule (see below). The toolkit will be available in Moblin 2.2 and replaces the Netbook Toolkit (Nbtk). This is a development release. API and ABI are very likely to change."

Full Story (comments: none)

Virtualization Software

VirtualBox 3.1 released

Sun has announced the release of version 3.1 of the VirtualBox virtualization platform. There's a bunch of new stuff in this release, including a more flexible snapshot mechanism, better 2D video acceleration, and more storage options, but the headline feature appears to be "teleportation," which allows live migration of guests between hosts.

Full Story (comments: 6)

Desktop Applications

Desktop Environments

GNOME Software Announcements

The following new GNOME software has been announced this week: You can find more new GNOME software releases at gnomefiles.org.

Comments (none posted)

Repositioning the KDE Brand (KDE.News)

KDE.News covers the rebranding of KDE. Essentially, the "K Desktop Environment" expansion is deprecated, KDE refers to the community and is an "umbrella brand", what is currently called a KDE release will instead be a "KDE Software Compilation" release, and so on. "In the process, KDE's identity has shifted from being simply a desktop environment to representing a global community that creates a remarkably rich body of free software targeted for use by people everywhere. [...] KDE is no longer software created by people, but people who create software. [...] To be able to communicate this clearly in our messaging, it is necessary to reposition the KDE brand so that it reflects the reality. We therefore also need distinct brands for the products we produce." KDE hacker Aaron Seigo has some thoughts as well.

Comments (85 posted)

Armitage: The Future of Activities

KDE hacker Chani Armitage writes about KDE "activities" on her blog. Activities are part of a move towards a context-dependent desktop. Both Sugar's Activities and GNOME 3.0 workspaces have a similar focus, as we looked at back in May. "They’re just desktop containments, groups of plasmoids. They can have a name, but nothing makes use of that yet. What I think of as an "activity" is the entirety of what I'm working on at the moment — be it a kde-related project or a university course or just reading lots of comics. :) This activity includes several windows from several applications. It includes files needed for the project. It includes a set of plasmoids, like the one I put my list of math questions on and the calculator plasmoid to go with it. At times it includes only *part* of an application: show me school email folders when I'm doing schoolwork, hide the KDE lists so that I’m less tempted to procrastinate. ;)"

Comments (17 posted)

KDE 4.3.4 released

Version 4.3.4 of the KDE Software Compilation has been announced. "This month's edition of KDE SC is a bugfix and translation update to KDE 4.3. KDE SC 4.3.4 is a recommended upgrade for everyone running KDE 4.3.3 or earlier versions."

Full Story (comments: none)

KDE Software Announcements

The following new KDE software has been announced this week: You can find more new KDE software releases at kde-apps.org.

Comments (none posted)

Xorg Software Announcements

The following new Xorg software has been announced this week: More information can be found on the X.Org Foundation wiki.

Comments (none posted)

Electronics

PCB 20091103 released

Development Snapshot 20091103 of PCB, an electronic CAD application, has been announced. "Many thanks to everyone who tested, provided patches, and wrote code that went into this release. This release represents almost 200 commits and as such this summary clearly is not complete."

Comments (none posted)

Mail Clients

Sylpheed 3.0beta3 (development) released

Development version 3.0beta3 of the Sylpheed mail client has been announced. "# SHA1/MD5 fingerprint and validity period of certificate is now displayed when verification of server SSL certificate failed. # Address book is now sortable by each column. # Address book search feature was added. # The visibility of message number columns in the folder view is now configurable for each column. # The error check of socket connection became more strict..."

Comments (none posted)

Thunderbird 3.0 Release Candidate: Just in Time for Thanksgiving (OStatic)

Joe Brockmeier looks at Thunderbird 3.0 RC 1 on OStatic. "If you just can't get away from email over the holidays, you can at least help test the release candidate for Thunderbird 3.0. The Mozilla folks released Thunderbird 3.0 RC 1 on Tuesday with more than 100 changes in the release. It's been a long time in coming, the first release in the 2.0 series was back in 2007. But Thunderbird 3.0 looks like it might be worth the wait when the final is released. What's new and interesting? The user interface changes are probably the first thing you'll notice, especially the new tabbed interface. Instead of opening messages in a new window, they'll now open in a tab." Thunderbird is available here.

Comments (4 posted)

Math Applications

GMPY 1.11rc1 is available

Version 1.11rc1 of GMPY has been announced. "I'm pleased to annou[n]ce that a new version of GMPY is available. GMPY is a wrapper for the MPIR or GMP multiple-precision arithmetic library. GMPY 1.11rc1 is available for download from: In addition to support for Python 3.x, there are several new features in this release".

Full Story (comments: none)

Music Applications

guitarix 0.05.2-1 released

Version 0.05.2-1 of guitarix has been announced, it includes some new capabilities and bug fixes. "guitarix is a simple Linux Rock Guitar amplifier and is designed to achieve nice thrash/metal/rock/blues guitar sounds. Guitarix uses the Jack Audio Connection Kit as its audio backend and brings in one input and two output ports to the jack graph."

Full Story (comments: none)

Jackbeat 0.7.3 released

Version 0.7.3 of Jackbeat has been announced. "Jackbeat, the minimal-but-nevertheless-useful multi-platform step sequencer, has just reached version 0.7.3 ! This is mainly a bugfix release".

Full Story (comments: none)

Jackbeat 0.7.4 released

Version 0.7.4 of Jackbeat has been announced. "A bug which may prevent to load samples have been fixed."

Full Story (comments: none)

PianoBooster 0.6.4 released

Version 0.6.4 of PianoBooster has been announced, it includes numerous improvements. "Piano Booster is an Open Source program that helps with playing the piano and learning to sight read music. It's key feature is that it listens and follows what you are playing on the piano and waits for you to find and play the right notes. It helps you with this by giving you audio feed back. So if you play a wrong note then that note will have the Harpsichord sound but the right notes will have the Piano sound."

Full Story (comments: none)

Office Applications

SyncEvolution 1.0 alpha 1 released

Version 1.0 alpha 1 of SyncEvolution has been announced. "In particular, we can: * synchronize directly with a phone over Bluetooth/OBEX * accept Bluetooth/OBEX connections in cooperation with obexd 0.19 * run SyncEvolution as a rudimentary HTTP SyncML server * be reasonably sure that it compiles and runs as well as 0.9.x because it passes the same nightly testing without known regressions. The main goal of this release is to get feedback on where we are going with 1.0 and its SyncML server and direct synchronization features."

Full Story (comments: none)

Web Browsers

Firefox 3.6 Beta 4 released

Version 3.6 Beta 4 of Firefox has been announced. "This update contains over 100 fixes from the last Firefox 3.6 beta, containing many improvements for web developers, Add-on developers, and users."

Full Story (comments: none)

Miscellaneous

BleachBit 0.7.2 released

Version 0.7.2 of BleachBit has been announced. "BleachBit (a pure PyGTK app) deletes traces of online Internet usage and recovers wasted disk space. Highlight of changes since 0.7.1: * Clear Konqueror cache, cookies, and history * Improve notifications (show them less often and for shorter a period of time) * Show system information for reporting bugs * Clear Microsoft Paint MRU * Clear more of WinRAR and Adobe Reader 6 * Request escalated (administrator) privileges on Windows Vista and Windows 7 * Fix many bugs".

Full Story (comments: none)

cmndbot 0.1 beta 1 released

Version 0.1 beta 1 of cmndbot has been announced. "So once again i bite the bullet because i can no longer wait on going public with this. I'm pleased to announce CMNDBOT 0.1 BETA1 to the world as this is the first released of my port of GOZERBOT to the Google Application Engine, enabling it on wave, web and xmpp."

Full Story (comments: none)

doit 0.5 released

Version 0.5 of doit has been announced. "doit - Automation Tool doit comes from the idea of bringing the power of build-tools to execute any kind of task. It will keep track of dependencies between "tasks" and execute them only when necessary. It was designed to be easy to use and "get out of your way". doit can be used as: * a build tool (generic and flexible) * home of your management scripts (it helps you organize and combine shell scripts and python scripts) * a functional tests runner (combine together different tools)".

Full Story (comments: none)

Languages and Tools

Caml

Caml Weekly News

The December 1, 2009 edition of the Caml Weekly News is out with new articles about the Caml language.

Full Story (comments: none)

Python

GarlicSim 0.1.x released

Version 0.1.x of GarlicSim has been announced. "I'm pleased to announce the first alpha release, version number 0.1.x, of GarlicSim! GarlicSim is a Pythonic framework for working with simulations."

Full Story (comments: none)

pdfrw pure-Python PDF file reading and writing

An early release of pdfrw has been announced. "pdfrw is a basic PDF file manipulation library, developed and tested on Python 2.5 and 2.6. pdfrw can read and write PDF files, and can also be used to read in PDFs which can then be used inside reportlab (as source material for new PDFs). This is also the underlying library for a new rst2pdf extension (not yet released, but in rst2pdf subversion) which allows arbitrary fragments of source PDFs to be embedded in the output PDF (without rasterization)."

Full Story (comments: none)

pyxser 1.3r released

Version 1.34 of pyxser has been announced, it adds some new capabilities and bug fixes. "I'm pleased to announce pyxser-1.3r, a python extension which contains functions to serialize and deserialize Python Objects into XML."

Full Story (comments: none)

Moving from Python 2 to Python 3: A 4 page "cheat sheet"

Mark Summerfield has produced a Python 2 to Python 3 cheat sheet. "I've produced a 4 page document that provides a very concise summary of Python 2<->3 differences plus the most commonly used new Python 3 features. It is aimed at existing Python 2 programmers who want to start writing Python 3 programs and want to use Python 3 idioms rather than those from Python 2 where the idioms differ."

Full Story (comments: none)

The Python: Rag

The December, 2009 edition of the Python:Rag is available. "The Python: Rag is a monthly newsletter covering any aspect of the Python programming language."

Comments (none posted)

Version Control

Mercurial 1.4.1 released

Version 1.4.1 of the Mercurial source code management system has been announced. "This is a minor bug-fix release."

Full Story (comments: none)

Miscellaneous

ciss 0.1 released

Version 0.1 of ciss has been announced. "just released ciss-0.1, my attempt at (what i call) code-centered issue tracking. ciss is: - a command line tool for managing your ISSUES.txt - code-centered: associate issues to files in your project - extensible: assign tags for status/milestone/custom usage. - ueber-powerful issue editing: your text editor! - well tested (more tests than code) "

Full Story (comments: none)

Page editor: Forrest Cook
Next page: Announcements>>

Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds