Pypedia: a python development environment on a wiki

Summary

[EuroPython 2012] A Kanterakis - 4 JULY 2012 in "Track Tagliatelle"

"/>

Description

In this talk we present PyPedia. PyPedia is an effort to host a Python programming environment in a MediaWiki content management system. The concept is similar to any wiki except that each article contains the documentation, python source code and unit tests for a known and well defined computational problem. Through an article, a user can edit the source code, download it, execute it locally, in a remote computer through SSH, or in Google App Engine (GAE). Moreover, through a python package users can import PyPedia methods in their local python environment. In the source code, a developer can simply call a function or instantiate a class that is defined in another article. In every code edit, the article’s unit-tests are evaluated in GAE before saving. A special parameters section allows editors to build an HTML form within the article that help fellow users to execute the method as a simple online service. Articles are divided in two categories: User and Main. In User articles, the creator of the article manages the edit privileges of each section. Any non-deliberately malicious content is allowed. Main articles are selected from the pool of User articles that exhibit highly qualitative content and can be edited only by trusted users. All content is under the simplified BSD license. The vision of this project is to create an encyclopedia of documented, executable and verifiable python implementation of common algorithms or computational problems through the development of a vivid community. Specialized or user aware content is also encouraged in the User namespace. The source code of PyPedia is available under the GPL v.3 license. Availability: http://www.pypedia.com Video demonstration: http://www.youtube.com/watch?v=25jMEivICD8