Skip to content

Commit f415e34

Browse files
committed
pyDKB: update quickstart guide.
1 parent c0819c3 commit f415e34

4 files changed

Lines changed: 36 additions & 26 deletions

File tree

Docs/build/html/pyDKB/pyDKB.html

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,11 @@ <h2>Quickstart guide<a class="headerlink" href="#quickstart-guide" title="Permal
6363
<p>To create simple processor stage application first decide input and
6464
output data format. In following examples we will work with data in JSON
6565
format (for the full list of supported formats check
66-
<span class="xref std std-ref">pyDKB.dataflow.messages</span> section of this documentation).</p>
66+
<a class="reference internal" href="pyDKB.dataflow.communication.messages.html#pydkb-dataflow-communication-messages"><span class="std std-ref">pyDKB.dataflow.communication.messages module</span></a> section of this documentation).</p>
6767
<p>Now let`s start writing example processor <code class="docutils literal notranslate"><span class="pre">welcome.py</span></code> and implement
6868
message handler – functional part of the stage (operations to be
6969
performed on data flow units):</p>
70-
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pyDKB.dataflow.messages</span> <span class="k">import</span> <span class="n">JSONMessage</span>
70+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pyDKB.dataflow.communication.messages</span> <span class="k">import</span> <span class="n">JSONMessage</span>
7171

7272
<span class="k">def</span> <span class="nf">my_process</span><span class="p">(</span><span class="n">stage</span><span class="p">,</span> <span class="n">message</span><span class="p">):</span>
7373
<span class="sd">&quot;&quot;&quot; Single message processing. &quot;&quot;&quot;</span>
@@ -103,25 +103,30 @@ <h2>Quickstart guide<a class="headerlink" href="#quickstart-guide" title="Permal
103103
<p>Now as we have processing logic implemented, we need to turn it into
104104
fully functional application. Add following lines to <code class="docutils literal notranslate"><span class="pre">welcome.py</span></code>:</p>
105105
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="hll"><span class="kn">import</span> <span class="nn">sys</span>
106-
</span><span class="hll"><span class="kn">from</span> <span class="nn">pyDKB.dataflow.stage</span> <span class="kn">import</span> <span class="n">JSONProcessorStage</span>
107-
</span><span class="kn">from</span> <span class="nn">pyDKB.dataflow.messages</span> <span class="kn">import</span> <span class="n">JSONMessage</span>
106+
</span><span class="hll"><span class="kn">from</span> <span class="nn">pyDKB.dataflow.stage</span> <span class="kn">import</span> <span class="n">ProcessorStage</span>
107+
</span><span class="hll"><span class="kn">from</span> <span class="nn">pyDKB.dataflow</span> <span class="kn">import</span> <span class="n">messageType</span>
108+
</span><span class="kn">from</span> <span class="nn">pyDKB.dataflow.communication.messages</span> <span class="kn">import</span> <span class="n">JSONMessage</span>
108109

109110
<span class="k">def</span> <span class="nf">my_process</span><span class="p">(</span><span class="n">stage</span><span class="p">,</span> <span class="n">message</span><span class="p">):</span>
110111
<span class="o">&lt;...</span><span class="n">function</span> <span class="n">code</span><span class="o">...&gt;</span>
111112

112113
<span class="hll"><span class="k">if</span> <span class="vm">__name__</span> <span class="o">==</span> <span class="s1">&#39;__main__&#39;</span><span class="p">:</span>
113-
</span><span class="hll"> <span class="n">stage</span> <span class="o">=</span> <span class="n">JSONProcessorStage</span><span class="p">()</span>
114+
</span><span class="hll"> <span class="n">stage</span> <span class="o">=</span> <span class="n">ProcessorStage</span><span class="p">()</span>
115+
</span><span class="hll"> <span class="n">stage</span><span class="o">.</span><span class="n">set_input_message_type</span><span class="p">(</span><span class="n">messageType</span><span class="o">.</span><span class="n">JSON</span><span class="p">)</span>
116+
</span><span class="hll"> <span class="n">stage</span><span class="o">.</span><span class="n">set_output_message_type</span><span class="p">(</span><span class="n">messageType</span><span class="o">.</span><span class="n">JSON</span><span class="p">)</span>
114117
</span><span class="hll"> <span class="n">stage</span><span class="o">.</span><span class="n">process</span> <span class="o">=</span> <span class="n">my_process</span>
115-
</span><span class="hll"> <span class="n">stage</span><span class="o">.</span><span class="n">parse_args</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">:])</span>
118+
</span><span class="hll"> <span class="n">stage</span><span class="o">.</span><span class="n">configure</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">:])</span>
116119
</span><span class="hll"> <span class="n">stage</span><span class="o">.</span><span class="n">run</span><span class="p">()</span>
117120
</span></pre></div>
118121
</div>
119-
<p>First we create stage object and indicate that input and output message
120-
format is JSON: <code class="docutils literal notranslate"><span class="pre">stage</span> <span class="pre">=</span> <span class="pre">JSONProcessorStage()</span></code> (for full list of
121-
processors check <a class="reference internal" href="pyDKB.dataflow.stage.html#pydkb-dataflow-stage"><span class="std std-ref">pyDKB.dataflow.stage package</span></a> section of this documentation);
122-
then set stage processing function to our function <code class="docutils literal notranslate"><span class="pre">my_process()</span></code>,
123-
parse command line arguments (<code class="docutils literal notranslate"><span class="pre">stage.parse_args(sys.argv[1:])</span></code>) and
124-
start the stage execution.</p>
122+
<p>First we create stage object: <code class="docutils literal notranslate"><span class="pre">stage</span> <span class="pre">=</span> <span class="pre">JSONProcessorStage()</span></code>; then indicate
123+
that input and output message format is JSON:
124+
<code class="docutils literal notranslate"><span class="pre">stage.set_{input,output}_message_type(messageType.JSON)</span></code> (for full list of
125+
message types check <a class="reference internal" href="pyDKB.dataflow.communication.messages.html#pydkb-dataflow-communication-messages"><span class="std std-ref">pyDKB.dataflow.communication.messages module</span></a> section of this
126+
documentation); then set stage processing function to our function
127+
<code class="docutils literal notranslate"><span class="pre">my_process()</span></code>, parse command line arguments and configure stage instance
128+
according to it (<code class="docutils literal notranslate"><span class="pre">stage.configure(sys.argv[1:])</span></code>). Now we ready to start the
129+
stage execution.</p>
125130
<p>Easy, right?</p>
126131
<p>It`s time to run our application. Create input data sample
127132
<code class="docutils literal notranslate"><span class="pre">input.ndjson</span></code> with following lines:</p>

0 commit comments

Comments
 (0)