Developer Manual
Home
News
Downloads
Tutorials
User Manual
Reference Manual
Developer Manual
Forums
Team Members
Future Work
FAQ
Links

This manual gives guidelines for developers working on the source code for the Topographica simulator. Users will not usually need to refer to this material, unless they plan to submit significant blocks of code to the project (which is, of course, strongly encouraged!).

By default, all the text in this manual refers to program code written in the Python language. There are also some bits of C/C++ code in the simulator, which use different conventions.

Note that Topographica's documentation may change between releases, so developers should usually be reading either their locally built copy of the documentation, or the online nightly documentation build. The documentation at topographica.org applies to the previous release, so may be out of date with respect to the current version of Topographica in SVN.

Installation instructions
Before starting, you will need a version-controlled copy of Topographica.

Revision control
How we keep track of changes to the code and other files

General guidelines
General info on writing Python, plus Topographica-specific conventions such as guidelines for naming, comments, documentation, parameters, units, and external imports.

Object-oriented design
How to design well-structured code

Importing files and packages
How to import Topographica and external code

ALERTs
How to flag incorrect or confusing code or documentation

GUI programming
How to add functionality to the GUI

Performance optimization
When (and when not!) to optimize for performance, and how to do it

Memory usage
How to measure memory usage and reduce it

Refactoring/testing tips
Tips for improving existing code by refactoring

Test suite
Rationale behind unit tests; should eventually include information about how to set up tests

Releases
How to make a new public release of Topographica

Joining
Anyone interested in Topographica is welcome to join as a Topographica developer to get read/write access, so that your changes can become part of the main distribution. Just sign up for a free account at SourceForge.net, then email Jim your username and what you want to do, and he'll tell you how to proceed from there. Alternatively, you can start immediately by using any version control system that can interact with SVN. We ourselves use and support Git, but many version control systems also interact with SVN.

Hosted by: SourceForge Logo James A. Bednar (jbednar@inf.ed.ac.uk) Last update: Tue Nov 1 9:50:28 UTC 2011.