Sugar Architecture/API: Difference between revisions
(Fixing caps, rewording) |
|||
Line 41: | Line 41: | ||
</table> |
</table> |
||
</div> |
</div> |
||
Sugar is written in Python |
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 |
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 == |
||
*[[Abiword]] - Document writer |
*[[Abiword]] - Document writer |
||
*[[Software_components#Libraries_and_Plugins|ATK]] - GNOME Accessibility Toolkit |
*[[Software_components#Libraries_and_Plugins|ATK]] - GNOME Accessibility Toolkit |
||
*[[Software_components#Libraries_and_Plugins|Avahi]] - |
*[[Software_components#Libraries_and_Plugins|Avahi]] - network service discovery system |
||
*[[GTK for OLPC|GTK]] - GNOME Toolkit |
*[[GTK for OLPC|GTK]] - GNOME Toolkit |
||
*[[Software_components#Libraries_and_Plugins|gstreamer]] - |
*[[Software_components#Libraries_and_Plugins|gstreamer]] - multimedia framework |
||
*[[Cairo]] - |
*[[Cairo]] - 2-D graphics library |
||
*[[D-BUS]] - |
*[[D-BUS]] - message bus service |
||
*[[Evince]] - |
*[[Evince]] - document viewer |
||
*[[HippoCanvas]] - |
*[[HippoCanvas]] - generic user interface widget |
||
*[[Software_components#Libraries_and_Plugins|Matchbox]] - |
*[[Software_components#Libraries_and_Plugins|Matchbox]] - graphical windows manager |
||
*[[Software_components#Libraries_and_Plugins|Pango]] - GTK package for text rendering |
*[[Software_components#Libraries_and_Plugins|Pango]] - GTK package for text rendering |
||
*[[Software_components#Libraries_and_Plugins|X Window System]] - the tried-and-true ancient X11 display libraries |
*[[Software_components#Libraries_and_Plugins|X Window System]] - the tried-and-true ancient X11 display libraries |
||
*[[Software_components#Libraries_and_Plugins|Xul]] - XML User Interface Language |
*[[Software_components#Libraries_and_Plugins|Xul]] - XML User Interface Language |
||
== Sugar Packs == |
== Sugar Packs == |
||
Line 78: | Line 78: | ||
=== [[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: |
||
Line 99: | Line 99: | ||
=== Package [[Sugar Architecture/API/sugar.shell | 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: |
||
Line 123: | Line 123: | ||
=== [[Sugar Architecture/API/Sugar Activity APIs|Sugar Activity APIs]] === |
=== [[Sugar Architecture/API/Sugar Activity APIs|Sugar Activity APIs]] === |
||
The previous API sections detail all |
The previous API sections detail all Sugar interfaces. Here is an abbreviated list of the APIs most relevant for activity programming: |
||
* TBD |
* TBD |
Revision as of 22:30, 13 March 2007
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.
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
- 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
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.services.clipboard
- sugar.services.console
- sugar.services.datastore
- sugar.services.nm
- sugar.services.presence
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