public marks

PUBLIC MARKS from pvergain with tags web & python

November 2007

CodeInvestigator - Python

There is a Python version of CodeInvestigator to debug your Python scripts with. The user interface is through a web browser. For this you need: * Python. Version 2.5 and over. * A Firefox browser

July 2007

What is Grok?

What is Grok? Now even cavemen can use Zope3 Grok is a web application framework for Python developers. It is aimed at both beginners and very experienced web developers. Grok has an emphasis on agile development. Grok is easy and powerful. You will likely have heard about many different web frameworks for Python as well as other languages. Why should you consider Grok? * Grok offers a lot of building blocks for your web application. * Grok is informed by a lot of hard-earned wisdom. Grok accomplishes this by being based on Zope 3, an advanced object-oriented web framework. While Grok is based on Zope 3, and benefits a lot from it, you do not need to know Zope at all in order to get productive with Grok.

Canonical Releases Storm as Open Source | Ubuntu

New Python-based database communication tool represents first open source component of Launchpad LONDON, July 9, 2007 – Canonical Ltd today announced the release of Storm, a generic open source object relational mapper (ORM) for Python. Storm is designed to support communication with multiple databases simultaneously. Canonical is best known for the popular Ubuntu operating system and Launchpad, a web-based collaboration platform for open source developers. "Storm is an ORM that simplifies the development of database-backed applications in Python, especially for projects that use very large databases or multiple databases with a seamless web front-end", said Gustavo Niemeyer, lead developer of Storm at Canonical. "Storm is particularly designed to feel very natural to Python programmers, and exposes multiple databases as /stores/ in a clean and easy to use fashion." The project has been in development for more than a year for use in Canonical projects such as Launchpad, and is now publicly available under the LGPL license. This will be the first complete Launchpad component to be released as open source software. "We're excited about using Storm for Launchpad, and that it is being released as open source. Storm's API is clear and well designed, making it a joy to work with, " said Steve Alexander, Launchpad Product Manager at Canonical. "The scalability advantages of Storm's architecture are important for us to ensure that Launchpad continues to perform well as the number of Launchpad users grows." Launchpad currently includes developers data for several thousand projects and is used by tens of thousands of developers, translators, and other free software contributors. The Storm project welcomes participation, and has a new website at That site includes a tutorial, and links to allow developers to download, report bugs and join the mailing list.

django-rest-interface - Google Code

by 1 other (via)
The Django REST interface is a Summer of Code project that implements a general method offering a public and private API for existing Django models. New generic views will simplify data retrieval and modification via different web services in a resource-centric REST architecture, providing model data in formats such as XML, JSON and YAML with very little custom code. The REST interface consists of two major parts: 1. Easily configured Create/Read/Update/Delete (CRUD) method access patterns for models. 2. Resources that don't correspond 1:1 to models. More information: * Initial proposal * First mail to django-developers

Introducing templatemaker |

I've just released templatemaker, which is something I've been hacking on and off (mostly off) the past couple of months. It's a Python library for extracting data from similarly formatted text strings. What the heck does that mean? Well, say you want to get the raw data from a bunch of Web pages that use the same template -- like restaurant reviews on, for instance. You can give templatemaker an arbitrary number of HTML files, and it will create the "template" that was used to create those files. ("Template," in this case, means a string with a number of "holes" in it, where the holes represent the parts of the page that change.) Once you've got the template, you can then give it any HTML file that uses that same template, and it will give you the raw data: "The value for hole 1 is 'July 6, 2007', the value for hole 2 is 'blue'," etc.

gdata-python-client - Google Code

The Google Data APIs (Google data) provide a simple protocol for reading and writing data on the web. Each of the following Google services provides a Google data API: * Base * Blogger * Calendar * Picasa Web Albums * Spreadsheets * Google Apps Provisioning * Code Search * Notebook The Google data Python Client Library provides a library and source code that make it easy to access data through Google Data APIs. To browse the Google data Python client library source code, visit the Source tab. If you have a problem or want a new feature to be included in the Google data Python Client Library, please submit an issue. If you are interested in contributing to the library, please read the Contributor Guide and join the contributor group. - The Google data API Team


AroundWord is a free and open Blog Publishing System built upon the great web framework Pylons. Currently, AroundWord is in early planning and development. You are welcome to take participate in the development: Main Features * Multi-user * Atom/RSS feeds * Trackbacks * OpenID for users that want to comment (this would avoid to use anti-spam feauture) * Anti-spam * Plugin * Theme * Tags * Multi-blog ? (but with a different data base for each blog) * Plug-in system * Easy to install for end users (as easy as wordpress if possible) Development Currently, we are building the models. More details about development here ( The AroundWord team is happy to take contributions, patches and bug-fixes. We use the following code conventions: * PEP 8 - Style Guide for Python Code * PEP 257 - Docstring Conventions The Mercurial repository can be accessed via: AroundWord is a free and open Blog Publishing System built on Python using the most advanced technologies: * Framework: Tesla upon Pylons * Database Engine: SQLAlchemy + Elixir + SAContext * Templates: Mako * Widgets and Forms: ToscaWidgets + twForms + FormEncode * Authorization and Authentication: AuthKit * Internationalization (i18n) and Localization (L10n): Babel * JavaScript Library: jQuery * Site Search: Xapian

May 2007

Build mashups with the Service Component Architecture and Apache Tuscany

From these two SCDL documents, you can see that all the components are implemented in Python (as specified by the implementation.python elements) and the composite services are exposed using the REST binding. These choices are not mandated by the SCA runtime; any of the components could be implemented in any of the languages supported by the runtime, which currently includes C , Python, Ruby, and PHP for the Tuscany Native runtime. For instance, the sample includes a Ruby implementation of the POPChecker component that could be swapped in to replace the Python implementation. Equally, the choice of bindings used to expose a composite as a service can be easily changed, simply by altering the SCDL. For example, the Alerter Composite could also be exposed as a SOAP Web Service.

March 2007

Merging TurboGears and Pylons , Zope

It seems likely that TurboGears and Pylons will merge. This looks like a good thing. ... It’s conceivable, it was definitely discussed a few times as well. It wouldn’t be so much a merger in any sense, as more of a coalescing of common parts. –Ben Bangert (On the Pylons mailing list) So, yes we did spend quite a bit of time talking about this at PyCon. And yes the word merger was used, but if you’re looking for some kind of big bang switchover, I think you’ll be disappointed. From my perspective, the philosophical approach behind all of our discussions has been “The more we can share parts the better.” But we all have taken it one step further — were we have different ideas about how things should be done, we need to weigh the relative merits of maintaining those differences against what those differences cost us. In particular I’m thinking about the cost in terms of mantaining: * separate libraries * separate documentation efforts * separate mailing lists * separate bug tracking systems * decreased visibility in the wider web marketplace * and ultimately separate user communities. .... Surprisingly enough, this is also something we have in common with the Zope guys, who have created a lot of great stuff that none of us got to use because it was too tightly integrated with the Zope core. They have been spinning out components pretty regularly for the last couple of years, and we want to work together with them more. Obviously, we won’t merge with Zope, but I hope that we can work with them in lots of interesting ways to move the state of Python web development forward. I for one would like to have access to their Transaction manager for multi-database transactions, and I worked a bit with Zope guys last week on integrating Tosca Widgets into their Forms system. What I want is for there to be diversity where there are real differences, and unity where those differences don’t matter. We don’t want to limit either framework, but we don’t want to have pointless duplication of effort either. .... Or, if we’re smart enough, creative enough, and and flexible enough, we may end up as one framework. To quote a line from Terminator 2 “The future is not yet set. The future is what we make it.“ ....

Zope/Plone, Ruby on Rails, Turbogears, Django and J2EE.

by 2 others
A practical comparison between Zope/Plone, Ruby on Rails, Turbogears, Django and J2EE.

January 2007

selector - WSGI Delegation

by 1 other (via)
This distribution provides WSGI middleware for "RESTful" mapping of URL paths to WSGI applications. Selector now also comes with components for environ based dispatch and on-the-fly middleware composition. There is a very simple optional mini-language for path expressions. Alternately we can easily use regular expressions directly or even create our own mini-language. There is a simple "mapping file" format that can be used. There are no architecture specific features (to MVC or whatever). Neither are there any framework specific features. Best of all, selector is the simplest thing that will work well (IMHO).

Les Journées Perl 2006 - django.models, l'ORM de Django

Dans le cadre de la série de présentations sur les bibiliothèques de mapping objet-relationel (ORM), je présenterais l'ORM intégré à Django, un framework web en Python. L'approche sera de montrer la philosophie des concepteurs de l'API de cet ORM et comment ils ont utilisé les spécificités du langage Python (introspection...).

DjangoPoweredSites - Django Code - Trac

Django-powered sites ¶ This page lists sites on the public Web that are powered by Django. WorldOnline is the Web development shop that created Django and open-sourced it. Django was originally extracted from Ellington, a commercially-available content management system for newspapers developed by World Online.

the blixtra blog » Blog Archive » Top 30 Django Tutorials and Articles

by 6 others
Top 30 Django Tutorials and Articles As a response to the Top 30 Ruby on Rails Tutorials, I’ve compiled a list of the top 30 Django tutorials and articles. These links are in addition to the great documentation on the Django project site. For those who don’t know, Django is a Python web development framework that makes development super fast.

AuthKit - WSGI Authentication and Authorization Tools

AuthKit * Built for WSGI applications and middleware * Sophisticated and extensible permissions system * Built in support for HTTP basic, HTTP digest, form, cookie and OpenID authentication mehtods plus others. * Easily define users, passwords and roles * Designed to be totally extensible so you can use the components to integrate with a database, LDAP connection or your own custom system. * Plays nicely with the Pylons web framework.

1.0/SQLAlchemy - TurboGears Documentation

Using SQLAlchemy in TurboGears The simplest way to get started using SQLAlchemy is to quickstart new project with --sqlalchemy switch: tg-admin quickstart --sqlalchemy (Or more briefly: tg-admin quickstart -s) This switch sets up your properly for using SQLAlchemy. If you said yes to the identity prompt, you'll get the ActiveMapper version of the identity tables. Now change the value of sqlalchemy.dburi to point to a valid database connection. To init the database schema you need to run: tg-admin sql create If you're converting a project from SQLObject to SQLAlchemy, we recommend that you quickstart a new project and then copy in the identity tables piece by piece.

Download TurboGears

Note: A part of TurboGears relies on Pyrex, which has not yet been updated to accommodate changes in Python 2.5. Python 2.4 remains the recommended Python version. If you already have Python installed, there're only 2 steps to install TurboGears: 1. Download the script. 2. Run on Windows, or run python on *nix or Mac. There are some additional install instructions. Choose the instructions that match your setup:

December 2006

TurboGears Book

This book will help experienced Web developers get productive with TurboGears fast. You�ll quickly build your first TurboGears Web application�then extend it one step at a time, mastering the multiple TurboGears frameworks that make these enhancements possible. Next, the authors demonstrate TurboGears at work in one of today's most advanced open source, real-world TurboGears programs: the Fast Track project status tracker. Finally, you�ll gain deep insight into the Python model, viewer, and controller technologies TurboGears is built upon: knowledge that will help you build far more robust and capable Python applications. Coverage includes: * Understanding the architecture of a TurboGears application * Mastering SQLObject, customizing it, and using it with TurboGears models * Utilizing TurboGears view technologies, including dynamic templates and MochiKit for Ajax * TurboGears Widgets: Bringing CSS, XHTML, and JavaScript together in reusable components * CherryPy and TurboGears controller technologies: from decorators to deployment * Exploring the TurboGears toolbox * Ensuring security and identity in TurboGears applications

CherryPy 2.2 : CherryPy Tutorial

CherryPy is a pythonic, object-oriented web development framework. It provides the foundation over which complex web-based applications can be written, with little or no knowledge of the underlying protocols. CherryPy allows developers to build web applications in much the same way they would build any other object-oriented Python program. This usually results in smaller source code developed in less time. CherryPy does its best to stay out of the way between the programmer and the problem. CherryPy applications are usually very simple. It works out of the box; default behavior is sensible enough to allow use without extensive setup or customization. The embedded web server allows one to deploy web applications anywhere Python is installed. In short, CherryPy is as pythonic as it gets. What CherryPy is NOT? As a web application framework, CherryPy does all that is necessary to allow Python code to be executed when some resource (or URL) is requested by the user. However, it is not a templating language, such as PHP. CherryPy can work with several templating packages, including Cheetah, CherryTemplate, and several others. But please note that, while useful to some extent, templating packages are not strictly necessary, and that pure Python code can be used to generate the Web pages. CherryPy includes a light embedded web server, capable enough to handle sizeable loads. It is estimated that CherryPy can handle about 500 requests/second on a reasonable configuration (as of January, 2005); this can be roughly translated to a sustained throughput of 15 Mbps. However, CherryPy is not Apache. If for any reason you need a enterprise-class web server, you can run CherryPy and Apache together.

Comparaison de TurboGears et Django, deux frameworks web Python - Biologeek : Ubuntu, bio-informatique et geekeries libres d'un bio-informaticien au quotidien.

by 1 other
Entre deux traductions de tutoriels pour Django, j'ai décidé de traduire ce petit comparatif qui fait suite aux articles d'introduction à ces frameworks web publiés sur le site d'IBM (partie 1 consacrée à Django et partie 2 à TurboGears). Je trouve que c'est l'un des plus objectifs qui m'ait été donné de lire et il est à ce titre intéressant pour ceux qui sont dans le doute et/ou curieux.

The Django Book

by 7 others
Meet The Django Book Welcome to the online version of The Django Book, a free book about Django. The book is due to be published in 2007 by Apress, but in the meantime you can read the "beta" book online. This is a work in progress, and we invite you to leave comments, suggestions and criticism (read more about the comment system). So, dive in, let us know what you think, and check back regularly for the latest chapter updates. There's an Atom feed that'll get updated each time we release new material. If you've got more general feedback that doesn't fit into the comment system, or if you just like email more, you can reach us at feedback @ this domain.