Package wsatools
[hide private]

Source Code for Package wsatools

 1  # wsatools/__init__.py 
 2  # $Id: __init__.py 6754 2010-03-29 15:53:59Z RossCollins $ 
 3   
 4  """ 
 5  **Generic tools for archive curation tasks**. This package contains modules 
 6  that collect together classes and functions that are used in many curation 
 7  tasks, both regular use cases (`invocations`) and ocassional activities 
 8  (`helpers`). 
 9   
10  Package Organization 
11  ==================== 
12   
13  .. packagetree:: 
14     :style: UML 
15   
16  Organization guidelines 
17  ======================= 
18   
19  When choosing a module in this package for which to locate functions that are 
20  to be accessed by multiple curation tasks, follow these guidelines: 
21   
22  1.  If the function can be grouped together with several other functions that 
23      work on similar data or towards a similar goal or purpose, then create a 
24      new module with a meaningful name: e.g. `wsatools.SourceMerger` was created 
25      to host all the functions that may be required to produce merged sources 
26      from detections in different passbands (or whatever). 
27   
28  2.  For lone functions, look through the list of pre-existing modules and 
29      decide where it fits best. Mostly likely it belongs to one of these modules: 
30   
31      * `wsatools.DbConnect.CommonQueries` - if its purpose is to retrieve or 
32        update data in the database. 
33   
34      * `wsatools.FitsUtils` - for managing the WSA's collection of FITS files in 
35        any way. 
36   
37      * `wsatools.Utilities` - if it performs generic manipulations on Python 
38        objects or for managing the WSA file system. No database connections 
39        should be made from here. 
40   
41  3.  Finally, for lone functions that do not fit into any of the pre-existing 
42      modules then it should probably be left in the script where it was 
43      initially required (with a view of creating a new module for it if and when 
44      more functions are created that work towards a similar goal). Other 
45      curation tasks that require use of this function should then import this 
46      script to access this function. This is possible as our coding standards 
47      require all scripts to be "importable" (for epydoc's sake). Do NOT 
48      duplicate the function. 
49   
50  :requires: Python 2.6+, mxODBC, PyFITS, NumPy 
51   
52  :group Database connection: DataFactory, DbConnect 
53  :group C++ modules: jpeg, pairing, pywcs 
54   
55  """ 
56  __docformat__ = 'restructuredtext en' 
57