||This article includes a list of references, but its sources remain unclear because it has insufficient inline citations. (April 2009) (Learn how and when to remove this template message)|
|Original author(s)||James Tauber, Google|
|Developer(s)||Luke Leighton, Anthony C Risinger, Kees Bos|
|Initial release||March 2007|
0.8.1a / May 6, 2012
|Operating system||Windows, OS X, Linux|
|Type||Ajax framework, Desktop and Web Widget toolkit, Compiler, Widget set|
|License||Apache License 2.0|
Pyjs (formerly Pyjamas before May 2012), is a rich Internet application framework for developing client-side web and desktop applications in Python. The resulting applications can be run in a web browser or as standalone desktop application.
Furthermore, on top of the DOM.py model library is an additional abstraction layer, ui.py, which provides the most useful layer to web developers: a full suite of widgets with which desktop application developers will be familiar. At present, the list of available widgets is a mixture of the complete set of widgets that were available in Google Web Toolkit 1.2, along with a few more that have been forward-ported from GWT 1.5.
The major Pyjs components include:
The widget set library that comes with pyjs is so similar to PyQt and PyGTK that a port of pyjs was made to run pyjs applications on the desktop, called pyjs Desktop (formerly PyjamasDesktop before May 2012 and originally hosted separately prior to version 0.6). The project uses Webkit, XULRunner or MSHTML as the underlying technology, and it is through these browser engines that pyjs manipulates the DOM model of the application. Together pyjs and pyjs Desktop allow writing cross-platform, cross-desktop, cross-browser and cross-widget applications that run on the web and on the desktop.
||This section is written like a personal reflection or opinion essay that states a Wikipedia editor's personal feelings about a topic. (February 2014) (Learn how and when to remove this template message)|
Pyjamas was started by James Tauber as a port of the UI Widget Set and the DOM support libraries from Google Web Toolkit to the Python language. Tauber then wrote the original pyjs compiler.
In 2008, Luke Leighton took over the project, updated the UI Widget Set, improved the compiler and created the three pyjs Desktop runtimes.
Bernd Dorn and his colleagues from Lovely Systems did some dramatic compiler improvements released in version 0.5. Kees Bos is responsible for the majority of improvements and the enhanced Python interoperability in the compiler, such as the yield keyword support and long data types. C Anthony Risinger also joined as lead and administrator of the project.
In 2012, the project was driven by an extensive community, but on May 2, due to disagreements between project leaders, some members created a pyjamas fork. This new team created pyjs.org, led by Anthony Risinger and including the person who owned the domain. Meanwhile, Luke Leighton continued his work on his own fork through a new domain pyj.be and continues to develop and maintain pyjamas on this branch.
This still left a controversy over the copying of the mailing list data from the old server to create the new mailing list of google groups. This was raised as a violation of the UK Data Protection Act by Luke Leighton. Whether this was actually a legal violation is not really clear and is open to interpretation. This was a community driven open source project. According to many in the community[weasel words], both Luke and Anthony were co-administrators of the project and co-leads to it. It was being forked by a team including Anthony, one of the administrators who had privileges for the server, which Luke Leighton owned. The mailing list was part of the domain. So the ownership of the mailing list data itself isn't very clear. Though Luke claims he personally owned the mailing list and that using it to create a new mailing list for the new pyjs.org fork of the project constituted stealing, many in the community[weasel words] feel differently. Many feel[weasel words] that this was an open source community project and Luke Leighton was a co-lead and co-administrator. Hence the mailing list was actually a community property of the pyjs.org community and not the personal property of Luke. Thus, though some disagree, in the opinion of many in the community[weasel words], using it to create the new google groups was legal.
Even though the ownership of the mailing list data is not entirely clear, when some members complained about being subscribed to the new google groups mailing list, immediate action was taken by the maintainers of the new pyjs.org fork to remove everyone from the new google groups and invited all the members to voluntarily join the new google groups. This being exactly the same approach that Luke Leighton took when he decided to move the pyjamas mailing list from google groups where it was originally created before Luke Leighton took over leadership of the project.
The current membership of the Google Groups owned and maintained by both forks of the original pyjs.org is now voluntary, created through invitation, and does not violate any privacy and data protection laws. There are no unresolved legal issues at this time nor any pending lawsuits with either forks of the pyjamas project.
Both forks are being actively developed and have formed their own community following.
There are now two forks of the Pyjamas/Pyjs project: one maintained by the new Pyjs team and another maintained by Luke Leighton.
The Pyjs.org fork, available at pyjs
Pyj.be, available at pyj
Pyjamas has been criticized by heavy users for several aspects:
Most alternatives to Pyjamas are translators rather than frameworks.
Manage research, learning and skills at defaultLogic. Create an account using LinkedIn or facebook to manage and organize your IT knowledge. defaultLogic works like a shopping cart for information -- helping you to save, discuss and share.