Django Textmate Theme part two →

Google Summer of Code application

UPDATE: Err, wOOOt! My application was today officially accepted by Google and Django’s main developers. Thank you for your support and the confidence you have in me. – Hi. This weblog is about my summer of code 2007. Please look at my curriculum vitae to get to know me better.

My formal application for Google’s Summer of Code is as follows:

Django is one of the major web frameworks that emerged within the last years and created a solid user and developer base. It simplifies the development process by providing tools to reduce repetition, abstracting common web paradigms and still being hackable. Until today that attracted a wide section of programmers, from novices to pros.

As the code base is constantly moving towards the 1.0 release, more and more people are using Django to build small projects and websites, just as well as commercial applications like intranet services and content managment systems are realized with it, too. Good for them:

Reinventing the wheel with Django is perfectly easy – every Django beginner wrote a todo list or weblog applicaton :)
But this is not the end of the road for user participation. The community should be able to uncover more web ideas for contrib apps, combine the already written views and templates to more effecient apps and simply share their products with other users.

The implementation of a package system would lower the threshold for Django and Python beginners significantly because it reduces the hassle of the current installation procedure.

My task is to do the groundwork for an application which manages Django application packages and integrates tightly with the Django code.

The following steps should illustrate my considerations:

  1. Infrastructure (6 weeks)

    Define hooks in the Django code to standardized python modules (e.g. setuptools, distutils, py2exe, py2app etc.) because they solve a lot of software management problems such as dependency tracking and version management. Then implement generic packaging functionality for use via django-admin.py/manage.py: CRUD, upload, download, install package.

Example of a first-time installation of a Django app:

 <strong>tichy:~#</strong> django-admin.py package search Satchmo
    Found 1 package on djangoapps.com:
    1. satchmo - The webshop for perfectionists with deadlines.
<strong>tichy:~#</strong> django-admin.py package install satchmo
    Installation directory for satchmo? [/home/jannis/django/satchmo/]
    Installing satchmo (/home/jannis/django/satchmo/)........Done.
    Syncing sqlite database with initial data...Done.
    Running tests.... 0 errors found.
    Development server is running at http://127.0.0.1:8000/
    Quit the server with CONTROL-C.
  • Website (4 weeks)

    Build a community website with a searchable application repository (e.g. title, description, rating, user) and provide several download options (egg, tar.gz, zip, exe, app, deb, rpm etc.). Then build interface to commandline package management as defined by setuptools and distutils.
  • Documentation (2 weeks)

    Add documentation about using the package function of manage.py, the community website (e.g. djangoapps.com) and write a tutorial about making Django applications packable (e.g. by including package information in a package.py file in the root directory of a Django project or app).
  • Bonus

    Include support for version control systems like subversion or bazaar (bzr) to encourage active development on the community website. Nightly builds and application documentation are some of the possible features.
  • Google Summer of Code March 20, 2007, 6:25 p.m. comments (8)

    comments

    Jason Davies June 7, 2007, 4:47 p.m.

    Looking forward to this. I'm particularly interested in how it will integrate with distutils, etc.

    Jannis June 25, 2007, 6:03 p.m.

    Hi Jason, thanks for your comment.. didn't see it till now.
    Have a look at my current article, I think it describes some of my ideas.

    I currently plan to use setuptools since it brings the egg package format and will be in stdlib in python2.6.

    designer replica handbags July 31, 2010, 12:20 p.m.

    Armour, clothes than wild replica handbag or wild flowers roadside shop, make oneself long enough for $100, xiamen wild accessories, high. O shiny metallic lubricious replica handbags, hand catenary, diamond, concise air or. Nature can forms of entertainment.The stochastic modeling gold mirror replica handbag, luxurious easy and decent. Metal buckles locks, white replica handbags, founder professional etiquette. Other job of collected all the elements.

    Chicago mover Aug. 9, 2010, 3:17 p.m.

    Great info about Django.

    s-cape adjustable bed Aug. 13, 2010, 2:45 a.m.

    Good post! Very useful.

    800 numbers Aug. 15, 2010, 3:19 p.m.

    It is definitely a moment of joy when your hard work bears fruit especially when it is accepted by prestigious developers like Google and Django! He has meticulously worked out his worksheet – from the time he thinks it will take each step to be completed to what he intends t do, giving all details so that we will have an idea of his progress which will be very interesting for us so that we can keep tag of his work too!

    Coach outlet Aug. 19, 2010, 5:50 a.m.

    We couldn’t have asked for more! More than 10 new features and I think the best is the “full filtering and searching (w00t) which I am sure will get everyone excited!! It is really worth experimenting with, as I feel there is something in it for whoever tries

    chanel bags Sept. 1, 2010, 10:34 a.m.

    Welcome to fashion goods online store,
    jiemo