2008-10-15 6 views
8

Je suis intéressé par une entrée Python code pour parler au code Ruby sous Windows, Linux et éventuellement d'autres plateformes. En particulier, je voudrais accéder aux classes de Ruby à partir de Python et appeler leurs méthodes, accéder à leurs données, créer de nouvelles instances et ainsi de suite.Ruby to Python bridge

Une façon évidente de faire ceci est via quelque chose comme XML-RPC ou peut-être CORBA mais je serais intéressé par d'autres approches.

Qu'ont fait d'autres personnes pour que le code de Python et de Ruby communique entre eux, soit localement sur le même système, soit à distance sur un réseau?

Merci d'avance.

+1

Je voudrais une motivation ou une explication de pourquoi vous avez besoin de faire cela. – Jonke

Répondre

4

Eh bien, vous pouvez essayer named pipes ou quelque chose de similaire, mais je pense vraiment que XML-RPC serait le moyen le plus sans maux de tête.

+0

Je pense que votre droite, xml-rpc est probablement ma meilleure option. – QAZ

3

S'il vous plaît noter que je ne parle pas d'expérience personnelle ici, mais j'imagine JRuby et Jython (Les implémentations de ruby ​​et python dans la JVM) seraient capables de se parler facilement, ainsi que du code Java . Vous voudrez peut-être examiner cela.

+0

Cela semble intéressant, est-ce que quelqu'un a de l'expérience avec ça? – monkut

+0

Oui, j'aime l'idée de tout ce qui opère dans le même jvm et comme un pont «natif» entre eux. suggestion intéressante nemo, merci. – QAZ

1

Exposez vos classes Ruby en tant que services Web à l'aide de Sinatra, Rails ou, tout simplement vieux Rack.

Exposez vos classes Python en tant que services Web à l'aide de web.py, flask, Django ou App Engine.

Utilisez HTTParty for Ruby pour créer une API dans vos classes Python.

Utilisez une bibliothèque Python REST pour créer une API dans vos classes Ruby.

Questions connexes