= Libraries = We make use of several external libraries for which we maintain a list of dependencies within our update check: * https://github.com/flavour/eden/blob/master/modules/s3_update_check.py#L38 Wherever possible, external libraries should be optional to just the features which make use of them. The only core external libraries we currently have are: * Web2Py * lxml * dateutil * Shapely (mandatory for all mapping) We also include a few small ones within our own code base: * EXIF * Facebook * GeoJSON * PyGSM * !PyParsing * Savage * Tropo * Wurfl As well as several !JavaScript ones: * jQuery & some plugins * jQueryUI * ExtJS When looking to add new functionality, where possible we should make us of our existing libraries. Where this isn't possible we should try to make use of existing Python libraries: * http://pypi.python.org/pypi/ If these aren't available then we can make use of: * Java libraries using Py4J: http://py4j.sourceforge.net * C/C++ libraries using SWIG: http://www.swig.org * .Net libraries using !IronPython: http://www.codeplex.com/IronPython ---- DeveloperGuidelines