Posted
by
Hemos
on Monday March 06, 2006 @10:52AM
from the watch-out-they-bite dept.

Dmitry Dvoinikov writes "Just released is a conceptual middleware development environment in (and for) Python called Pythomnic ("Pitomnik" is a Russian for "breeding nursery, reserve"). Recognizing the building as a process in time, Pythomnic focuses on creating an environment in which fault tolerant redundant services can be built. Pythomnic is designed so that source code updates, releases and reconfigurations are made at runtime without any visible service interruption. Likewise, external systems (ex. databases) can be switched at will, with no request lost. Multiple Pythomnic instances running on different machines call each other transparently, thus provoking distribution and redundancy. To complete the picture, a handful of syntactically transparent fault tolerance templates make easy to write fault-tolerant code. "

(1) Compare and contrast with familiar frameworks and platforms or explain why such a comparison can't be made. For example, I think it would make a lot of sense to compare this to J2EE. If Zope is Python's Tomcat, then is this intended to be Python's J2EE?

(2) Delineate the limits of what this is meant to do for you. This would tell what other parts need to work in concert with this. For example, I notice this google search returns no hits: security site: http://www.pythomnic.org/ [pythomnic.org]

The entire site left me wanting nothing more than a little more info. There is one "live demo" piece - that uses a connector that is not currently included in the project. There is very little to tell me why I would choose this over any other middleware solution, such as TurboGears or Django or . ...
The only thing that really piqued my interest is the inclusion of Py-Fate - but why do I need the rest? I don't think the case was made. If, however, Py-Fate does all that it purports to - well, that would be a handy tool to have.

Agree. The demo is not spectacular, besides the "spread the word link" also points to it. A powerpoint slide show would be better. But, it's a service, it's by definition an invisible piece of software that just keeps running.

The ICQ connector is not available because it's designed to send massive volumes of ICQ message and contributing to spam (ICQ spam for this matter) is the last thing I want to do.

why I would choose this over any other middleware solution, such as TurboGears or Django

I apologize. I must have misread the information - I got the idea that the fault-tolerance was handled solely by Py-Fate. As the majority of my development leans toward N-Tiered web-enabled applications that's just the first place my head goes. o_O
So how would this tie into an existing TurboGears based project? Can it be plugged in without causing too much pain or is it something you would recommend starting from scratch with?

So how would this tie into an existing TurboGears based project? Can it be plugged in without causing too much pain or is it something you would recommend starting from scratch with?

Switching to a different environment/framework/library is always painful and Pythomnic is no exception. I doubt if there is anything designed specifically for managing modules written for other systems (other than may be vmware). Therefore, yes, it's better to start from scratch. Connecting to Pythomnic from another totally s

While this may be an interesting project, it is not a development environment. It appears to be a framework/library for building services. If this were java, then this project would be similar to tomcat or jboss.

In fact it would be more like XINS [sourceforge.net], which is a framework that runs within a Java environment (Tomcat, JBoss, etc.) which also supports automatic load-balancing, fail-over, without losing requests, lossless re-initialization, etc. etc.

This would bring Python to a new level of professional server-side applications.

This is an unfortunate outcome of trying to squeeze Pythomnic, Python and Development into a short Slashdot story title. There is only place for one word left and Environment is not the right one, I agree.

Now, I will try to answer some of the above question and explain my point.

This projects is a live development environment (you may call it framework or library) which simply grew out of my own personal development needs. As I do development of business-oriented services, it answers some of the real questions.

For example, "... Or; you could try writing it correctly from the beginning." is wrong. Have you ever written anything which was right from the start or would not have to be changed ever ? On the other hand, have you ever faced a need to restart a busy live service for upgrade because there is a typo in a wording ?

This leads the first (out of the two) Pythomnic principles - simplify _building_ (introducing new stuff and fixind existing). You can change the source code on the fly and reconfigure the thing without stopping the service, moreover without any visible service interruption.

Py-Fate is useful indeed, thank you. It's the second major Pythomnic principle - be ready for failures as they are inevitable and design accordingly. It can be used as a separate project (which it is - in fact a single Python module), but it fits Pythomnic making it more useful.

As to the lack of useful stuff, agree 100%, but please, this is one person project release 1.0. If you would like to contribute, you are sure welcome. The information on the site is covering everything, but it's certainly not written in marketing language (I never worked in marketing). If you have questions, please feel free to ask (e-mail or forum).

I will be continuing the project, because I feel the project is answering the right questions. You may contribute, or you can help with design [htthost.com] or you can just consider it to be a concept at this moment and keep an eye on it.

Pythomnic surely looks useful, thanks for your work. But I agree it's a bit too much for a single person. Some additional functionality would help as well as additional marketing:) You can try to cooperate with other synergetic projects out there (python or not). That would make yours and theirs life easier.