|Table of Contents|
|Third Party Packages||AbiWord||ATK||Avahi||GTK||gstreamer||Cairo||D-Bus||evince||HippoCanvas|
|Sugar Packs||Python Scripts||Library Packages||Shell Packages||Services Package||Activity APIs|
This page describes Sugar's Python programming environment. The API available to non-Python activities is described on the Low-level Activity API page.
Sugar is written in Python and uses a variety of open source packages. Programming in the Sugar environment requires a basic understanding of the Sugar user interface, supporting third-party packages, and built-in Sugar packages.
Traditional software packages are built against application programming interfaces. Sugar runs Activities instead of applications, but from a developer's point of view, it's the same thing.
 Third Party Packages
- Abiword - Document writer
- ATK - GNOME Accessibility Toolkit
- Avahi - network service discovery system
- GTK - GNOME Toolkit
- GStreamer - multimedia framework
- Cairo - 2-D graphics library
- D-BUS - message bus service
- Evince - document viewer
- HippoCanvas - generic user interface widget - now deprecated use GTK layout managers
- Matchbox - graphical windows manager
- Pango - GTK package for text rendering
- X Window System - the tried-and-true ancient X11 display libraries
- Xul - XML User Interface Language
 Sugar Packs
This details the contents and structure of OLPC Build 303.
Several Python Scripts reside in /usr/bin
Many Sugar library packages reside in /usr/lib/python*/site-packages/sugar
 Package sugar.shell
Most of the Human Interface is implemented in the sugar.shell packages located in /usr/share/sugar/shell
 Package sugar.services
Various services are provided in /usr/share/sugar/services
The previous API sections detail all Sugar interfaces. Here is an abbreviated list of the APIs most relevant for activity programming: