Python

WikklyText 1.6.0

WikklyText 1.6.0 has been released. Major changes:

  • Python 2.4 is now the minimum version for running the wiki. If you just use the rendering library, Python 2.3 is fine.
  • Stop sending Content-Type="application/xhtml+xml" - causes strange browser behavior. Use just text/html on all browsers.
  • Plugins can now attach arbitrary WSGI applications to wiki by exporting them via __wsgi_apps__
  • New WSGI macro type receives a WSGI-like environment (among other things, this lets macros access the wiki directly). These are exported via __wsgi_macros__.
  • Browsing to $SITE/api/plugins shows information about loaded plugins.
  • Ensure request data saved on a per-thread basis
  • Allow port numbers in parsed URLs

Downloads and more information at the WikklyText home page
Written in WikklyText.

Updated: Building Python extensions for Windows with free tools

Updated for breakage caused by recent binutils under Cygwin.

Building Python extensions for Windows with free tools

Exploring Google AppEngine, Part 2

In my first experiment with Google's AppEngine, I dove straight in and started using CherryPy for development. This worked pretty well at first, but I eventually hit some issues due to lack of threading within AppEngine.

At that point, I decided to step back a bit and take a fresh look with a pure-WSGI approach. I had never used WSGI directly, so this was an interesting experiment. I definitely like the simplicity of pure-WSGI, but the question will be how much custom code I have to write versus using a prebuilt framework. (Don't get me wrong, I expect to return to CherryPy later, but I want to experiment at the lower level for now.)

You can follow the work in progress at boodebr.appspot.com
Written in WikklyText.

boodebr library 1.2.0 released

This is a minor feature release with a few bugfixes as well.
  • boodebr.gui
    • Redid stock images as SVG.
    • Embed stock images via img2py for easier use with py2exe.
    • Synced fixed_colsorter.py with wxPython 2.8.7.1
  • boodebr.ion: Added support for pickling of complex numbers.
  • boodebr.config: Added file_exits() to fileconfig objects.
  • Moved test suite down one level in tree.

More information and downloads at the boodebr library wiki

Running CherryPy based apps under Google's App Engine

Google's App Engine is a new application platform from Google that allows you to run custom Python code on Google's infrastructure. From their website:
Google App Engine lets you run your web applications on Google's infrastructure. App Engine applications are easy to build, easy to maintain, and easy to scale as your traffic and data storage needs grow. With App Engine, there are no servers to maintain: You just upload your application, and it's ready to serve your users.
Several websites (including Google) make the claim that App Engine is compatible with any WSGI framework, even mentioning CherryPy by name. Unfortunately, they don't give any examples using CherryPy, and it turns out that it doesn't quite work "out of the box". Fortunately it wasn't too tricky to get it working, so I documented the steps here.

Click through to read more ...
Written in WikklyText.

WikklyText 0.99.50

A new version of WikklyText is available for download. This is primarily a developers release, with many internal changes. You can view the list of major changes here.

Note this release is not suitable for use with Drupal. If you are using the Drupal plugin, please continue to use 0.99.22 until the next stable release of the Drupal plugin.

Downloads & instructions can be found at the WikklyText Home Page.

WikklyText - Recent Changes

File has moved!


This is now hosted at wikklytext.com

WikklyText 0.99.22 Released

This is a major feature enhancement release for WikklyText, adding these features:

  • New script twextract converts a TiddlyWiki into a set of XML and HTML files. This is useful for ...
    • Serving your TiddlyWiki content as a lightweight set of pages instead of each user having to download the entire wiki.
    • Serving your TiddlyWiki content in a Javascript-restricted environment. The generated files are plain HTML.

You can view a demonstration here: TiddlyWiki Home Page, converted to HTML.

Other enhancements/fixes:
  • Wikitexts can use <<set $LINKS_NEW_WINDOW 0|1>> to determine if links open in a new window.
  • Improved CSS styling & document structure for standalone documents.
  • Bugfixes in tables, allowing the PeriodicTable sample to work again.
  • Lots of internal fixes and reorganization.

Downloads & instructions can be found at the WikklyText Home Page.

Written in WikklyText.

WikklyText 0.99.18 - Released

This is a bugfix release for WikklyText, taking care of a problem where embedded Python code (<?py ... ?>) was not visible from nested macro calls.

Downloads & instructions can be found at the WikklyText Home Page.

Update: WikklyText is now the default input format here for user comments. You can still use Filtered HTML if you choose, but WikklyText is the default.

WikklyText 0.99.16 - Released

You might have noticed a tagline showing up on articles written here lately — "Written in WikklyText". WikklyText is the name of the underlying wikitext engine used here at boodebr.org. WikklyText is a markup language that is "99% compatible" with TiddlyWiki markup. It can be used both as a Drupal plugin, and to create standalone (X)HTML documents. It is written in Python and isn't tied to any particular web framework. You should be able to plug it in to any CMS; I implemented a Drupal plugin because that is what I use.

After much work and polishing, I'm announcing the first public release — 0.99.16. As this is the first public release, please read the documentation and exercise caution before installing on your site and giving unlimited access to anonymous users.

Downloads & instructions can be found at the WikklyText Home Page.

Note that using WikklyText as a Drupal plugin requires Drupal 5.x. I'll gladly accept patches to make it work with Drupal 4.x, but I'm not currently running any 4.x servers.
Written in WikklyText.
Syndicate content