Sugar Architecture/API: Difference between revisions
m (Reverted edits by 222.255.31.82 (Talk); changed back to last version by Walter) |
|||
(47 intermediate revisions by 10 users not shown) | |||
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;">[[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| |
<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;">[[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> |
||
<td style="border: 1px #666 solid; padding: inherit;">[[evince]]</td> |
<td style="border: 1px #666 solid; padding: inherit;">[[evince]]</td> |
||
<td style="border: 1px #666 solid; padding: inherit;">[[ |
<td style="border: 1px #666 solid; padding: inherit;">[[HippoCanvas]]</td> |
||
<td colspan="10" style="background-color: #f5f5f5;"></td> |
<td colspan="10" style="background-color: #f5f5f5;"></td> |
||
</tr> |
</tr> |
||
Line 29: | Line 31: | ||
<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#Sugar_Packs|Sugar Packs]]</td> |
<td style="background-color: #C3D9FF; border: 1px #666 solid; padding: inherit;">[[Sugar Architecture/API#Sugar_Packs|Sugar Packs]]</td> |
||
<td style="border: 1px #666 solid; padding: inherit;">[[Sugar Architecture/API#Sugar Python Scripts|Python Scripts]]</td> |
|||
<td style="border: 1px #666 solid; padding: inherit;">[[Sugar Architecture/API#Sugar_Library_Packages|Library Packages]]</td> |
<td style="border: 1px #666 solid; padding: inherit;">[[Sugar Architecture/API#Sugar_Library_Packages|Library Packages]]</td> |
||
<td style="border: 1px #666 solid; padding: inherit;">[[Sugar Architecture/API#Package_sugar.shell|Shell Packages]]</td> |
<td style="border: 1px #666 solid; padding: inherit;">[[Sugar Architecture/API#Package_sugar.shell|Shell Packages]]</td> |
||
Line 38: | Line 41: | ||
</table> |
</table> |
||
</div> |
</div> |
||
⚫ | |||
''This page describes Sugar's Python programming environment. The API available to non-Python activities is described on the [[Low-level Activity API]] page.'' |
|||
⚫ | |||
⚫ | |||
⚫ | |||
The platform [[API Reference]] includes a collection of pointers to documentation including automatically generated [http://www.vrplumber.com/sugar-docs PyDoc] documentation for Sugar and related libraries. |
|||
== Third Party Packages == |
== Third Party Packages == |
||
*[[Abiword]] |
*[[Abiword]] - Document writer |
||
*[[Software_components#Libraries_and_Plugins| |
*[[Software_components#Libraries_and_Plugins|ATK]] - GNOME Accessibility Toolkit |
||
*[[Software_components#Libraries_and_Plugins|Avahi]] - network service discovery system |
|||
*[[GTK for OLPC|GTK]] - GNOME Toolkit |
*[[GTK for OLPC|GTK]] - GNOME Toolkit |
||
*[[GStreamer]] - multimedia framework |
|||
*[[Cairo]] |
|||
*[[Cairo]] - 2-D graphics library |
|||
*[[D-BUS]] |
|||
*[[D-BUS]] - message bus service |
|||
*[[Evince]] |
|||
*[[Evince]] - document viewer |
|||
*[[Sugar_Code_Snippets|Hippo]] |
|||
*[[HippoCanvas]] - generic user interface widget - ''now deprecated'' use GTK layout managers |
|||
*[[Software_components#Libraries_and_Plugins|Matchbox]] - graphical windows manager |
|||
*[[Avahi]] - Network Discovery Service |
|||
⚫ | |||
*[[Matchbox]] - Graphical Windows Manager |
|||
*[[Software_components#Libraries_and_Plugins|X Window System]] - the tried-and-true ancient X11 display libraries |
|||
*[[Xul]] - XML User Interface Language (aka gecko and other identity challenged projects) |
|||
*[[Software_components#Libraries_and_Plugins|Xul]] - XML User Interface Language |
|||
⚫ | |||
*[[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 Packs == |
||
This details the contents and structure of OLPC Build 303. |
|||
=== [[Sugar Architecture/API/Sugar Python Scripts|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-install-bundle |
|||
* sugar-presence-service |
|||
* sugar-setup-activity |
|||
⚫ | |||
=== [[Sugar Architecture/API/Sugar Library Packages|Sugar Library Packages]] === |
=== [[Sugar Architecture/API/Sugar Library Packages|Sugar Library Packages]] === |
||
Many Sugar |
Many Sugar library packages reside in /usr/lib/python*/site-packages/sugar |
||
Modules: |
Modules: |
||
* TracebackUtils |
* TracebackUtils |
||
* date |
|||
* emulator |
* emulator |
||
* env |
* env |
||
Line 74: | Line 98: | ||
Subpackages: |
Subpackages: |
||
* sugar.activity |
* [[Sugar Architecture/API/sugar.activity|sugar.activity]] |
||
* sugar.chat |
* [[Sugar Architecture/API/sugar.chat|sugar.chat]] |
||
* sugar.clipboard |
* [[Sugar Architecture/API/sugar.clipboard|sugar.clipboard]] |
||
* sugar.datastore |
* [[Sugar Architecture/API/sugar.datastore|sugar.datastore]] |
||
* sugar.graphics |
* [[Sugar Architecture/API/sugar.graphics|sugar.graphics]] |
||
* sugar.p2p |
* [[Sugar Architecture/API/sugar.p2p|sugar.p2p]] |
||
* sugar.presence |
* [[Sugar Architecture/API/sugar.presence|sugar.presence]] |
||
=== Package sugar.shell === |
=== Package [[Sugar Architecture/API/sugar.shell | sugar.shell]] === |
||
Most of the Human Interface is implemented in the sugar |
Most of the Human Interface is implemented in the sugar.shell packages located in /usr/share/sugar/shell |
||
Modules: |
Modules: |
||
* [[Sugar Architecture/API/sugar.shell.shellservice | sugar.shell.shellservice]] |
|||
⚫ | |||
Subpackages: |
Subpackages: |
||
* [[Sugar Architecture/API/sugar.shell. |
* [[Sugar Architecture/API/sugar.shell.console|sugar.shell.console]] |
||
* [[Sugar Architecture/API/sugar.shell. |
* [[Sugar Architecture/API/sugar.shell.hardware|sugar.shell.hardware]] |
||
* [[Sugar Architecture/API/sugar.shell. |
* [[Sugar Architecture/API/sugar.shell.intro|sugar.shell.intro]] |
||
* [[Sugar Architecture/API/sugar.shell.model|sugar.shell.model]] |
|||
* [[Sugar Architecture/API/sugar.shell.view|sugar.shell.view]] |
|||
=== Package sugar.services === |
=== Package [[Sugar Architecture/API/sugar.services | sugar.services]]=== |
||
Various services are provided in /usr/share/sugar/services |
Various services are provided in /usr/share/sugar/services |
||
Line 100: | Line 126: | ||
Subpackages: |
Subpackages: |
||
* sugar.services.clipboard |
* [[Sugar Architecture/API/sugar.services.clipboard |sugar.services.clipboard]] |
||
* sugar.services.console |
* [[Sugar Architecture/API/sugar.services.console |sugar.services.console]] |
||
* sugar.services.datastore |
* [[Sugar Architecture/API/sugar.services.datastore |sugar.services.datastore]] |
||
* sugar.services. |
* [[Sugar Architecture/API/sugar.services.presence |sugar.services.presence]] |
||
* sugar.services. |
* [[Sugar Architecture/API/sugar.services.presence2 |sugar.services.presence2]] |
||
=== Sugar Activity APIs === |
=== [[Sugar Architecture/API/Sugar Activity APIs|Sugar Activity APIs]] === |
||
The previous API sections detail all Sugar interfaces. Here is an abbreviated list of the APIs most relevant for activity programming: |
|||
* gtk |
|||
* gobject |
|||
* hippo |
|||
* logging |
|||
* os |
|||
* pango |
|||
* pygtk |
|||
* sugar.activity.activity |
|||
* sugar.graphics |
|||
* sugar.date |
|||
[[Category:API]] |
[[Category:API]] |
Latest revision as of 16:53, 10 July 2008
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.
The platform API Reference includes a collection of pointers to documentation including automatically generated PyDoc documentation for Sugar and related libraries.
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.
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-install-bundle
- 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
- date
- 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.services.clipboard
- sugar.services.console
- sugar.services.datastore
- sugar.services.presence
- sugar.services.presence2
Sugar Activity APIs
The previous API sections detail all Sugar interfaces. Here is an abbreviated list of the APIs most relevant for activity programming:
- gtk
- gobject
- hippo
- logging
- os
- pango
- pygtk
- sugar.activity.activity
- sugar.graphics
- sugar.date