User login |
Contributing code to MnemosyneWe are currently working on Mnemosyne 2.0, a major new feature release. It is still a work in progress, but it has advanced sufficiently far for other developers to join. For a list of tasks you can help out with, see our blueprints page. This list will evolve over time, so be sure to check back occasionally. We use Launchpad to coordinate the development. It's good to first take the tour of Launchpad (on its front page) to get a feel for how this works. When you've picked a project you want to work on, post a message on the developer mailing list. Next, install the bazaar version control tool, get familiar with it, and create your own local copy of the Mnemosyne code by typing Then, start hacking on the code to your heart's content, occasionally saving your progress by doing a It is important to also publish your changes to the world, so that you can get feedback on your work. To do this, sign up for an account on Launchpad, register your SSH key there, and type It is also important to periodically pull in the changes that the other developers make on the trunk (use Once you think your work is ready for merging into the mainline, a developer will review your code, and if it's approved it will be merged. To get an overview of how all the different bits of the library fit together, see the documentation in the code at mnemosyne/mnemosyne/libmnemosyne/docs/build/html/index.html In order to keep the code looking uniform, please following the standard Python style guides PEP8 and PEP257. To start working on Mnemosyne, you need the following software: easyinstall, virtualenv, Qt4.4 or later, PyQt4.4 or later, matplotlib, including their dependencies. All of these can be located by a simple Google search. (On Ubuntu, you also need to install the following development packages: python-qt4-dev python-sip4 python-sip4-dev pyqt4-dev-tools qt4-designer python-matplotlib python-qt4-phonon) The top level makefile contains some machinery to make it easier to test Mnemosyne 2.0 while keeping your current 1.x install intact. The first time, type |