[ANN] Pyjamas-Gitweb 0.1 released
http://pypi.python.org/pypi/Pyjamas-GitWeb/0.1 Pyjamas-Gitweb is a pure python git repository browser, comprising an independent JSONRPC back-end service written in 130 lines that can be used by any JSONRPC client (a python command-line example is included), and a front-end python (pyjamas) written in 350 lines. In combination with the back-end service, the front-end may either be compiled to javascript and used on the web or it may be run directly in python for use as a desktop git repository browser. in other words, it's not much to look at, but it's kinda cool and it does the job. here's a working demo where you can browse the source code with itself: http://pyjs.org/pygit/pygit.html?repo=pyjamasgitweb.git l. -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
Pyjamas 0.8.1~+alpha1 released
This is the 0.8.1~+alpha1 release of Pyjamas. Pyjamas comprises several projects, one of which is a stand-alone python-to-javascript compiler; other projects include a Graphical Widget Toolkit, such that pyjamas applications can run either in web browsers as pure javascript (with no plugins required) or stand-alone on the desktop (as a competitor to PyGTK2 and PyQT4). This announcement marks the beginning of the pyjamas 0.8.1 release candidates. Operating Systems, Browsers and Desktop Engines tested so far are listed here: http://code.google.com/p/pyjamas/issues/list Downloads are available from the usual places: http://pypi.python.org/pypi/Pyjamas https://sourceforge.net/projects/pyjamas/files/pyjamas/0.8.1/ Pyjamas is slowly converting to running its own infrastructure using pyjamas applications (which also operate as Desktop applications). This includes: * http://pyjs.org/pygit/ - a git repository viewer using python-git * http://lists.pyjs.org/mail/ - a list viewer using lamson's json archive * http://pyjs.org - a simple web engine using AJAX to get HTML pages * the wiki http://pyjs.org/wiki is next (using python-dulwich) The full source code of each of these applications is available and can be used for projects and purposes other than for pyjamas itself. The README is available here: http://pyjs.org/pygit/#file=README&id=0d4b6787d01c3d90f2c8801c5c4c45e34145bbdd&mimetype=text/plain -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
[ann] pyjamas 0.8alpha1 release
after a long delay the pyjamas project - http://pyjs.org - has begun the 0.8 series of releases, beginning with alpha1: https://sourceforge.net/projects/pyjamas/files/pyjamas/0.8/ pyjamas is a suite of projects, including a python-to-javascript compiler with two modes of operation (roughly classified as "python strict" and "Optimised"); a GUI Framework almost identical to that of the GWT Project (1.5 to 1.7); and a "Desktop" version which is similar in concept to Adobe Air, allowing python applications to be run - unmodified - as stand-alone Desktop Applications. pyjamas can therefore be considered to be a Desktop GUI framework - a peer of GTK2 and QT4 - with the startling capability that applications can also be compiled to javascript and run in any modern web browser with absolutely no special plugins required, or it can be considered to be an AJAX Web Framework with the massive advantage that applications are written in python (not javascript) with a "Desktop" mode as well. both descriptions are accurate, making pyjamas the world's only free software python-based platform-independent, browser-independent, GUI-toolkit-independent and OS-independent "Holy Grail" GUI development environment [so there. nyer, nyer to the corporate big boys with access to $m who *still* haven't managed that one] also included are ports of GChart and GWTCanvas, each of which run under all web browsers and all desktop engines (with the exception at present of the python-webkit desktop engines, which presently do not support SVG Canvas). all pyjamas UI libraries are designed to be browser-independent as well as platform independent. the usual "browser foibles", tricks and gotchas are catered for with a transparent "Platform Override" mechanism which ensures that the published API of each UI Library is identical across all platforms (including the Desktop Engines). [no more "If Platform == IE or Platform == Opera"] due to the sheer number of modern browsers as well as the number of pyjamas-desktop engines required to be supported, the 0.8 series will be ready declared "stable" when sufficient community-led testing has been done. bugreports are in for Opera 11, IE8 and Google Chrome: http://code.google.com/p/pyjamas/issues/detail?id=600 http://code.google.com/p/pyjamas/issues/detail?id=601 http://code.google.com/p/pyjamas/issues/detail?id=597 still requiring testing and confirmation is Opera 9 and 10; Firefox 2, 3, 3.1, 3.5, 3.6 and 4.0; IE6, 7 and 9; Safari 3 and 4, as well as mobile phone browsers Android, Symbian Series 60, iphone, ipad and blackberry OS 4. also requiring testing and confirmation is the Desktop Engines, of which there are now four variants: XulRunner (Firefox Engine), pywebkitgtk, MSHTML and the new addition pywebkitdfb (DirectFB). each browser and each engine requires each of the 70 examples to be run, and in the case of the pyjamas compiler (pyjs), compilation is required with both -O and --strict (with the exception of the LibTest example). the pywebkitdfb engine is a new addition, and merits a particular mention. some time last year, both GTK2 and QT4 independently announced that they were dropping support for DirectFB from future versions, and Enlightenment had not tested the DirectFB port for some considerable time. Webkit-GTK with the older GTK-DirectFB libraries simply would not compile. in the embedded space, where it can take 30 seconds to fire up Webkit-GTK on a 400mhz ARM9 and even longer to start up WebkitQT4, this was something of a disaster. To fix this, a new port of Webkit was created which uses DirectFB directly, using a tiny 50k Widget Toolkit called "Lite". This development coincided with the re-engineering of pywebkitgtk and the creation of the pythonwebkit project, http://www.gnu.org/software/pythonwebkit: pywebkitdfb was therefore also created at the same time. Cutting a long story short, pywebkitdfb now exists and has a startup time on 400mhz ARM9 processors of under 1.5 seconds. The startup time of both WebkitDFB and pywebkitdfb on Dual-Core 2ghz Intel systems is so quick that it's difficult to determine: an estimate is under 0.1 seconds (100ms). WebkitGTK. WebkitEFL and WebkitQT4 have approximately 20 times or longer startup times. So although WebkitDFB is still significantly experimental, it is definitely worthwhile considering, especially for Embedded Systems, but even for use on X-Windows, and even just as a plain (but modern) web browser for those people sick to the back teeth of long startup times on their web browser [and it has python bindings, too. yaay!] summary: developing applications in pyjamas means the application can be made to run just about anywhere, and it's an entirely python-based and a free software framework. it's a community-driven project, so requires *your* input to get it to a proven stable state. http://pyjs.org -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation:
[ANN] PythonWebkit bindings for WebkitDFB
WebkitDFB is an experimental port to allow the webkit web browser engine to use DirectFB (http://directfb.org). It is lightning-quick to start up (no large widget set to load), yet has the potential to provide full HTML5 functionality. The PythonWebkit project, http://www.gnu.org/software/pythonwebkit brings 300+ DOM objects and 2,000+ fully W3C-compliant python-based DOM functions to webkit, making python effectively a peer of javascript (doc.body.style, getElementsByTagName, appendChild, setTimeout, XMLHttpRequest, onclick etc.) These two projects have been brought together in the same source repository. If startup time and CPU usage is important (as it is on embedded systems) then please do consider helping with WebkitDFB by funding its ongoing development and/or helping Denis out. If startup time and CPU usage and _python_ are important... :) in this rather short announcement, it's easy to miss the significance: yes, webkit the web browser engine, directfb the direct framebuffer engine, and python the utterly cool and beautiful programming language have been combined into the same package and sentence. more information at http://www.gnu.org/software/pythonwebkit. l. -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
[ANN] git peer-to-peer bittorrent experiment: first milestone reached
http://gitorious.org/python-libbittorrent/pybtlib this is to let people know that a first milestone has been reached in an experiment to combine git with a file-sharing protocol, thus making it possible to use git for truly distributed software development and other file-revision-management operations (such as transparently turning git-configured ikiwiki and moinmoin wikis into peer-to-peer ones). the milestone reached is to transfer git commit "pack objects", as if they were ordinary files, over a bittorrent network, and have them "unpacked" at the far end. the significance of being able to transfer git commit pack objects is that this is the core of the "git fetch" command. the core of this experiment comprises a python-based VFS layer, providing alternatives to os.listdir, os.path.exists, open and so on - sufficient to make an interesting experiment itself by combining that VFS layer with e.g. python-fuse. the bittornado library, also available at the above URL, has been modified to take a VFS module as an argument to all operations, such that it would be conceivable to share maildir mailboxes, mailing list archives, .tar.gz archives, .deb and .rpm archives and so on, as if they were files and directories within a file-sharing network. as the core code has only existed for under three days, and is only 400 lines long, there are rough edges: * all existing commit objects are unpacked at startup time and are stored in-memory (!). this is done so as to avoid significant modification of the bittorrent library, which will be required. * all transferred commit objects are again stored in-memory before being unpacked. so, killing the client will lose all transfers received up to that point. on the roadmap: * make things efficient! requires modification of the bittornado library. * create some documentation! * explore how to make git use this code as a new URI type so that it will be possible to just do "git pull" * explore how to use PGP/GPG to sign commits(?) or perhaps just tags(?) in order to allow commits to be pulled only from trusted parties. * share all branches and tags as well as just refs/heads/* * make "git push" re-create the .torrent (make_torrent.py) and work out how to notify seeders of a new HEAD (name the torrent after the HEAD ref, and just create a new one rather than delete the old?) so there is quite a bit to do, with the priority being on making a new URI type and a new "git-remote-{URI}" command, so that this becomes actually useable rather than just an experiment, and the project can be self-hosting as a truly distributed peer-to-peer development effort. if anyone would like to assist, you only have to ask and (ironically) i will happily grant access to the gitorious-hosted repository. if anyone would like to sponsor this project, that would be very timely, as if i don't get some money soon i will be unable to pay for food and rent. l. -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
HL7 v3 (XML) importer
an HL7 v2 importer was written by john paulett, and it has been enhanced to support some of the HL7 v3 standard, which is XML-based. no dependencies are required: xml.sax is used so as to reduce the dependencies to purely python. additionally, as HL7 has versions/revisions, published data specifications were pulled from mirthcorp.com and transformed into python, automatically. HL7v3 revisions 2.1, 2.2, 2.3, 2.31, 2.4 and 2.5 are supported. there is still work to be carried out: MSH, PID, NTE, ORC, ORB and OBX are the presently supported segmentss, with a hard-coded assumption about the data hierarchy instead of using the same MessageFormat specifications that mirthcorp.com have written. this is likely to be corrected soon, but the project for which the code is being updated only requires "lab data imports", so support for other MessageFormats is not a high priority. in case anyone is interested, this hl7 library is to be used in gnumed, to be able to import laboratory data reports into the gnumed database. code is at: http://github.com/lkcl/hl7 i realise that this code is pretty specialist, but if you're looking around for free software libraries or applications that support HL7, http://mirthcorp.com is pretty much it, and mirth is pretty heavy-duty and forces a dependency of java and javascript for scripting, which may be of concern to some. hence, this smaller library is being created, in python. l. -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
grailbrowser now running under python 2.5 (probably above too)
source at: http://github.com/lkcl/grailbrowser $ python grail.py (note the lack of "python1.5" or "python2.4") conversion of the 80 or so regex's to re has been carried out. entirely successfully or not is a matter yet to be determined. always a hoot to try browsing http://www.bbc.co.uk or http://www.youtube.com with a browser from 11+ years ago, it still cannot be resisted as grail is the only working graphical web browser in the world written in pure python [pybrowser is still in development, stalled]. l. -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
[ANN] git JSONRPC web service and matching pyjamas front-end
as more than just a proof-of-concept but to get pyjamas out of looking like "a nice toy, doesn't do much, great demos, shame about real life", i've created yet another git repository browser. this one, thanks to pyjamas, obviously runs as both a desktop application and also as a web application - same source code. pyjamasgitweb is actually two independent happily small projects. the first is simply a JSONRPC-based git web server (in python, using python-git) and the second is a matching front-end. the front-end is happily bare but functional. a demo is here (please be nice to it) where you will see immediately a total lack of colour or even borders: http://pyjs.org/pygit if anyone wants the source code, or to help contribute, it's at: git clone gitol...@pyjs.org:pyjamasgitweb to start the server, read the README, install the dependencies, then do: $ cd jsonservice $ python srv.py {path to top level of repository} & $ cd ../pyjamas $ ./build.sh # requires symlink ~/bin/pyjsbuild to sandbox $ firefox http://127.0.0.1:8000/outputJSONRPCService.html & $ python JSONRPCService.py # for the desktop version l. -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
[ANN] pyjamas 0.7 released
pyjamas - the stand-alone python-to-javascript compiler, and separate GUI Widget Toolkit, has its 0.7 release, today. this has been much delayed, in order to allow the community plenty of time between the 0.7pre2 release and the final release, to review and test all the examples. pyjamas allows developers to create applications that will run either in any modern web browser (with no plugins required) or as a stand-alone cross-platform desktop application (like PyQT4 or PyGTK2), WITHOUT requiring modifications to the original python source. this concept is singularly unique in the free software python world, but is conceptually similar to Adobe AIR and Silverlight - without the massive plugins required. there has been significant improvements, features and libraries added in between 0.6 and 0.7: please see the README in the distribution for details. for fits and giggles, to show what's possible in only 400 lines of python, here is a game of asteroids, written by joe rumsey. yes, it runs under pyjamas-desktop too. http://pyjs.org/examples/asteroids/public/Space.html For more information, see: http://pyjs.org http://pyjs.org/FAQ.html http://pyjs.org/features.html http://groups.google.com/group/pyjamas-dev downloads: http://pypi.python.org/pypi/Pyjamas http://code.google.com/p/pyjamas http://sf.net/projects/pyjamas known major bugs: http://code.google.com/p/pyjamas/issues #391 (google chrome beta) #384 (text selection on opera 10.51) contributions and investigations by community members to fix these and other issues welcomed and encouraged. -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
[ANN] Pyjamas 0.7pre1 Web Widget Set and python-to-javascript Compiler released
Current Release: 0.7~pre1 --- This is a 0.7 prerelease of Pyjamas, to invite users to help test the latest version. The latest svn is regularly but informally tested against the regression tests and the examples, and used in production, but not extensively tested against all known browsers on each commit. Community assistance by running against a wider range of browsers ensures that *you* get a stable release. Pyjamas --- Pyjamas is a port of Google Web Toolkit to Python, and thus enables the development of Rich Media AJAX applications in Python, with no need for special browser plugins. Pyjamas contains a stand-alone python-to-javascript compiler, and also a Widget Set API that looks very similar to Desktop Widget Set APIs (such as PyQT4 or PyGTK2). Pyjamas also contains a Desktop Widget Set version, running as pure python. Using web browser technology provides an alternative to PyQT4 and PyGTK2 that has the advantage of having full support for HTML, CSS, Plugin and other web-related features already built-in. For the windows port, this can save users around 30mb of downloads, as MSHTML is preinstalled as part of IE. For more information, see: http://pyjs.org http://pyjs.org/FAQ.html http://pyjs.org/features.html Known bugs: http://code.google.com/p/pyjamas/issues #290, #227, #228, #230, #304 Changelog Summary - Features and enhancements of the stand-alone 0.7 series javascript compiler include: * the addition of generators (support for yield, by rewriting the function so that it can be re-called and continue from the previous state); * the beginnings of decorators support, and support for properties; * some dramatic performance improvements due to a rewrite of for-loops; * improved support for import syntax (from . import module); * the addition of a built-in AST parser, use of which allows python 2.4 to compile programs with python 2.5 / 2.6 syntax into javascript; * addition of int and long types, and support for operator functions, so that e.g list multiplication by numbers and list addition now work, along with coercion between int, float and long types, and support for floating point exceptions. Overall, this release is a significant "pythonic" upgrade: for full details, see the CHANGELOG. In the User-Interface suite, which is separate from the Pyjamas stand-alone python-to-javascript compiler, the features and enhancements include: * An SVG / VML Canvas Library (a port of GWTCanvas). This has been ported to pure python, and consequently work under Pyjamas-Desktop as well. * A Graphical Chart Library (a port of GChart). This has been ported to pure python, and consequently work under Pyjamas-Desktop as well. For the same speed optimisations present in GChart, GChart for Pyjamas can also use the python port of GWTCanvas. * An internal restructure of Event handling, similar to GWT 1.7, providing Focus, Mouse and Click "Mixin" modules so that developers creating their own widgets have a minimal amount of work to do. This redesign could only take place once Pyjamas supported multiple inheritance (added in 0.6). Pyjamas-Desktop --- Pyjamas runs your application in a Web Browser (as javascript); Pyjamas-Desktop runs exactly the same python application on the Desktop (as python) http://pyjd.org Release 0.6 of Pyjamas incorporated Pyjamas-Desktop directly into the Pyjamas Distribution. To use Pyjamas-Desktop there are three choices, with more planned [MacOSX PyObjC; KDE's PyKHTML]. All ports of Pyjamas-Desktop will require a JSON library to be installed: as there are plenty already, it is counter-productive to write yet another one. Simplejson is recommended. 1) - XULRunner install hulahop and python-xpcom. hulahop is distributed with both Debian and Ubuntu; python-xpcom is part of XULRunner and is also distributed with both Debian and Ubuntu. Other users should investigate the installation instructions for python-xpcom and hulahop for the operating system of their choice on the appropriate web sites. GNU/Linux, FreeBSD and other POSIX systems are strongly advised to use XULRunner for Pyjamas-Desktop: it is the most stable of the PyJD ports. 2) - PyWebKitGtk you will need a patched version of pywebkitgtk: http://code.google.com/p/pywebkitgtk/issues/detail?id=13 you will need a patched version of webkit: http://github.com/lkcl/webkit/16401.master Detailed build instructions are available here: http://wiki.github.com/lkcl/webkit/helping-with-16401master 3) - MSHTML For Windows users, all that's required, other than installing python and Internet Explorer, is one further package: Win32 "comtypes". Win32 "comtypes" can be downloaded here: * http://sourceforge.net/projects/comtypes/ -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
[ANN] Pyjamas 0.6 Web Widget Set and python-to-javascript Compiler released
Pyjamas 0.6 is finally out: many thanks to everyone who has contributed. Special thanks to Kees Bos; Bernd, Bernd and Jurgen from LovelySystems.com; the people who showed an interest in Pyjamas at EuroPython 2009; and especially to everyone who has helped during the pre-releases, with testing and bugreports over the past few weeks. For a full list of contributors, see CREDITS. Downloads: - http://code.google.com/p/pyjamas/downloads http://pypi.python.org/pypi/Pyjamas http://sf.net/projects/pyjamas Pyjamas --- Pyjamas is a port of Google Web Toolkit to Python, and thus enables the development of Rich Media AJAX applications in Python, with no need for special browser plugins. Pyjamas contains a stand-alone python-to-javascript compiler, and also a Widget Set API that looks very similar to Desktop Widget Set APIs (such as PyQT4 or PyGTK2). For more information, see: http://pyjs.org http://pyjs.org/FAQ.html http://pyjs.org/features.html Known bugs: http://code.google.com/p/pyjamas/issues #227, #228, #229, #230 and #232 Pyjamas-Desktop --- Pyjamas runs your application in a Web Browser (as javascript); Pyjamas-Desktop runs exactly the same python application on the Desktop (as python) http://pyjd.org Release 0.6 of Pyjamas also incorporates Pyjamas-Desktop directly into the Pyjamas Distribution. To use Pyjamas-Desktop there are three choices, with more planned [MacOSX PyObjC; KDE's PyKHTML]. 1) - XULRunner install hulahop and python-xpcom. hulahop is distributed with both Debian and Ubuntu; python-xpcom is part of XULRunner and is also distributed with both Debian and Ubuntu. Other users should investigate the installation instructions for python-xpcom and hulahop for the operating system of their choice on the appropriate web sites. GNU/Linux, FreeBSD and other POSIX systems are strongly advised to use XULRunner for Pyjamas-Desktop: it is the most stable of the PyJD ports. 2) - PyWebKitGtk you will need a patched version of pywebkitgtk: http://code.google.com/p/pywebkitgtk/issues/detail?id=13 you will need a patched version of webkit: http://github.com/lkcl/webkit/16401.master Detailed build instructions are available here: http://wiki.github.com/lkcl/webkit/helping-with-16401master 3) - MSHTML (experimental!) For Windows users, all that's required, other than installing python and Internet Explorer, is one further package: Win32 "comtypes". Win32 "comtypes" can be downloaded here: * http://sourceforge.net/projects/comtypes/ The MSHTML version primarily works. Reports using IE8's MSHTML engine would be appreciated. Known bugs: the use of Tab to cycle through Keyboard Focus elements is ineffective; onkeyup and onkeydown events are unresponsive, but oddly onkeypress event handling works. -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
[ANN] pyjamas 0.6pre3 released
much as we'd very much like to declare a 0.6 stable release, really really soon and move forward, the ChangeLog just keeps growing (133 and counting) with the bugfixes, testing and contributions since 0.5p1. pyjamas is a port of GWT to python, and includes a python-to-javascript compiler and a widget UI toolkit that is similar to pyqt4, pygtk2 etc. applications can either be run as javascript (in a web browser) or on the desktop (using pyjamas-desktop) as python. conceptually therefore, pyjamas is similar to adobe AIR - except that it's python, not ActionScript, and it's entirely free software. hurrah! key changes: * the python-to-javascript has been significantly reworked, and now includes a --strict option which adds "python strict" features at the expense of speed. to disable these, and obtain speed instead, use "-O" * pyjamas-desktop has been merged into the pyjamas distribution, which includes support for one stable browser engine (XULrunner, the same engine behind firefox); pywebkitgtk (the engine behind safari and the iphone) and MSHTML (IE's engine). pywebkitgtk is useable (but unfriendly - no DOM exception handling); MSHTML is even less friendly - COM gets in the way at present, and eats even python exceptions). there's a lot more that could be said, but you've probably noticed all the other prerelease notices so 'nuff said, other than: thank you to the people who've been helping and contributing with testing, patches and more. downloads and more information: http://pypi.python.org/pypi/Pyjamas http://sf.net/projects/pyjamas http://code.google.com/p/pyjamas http://pyjs.org -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
[ANN] Pyjamas 0.6pre2 Python Web Widget Set and Javascript Compiler
http://pyjs.org this is a pre-release announcement, 0.6pre2, of the pyjamas widget set and python-to-javascript compiler. there are over 110 entries in the CHANGELOG since the last stable release, 0.5p1, and so it was deemed sensible to invite people to test this version before its next stable release, 0.6. pyjamas, being a port of GWT to python, comprises four main components: * a stand-alone python-to-javascript compiler * a desktop-based wrapper around python-xpcom or pywebkitgtk * a browser "DOM" model wrapper interface * a widget set similar to pygtk2 / pyqt4, based on DOM manipulation significantly in the 0.6 series, pyjamas-desktop has been incorporated into the build: "python Hello.py" will start a stand-alone app (just as you would with pygtk2 or pyqt4) and "pyjsbuild Hello" will compile the javascript version(s). the combination means that pyjamas can run python applications - unmodified - in all major web browsers, or on the desktop (using gecko or webkit) in a similar fashion to adobe AIR. in the javascript version: somewhere along the line, a massive performance hit was introduced by accident. this has now been fixed. however, random desperate attempts to improve performance, before the mistake was corrected, mean that the pyjamas 0.6pre2 python-to-javascript compiler produces code that is stunningly quick. also in the 0.6pre2 release, "strict" python options have now been introduced, so that developers can expect much more support for the standard python 2.5 / 2.6 language semantics. the "-O" option disables many of these features, bringing a quite significant speed increase, by sacrificing python compatibility. that's just the way it has to be. downloads can be found by following the links from http://pyjs.org - sourceforge, code.google.com, pypi, all the usual places. lastly - thank you to everyone who's helped with pyjamas: bernd, bernd, jurgen, christian, kees, ondrej and many more, and especially thank you to the people who helped out by pointing out bugs in the 0.6pre1 release, please keep it up! l. -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
[ANN] Pyjamas 0.6pre1 ALPHA release of Pyjamas Widget Set
http://pyjs.org - Pyjamas is a port of GWT to Python that can run applications both on the Desktop (like python-gtk2) and in all major Web Browsers (as javascript). This is an alpha release - 0.6pre1 - of the Pyjamas Web Widget Set. It is a significant upgrade, incorporating Pyjamas Desktop which can now use Mozilla XULRunner as well as PyWebKitGtk as the browser engine. Significant enhancements have been made to the javascript compiler, which bring python strict features as well as a relaxed (and faster) compile-time option. The reason for the 0.6 pre-release is due to the number of features and improvements added. Many thanks to Kees, Lovely Systems, and all the people from EuroPython 2009 who have helped contribute and generally make Pyjamas fun to work with. Downloads are available from: http://code.google.com/p/pyjamas http://sourceforge.net/projects/pyjamas http://pypi.python.org/pypi/Pyjamas -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
[ANN] Pyjamas 0.5p1 Web Widget Set and python-to-javascript Compiler released
Pyjamas 0.5p1 - http://pyjs.org - is a bug-fix release. Pyjamas is a Web Widget Framework, written in python, that is compiled to javascript using its stand-alone python-to-javascript compiler. It began as a port of GWT, to python. Many of the issues faced by web developers - javascript and CSS incompatibilities and difficulties - simply go away, with Pyjamas, thanks to the declarative style used for Pyjamas application development, that's near-identical to that of python-qt4, python-gtk2 and python-wxWidgets. The use of Pyjamas for application development turns web browsers into a desktop widget application development platform, with the added advantage over traditional desktop widget sets of having full access to the complete set of HTML features of web browsers. The stand-alone python-to-javascript compiler is also beginning to develop into a python accelerator. The combination of pyjs and pyv8, or pyjs and python-spidermonkey, offers some interesting possibilities for JIT compilation of python applications into x86 or ARM assembler (using pyv8), by way of intermediate compilation to javascript. Anyone who is interested in the possibilities should contact the pyjamas developers at http://groups.google.com/group/pyjamas-dev Downloads: http://code.google.com/p/pyjamas http://sf.net/projects/pyjamas http://pypi.python.org/pypi/Pyjamas/0.5p1 Web Site: http://pyjs,org -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html
[ANN] Pyjamas 0.5 Web Widget Set and python-to-javascript Compiler released
This is the release of Pyjamas 0.5, a python-to-javascript compiler with an AJAX Web Widget set, for creating python desktop-like applications that run in all major web browsers. http://pyjs.org Pyjamas is NOT "another AJAX framework" where the widgets are predefined, fixed and inflexible. Thanks to the compiler, Pyjamas is a dynamic "framework's framework" where developers can define their own web framework, in Python classes and modules instead of being forced to write code in pure Javascript. The Pyjamas Web Widget set makes it possible for users to develop Rich Media Applications as if they were writing desktop applications, without having to know any Javascript, or even very much HTML. Developing applications using Pyjamas is much more similar to and has far more in common with developing PyQT4 or PyGtk2 applications than it has with "traditional" AJAX web development. Yet, thanks to the applications actually running in a Web Browser, developers get the best of both worlds. For those people who prefer to stick to "true" Desktop development, or who prefer to debug applications in Python rather than rely on the debugging features of Web Browser engines, there is the sister project, Pyjamas-Desktop - http://pyjd.org Pyjamas-Desktop allows the same application source code to be run, unmodified, in both the web browser and as a desktop application. The 0.5 release is a significant functionality update. Additions have been made to the core python-to-javascript compiler such as support for exceptions (try / except), lambda, and a debug option to track and print run-time stack traces, in cases where the deployment of a javascript script debugger is difficult or impossible (IE6 running under Wine). Also, the code-generator has undergone a reorganisation, and now has much better support for local and global variable, function, class and module scopes. Support for Dynamic loading of modules has been added, where each python module now has its own javascript (compiled) "cache" file. This makes it possible to share the modules across the 5 supported platforms, bringing a dramatic reduction in the amount of compiled javascript that is deployed. Also, support for dynamic module loading makes it much clearer how developers may interact with pyjamas-compiled modules from existing applications which already have an AJAX framework in place. Users of previous versions of Pyjamas should note that the UI widget classes have undergone a restructuring, reducing the 4,000 line ui.py into 70 separate small modules. The reorganisation allows applications to undergo a significant reduction in the amount of compiled javascript, by only importing UI Modules that are needed. Reorganisation scripts can be found in contrib/pyjamas_0.4_0.5_upgrade/ that will help in the conversion of existing applications. Also, to make developers' lives easier in both the testing and deployment of pyjamas applications, buildout has been added, along with a standard setup.py. Finally, an experiment is included, which is the beginnings of a way to speed up the execution of standard python, in a similar way to Python-Psyco. The combination of the pyjs python-to-javascript compiler and PyV8 - http://code.google.com/p/pyv8 - becomes a JIT compiler that supports both ARM and i386 assembler. The use of the Google V8 JIT compiler provides a means to dynamically load standard c-based python modules, and the use of pyjs means that the intermediate javascript is actually still human-readable. These are two distinct advantage over pypy, and the third advantage is that the direct translation, instead of going through an intermediary (RPython) means that the full dynamic semantics of the python language are reflected into javascript, and still available. Downloads are available at: http://code.google.com/p/pyjamas/downloads/list https://sourceforge.net/project/platformdownload.php?group_id=239074 http://pypi.python.org/pypi/Pyjamas/0.5 Pyjamas Book is at: http://pyjs.org/book/output/Bookreader.html#Getting%20Started Links to other documentation is on the main site: http://pyjs.org Development and discussion is at: http://groups.google.com/group/pyjamas-dev Subversion Source repository is at: https://sourceforge.net/scm/?type=svn&group_id=239074 IRC Channel is: #pyjamas at irc.freenode.net IRC Logs (thanks to Tim Riker) at: http://ibot.rikers.org/%23pyjamas -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html
pyjamas 0.4p1 release
This is a minor patch release of pyjamas 0.4p1, the Python-to-Javascript compiler and Python Web UI Widgets Toolkit. What is Pyjamas for? Pyjamas allows a developer to create U.I applications in python as if the Web Browser was a Desktop Widget Set toolkit platform (like pygtk2, pywxWidgets and pyqt4, only much simpler, and more powerful). No knowledge of javascript programming is required: the python-to-javascript compiler takes care of the conversion between python and javascript, and the U.I widget set takes care of all the browser and AJAX incompatibilities. Why don't I find that exciting? The significance of pyjamas takes a while to sink in. Or you're not a UI developer. Or you've never been asked to write an identical app that works on both the desktop and all major web browsers. If you're a python developer who has followed the history of web application development of the past decade, with much frustration and disappointment, is overwhelmed by Javascript, AJAX and the demands of the "Web 2.00o0ooo0 Revverlushun", then Pyjamas is something that you should consider investigating. Pyjamas 0.4p1 Bug-fixes (and accidental Features) Significant bugs fixed include HorizontalPanel's remove() function, SimplePanel's clear() function, and sprintf with multiple arguments ("%s %d" % ("hello", 2) will now work) Dialog Box now has modal functionality (thanks to jurgen kartnaller). HorizontalSplitPanel has been added, although both the horizontal and vertical panels operate correctly on Mozilla-based browsers, but Safari and IE need volunteers to work on them. Several more examples have also been added, including a spreadsheet-like GridEdit example; a Transparent SVG canvas clock widget (that actually tells the time); an "Information Hierarchy" example that could be used as the basis for an online cooperative spreadsheet editor; Erik Westra's "Showcase" source code which provides and shows the source of the 30 widgets being demo'd; and a few other minor examples. Discussion: http://groups.google.com/group/pyjamas-dev/ Bugs: http://code.google.com/p/pyjamas/issues/list Downloads: https://sourceforge.net/project/showfiles.php?group_id=239074 http://code.google.com/p/pyjamas/downloads/list Web site: http://pyjs.org (pyjamas javascript compiler and UI widget set) http://pyjd.org (sister project, pyjamas-desktop) -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html
[ANN] Builds of PyWebkitGtk and Webkit-Glib-Gtk (r39359+#16401.master) for Debian i386, Debian AMD64 and Macports MacOSX 10.4
webkit-glib-gtk provides gobject bindings to webkit's DOM model. pywebkitgtk provides python bindings to the gobject bindings of webkit's DOM model. files are available for download at: https://sourceforge.net/project/showfiles.php?group_id=236659&package_id=290457&release_id=650548 separate pre-built .debs for AMD64 and i386 Debian are included, for pywebkitgtk and webkit-gtk with gobject bindings to the DOM model. if you have seen OLPC/SUGAR's "hulahop", or if you have used Gecko / XUL DOM bindings, or KDE's KHTMLPart DOM bindings, you will appreciate the value of webkit-glib-gtk. pywebkitgtk with glib/gobject bindings basically brings pywebkitgtk on a par with hulahop. if you find the thought of pywebkitgtk with glib bindings, and/or hulahop to be "all too much", then do consider looking at pyjd (the other download from the same location, above). pyjd - aka pyjamas-desktop - is a level "above" pywebkitgtk-glib, and is on a par with pykde, pyqt4, pygtk2, python-wxWidgets and other desktop-based widget sets. (side-note: the advantage of pyjd is that if you write an app which conforms to the pyjamas UI widget set API, you can compile the same python app source code to javascript and run it directly in all major web browsers: see http://pyjs.org, which is a python-to-javascript compiler). code-stability-wise, pywebkitgtk and webkit-glib-gtk should be considered "experimental" (not least because this is a release from a svn build!). that having been said, pyjamas-desktop is declared "production" because pywebkitgtk with DOM bindings, thanks to webkit-glib-gtk, provides absolutely everything that pyjamas-desktop needs (and if webkit-glib-gtk becomes a moving target, the DOM.py abstraction layer in pyjamas-desktop will take care of it. if it becomes a _severe_ moving target, pyjamas-desktop will drop webkit and provide a python-hulahop / XUL-Geck port instead. or as well. whatev :). gobject-interface-wise, the webkit gobject DOM bindings that have been added _can_ be considered to be "stable", as long as the underlying webkit library IDL files are "stable" (additions to Console.idl were made in the past couple of months, for example, and HTML5 is making advances as well). that having been said, _some_ functionality proved intransigent during the initial main development phase of the webkit gobject DOM bindings, such as RGBColour conversion of CSS Style Properties, and so were *temporarily* left out. given that pyjamas-desktop is considered "production", that should give a pretty clear indication of the importance of those rare bits of DOM model bindings features that were left out. SVG Canvas bindings, however, have NOT been included, as that would have added a further 120 gobjects to the list. instructions for anyone brave enough to install webkit-glib-gtk from source, themselves, on macosx: http://github.com/lkcl/webkit/wikis/installing-webkit-glib-on-macosx there is an (experimental) Portfile in the macosx 10.4 glib tarball, as well. please note that the MacOSX build is NOT a "native" webkit build: it is a GTK / X11 build (known as a "gtk port", in webkit developer terminology). the reason for providing the MacOSX webkit-glib-gtk build, along with a MacOSX port of pywebkitgtk is because the "native" webkit build - which includes ObjectiveC bindings and thus can automatically get python bindings - has very subtly different functionality. whilst the native ObjectiveC bindings are more fully compliant with the W3C standards, providing javascript-like functionality where absolutely necessary, the webkit-glib-gtk build's gobject bindings are going specifically for direct correspondance with the functionality provided by the webkit javascript bindings, falling back to alternatives where it is absolutely not possible to achieve that goal. the actual differences, however, are extremely small, percentage-wise. out of around 300 objects, providing around 1,500 functions, and tens of thousands of properties, there are approximately 20 functions that are different, and only four properties that are different. examples of the differences in the bindings APIs offered by ObjectiveC and webkit-glib-gtk Gobject bindings include: * the provision of the function "toString", which is known as a javascriptism that is not in the W3C standard. _not_ providing this function, which is a de-facto standard, is considered to be inconvenient, especially as both Gecko's language bindings _and_ PyKDE's PyKHTMLPart bindings provide toString() functions. The ObjectiveC bindings, in sticking to the W3C standard, religiously, do not offer "toString". the reason for including toString in the webkit-glib-gtk bindings should be fairly obvious: it is unreasonable to expect developers who will be used to the de-facto existence of toString in javascript to find that it's ... disappeared for no good reason, thus forcing them to make unnecessary coding workarounds, duplicating the exact same functionality that *already
[ANN] Pyjamas 0.4: Python Web Toolkit Release
This is the 0.4 Release of Pyjamas, the python-to-javascript compiler and Web Widget set and framework. Download Pyjamas 0.4 here: https://sourceforge.net/project/showfiles.php?group_id=239074 http://code.google.com/p/pyjamas/downloads/list Pyjamas started as a port of Google's Web Toolkit, to python. Explaining why Pyjamas (and GWT) is so significant takes some doing: the summary is that comprehensive desktop-like user interfaces can be developed very simply, to run in any modern web browser, without having to write a single line of JavaScript. Further recommended reading is here: http://advogato.org/article/993.html http://advogato.org/article/981.html The homepage is http://pyjs.org The sister project, Pyjamas-Desktop, is at http://pyjd.org Documentation on Pyjamas is considerable, and includes: http://pyjs.org/book/output/Bookreader.html http://pyjs.org/showcase/Showcase.html http://pyjd.sf.net/api http://pyjd.sf.net/controls_tutorial.html http://lkcl.net/pyjamas-desktop/docs/output/docui.html Also, as the Pyjamas UI API is near-identical to that of GWT 1.5, the GWT JavaDoc reference guide is still relevant: http://google-web-toolkit.googlecode.com/svn/javadoc/1.5/index.html -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html
Pyjamas 0.3 Release: python-to-javascript compiler and AJAX library
Pyjamas 0.3 --- Pyjamas is a python-to-javascript compiler and an AJAX-based Widget toolkit for Web Development (for the sister project, running pyjamas-based apps on the desktop, see http://pyjd.sf.net which is based on http://webkit.org). Pyjamas Applications are written in python, yet run in all major web browsers - as javascript. Specifically, the 0.3 release adds support for IE7. Pyjamas is a port of Google Web Toolkit to python. So, where GWT is a Java-to-Javscript compiler plus widget set, Pyjamas is a python-to-javascript compiler plus widget set. Documentation and details are available at the web site, http://pyjamas.sf.net Download available at: https://sourceforge.net/project/showfiles.php?group_id=239074 -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html