Package pyxmpp
[hide private]

Source Code for Package pyxmpp

 1  # 
 2  # (C) Copyright 2003-2010 Jacek Konieczny <jajcus@jajcus.net> 
 3  # 
 4  # This program is free software; you can redistribute it and/or modify 
 5  # it under the terms of the GNU Lesser General Public License Version 
 6  # 2.1 as published by the Free Software Foundation. 
 7  # 
 8  # This program is distributed in the hope that it will be useful, 
 9  # but WITHOUT ANY WARRANTY; without even the implied warranty of 
10  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
11  # GNU Lesser General Public License for more details. 
12  # 
13  # You should have received a copy of the GNU Lesser General Public 
14  # License along with this program; if not, write to the Free Software 
15  # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 
16  # 
17   
18  """ 
19  PyXMPP - Jabber/XMPP protocol implementation 
20  ============================================ 
21   
22  Conventions 
23  ----------- 
24   
25  PyXMPP is object-oriented, most of its fetures are implemented via classes, 
26  defined in various pyxmpp modules. The API is very asynchronous -- often 
27  requested objects are not returned immediately, but instead a callback is 
28  called when the object is available or an event occurs. 
29   
30  As python is not a strongly-typed language so the parameter and attribute types 
31  shown in this documentation are not enforced, but those types are expected by 
32  the package and others may simply not work or stop working in future releases 
33  of PyXMPP. 
34   
35  Module hierarchy 
36  ................ 
37   
38  Base XMPP features (`RFC 3920 <http://www.ietf.org/rfc/rfc3920.txt>`__, `RFC 
39  3921 <http://www.ietf.org/rfc/rfc3921.txt>`__) are implemented in direct 
40  submodules of `pyxmpp` package. Most `JSF <http://www.jabber.org>`__ defined 
41  extensions are defined in `pyxmpp.jabber` package and modules for server 
42  components are placed in `pyxmpp.jabberd`. 
43   
44  For convenience most important names (classes for application use) may be 
45  imported into `pyxmpp`, `pyxmpp.jabber` or `pyxmpp.jabberd` packages. To do 
46  that `pyxmpp.all`, `pyxmpp.jabber.all` or `pyxmpp.jabberd.all` must be 
47  imported. One doesn't have to remember any other module name then. 
48   
49  Constructors 
50  ............ 
51   
52  Most of PyXMPP object constructors are polymorphic. That means they accept 
53  different types and number of arguments to create object from various input. 
54  Usually the first argument may be an XML node to parse/wrap into the object 
55  or parameters needed to create a new object from scratch. E.g. 
56  `pyxmpp.stanza.Stanza` constructor accepts single `libxml2.xmlNode` argument 
57  with XML stanza or set of keyword arguments (from_jid, to_jid, stanza_type, 
58  etc.) to create such XML stanza. Most of the constructors will also accept 
59  instance of their own class to create a copy of it. 
60   
61  Common methods 
62  .............. 
63   
64  Most objects describing elements of the XMPP protocol or its extensions have 
65  method as_xml() providing their XML representations. 
66  """ 
67   
68   
69  __docformat__="restructuredtext en" 
70   
71  # vi: sts=4 et sw=4 
72