The current development version of pida has various experimental changes which aren't yet ready for the main repo, so most of the development happens on the DeveloperRepos .

  1. a fresh hg clone http://www.bitbucket.org/aafshar/pida-main/

its the repo that aggregates the current experimental development

in order to make it usable fom a checkout you need to run python setup.py build_ext -i in order to build some 3rd party c based extensions we ship with pida itself

Installing dependencies

The easy unix way

  1. run
         cd YOUR/pida-main
         ./tools/update_externals.sh
    

The custom way

  1. a fresh hg clone http://www.bitbucket.org/RonnyPfannschmidt/anyvc/

it's our vcs-abstraction lib, we extracted it to ease development

  1. a fresh hg clone http://www.bitbucket.org/agr/rope/

its a python refactoring lib, we use it for code-analysis, refactoring is planned

The new development version *completely* breaks backward compatibility for project files and project metadata.

We started using vellum to get project metadata and a task based command system with dependency handling.

The basic integration of vellum is done but some shipped plugins are broken cause they used to store metadata in project files.

Generate API Documentation

API documentation is quite useful if you are not familiar with the internal documentation. Install epydoc first and run

python setup.py build_api

You can then find the docs in docs/api/

Working with gui (glade) files

Complex gui elements are done with glade-3 und saved as gtkbuilder files. As we use kiwi on many places, glade out of the box does not work. We provide catalogs to run glade so you can work with kiwi together. You need a glade-3 with python support for this to work. To install the catalogs permanent:

cd tools/glade3-plugin/
sudo python install.py

or you can run without install out of the pida directory:

./tools/run-glade3.sh

Publishing your work

The most easy way is to set up an bitbucket account, create a public fork and start pushing to it

That way we get notified about it and can just grab it if you send us a pull request.

Its recommended to chat with us at the irc channel at  irc://irc.freenode.org/pida or start a discussion on our moderated google group at  http://groups.google.com/group/pida