Sugar Architecture/API

From OLPC
Jump to: navigation, search
Table of Contents
API Introduction
Third Party Packages GTK AbiWord Avahi Cairo D-Bus evince Hippo
Sugar Packs Library Packages Shell Packages Services Package Activity APIs

Sugar is built in python with a variety of open source packages. Programing in the sugar environment requires a basic understanding of both the Sugar User Interface, supporting third party packages, and built in sugar packages.

Traditional software packages are built against Application Program Intefaces. Sugar runs Activities instead of applications, but from a developers point of view, it's the same thing.

Third Party Packages

  • Avahi - Network Discovery Service
  • Matchbox - Graphical Windows Manager
  • Xul - XML User Interface Language (aka gecko and other identity challenged projects)
  • Pango - GTK package for text rendering
  • ATK - GNOME Accesibility Toolkit
  • gstreamer - media player
  • X windows - the tried and true ancient X11 display libraries (Shoulders on which much else stands).

Sugar Packs

Sugar Library Packages

Many Sugar Library packages reside in /usr/lib/python*/site-packages/sugar

Modules:

  • TracebackUtils
  • emulator
  • env
  • logger
  • profile
  • simulator
  • util

Subpackages:

Package sugar.shell

Most of the Human Interface is implemented in the sugar shell packages located in /usr/share/sugar/shell

Modules:

Subpackages:

Package sugar.services

Various services are provided in /usr/share/sugar/services

Modules: none

Subpackages:

Sugar Activity APIs