| 1 | | Obviously, where possible, we should make use of existing Python libraries: |
| 2 | | * http://pypi.python.org/pypi/ |
| | 1 | = Libraries = |
| | 2 | |
| | 3 | We make use of several external libraries for which we maintain a list of dependencies within our update check: |
| | 4 | * https://github.com/flavour/eden/blob/master/modules/s3_update_check.py#L38 |
| | 5 | |
| | 6 | Wherever possible, external libraries should be optional to just the features which make use of them. |
| | 7 | |
| | 8 | The only core external libraries we currently have are: |
| | 9 | * Web2Py |
| | 10 | * lxml |
| | 11 | * dateutil |
| | 12 | * Shapely (mandatory for all mapping) |
| | 13 | |
| | 14 | We also include a few small ones within our own code base: |
| | 15 | * EXIF |
| | 16 | * Facebook |
| | 17 | * GeoJSON |
| | 18 | * PyGSM |
| | 19 | * PyParsing |
| | 20 | * Savage |
| | 21 | * Tropo |
| | 22 | * Wurfl |
| | 23 | |
| | 24 | As well as several JavaScript ones: |
| | 25 | * jQuery & some plugins |
| | 26 | * jQueryUI |
| | 27 | * ExtJS |
| | 28 | |
| | 29 | |
| | 30 | When looking to add new functionality, where possible we should make us of our existing libraries. |
| | 31 | |
| | 32 | Where this isn't possible we should try to make use of existing Python libraries: |
| | 33 | * http://pypi.python.org/pypi/ |