A little birdie let me know that there are a group of folks that are going to take a run at using the Drupal project as a template to re-work the same system in Python.
Do you have thoughts on what you would do differently in Python? Are there specific language features that would do interesting things? Any ideas on Drupal in Python (DIP?), please leave a reference in the comments.
In kicking around this idea the other day, I was thinking about if there is a way to bridge to PHP from Python. That is, could you clone the Drupal APIs and then run a PHP-based (native) Drupal module in a Python framework?
Note: the group is actually private, and doesn't want any publicity at this point. I'm hoping to use this blog post to draw some attention to different concepts, without flooding them with people.
Update: this is a beginner project, so think of this more as exploratory coding than a hard core undertaking. *However* -- I think this will kick off some interesting discussion: I encourage people to do some research and tag stuff with "Drupal in Python" to keep the discussion going.
Comments
Great!
I think drupal in python is a great idea. Including porting all the design flaws, the lack of MVC, proper widgets and all other mistakes.
Some reasons why I believe having a drupal 7 in python is a great idea:
On average python developers and php developers differ a lot and that's a plus here. I see many people from stricter languages like c++ or java move to python, whereas php developers often come from cgi, html/css, asp, or just learn php because there's so many usable web applications out there. Extending the drupal community with python developers and vice versa is a win imho.
Python frameworks like pylons, turbogears and django profited from work done by the ruby community and I'm sure that now those three (and others) grew up, ruby profits from the python community. The same could happen here.
The fact that internally drupal doesn't feel like the zen of python does not mean that new python plugins shouldn't be written pythonic or use something great like sqlalchemy.
Lots of thinking, documenting, designing and implementing is done by the php/drupal community. The documentation work, usability research, translation work, etc. is all done on the php/drupal side and directly usable on the python/drupal side. Not to mention the fact that php modules are 'easily' ported to python plugins.
I took a peek at the code of drupy and expected at least sqlalchemy in there, together with some major refactoring of the core of drupal. But I was pleasantly surprised that it's almost copied line for line without using too much steroids python has available so that core maintenence will be easy.
I do agree that drupal is far from elegant, but thanks to its community, there are many quality plugins. It is hard to ignore drupal as a web framework when you just want to get stuff done.
Keep up the good work!
Drupy does in fact Exist
Have a look at the Drupy project which can be found here: http://drupy.net . We have been working hard to get a working release. It wont be long until we have something. Come by the IRC chan and say hi sometime.
drupy lives!
yup
the problem with python is
the problem with python is still the integration (or lack of) with apache
you end up in plone/zope land
the concept of drupal as python is great but there are a number of frameworks already doing this that probably do it better using correct python-OO friendly methods
zope
plone
django
Interesting
Of those three....only plone is an actual CMS out of the box. And it sits on top of Zope, so you have to write in Zope to further extend it.
Basing a "Drupal clone" on Django or Turbogears might make sense.
I agree with other comments in the thread that the Drupal community is probably the hardest to replicate.
Python
Personally I would love to see a Drupal like CMS written in Python - especially if it had a community like Drupals. Replicating Drupals community is a bigger harder job than replicating Drupals design though. I'm not a Python expert by any means, but I have played around with Turbogears a little bit. Although Rails is more mature with a better 3rd party ecosystem and has far more momentum, IMO I think if Turbogears/Pylons can attract a bigger development community they could possibly produce a better platform.
Things about where Python is heading that I like:
Things I liked about Turbogears that could be useful in a Drupal like CMS:
I'm sure I'll think of some more stuff later :)
--
Cheers
Anton
Doesn't make much sense
Drupal in Python? Why? Doesn't make much sense.
If someone likes Drupal and would like to have a similar CMS on Python, well, that's a very nice job. Go on and study Drupal deeply so that you can assimilate the great ideas. And go further, of course.
But... replicate Drupal entirely in another platform? (by the way, a less popular one) Should Drupal deficiencies and mistakes be replicated too?
Uhm, really?
Think of it as a design challenge
I think it's an interesting design challenge. It forces you think about why certain choices were made in one language, and then apply that in a new language. What you end up with may very well be something completely different from Drupal indeed.
Also, I don't think we should start arguing language popularity :P Python has some very interesting features, and I think you can definitely say it's a more "elegant" language.