Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Pythomnic, Development Environment for Python

Hemos posted more than 8 years ago | from the watch-out-they-bite dept.

18

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. "

cancel ×

18 comments

Sorry! There are no comments related to the filter you selected.

Too bad Slashdot doesn't work like K5 (3, Interesting)

hey! (33014) | more than 8 years ago | (#14858328)

Otherwise I'd have given editorial advice, e.g.

(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]

Re:Too bad Slashdot doesn't work like K5 (1, Funny)

Anonymous Coward | more than 8 years ago | (#14860090)

I used to hang out on K5. I think they're the only people around who think that phrases like "compare and contrast" are ever supposed to be used outside of school.

This guy must have worked in marketing... (0, Funny)

Anonymous Coward | more than 8 years ago | (#14858410)

Recognizing the building as a process in time, Pythomnic focuses on creating an environment in which fault tolerant redundant services can be built.

Is it also going to help me leverage my synergy?

Re:This guy must have worked in marketing... (1)

heinousjay (683506) | more than 8 years ago | (#14858544)

We mock what we don't understand.

Re:This guy must have worked in marketing... (0)

Anonymous Coward | more than 8 years ago | (#14862531)

"Fault tolerant redundant services" is not exactly marketing speak.
If you don't know what it means, then I can only assume you're a PHP "developer"

Re:This guy must have worked in marketing... (0)

Anonymous Coward | more than 8 years ago | (#14864531)

I was more referring to the "recognizing the building as a process in time" bit, I just copied the whole sentence. By the way, if we were in a bar I'd hit you for the PHP remark. Python is actually my language of choice, although I know quite a few. I'm well aware of what Pythonmic does, it's just that quite a bit of the site uses language such as I pointed out.

Re:This guy must have worked in marketing... (0)

Anonymous Coward | more than 8 years ago | (#14870768)

> By the way, if we were in a bar I'd hit you for the PHP remark. ...and I'd deserve it ;)

More info??? (4, Interesting)

Evardsson (959228) | more than 8 years ago | (#14858673)

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.

Re:More info??? (1)

tgt (599351) | more than 8 years ago | (#14864575)

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
because it's answering different questions altogether. Pythomnic does NOT in fact focus an a particular task of building templated web sites. It focuses on _building_fault-tolerant_services. Just building just any services, and if you want you can easily add fault-tolerance.

Re:More info??? (1)

Evardsson (959228) | more than 8 years ago | (#14864687)

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?

Re:More info??? (1)

tgt (599351) | more than 8 years ago | (#14864909)

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 separate project is simple as soon as (for now, anyhow) Pythomnic uses RPC over pickle for internode communication, the simplest way you can call running Pythomnic is
from cPickle import dump as pickle, load as unpickle
from socket import socket, AF_INET, SOCK_STREAM

module = "module"
method = "method"
args = ("arg1", "arg2")
kwargs = { "foo" : "bar" }

s = socket(AF_INET, SOCK_STREAM)
s.connect(("123.45.67.89", 7198))
r, w = s.makefile("r"), s.makefile("w")

pickle(((module, method), args, kwargs), w)
w.flush()
result = unpickle(r)
if isinstance(result, Exception): raise result
But then again, Pythomnic is not valuable without your stuff in it, it just offers a place to grow your modules, and so you will have to migrate some stuff to Pythomnic and conform to its rules.

Not a Development Environment (4, Informative)

TeamSPAM (166583) | more than 8 years ago | (#14859066)

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.

Re:Not a Development Environment (3, Informative)

znerd (83191) | more than 8 years ago | (#14859624)

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.

Re:Not a Development Environment (2, Informative)

TeamSPAM (166583) | more than 8 years ago | (#14861238)

XINS does appear to be a close java equivilent compare to my examples. Either way I read the title and description which lead me to think this was an IDE for Python.

Re:Not a Development Environment (1)

tgt (599351) | more than 8 years ago | (#14864952)

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.

An alternate approach... (0)

Anonymous Coward | more than 8 years ago | (#14862922)

"To complete the picture, a handful of syntactically transparent fault tolerance templates make easy to write fault-tolerant code."

... Or; you could try writing it correctly from the beginning.

Comments from the author (5, Informative)

tgt (599351) | more than 8 years ago | (#14864489)

First of all, thank you for attention.

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.

Re:Comments from the author (1)

Rojar North (916524) | more than 8 years ago | (#14871392)

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.

Good luck to you.
Check for New Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>