<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tools For Agile Blog &#187; python</title>
	<atom:link href="http://toolsforagile.com/blog/archives/category/python/feed" rel="self" type="application/rss+xml" />
	<link>http://toolsforagile.com/blog</link>
	<description></description>
	<lastBuildDate>Thu, 24 Nov 2011 18:41:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Scoble on Django</title>
		<link>http://toolsforagile.com/blog/archives/58/scoble-on-django</link>
		<comments>http://toolsforagile.com/blog/archives/58/scoble-on-django#comments</comments>
		<pubDate>Mon, 09 Jul 2007 17:38:37 +0000</pubDate>
		<dc:creator>siddharta</dc:creator>
				<category><![CDATA[Catalyst]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.silverstripesoftware.com/blog/archives/58</guid>
		<description><![CDATA[Scoble calls Django the hot new development framework. Not sure about the new part. It&#8217;s been around for a few years. But definitely hot. When I first started working on Silver Catalyst, I wondered whether it was the right decision to build it in Python and Django. It doesn&#8217;t trouble me anymore. What I really [...]]]></description>
			<content:encoded><![CDATA[<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F58%2Fscoble-on-django&amp;layout=standard&amp;show_faces=no&amp;width=250&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:250px; height:25px"></iframe><p>Scoble calls <a href="http://www.djangoproject.com/" title="Django framework">Django</a> the <a href="http://scobleizer.com/2007/07/08/the-hot-new-development-framework/" title="Scoble on Django">hot new development framework</a>. Not sure about the new part. It&#8217;s been around for a few years. But definitely hot. When I first started working on <a href="http://www.silverstripesoftware.com/" title="Silver Catalyst: Agile project management">Silver Catalyst</a>, I wondered whether it was the right decision to build it in <a href="http://www.python.org/" title="Python computer language">Python</a> and Django. It doesn&#8217;t trouble me anymore.</p>
<p><span id="more-58"></span><br />
What I really like is all the supporting goodies that come with working in Python. Topping the list are the really cool utilities like <a href="http://www.silverstripesoftware.com/blog/archives/51" title="Deploying django on the desktop">cx_freeze</a> that allow me to integrate a web server, database (sqlite3), django and my application into one executable, and allow me to <a href="http://www.silverstripesoftware.com/blog/archives/51" title="Deploy django app on the desktop">deploy django apps on the desktop</a>.</p>
<p>Other factors: I really like the language for one (obviously this is a big factor <img src='http://toolsforagile.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ). Amazing libraries for another. For instance, the code to generate PDF reports was all handled by <a href="http://www.reportlab.org/downloads.html" title="Python PDF library">reportlab</a>. Generate charts with <a href="http://www.pythonware.com/products/pil/" title="Python imaging library">PIL</a>. There are just so many <a href="http://www.crummy.com/software/BeautifulSoup/" title="BeautifulSoup - parse html and xml files">kick ass libraries</a>.</p>
<p>There are some gotchas though. One is working with Unicode. The Django development trunk was broken when it came to handling Unicode. There was a lot of work being done on a Unicode Branch. I spent a lot of time merging code from this branch in order to get the <a href="http://www.silverstripesoftware.com/blog/archives/54" title="Unicode support for Silver Catalyst">Unicode update of Silver Catalyst</a> done.</p>
<p>Good news for all those who are just starting out: This branch was <a href="http://code.djangoproject.com/changeset/5609" title="Django Unicode Branch merged into Trunk">merged into trunk</a> a few days ago, so start with the latest svn revision. For the rest of us, we&#8217;ll need to update our workspaces.</p>
]]></content:encoded>
			<wfw:commentRss>http://toolsforagile.com/blog/archives/58/scoble-on-django/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Deploying a Django app on the desktop</title>
		<link>http://toolsforagile.com/blog/archives/51/deploying-a-django-app-on-the-desktop</link>
		<comments>http://toolsforagile.com/blog/archives/51/deploying-a-django-app-on-the-desktop#comments</comments>
		<pubDate>Thu, 31 May 2007 10:06:14 +0000</pubDate>
		<dc:creator>siddharta</dc:creator>
				<category><![CDATA[Catalyst]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[Product design]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[Tool]]></category>

		<guid isPermaLink="false">http://www.silverstripesoftware.com/blog/archives/51</guid>
		<description><![CDATA[One of the cool things about Silver Catalyst (which is a Django app) is that you can start using it right out of the box. I didn&#8217;t want the team working their way around Apache and MSSQL configurations, Python version incompatibilities, database access issues and deployment hassles. The final solution was a simple executable, which [...]]]></description>
			<content:encoded><![CDATA[<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F51%2Fdeploying-a-django-app-on-the-desktop&amp;layout=standard&amp;show_faces=no&amp;width=250&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:250px; height:25px"></iframe><p>One of the cool things about <a title="Silver Catalyst: Distributed Agile Tool" href="http://www.silverstripesoftware.com/">Silver Catalyst</a> (which is a <a title="Django web framework" href="http://www.djangoproject.com/">Django</a> app) is that you can start using it right out of the box. I didn&#8217;t want the team working their way around Apache and MSSQL configurations, Python version incompatibilities, database access issues and deployment hassles. The final solution was a simple executable, which when run would start everything required to get going.</p>
<p>In this post, I&#8217;ll explain how that was achieved.</p>
<p><span id="more-51"></span></p>
<p>A bit of background first. The vision for Silver Catalyst was a tool that could be installed by a team without having to get centralised servers and system administrators involved. I wanted the team to be able to set aside one computer on which they could install Silver Catalyst by themselves for use on their project. That made it pretty important that the setup be absolutely painless.</p>
<p>Silver Catalyst was written in <a title="Python" href="http://www.python.org/">Python</a> using the <a title="Django" href="http://www.djangoproject.com/">Django framework</a>. My first thought was to package the application as a zip of compiled python files and then have the team deploy that onto a server. This meant that someone would have to setup a web server, get Django working with it, setup a database, install python, deploy the application and finally configure it to point to the right files. Phew!</p>
<p>Luckily, to the rescue came <a title="Package python code as an executable" href="http://python.net/crew/atuining/cx_Freeze/">cx_freeze</a>. cx_freeze is a really nifty utility that will take your python code, check the included libraries and package everything along with the current python version into an executable. Very cool! A bonus was that you would not even need python installed to run the tool since the interpreter is packaged in the executable. This also eliminated issues like python version incompatibilities and so on.</p>
<p>Step two was the decision to use <a title="SQLite embedded database" href="http://www.sqlite.org/">sqlite3</a> as the database. Since sqlite3 is an embedded database, you don&#8217;t need to have a database installed at all. Even better, there are standard modules to access sqlite3. In fact, it has been made a <a title="Whats new in Python 2.5" href="http://docs.python.org/whatsnew/modules.html#SECTION0001440000000000000000">part of the standard distribution</a> from Python 2.5 on.</p>
<p>The only dependency remaining was the web server. If I could use a pure python web server, I could simply hook up Django to it via <a title="PEP 333: WSGI" href="http://www.python.org/dev/peps/pep-0333/">WSGI</a> and include the whole lot in the executable. That is what I did. I used <a title="Tool Server for Python" href="http://pyds.muensterland.org/wiki/toolserver.html">ToofPy</a> with some modifications so that it is pre-configured to run Django.</p>
<p>When cx_freeze is run on this setup, it bundles together the web server, Django, sqlite3, the application code, and the python interpreter into an executable. The application is pre-configured to use the packaged sqlite3 database code and the web server is pre-configured to load Django.</p>
<p>The result?</p>
<p>Just run the executable and the server starts. Access the server via a browser and you go straight into the Silver Catalyst application. In fact, because there are no external dependencies, it is easy to think that it is a native application. But behind the scenes, it is all python and some cx_freeze magic. If you want to see for yourself what the final result was like, you can download a free version of the tool <a title="Download Silver Catalyst: Distributed Agile Tool" href="http://www.silverstripesoftware.com/download/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://toolsforagile.com/blog/archives/51/deploying-a-django-app-on-the-desktop/feed</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
		<item>
		<title>Django screencast: Create a wiki in 15 minutes</title>
		<link>http://toolsforagile.com/blog/archives/27/django-screencast-create-a-wiki-in-15-minutes</link>
		<comments>http://toolsforagile.com/blog/archives/27/django-screencast-create-a-wiki-in-15-minutes#comments</comments>
		<pubDate>Tue, 27 Feb 2007 12:59:26 +0000</pubDate>
		<dc:creator>siddharta</dc:creator>
				<category><![CDATA[django]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[screencast]]></category>

		<guid isPermaLink="false">http://www.silverstripesoftware.com/blog/archives/27</guid>
		<description><![CDATA[I had prepared a screencast for wikicamp on creating a wiki in fifteen minutes using Python and Django. I just finished uploading the screencast. Update : The screencast has moved here &#8211; Learn Django: Create a Wiki in 20 minutes]]></description>
			<content:encoded><![CDATA[<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Ftoolsforagile.com%2Fblog%2Farchives%2F27%2Fdjango-screencast-create-a-wiki-in-15-minutes&amp;layout=standard&amp;show_faces=no&amp;width=250&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:250px; height:25px"></iframe><p>I had prepared a screencast for wikicamp on creating a wiki in fifteen minutes using Python and Django. I just finished uploading the screencast.</p>
<p>Update : The screencast has moved here &#8211; <a href="http://showmedo.com/videos/video?name=1100000&amp;fromSeriesID=110">Learn Django: Create a Wiki in 20 minutes</a></p>
]]></content:encoded>
			<wfw:commentRss>http://toolsforagile.com/blog/archives/27/django-screencast-create-a-wiki-in-15-minutes/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

