Sugar Architecture/API: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
Line 16: Line 16:
<tr style="background-color: #E2EDFF; padding-left: 3px; padding-right: 3px;">
<tr style="background-color: #E2EDFF; padding-left: 3px; padding-right: 3px;">
<td style="background-color: #C3D9FF; border: 1px #666 solid; padding: inherit;">[[Sugar_Architecture/API#Third_Party_Packages|Third Party Packages]]</td>
<td style="background-color: #C3D9FF; border: 1px #666 solid; padding: inherit;">[[Sugar_Architecture/API#Third_Party_Packages|Third Party Packages]]</td>
<td style="border: 1px #666 solid; padding: inherit;">[[GTK_for_OLPC|GTK]]</td>
<td style="border: 1px #666 solid; padding: inherit;">[[Software_projects#AbiWord|AbiWord]]</td>
<td style="border: 1px #666 solid; padding: inherit;">[[Software_projects#AbiWord|AbiWord]]</td>
<td style="border: 1px #666 solid; padding: inherit;">[[Sugar Architecture/API|Avahi]]</td>
<td style="border: 1px #666 solid; padding: inherit;">[[Sugar Architecture/API#Third Party Packages|ATK]]</td>
<td style="border: 1px #666 solid; padding: inherit;">[[Sugar Architecture/API#Third Party Packages|Avahi]]</td>
<td style="border: 1px #666 solid; padding: inherit;">[[GTK_for_OLPC|GTK]]</td>
<td style="border: 1px #666 solid; padding: inherit;">[[Sugar Architecture/API#Third Party Packages|gstreamer]]</td>
<td style="border: 1px #666 solid; padding: inherit;">[[Cairo]]</td>
<td style="border: 1px #666 solid; padding: inherit;">[[Cairo]]</td>
<td style="border: 1px #666 solid; padding: inherit;">[[Presence_Service_DBus_API|D-Bus]]</td>
<td style="border: 1px #666 solid; padding: inherit;">[[Presence_Service_DBus_API|D-Bus]]</td>

Revision as of 14:41, 13 March 2007

Table of Contents
API Introduction
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

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

Sugar Packs

Sugar Python Scripts

Several Python Scripts reside in /usr/bin

Scripts:

  • sugar-activity
  • sugar-activity-factory
  • sugar-clipboard
  • sugar-console
  • sugar-data-store
  • sugar-emulator
  • sugar-emulator-shutdown
  • sugar-nm-applet
  • sugar-presence-service
  • sugar-setup-activity
  • sugar-shell

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

The previous API sections detail all sugar interfaces. Here is an abbreviated list of the APIs most relevant for activity programming:

  • TBD