Skip to content
This repository was archived by the owner on Jun 9, 2020. It is now read-only.

Commit 5f44d8d

Browse files
committed
start documentation for workflow
1 parent 49c1193 commit 5f44d8d

File tree

5 files changed

+157
-61
lines changed

5 files changed

+157
-61
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
[![PyPI version](https://badge.fury.io/py/cwlgen.svg)](https://badge.fury.io/py/cwlgen)
77

88
Python-cwlgen is a python library for the generation of CWL programmatically.
9-
It supports the generation of CommandLineTool and DockerRequirement.
9+
It supports the generation of CommandLineTool, Workflow and DockerRequirement.
1010
The library works for both Python 2.7.12+ and 3.6.0.
1111

1212
------------------------
@@ -23,7 +23,7 @@ pip install cwlgen
2323

2424
## How it works ?
2525

26-
An example of usage is available in the `example/` folder of the repository.
26+
An example of usage is available in the `example/` folder of the repository (more details [here](http://python-cwlgen.readthedocs.io/en/latest/user_guide.html))
2727

2828
## References
2929

cwlgen/workflow.py

Lines changed: 42 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
2-
31
import ruamel.yaml
42
import six
53

@@ -8,9 +6,9 @@
86

97

108
class Workflow(object):
11-
'''
9+
"""
1210
Contain all informations to describe a CWL workflow.
13-
'''
11+
"""
1412
__CLASS__ = 'Workflow'
1513

1614
def __init__(self):
@@ -65,13 +63,41 @@ def add(self, step_id, tool, params):
6563
class InputParameter(Parameter):
6664
def __init__(self, param_id, label=None, secondary_files=None, param_format=None,
6765
streamable=False, doc=None, input_binding=None, default=None, param_type=None):
66+
"""
67+
:param param_id: unique identifier for this parameter
68+
:type param_id: STRING
69+
:param label: short, human-readable label
70+
:type label: STRING
71+
:param secondary_files: If type is a file, describes files that must be
72+
included alongside the primary file(s)
73+
:type secondary_files: STRING
74+
:param param_format: If type is a file, uri to ontology of the format or exact format
75+
:type param_format: STRING
76+
:param streamable: If type is a file, true indicates that the file is read or written
77+
sequentially without seeking
78+
:type streamable: BOOLEAN
79+
:param doc: documentation
80+
:type doc: STRING
81+
:param param_type: type of data assigned to the parameter
82+
:type param_type: STRING corresponding to CWLType
83+
"""
6884
Parameter.__init__(self, param_id=param_id, label=label,
6985
secondary_files=secondary_files, param_format=param_format,
7086
streamable=streamable, doc=doc, param_type=param_type)
7187

7288

7389
class WorkflowStep(object):
7490
def __init__(self, id, inputs=None, outputs=None, run=None):
91+
"""
92+
:param id: ID of the step
93+
:type id: STRING
94+
:param inputs:
95+
:type inputs:
96+
:param outputs:
97+
:type outputs:
98+
:param run:
99+
:type run:
100+
"""
75101
self.id = id
76102
if inputs:
77103
self.inputs = inputs
@@ -114,6 +140,14 @@ def get_dict(self):
114140

115141
class WorkflowStepInput(object):
116142
def __init__(self, id, src=None, default=None):
143+
"""
144+
:param id: ID of the step input
145+
:type id: STRING
146+
:param src:
147+
:type src:
148+
:param default:
149+
:type default:
150+
"""
117151
self.id = id
118152
self.src = src
119153
self.default = default
@@ -135,6 +169,10 @@ def get_dict(self):
135169

136170
class WorkflowStepOutput(object):
137171
def __init__(self, id):
172+
"""
173+
:param id:
174+
:type id:
175+
"""
138176
self.id = id
139177

140178

doc/source/classes.rst

Lines changed: 105 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,50 @@ API classes
88

99
.. _cwl_tool:
1010

11-
CWL tool
11+
CWL Tool
1212
========
1313

1414
CommandLineTool
1515
"""""""""""""""
1616

1717
.. autoclass:: cwlgen.CommandLineTool
18-
:members:
19-
:private-members:
20-
:special-members:
21-
:exclude-members: __weakref__
18+
:members:
19+
:private-members:
20+
:special-members:
21+
:exclude-members: __weakref__
22+
23+
.. _cwl_workflow:
24+
25+
CWL Workflow
26+
============
27+
28+
Workflow
29+
""""""""
30+
31+
.. autoclass:: cwlgen.workflow.Workflow
32+
:members:
33+
:private-members:
34+
:special-members:
35+
:exclude-members: __weakref__
36+
37+
InputParameter
38+
""""""""""""""
39+
40+
.. autoclass:: cwlgen.workflow.InputParameter
41+
:members:
42+
:private-members:
43+
:special-members:
44+
:exclude-members: __weakref__
45+
46+
WorkflowStep
47+
""""""""""""
48+
49+
.. autoclass:: cwlgen.workflow.WorkflowStep
50+
:members:
51+
:private-members:
52+
:special-members:
53+
:exclude-members: __weakref__
54+
2255

2356
.. _in_out:
2457

@@ -29,37 +62,37 @@ CommandInputParameter
2962
"""""""""""""""""""""
3063

3164
.. autoclass:: cwlgen.CommandInputParameter
32-
:members:
33-
:private-members:
34-
:special-members:
35-
:exclude-members: __weakref__
65+
:members:
66+
:private-members:
67+
:special-members:
68+
:exclude-members: __weakref__
3669

3770
CommandOutputParameter
3871
""""""""""""""""""""""
3972

4073
.. autoclass:: cwlgen.CommandOutputParameter
41-
:members:
42-
:private-members:
43-
:special-members:
44-
:exclude-members: __weakref__
74+
:members:
75+
:private-members:
76+
:special-members:
77+
:exclude-members: __weakref__
4578

4679
CommandLineBinding
4780
""""""""""""""""""
4881

4982
.. autoclass:: cwlgen.CommandLineBinding
50-
:members:
51-
:private-members:
52-
:special-members:
53-
:exclude-members: __weakref__
83+
:members:
84+
:private-members:
85+
:special-members:
86+
:exclude-members: __weakref__
5487

5588
CommandOutputBinding
5689
""""""""""""""""""""
5790

5891
.. autoclass:: cwlgen.CommandOutputBinding
59-
:members:
60-
:private-members:
61-
:special-members:
62-
:exclude-members: __weakref__
92+
:members:
93+
:private-members:
94+
:special-members:
95+
:exclude-members: __weakref__
6396

6497
.. _requirements:
6598

@@ -70,28 +103,28 @@ Requirement
70103
"""""""""""
71104

72105
.. autoclass:: cwlgen.Requirement
73-
:members:
74-
:private-members:
75-
:special-members:
76-
:exclude-members: __weakref__
106+
:members:
107+
:private-members:
108+
:special-members:
109+
:exclude-members: __weakref__
77110

78111
InlineJavascriptReq
79112
"""""""""""""""""""
80113

81114
.. autoclass:: cwlgen.InlineJavascriptReq
82-
:members:
83-
:private-members:
84-
:special-members:
85-
:exclude-members: __weakref__
115+
:members:
116+
:private-members:
117+
:special-members:
118+
:exclude-members: __weakref__
86119

87120
DockerRequirement
88121
"""""""""""""""""
89122

90123
.. autoclass:: cwlgen.DockerRequirement
91-
:members:
92-
:private-members:
93-
:special-members:
94-
:exclude-members: __weakref__
124+
:members:
125+
:private-members:
126+
:special-members:
127+
:exclude-members: __weakref__
95128

96129
Import CWL
97130
==========
@@ -100,43 +133,61 @@ CWLToolParser
100133
"""""""""""""
101134

102135
.. autoclass:: cwlgen.import_cwl.CWLToolParser
103-
:members:
104-
:private-members:
105-
:special-members:
106-
:exclude-members: __weakref__
107-
136+
:members:
137+
:private-members:
138+
:special-members:
139+
:exclude-members: __weakref_
140+
_
108141
InputsParser
109142
""""""""""""
110143

111144
.. autoclass:: cwlgen.import_cwl.InputsParser
112-
:members:
113-
:private-members:
114-
:special-members:
115-
:exclude-members: __weakref__
145+
:members:
146+
:private-members:
147+
:special-members:
148+
:exclude-members: __weakref__
116149

117150
InputBindingParser
118151
""""""""""""""""""
119152

120153
.. autoclass:: cwlgen.import_cwl.InputBindingParser
121-
:members:
122-
:private-members:
123-
:special-members:
124-
:exclude-members: __weakref__
154+
:members:
155+
:private-members:
156+
:special-members:
157+
:exclude-members: __weakref__
125158

126159
OutputsParser
127160
"""""""""""""
128161

129162
.. autoclass:: cwlgen.import_cwl.OutputsParser
130-
:members:
131-
:private-members:
132-
:special-members:
133-
:exclude-members: __weakref__
163+
:members:
164+
:private-members:
165+
:special-members:
166+
:exclude-members: __weakref__
134167

135168
OutputBindingParser
136169
"""""""""""""""""""
137170

138171
.. autoclass:: cwlgen.import_cwl.OutputBindingParser
139-
:members:
140-
:private-members:
141-
:special-members:
142-
:exclude-members: __weakref__
172+
:members:
173+
:private-members:
174+
:special-members:
175+
:exclude-members: __weakref__
176+
177+
CWLWorkflowParser
178+
"""""""""""""""""
179+
180+
.. autoclass:: cwlgen.import_cwl.CWLWorkflowParser
181+
:members:
182+
:private-members:
183+
:special-members:
184+
:exclude-members: __weakref__
185+
186+
StepsParser
187+
"""""""""""
188+
189+
.. autoclass:: cwlgen.import_cwl.StepsParser
190+
:members:
191+
:private-members:
192+
:special-members:
193+
:exclude-members: __weakref__

doc/source/installation.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@
66
Installation
77
************
88

9+
.. Note::
10+
We highly recommend the use of a virtual environment with Python 3.6.0
11+
using `virtualenv`_ or `conda`_.
12+
13+
.. _virtualenv: https://virtualenv.pypa.io/en/latest/
14+
.. _conda: http://docs.readthedocs.io/en/latest/conda.html
15+
916
.. _dependencies:
1017

1118
python-cwlgen dependencies

doc/source/introduction.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ Introduction
77
************
88

99
Python-cwlgen is a python library for the generation of CWL programmatically.
10-
It supports the generation of CommandLineTool and DockerRequirement.
10+
It supports the generation of CommandLineTool, Workflow and DockerRequirement.

0 commit comments

Comments
 (0)