Difference between revisions of "Development Team/Resources"

From Sugar Labs
Jump to navigation Jump to search
Line 3: Line 3:
 
{{:DevelopmentTeam/Sugar_Architectual_Diagram}}
 
{{:DevelopmentTeam/Sugar_Architectual_Diagram}}
  
= Tutorials =
+
== Tutorials ==
  
 
[http://wiki.laptop.org/go/Developers/Stack#Python/PyGTK PyGTK] developers will find a collection of [http://wiki.laptop.org/go/Tutorials Tutorials] available, from very simple Hello World projects to an in-depth description of the development of [http://wiki.laptop.org/go/Block_Party Block Party].
 
[http://wiki.laptop.org/go/Developers/Stack#Python/PyGTK PyGTK] developers will find a collection of [http://wiki.laptop.org/go/Tutorials Tutorials] available, from very simple Hello World projects to an in-depth description of the development of [http://wiki.laptop.org/go/Block_Party Block Party].
Line 16: Line 16:
 
Other developers will want to read about [http://wiki.laptop.org/go/Sugarizing Sugarizing] non-Python applications.
 
Other developers will want to read about [http://wiki.laptop.org/go/Sugarizing Sugarizing] non-Python applications.
  
= Reference =
+
== Reference ==
  
* [[API Reference]] -- pointers to the various libraries' reference documentation.
+
* http://api.sugarlabs.org/ -- pointers to the various libraries' reference documentation.
  
 
You can also run the pydoc script on an XO in order to have browseable pydoc documentation locally.  To do this, open a Terminal activity and run:
 
You can also run the pydoc script on an XO in order to have browseable pydoc documentation locally.  To do this, open a Terminal activity and run:
Line 24: Line 24:
 
   pydoc -p 8080
 
   pydoc -p 8080
  
then open a [[Web|Web Browser]] activity and go to the url:
+
then open a [[OLPC:Browse|Web Browser]] activity and go to the url:
  
 
   http://localhost:8080/
 
   http://localhost:8080/
Line 31: Line 31:
  
 
== Resources ==
 
== Resources ==
 
+
{{:Template:Developers}}
* The [[:Category:Developers | Developer's Category]] collects everything in the wiki that's been tagged as pertaining to developers (it's a bit hard to navigate)
+
* The [[Template:Developers]] linkbar (just above) can be placed on any wiki page by inserting this text <tt><nowiki>{{:Template:Developers}}</nowiki></tt>  Put on your project's wiki page to help you and collaborators while researching and documenting the code base.
 +
* [[DevelopmentTeam#Subpages]] shows the pages under the Development Team branch on the wiki.
 +
* The [[:Category:Developer]] collects everything in the wiki that's been tagged as pertaining to developers (it's a bit hard to navigate)
 
* [[DevelopmentTeam/Almanac/Code Snippets]] a few canonical code fragments that may be of use when coding in PyGTK
 
* [[DevelopmentTeam/Almanac/Code Snippets]] a few canonical code fragments that may be of use when coding in PyGTK
  
Line 39: Line 41:
 
Sugar section of the FLOSS manual for Sugar
 
Sugar section of the FLOSS manual for Sugar
 
(http://en.flossmanuals.net/Sugar/Overview).  
 
(http://en.flossmanuals.net/Sugar/Overview).  
 
  
 
# The Byte of Python (http://www.swaroopch.com/notes/Python)
 
# The Byte of Python (http://www.swaroopch.com/notes/Python)
Line 49: Line 50:
 
# Snake Wrangling for Kids (http://www.briggs.net.nz/log/writing/snake-wrangling-for-kids/)
 
# Snake Wrangling for Kids (http://www.briggs.net.nz/log/writing/snake-wrangling-for-kids/)
 
# PyGame (scattered throughout the site)  (http://www.pygame.org/)
 
# PyGame (scattered throughout the site)  (http://www.pygame.org/)
 
  
 
Please feel free to add other suggested resources to the ones already there and to add some
 
Please feel free to add other suggested resources to the ones already there and to add some
Line 56: Line 56:
 
== FAQ ==
 
== FAQ ==
  
The [[Developers/FAQ|Developer's FAQ]] is large enough to merit its own page in the Developer's manual.
+
The [[OLPC:Developers/FAQ]] is large enough to merit its own page in the Developer's manual.
  
= Contributing =
+
== Contributing ==
  
 
As with most Open Source software projects, we have difficulties with documentation.  We are '''very''' interested in finding people interested in documenting the system.  If you are too shy about your coding skills to write code, helping us document the code-base would be an amazing and valuable contribution.
 
As with most Open Source software projects, we have difficulties with documentation.  We are '''very''' interested in finding people interested in documenting the system.  If you are too shy about your coding skills to write code, helping us document the code-base would be an amazing and valuable contribution.
Line 64: Line 64:
 
Helping organize the wiki (the web site you are currently reading) to better document the platform and development process would also be very helpful.
 
Helping organize the wiki (the web site you are currently reading) to better document the platform and development process would also be very helpful.
  
== Wade's handy links list ==
+
=== Wade's handy links list ===
  
 
Pulling the source to an existing activity from Git:
 
Pulling the source to an existing activity from Git:
Line 72: Line 72:
 
Creating a new activity:
 
Creating a new activity:
  
* [[Sugar_Activity_Tutorial]]
+
* [[OLPC:Activity_Tutorial]]
 
* [[DevelopmentTeam/Almanac/Code_Snippets]]
 
* [[DevelopmentTeam/Almanac/Code_Snippets]]
 
* http://dev.laptop.org/~cscott/joyride-1477-api/
 
* http://dev.laptop.org/~cscott/joyride-1477-api/
Line 78: Line 78:
 
For PyGTK activities:
 
For PyGTK activities:
  
* [[PyGTK]]
+
* [[OLPC:PyGTK]]
* [[PyGTK/Hello_World_Tutorial]]
+
* [[OLPC:PyGTK/Hello_World_Tutorial]]
* [[Beyond_Hello_World]]
+
* [[OLPC:Beyond_Hello_World]]
 
* http://www.pygtk.org/docs/pygtk/index.html
 
* http://www.pygtk.org/docs/pygtk/index.html
  
 
For PyGame activities:
 
For PyGame activities:
  
* [[Pygame]]
+
* [[OLPC:Pygame]]
 
* http://pygame.org/docs/ref/index.html
 
* http://pygame.org/docs/ref/index.html
  
Line 94: Line 94:
 
For supporting collaboration:
 
For supporting collaboration:
  
* [[Shared Sugar Activities]]
+
* [[OLPC:Activity Sharing]]
  
 
Submitting to OLPC:
 
Submitting to OLPC:
  
* [[Project hosting]]
+
* [[OLPC:Project hosting]]
* [[Importing your project]]
+
* [[OLPC:Importing your project]]
 
 
[[Developers/Communication|Previous]] [[Developers/FAQ|Next]]
 
  
  
 
[[Category:DevelopmentTeam]]
 
[[Category:DevelopmentTeam]]
 +
[[Category:Resource]]

Revision as of 23:24, 16 March 2009

Team Home   ·   Join   ·   Contacts   ·   Resources   ·   FAQ   ·   Roadmap   ·   To Do   ·   Meetings

DevelopmentTeam/Sugar Architectual Diagram

Tutorials

PyGTK developers will find a collection of Tutorials available, from very simple Hello World projects to an in-depth description of the development of Block Party.

Pygame developers will likely want to start with:

Etoys/Smalltalk developers will want to start with Smalltalk Development on XO.

Other developers will want to read about Sugarizing non-Python applications.

Reference

You can also run the pydoc script on an XO in order to have browseable pydoc documentation locally. To do this, open a Terminal activity and run:

 pydoc -p 8080

then open a Web Browser activity and go to the url:

 http://localhost:8080/

to view the documentation. This approach works best with Python-coded libraries which have spent some time on their docstrings (and generally requires that you know English, as most docstrings are written in English).

Resources

  • The Template:Developers linkbar (just above) can be placed on any wiki page by inserting this text {{:Template:Developers}} Put on your project's wiki page to help you and collaborators while researching and documenting the code base.
  • DevelopmentTeam#Subpages shows the pages under the Development Team branch on the wiki.
  • The Category:Developer collects everything in the wiki that's been tagged as pertaining to developers (it's a bit hard to navigate)
  • DevelopmentTeam/Almanac/Code Snippets a few canonical code fragments that may be of use when coding in PyGTK

Beginner's tools

Link to Andrew's course in the Overview chapter of the Extending Sugar section of the FLOSS manual for Sugar (http://en.flossmanuals.net/Sugar/Overview).

  1. The Byte of Python (http://www.swaroopch.com/notes/Python)
  2. How to Think Like a Computer Scientist: Learning with Python, 2nd edition (http://openbookproject.net/thinkcs/python2e.php)
  3. Python for Fun (http://www.openbookproject.net/py4fun/)
  4. Python Bibliotheca (http://www.openbookproject.net/pybiblio/)
  5. Dive into Python (http://diveintopython.org/)
  6. Hands-on Python Tutorial (http://www.cs.luc.edu/~anh/python/hands-on/)
  7. Snake Wrangling for Kids (http://www.briggs.net.nz/log/writing/snake-wrangling-for-kids/)
  8. PyGame (scattered throughout the site) (http://www.pygame.org/)

Please feel free to add other suggested resources to the ones already there and to add some feedback, e.g., good for beginners/experts, etc.

FAQ

The OLPC:Developers/FAQ is large enough to merit its own page in the Developer's manual.

Contributing

As with most Open Source software projects, we have difficulties with documentation. We are very interested in finding people interested in documenting the system. If you are too shy about your coding skills to write code, helping us document the code-base would be an amazing and valuable contribution.

Helping organize the wiki (the web site you are currently reading) to better document the platform and development process would also be very helpful.

Wade's handy links list

Pulling the source to an existing activity from Git:

Creating a new activity:

For PyGTK activities:

For PyGame activities:

For video playback using gstreamer:

For supporting collaboration:

Submitting to OLPC: