Start by following the getting started guide for users. After following that guide, you should have the LSR source and its dependencies on your system and lsr will be installed.
Developing new extensions
To develop new extension perks, devices and monitors, run the installed LSR and use the command line switches to register a new extension, create a profile, associate an extension with a profile, etc. The extension source will be in the user home directory. See the GaimPerkTutorial for an example of Perk development.
Running without installing for core development
You do not need to install LSR to develop and test it. In fact, installing, making a code change, and reinstalling defeats a core benefit of using an interpreted language: no compile step! Running from the source directory is the best approach when developing the core and will do everything an installed copy does. To work this way, check out lsr from SVN, run autogen and make and then
cd lsr/src chmod +x AEMain.py ./AEMain.py --init-global ./AEMain.py --init-profiles ./AEMain.py -p developer # to run under the devel profile, for example
Subsequently make your code changes and then run the AEMain.py again.
Remember to run the autogen.sh script before trying to run AEMain.py. If you forget this step, some of the .py source files will be missing since they are generated from .py.in files by autotools.
Choosing an IDE
The use of a integrated development environment (IDE) for Python is a matter of taste. Some Python developers prefer the use of a common text editor over a bulky environment to keep the code-run-test-fix cycle short and simple. Others believe that an IDE with a good debugger and code browser can save time locating bugs, navigating between code components, and getting an overview of the whole project. Both approaches have advantages and disadvantages. You should choose a setup that works best for you. The following are some resources for choosing a Python IDE:
WingIDE is an excellent commercial IDE for Python.
The Python wiki has a number of pages devoted to DevelopmentTools.
Linuxmafia.com has a laundry list of IDEs for Linux.
An old article on developerWorks, Charming Python: A review of Python IDEs, discusses Python IDEs but is quite outdated.
IDEs such as Wing will need to have their Python Path (sys.path) set so that LSR's imported modules and packages are found. This can be achieved by specifying an absolute (full) path to ..../lsr/src. e.g. '/home/steve/projects/lsr/src'.