2008-10-15 12 views
8

Estoy interesado en obtener algún código de Python para hablar con algún código de Ruby en Windows, Linux y posiblemente en otras plataformas. Específicamente, me gustaría acceder a las clases en Ruby desde Python y llamar a sus métodos, acceder a sus datos, crear nuevas instancias, etc.Ruby to Python bridge

Una forma obvia de hacer esto es a través de algo como XML-RPC o tal vez CORBA pero me interesaría cualquier otro enfoque.

¿Qué han hecho otras personas para obtener el código de Python y Ruby comunicándose entre sí, ya sea localmente en el mismo sistema o de forma remota a través de una red?

Gracias de antemano.

+1

Me gustaría obtener alguna motivación o explicación de por qué necesita hacer esto. – Jonke

Respuesta

4

Bueno, podrías probar named pipes o algo similar pero realmente creo que XML-RPC sería la forma más libre de dolores de cabeza.

+0

Creo que a su derecha, xml-rpc es probablemente mi mejor opción. – QAZ

3

Tenga en cuenta que no hablo por experiencia personal aquí, pero imagino que JRuby y Jython (las implementaciones de ruby ​​y python en la JVM) podrían comunicarse fácilmente entre sí, así como el código de Java . Es posible que desee investigar eso.

+0

Esto suena interesante, ¿Alguien tiene experiencia con esto? – monkut

+0

Sí, me gusta la idea de que todo funcione en el mismo jvm y como un puente 'nativo' entre ellos. sugerencia interesante nemo, gracias. – QAZ

1

Exponga sus clases de Ruby como servicios web utilizando Sinatra, Rails o, simple viejo Rack.

Exponga sus clases de Python como servicios web utilizando web.py, matraz, Django o App Engine.

Utilice HTTParty para Ruby para crear una API en sus clases de Python.

Utilice una biblioteca REST de Python para crear una API en sus clases de Ruby.