Sugar Architecture/API

From OLPC
Jump to navigation Jump to 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

  • GTK
  • Cairo
  • Hippo
  • D-BUS

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:

  • sugar.activity
  • sugar.chat
  • sugar.clipboard
  • sugar.datastore
  • sugar.graphics
  • sugar.p2p
  • sugar.presence

Package sugar.shell

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

Modules:

  • sugar.shell.HardwareManager

Subpackages:

  • sugar.shell.Console
  • sugar.shell.Model
  • sugar.shell.View

Package sugar.services

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

Modules: none

Subpackages:

  • clipboard
  • console
  • datastore
  • nm
  • presence

Sugar Activity APIs