mozilla

Revision 338471 of PyXPCOM

  • Revision slug: PyXPCOM
  • Revision title: PyXPCOM
  • Revision id: 338471
  • Created:
  • Creator: berkerpeksag
  • Is current revision? No
  • Comment

Revision Content

 

PyXPCOM allows for communication between Python and XPCOM, such that a Python application can access XPCOM objects, and XPCOM can access any Python class that implements an XPCOM interface. With PyXPCOM, a developer can talk to XPCOM or embed Gecko from a Python application. PyXPCOM is similar to JavaXPCOM (Java-XPCOM bridge) or XPConnect (JavaScript-XPCOM bridge).

Python classes and interfaces: Mozilla defines many external interfaces available to embeddors and component developers. PyXPCOM provides access to these interfaces as Python interfaces. PyXPCOM also contains several classes that provide access to functions for initializing and shutting down XPCOM and Gecko from Python, as well as some XPCOM helper functions.

Documentation

Building PyXPCOM
The instructions for building PyXPCOM.
Creating a Python XPCOM component
An example of how to create a simple XPCOM component with Python.
Getting to know PyXPCOM
PyXPCOM is a bridging technology between XPCOM and Python. This article gives you a head start to PyXPCOM.

NOTE: The links to Part II and III of this series are broken and I cannot find them on the IBM site. Please update this page if/when the links can be found.

View All...

History

PyXPCOM was initially developed by ActiveState Tool Corporation, and came out of their Komodo project. Current releases are now integrated with the Mozilla build system.

Other Resources
PythonExt - extension that provides PyXPCOM
Samples - demo applications using PyXPCOM

Community


Source Code

XPCOM
PyDOM: replace JavaScript with Python
Python-SpiderMonkey

Revision Source

<p>&nbsp;</p>
<div>
  <p><strong>PyXPCOM</strong> allows for communication between <a class="external" href="http://www.python.org/">Python</a> and <a href="/en/XPCOM" title="en/XPCOM">XPCOM</a>, such that a Python application can access XPCOM objects, and XPCOM can access any Python class that implements an XPCOM interface. With PyXPCOM, a developer can talk to XPCOM or embed <a href="/en/Gecko" title="en/Gecko">Gecko</a> from a Python application. PyXPCOM is similar to <a href="/en/JavaXPCOM" title="en/JavaXPCOM">JavaXPCOM</a> (Java-XPCOM bridge) or <a href="/en/XPConnect" title="en/XPConnect">XPConnect</a> (JavaScript-XPCOM bridge).</p>
  Python classes and interfaces: Mozilla defines many external interfaces available to embeddors and component developers. PyXPCOM provides access to these interfaces as Python interfaces. PyXPCOM also contains several classes that provide access to functions for initializing and shutting down XPCOM and Gecko from Python, as well as some XPCOM helper functions.</div>
<table class="topicpage-table">
  <tbody>
    <tr>
      <td>
        <h4 id="Documentation" name="Documentation"><a href="/Special:Tags?tag=PyXPCOM&amp;language=en" title="Special:Tags?tag=PyXPCOM&amp;language=en">Documentation</a></h4>
        <dl>
          <dt>
            <a href="/en/Building_PyXPCOM" title="en/Building_PyXPCOM">Building PyXPCOM</a></dt>
          <dd>
            <small>The instructions for building PyXPCOM.</small></dd>
        </dl>
        <dl>
          <dt>
            <a href="/en/Creating_a_Python_XPCOM_component" title="en/Creating_a_Python_XPCOM_component">Creating a Python XPCOM component</a></dt>
          <dd>
            <small>An example of how to create a simple <a href="/en/XPCOM" title="en/XPCOM">XPCOM</a> component with Python.</small></dd>
        </dl>
        <dl>
          <dt>
            <a class="external" href="http://www-128.ibm.com/developerworks/webservices/library/co-pyxp1/">Getting to know PyXPCOM</a></dt>
          <dd>
            <small>PyXPCOM is a bridging technology between XPCOM and Python. This article gives you a head start to PyXPCOM.</small></dd>
        </dl>
        <p><span class="comment">NOTE: The links to Part II and III of this series are broken and I cannot find them on the IBM site. Please update this page if/when the links can be found.</span></p>
        <p><span class="alllinks"><a href="/Special:Tags?tag=PyXPCOM&amp;language=en" title="Special:Tags?tag=PyXPCOM&amp;language=en">View All...</a></span></p>
        <h4 id="History" name="History">History</h4>
        <p>PyXPCOM was initially developed by <a class="external" href="http://www.activestate.com/">ActiveState Tool Corporation</a>, and <a class="external" href="http://aspn.activestate.com/ASPN/Downloads/Komodo/index/PyXPCOM/">came out</a> of their <a class="external" href="http://www.activestate.com/Products/Komodo">Komodo project</a>. Current releases are now <a class="external" href="http://public.activestate.com/pyxpcom/">integrated</a> with the Mozilla build system.</p>
        <p>Other Resources<br />
          <a class="external" href="http://pyxpcomext.mozdev.org/" title="http://pyxpcomext.mozdev.org/">PythonExt</a> - extension that provides PyXPCOM<br />
          <a class="external" href="http://pyxpcomext.mozdev.org/samples.html" title="http://pyxpcomext.mozdev.org/samples.html">Samples</a> - demo applications using PyXPCOM</p>
      </td>
      <td>
        <h4 id="Community" name="Community">Community</h4>
        <br />
        <ul>
          <li><a class="external" href="http://listserv.activestate.com/mailman/listinfo/pyxpcom">Python-XPCOM bindings mailing list (ActiveState)</a></li>
          <li><a class="link-irc" href="irc://irc.mozilla.org:6667/pyxpcom">#pyxpcom on irc.mozilla.org</a></li>
        </ul>
        <h4 id="Source_Code" name="Source_Code">Source Code</h4>
        <ul>
          <li>The PyXPCOM code is available here: <a class="external" href="http://hg.mozilla.org/pyxpcom/">http://hg.mozilla.org/pyxpcom/</a></li>
          <li>To build PyXPCOM, see <a href="/en/Building_PyXPCOM" title="en/Building_PyXPCOM">Building PyXPCOM</a>.</li>
        </ul>
        <h4 id="Related_Topics" name="Related_Topics">Related Topics</h4>
        <dl>
          <dd>
            <a href="/en/XPCOM" title="en/XPCOM">XPCOM</a></dd>
          <dd>
            <a href="/en/PyDOM" title="en/PyDOM">PyDOM</a>: replace JavaScript with Python</dd>
          <dd>
            <a class="external" href="http://code.google.com/p/python-spidermonkey/">Python-SpiderMonkey</a></dd>
        </dl>
      </td>
    </tr>
  </tbody>
</table>
Revert to this revision