Sugar Architecture/API: Difference between revisions

From OLPC
Jump to navigation Jump to search
m (typos)
Line 38: Line 38:
</table>
</table>
</div>
</div>
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.
Sugar is written in Python with a variety of open source packages. Programming 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 [[Activity | Activities]] instead of applications, but from a developers point of view, it's the same thing.
Traditional software packages are built against Application Programming Interfaces. Sugar runs [[Activity | Activities]] instead of applications, but from a developer's point of view, it's the same thing.


== Third Party Packages ==
== Third Party Packages ==
Line 49: Line 49:
*[[D-BUS]]
*[[D-BUS]]
*[[Evince]]
*[[Evince]]
*[[HippoCanvas]]
*[[Sugar_Code_Snippets|Hippo]]


*[[Avahi]] - Network Discovery Service
*[[Avahi]] - Network Discovery Service
Line 55: Line 55:
*[[Xul]] - XML User Interface Language (aka gecko and other identity challenged projects)
*[[Xul]] - XML User Interface Language (aka gecko and other identity challenged projects)
*[[Pango]] - GTK package for text rendering
*[[Pango]] - GTK package for text rendering
*[[ATK]] - GNOME Accesibility Toolkit
*[[ATK]] - GNOME Accessibility Toolkit
*[[gstreamer]] - media player
*[[gstreamer]] - media player
*[[X windows]] - the tried and true ancient X11 display libraries (Shoulders on which much else stands).
*[[X Window System]] - the tried-and-true ancient X11 display libraries


== Sugar Packs ==
== Sugar Packs ==

Revision as of 18:21, 12 March 2007

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 written in Python with a variety of open source packages. Programming 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 Programming Interfaces. Sugar runs Activities instead of applications, but from a developer's 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 Accessibility Toolkit
  • gstreamer - media player
  • X Window System - the tried-and-true ancient X11 display libraries

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