Package pyxmpp

[hide private]

# Package pyxmpp

source code

PyXMPP is object-oriented, most of its fetures are implemented via classes, defined in various pyxmpp modules. The API is very asynchronous -- often requested objects are not returned immediately, but instead a callback is called when the object is available or an event occurs.

As python is not a strongly-typed language so the parameter and attribute types shown in this documentation are not enforced, but those types are expected by the package and others may simply not work or stop working in future releases of PyXMPP.

# Module hierarchy

Base XMPP features (RFC 3920, RFC 3921) are implemented in direct submodules of pyxmpp package. Most JSF defined extensions are defined in pyxmpp.jabber package and modules for server components are placed in pyxmpp.jabberd.

For convenience most important names (classes for application use) may be imported into pyxmpp, pyxmpp.jabber or pyxmpp.jabberd packages. To do that pyxmpp.all, pyxmpp.jabber.all or pyxmpp.jabberd.all must be imported. One doesn't have to remember any other module name then.

# Constructors

Most of PyXMPP object constructors are polymorphic. That means they accept different types and number of arguments to create object from various input. Usually the first argument may be an XML node to parse/wrap into the object or parameters needed to create a new object from scratch. E.g. pyxmpp.stanza.Stanza constructor accepts single `libxml2.xmlNode` argument with XML stanza or set of keyword arguments (from_jid, to_jid, stanza_type, etc.) to create such XML stanza. Most of the constructors will also accept instance of their own class to create a copy of it.

# Common methods

Most objects describing elements of the XMPP protocol or its extensions have method as_xml() providing their XML representations.

Submodules | [hide private]

- pyxmpp._xmlextra: Special libxml2 extensions for PyXMPP internal use.
- pyxmpp.all: Convenience module containing most important objects from pyxmpp package.
- pyxmpp.cache: Caching proxy for Jabber/XMPP objects.
- pyxmpp.client: Basic XMPP-IM client implementation.
- pyxmpp.clientstream: Client stream handling.
- pyxmpp.error: XMPP error handling.
- pyxmpp.exceptions: PyXMPP exceptions.
- pyxmpp.expdict: Dictionary with item expiration.
- pyxmpp.interface: Interface API.
- pyxmpp.interface_micro_impl: Interface API, minimal implementation.
- pyxmpp.interfaces: Interfaces for flexible API extensions.
- pyxmpp.iq: Iq XMPP stanza handling
- pyxmpp.jabber: JSF defined XMPP extension and legacy Jabber protocol elements
  - pyxmpp.jabber.all: Convenience module containing most important objects from pyxmpp.jabber package.
  - pyxmpp.jabber.client: Basic Jabber client functionality implementation.
  - pyxmpp.jabber.clientstream: XMPP stream support with fallback to legacy non-SASL Jabber authentication.
  - pyxmpp.jabber.dataforms: Jabber Data Forms support.
  - pyxmpp.jabber.delay: Delayed delivery mark (jabber:x:delay) handling.
  - pyxmpp.jabber.disco: Jabber Service Discovery support.
  - pyxmpp.jabber.muc: Jabber Multi-User Chat implementation.
  - pyxmpp.jabber.muccore: Jabber Multi-User Chat implementation.
  - pyxmpp.jabber.register: In-band registration (jabber:iq:register) handling.
  - pyxmpp.jabber.simple: Simple API for simple things like sendig messages or single stanzas.
  - pyxmpp.jabber.vcard: Jabber vCard and MIME (RFC 2426) vCard implementation.
- pyxmpp.jabberd: Facilities for jabber server implementation specific features, like components.
  - pyxmpp.jabberd.all: Convenience module containing most important objects fr pyxmpp.jabberd package.
  - pyxmpp.jabberd.component: Jabberd external component interface (jabber:component:accept).
  - pyxmpp.jabberd.componentstream: Component (jabber:component:accept) stream handling.
- pyxmpp.jid: jid -- Jabber ID handling
- pyxmpp.message: Message XMPP stanza handling
- pyxmpp.objects: General base classes for PyXMPP objects.
- pyxmpp.presence: Presence XMPP stanza handling
- pyxmpp.resolver: DNS resolever with SRV record support.
- pyxmpp.roster: XMPP-IM roster handling.
- pyxmpp.sasl: SASL authentication implementaion for PyXMPP.
  - pyxmpp.sasl.core: Base classes for PyXMPP SASL implementation.
  - pyxmpp.sasl.digest_md5: DIGEST-MD5 authentication mechanism for PyXMPP SASL implementation.
  - pyxmpp.sasl.external: External SASL authentication mechanism for PyXMPP SASL implementation.
  - pyxmpp.sasl.gssapi: GSSAPI authentication mechanism for PyXMPP SASL implementation.
  - pyxmpp.sasl.plain: PLAIN authentication mechanism for PyXMPP SASL implementation.
- pyxmpp.stanza: General XMPP Stanza handling.
- pyxmpp.stanzaprocessor: Handling of XMPP stanzas.
- pyxmpp.stream: Generic XMPP stream implementation.
- pyxmpp.streambase: Core XMPP stream functionality.
- pyxmpp.streamsasl: SASL support XMPP streams.
- pyxmpp.streamtls: TLS support for XMPP streams.
- pyxmpp.utils: Utility functions for the pyxmpp package.
- pyxmpp.version
- pyxmpp.xmlextra: Extension to libxml2 for XMPP stream and stanza processing
- pyxmpp.xmppstringprep: Nodeprep and resourceprep stringprep profiles.

Variables | [hide private]

| __package__ = `None` hash(x)

Imports: jabberd, jabber, jid