General Information

PyKDE4 is a set of Python bindings for KDE4's kdelibs. It includes the modules kdecore, solid, kdeui, kio, kparts, kutils, and khtml.

PyKDE4 should be installed in a path known to Python (usually /usr/lib/python/site-packages). PyKDE4/ is the top level directory for all PyKDE4 modules, so an import statement and code references must look like:

from PyKDE4.kdeui import KApplication
...
app = KApplication ()

or:

import PyKDE4.kdeui
...
app = PyKDE4.kdeui.KApplication ()

Other forms are also possible. The form:

from PyKDE4.kdeui import *

is not recommended, as there may be clashes between object names in the various PyKDE4 modules.

Versions and Numbering

Releases of the tarball versions of PyKDE4 are numbered as follows:

PyKDE4
All PyKDE4 versions begin with 'PyKDE4'
X.Y.Z
A version number corresponding to the highest KDE version supported (see below)
blank or #
nothing for the first release for a KDE version, otherwise a sequential number for subsequent update releases for the same KDE version (bugfixes or new features)

For example, the first three releases have been PyKDE4-4.0.0 (the initial release), PyKDE4-4.0.0-1 (a bug fix release of 4.4.0) and PyKDE4-4.0.2 (initial release against KDE 4.0.2 - has some bug fixes in this case). The ChangeLog in the top level directory outlines changes made between versions.

NOTE: The PyKDE4 tarballs should build against any KDE4 release - the files include version information to generate correct code for the detected installed KDE version. The KDE svn source (kdebindings) may or may not include version information, and will likely only build against the KDE version it was released with. So in the future, the PyKDE4-4.5.6 tarball sources should still build correctly against KDE 4.0.0.

Presently, PyKDE4 is only tested against the most recent KDE, sip, Qt and PyQt versions at the time of release. However, failure to build against an earlier version should be considered a bug and reported. Also, changes to KDE do occur that may prevent PyKDE4 versions from building against future KDE versions (for example, PyKDE4-4.0.2 should build against KDE 4.1.0, but may not, depending on changes in KDE).

NOTE: Compatibility with older sip or PyQt versions is not guaranteed. In fact, incompatible sip revisions sometimes are necessary to support new PyKDE4 features.

PyKDE4 Components

kdecore

kdecore contains classes for handling non-graphical needs of PyKDE4 applications, basic program information (KAboutData, KCmdLineArgs), URL handling (KUrl, KMimetype), date and time (KDateTime), file operations (KAutoSaveFile, KSaveFile), localization and translation (KLocale, KLocalizedString, i18n, ki18n), one config file mechanism (KConfig) and access to KService related mechanisms.

solid

solid contains classes for discovering the hardware and hardware capabilities on a system

kdeui

kdeui is the largest module in PyKDE4 and includes the classes necessary to create a KDE4/PyKDE4 application (KApplication, KUniqueApplication) and its main window (KMainWindow, KXmlGuiWindow), classes for actions (KAction, the KStandardAction namespace) most of the KDE4 widgets, pre-written or reusable dialogs and the base class for KDE4 dialogs (KDialog, KMessageBox, KColorDialog) and an alternative config file mechanism (KConfigSkeleton).

kio

The kio module includes classes to interact with and intiate KIO slaves (KIO:Job and descendants, KIO.NetAccess). It also contains the KFile* classes, including those which pop up file or directory selection dialogs, and a bookmark handling class (KBookmark and releated).

kparts

kparts includes classes to allow you to embed KParts in your application (creating a reusable KPart requires C++). It also includes classes that add capabilities to KHTMLPart (BrowserExtension, BrowserHostExtension).

kutils

kutils is a small module that includes some utility classes.

khtml

khtml includes classes (KHTMLPart, KHTMLView) that allow you to build a web browser into your application. This module also includes and extensive set of classes for DOM handling.

License

GNU General Public License (GPL)

GNU Lesser General Public License (LGPL)

Creative Commons License

PyKDE4 librairies are licensed under the GNU Library (or "Lesser") General Public License (LGPL) version 2. That means non-open source software can use and link to the PyKDE4 libraries, as long as no substantial modifications are made to those libraries. A copy of the LGPL license should have been included with PyKDE4 in the file COPYING.LESSER. If not, you can find a copy online at the GNU web site or follow the links above.

The PyKDE4 documentation viewer code (pykdedocs) and example code produced by the PyKDE4 authors are licensed under the GNU General Public License (GPL) version 2. Tutorials and other text information produced by the PyKDE4 authors is licensed under the Creative Commons Public License (CCPL - the "share-alike" license - see link above for complete license terms). Materials contributed to PyKDE4 are licensed as specified by the material's respective authors - see the individual files for license terms.

All code and text included in the PyKDE4 and pykdedocs packages may be freely distributed in its original form, subject to the GPL and CCPL license requirements. If you need to modify any of the code or text and want to distribute the modified code, your modified code must be licensed under the GPL version 2 or later and any modifications to non-executable parts of the package must be licensed under the "share-alike" CCPL version. If this is a problem, contact the author(s)/copyright holder(s) of the material to be modified.

All code and text in PyKDE4 and pykdedocs is copyrighted and owned by the code's or text's respective authors - see specific files for more information.

PyKDE4 is built on software developed by

These packages are required, and each has its own licensing requirements.

Disclaimer

pykdedocs is capable of interacting with external web sites via the internet. Use of the internet may expose you or your computer to well known risks.

pykdedocs and PyKDE4 are licensed for your use only under the GNU General Public License (GPL) version 2. The GPL includes the following disclaimers which apply to both internet access using pykdedocs, and the use of pykdedocs and PyKDE4 in general. A copy of the GPL can be found in the file documentation/COPYING at the location where pykdedocs documentation files were installed.

NO WARRANTY

11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.