about.html 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <title>About Py4J &mdash; Py4J</title>
  7. <link rel="stylesheet" href="_static/py4jdoc.css" type="text/css" />
  8. <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
  9. <script type="text/javascript">
  10. var DOCUMENTATION_OPTIONS = {
  11. URL_ROOT: './',
  12. VERSION: '0.8.1',
  13. COLLAPSE_MODINDEX: false,
  14. FILE_SUFFIX: '.html',
  15. HAS_SOURCE: 'true'
  16. };
  17. </script>
  18. <script type="text/javascript" src="_static/jquery.js"></script>
  19. <script type="text/javascript" src="_static/underscore.js"></script>
  20. <script type="text/javascript" src="_static/doctools.js"></script>
  21. <link rel="author" title="About these documents" href="#" />
  22. <link rel="top" title="Py4J" href="index.html" />
  23. <script type="text/javascript">
  24. var _gaq = _gaq || [];
  25. _gaq.push(['_setAccount', 'UA-18626179-1']);
  26. _gaq.push(['_trackPageview']);
  27. (function() {
  28. var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  29. ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  30. var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  31. })();
  32. </script>
  33. </head>
  34. <body>
  35. <div class="page">
  36. <div class="banner">Py4J - A Bridge between Python and Java</div>
  37. <div class="related">
  38. <h3>Navigation</h3>
  39. <ul>
  40. <li class="right" style="margin-right: 5px">
  41. <a href="genindex.html" title="General Index"
  42. accesskey="I">index</a></li>
  43. <li class="right" >
  44. <a href="py-modindex.html" title="Python Module Index"
  45. >modules</a> |</li>
  46. <li><a href="index.html">Home</a> |</li>
  47. <li><a href="download.html">Download</a> |</li>
  48. <li><a href="contents.html">Doc</a> |</li>
  49. <li><a href="https://blog.py4j.org">Blog</a> |</li>
  50. <li><a href="https://github.com/bartdag/py4j">github</a> |</li>
  51. <li><a href="#">About</a> &raquo;</li>
  52. </ul>
  53. </div>
  54. <div class="sphinxsidebar">
  55. <div class="sphinxsidebarwrapper">
  56. <h3><a href="contents.html">On This Page</a></h3>
  57. <ul>
  58. <li><a class="reference internal" href="#">About Py4J</a></li>
  59. <li><a class="reference internal" href="#license">License</a></li>
  60. <li><a class="reference internal" href="#alternatives-to-py4j">Alternatives to Py4J</a></li>
  61. </ul>
  62. <h3>This Page</h3>
  63. <ul class="this-page-menu">
  64. <li><a href="_sources/about.txt"
  65. rel="nofollow">Show Source</a></li>
  66. </ul>
  67. <div id="searchbox" style="display: none">
  68. <h3>Quick search</h3>
  69. <form class="search" action="search.html" method="get">
  70. <input type="text" name="q" size="18" />
  71. <input type="submit" value="Go" />
  72. <input type="hidden" name="check_keywords" value="yes" />
  73. <input type="hidden" name="area" value="default" />
  74. </form>
  75. <p class="searchtip" style="font-size: 90%">
  76. Enter search terms or a module, class or function name.
  77. </p>
  78. </div>
  79. <script type="text/javascript">$('#searchbox').show(0);</script>
  80. </div>
  81. </div>
  82. <div class="document">
  83. <div class="documentwrapper">
  84. <div class="bodywrapper">
  85. <div class="body">
  86. <div class="section" id="about-py4j">
  87. <h1>About Py4J<a class="headerlink" href="#about-py4j" title="Permalink to this headline">¶</a></h1>
  88. <p>Py4J is developed by <a class="reference external" href="http://www.infobart.com">Barthélémy Dagenais</a>. The
  89. goal is to enable developers to program in Python and benefit from Python
  90. libraries such as <a class="reference external" href="http://lxml.de">lxml</a> while being able to
  91. reuse Java libraries and frameworks such as <a class="reference external" href="http://www.eclipse.org">Eclipse</a>. You can see Py4J as an hybrid between a glorified
  92. Remote Procedure Call and using the Java Virtual Machine to run a Python
  93. program.</p>
  94. </div>
  95. <div class="section" id="license">
  96. <h1>License<a class="headerlink" href="#license" title="Permalink to this headline">¶</a></h1>
  97. <p>Py4J is distributed under the <a class="reference external" href="https://github.com/bartdag/py4j/blob/master/LICENSE.txt">BSD license</a>.</p>
  98. </div>
  99. <div class="section" id="alternatives-to-py4j">
  100. <h1>Alternatives to Py4J<a class="headerlink" href="#alternatives-to-py4j" title="Permalink to this headline">¶</a></h1>
  101. <p>As opposed to <a class="reference external" href="http://www.jython.org/">Jython</a>, Py4J does not execute the
  102. Python code in the JVM so it does not need to reimplement the Python language
  103. and developers can use any libraries supported by their Python interpreter such
  104. as libraries written in Cython. Py4J is more focused than <a class="reference external" href="http://jpype.sourceforge.net/index.html">JPype</a>. For example, it does not attempt
  105. to link Python threads to Java threads. JPype also uses JNI to communicate with
  106. the JVM while Py4J uses plain old sockets, which are more portable in practice.</p>
  107. <p>In terms of performance, Py4J has a bigger overhead than both of the previous
  108. solutions because it relies on sockets, but if performance is critical to your
  109. application, accessing Java objects from Python programs might not be the best
  110. idea :-) If you have a particular use case that you want to speed up with Py4J,
  111. do not hesitate to write on the mailing list or open an issue and we&#8217;ll see
  112. what we can do.</p>
  113. </div>
  114. </div>
  115. </div>
  116. </div>
  117. <div class="clearer"></div>
  118. </div>
  119. <div class="related">
  120. <h3>Navigation</h3>
  121. <ul>
  122. <li class="right" style="margin-right: 5px">
  123. <a href="genindex.html" title="General Index"
  124. >index</a></li>
  125. <li class="right" >
  126. <a href="py-modindex.html" title="Python Module Index"
  127. >modules</a> |</li>
  128. <li><a href="index.html">Home</a> |</li>
  129. <li><a href="download.html">Download</a> |</li>
  130. <li><a href="contents.html">Doc</a> |</li>
  131. <li><a href="https://blog.py4j.org">Blog</a> |</li>
  132. <li><a href="https://github.com/bartdag/py4j">github</a> |</li>
  133. <li><a href="#">About</a> &raquo;</li>
  134. </ul>
  135. </div>
  136. <div class="footer">
  137. &copy; Copyright 2009-2013, Barthélémy Dagenais.
  138. Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.3.1.
  139. </div>
  140. </div>
  141. </body>
  142. </html>