forked from marcopasi/mg-tool-api
-
Notifications
You must be signed in to change notification settings - Fork 1
/
CHANGES
148 lines (118 loc) · 3.58 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
CHANGELOG:
----------
**********
DD/MM/YYYY
**********
Author: WHO?
- Change 1.
- Change 2.
- Change N.
**********
31/05/2018
**********
Author: Mark McDowall
- Added Tests for the logger
- Changed the functionality of the PROGRESS logger so that it is more flexible and can be used within the VRE
**********
26/10/2017
**********
Author: Marco Pasi
- Version 0.6
- Added utils.logger interface
- Modified all examples to use utils.logger:
basic_modules.tool, tools_demos/*.py, summer_demo*
- removed datatypes.py
- updated README.md
**********
04/10/2017
**********
Author: Marco Pasi
- input_metadata.json defines "sources" instead of "source_id"
**********
06/10/2017
**********
Author: Marco Pasi
- JSONApp receives absolute paths; root_dir dumped
**********
22/09/2017
**********
Author: Marco Pasi
- Metadata deals exclusively with file paths (no file IDs)
- App <-> Tool communication now relies on dicts rather than lists
- added utils.remap: syntactic sugar for dict manipulation in Workflows
- JSONApp handles "allow_multiple" input and output files
- added summer_demo2: it uses SimpleTool3, which outputs a variable number of output files
**********
06/09/2017
**********
Author: Marco Pasi
- added pycompss conditional imports
- JSONApp uses JSONs from VRE to configure Tool runs
- summer_demo uses JSONApp
**********
04/07/2017
**********
Author: Mark McDowall
- Merged in documentation and setup
- Updated to version 0.5.
**********
24/05/2017
**********
Author: BSC Team
- Created a tools demos folder.
- Added summer tools to tools demos.
- Added new skeleton application "MYAPP.py" for educational purposes.
- Added a script for running the summer demo and provide a hint on MYAPP execution.
- Added cleaning script. Removes *.pyc and demo out files (use with care).
- Updated to version 0.4.
**********
23/05/2017
**********
Author: BSC Team
- The project has been reestructured in order to ease the comprehension of the application template.
- A generic launcher for testing the demo application with PyCOMPSs has been included.
- The DMG Api has been removed from the project.
- The code has been cleaned.
- The documentation has been also cleaned.
- Updated to version 0.3.
- Compliant with pep8 style.
**********
16/12/2016
**********
Author: BSC Team
- Structure:
mg-tool-api-versionX
\apps
__init__.py
localapp.py
pycompssapp.py
workflowapp.py
\basic_modules
__init__.py
app.py
datatypes.py
metadata.py
tool.py
workflow.py
\examples
summer.py
simpleTool1.py
simpleTool2.py
- Workflow can not inherit from tool. Because:
- Workflow is composed by a set of tools.
- Nesting problem appears.
- tool.py:
- output_file parameter should be in the signature of the funcion _taskMethod and FILE_OUT parameter should not be returned by the function. Example:
@task(input_file = FILE_IN, output_file = FILE_OUT, isModifier = False)
def _taskMethod(self, input_file, output_file):
"""
This method performs the actions required to achieve the Tool's
functionality. Note the use of the "@task" and "@constraint"
decorators.
"""
output_file = "/path/to/output_file"
- Run method has to call _taskMethod
- Create a new package with basic modules instead of having original classes in the root of mg-tool-api
- Write tools in different files.
- The tools should be in different files: Relative imports are not recommended: https://www.python.org/dev/peps/pep-0008/
- Recommended code stype: https://www.python.org/dev/peps/pep-0008/