tag:github.com,2008:https://github.com/graphform/swim-system-python/releasesRelease notes from swim-system-python2024-11-21T17:05:55Ztag:github.com,2008:Repository/212773657/1.6.0-alpha2024-11-21T17:08:46ZAlpha release 1.6.0-alpha<ul>
<li>Added support for authentication.</li>
<li>Extended the retry system to include re-auth.</li>
</ul>DobromirMtag:github.com,2008:Repository/212773657/1.5.0-alpha2024-08-02T15:50:09ZAlpha release 1.5.0-alpha<p><strong>Changelog</strong>:</p>
<ol>
<li>Downlinks will now reconnect by default when there is a connection failure.</li>
<li>Added <code>keep_linked</code> and <code>keep_synced</code></li>
</ol>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="...
value_downlink = swim_client.downlink_value()
value_downlink.set_host_uri('ws://localhost:9001/')
value_downlink.set_node_uri('/unit/foo')
value_downlink.set_lane_uri('info')
value_downlink.keep_synced(True)
value_downlink.keep_linked(False)
...
"><pre>...
<span class="pl-s1">value_downlink</span> <span class="pl-c1">=</span> <span class="pl-s1">swim_client</span>.<span class="pl-c1">downlink_value</span>()
<span class="pl-s1">value_downlink</span>.<span class="pl-c1">set_host_uri</span>(<span class="pl-s">'ws://localhost:9001/'</span>)
<span class="pl-s1">value_downlink</span>.<span class="pl-c1">set_node_uri</span>(<span class="pl-s">'/unit/foo'</span>)
<span class="pl-s1">value_downlink</span>.<span class="pl-c1">set_lane_uri</span>(<span class="pl-s">'info'</span>)
<span class="pl-s1">value_downlink</span>.<span class="pl-c1">keep_synced</span>(<span class="pl-c1">True</span>)
<span class="pl-s1">value_downlink</span>.<span class="pl-c1">keep_linked</span>(<span class="pl-c1">False</span>)
...</pre></div>
<ol start="3">
<li>Added method for waiting until all client tasks are completed. The behaviour is modeled after the <code>[Thread.join</code> interface](<a href="https://docs.python.org/3/library/threading.html#threading.Thread.join" rel="nofollow">https://docs.python.org/3/library/threading.html#threading.Thread.join</a>).<br>
Fred, This should address the problem that you had.</li>
</ol>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="if __name__ == '__main__':
swim_client = SwimClient()
swim_client.start()
event_downlink = swim_client.downlink_event()
event_downlink.set_host_uri('ws://localhost:9001/')
event_downlink.set_node_uri('/unit/foo')
event_downlink.set_lane_uri("publishValue")
event_downlink.on_event(custom_on_event)
event_downlink.open()
# This is used to block the thread until all client tasks have completed
swim_client.join()
# Alternatively, a maximum timeout may be provided which will unblock the thread after it has elapsed
# swim_client.join(timeout=300)
"><pre><span class="pl-k">if</span> <span class="pl-s1">__name__</span> <span class="pl-c1">==</span> <span class="pl-s">'__main__'</span>:
<span class="pl-s1">swim_client</span> <span class="pl-c1">=</span> <span class="pl-en">SwimClient</span>()
<span class="pl-s1">swim_client</span>.<span class="pl-c1">start</span>()
<span class="pl-s1">event_downlink</span> <span class="pl-c1">=</span> <span class="pl-s1">swim_client</span>.<span class="pl-c1">downlink_event</span>()
<span class="pl-s1">event_downlink</span>.<span class="pl-c1">set_host_uri</span>(<span class="pl-s">'ws://localhost:9001/'</span>)
<span class="pl-s1">event_downlink</span>.<span class="pl-c1">set_node_uri</span>(<span class="pl-s">'/unit/foo'</span>)
<span class="pl-s1">event_downlink</span>.<span class="pl-c1">set_lane_uri</span>(<span class="pl-s">"publishValue"</span>)
<span class="pl-s1">event_downlink</span>.<span class="pl-c1">on_event</span>(<span class="pl-s1">custom_on_event</span>)
<span class="pl-s1">event_downlink</span>.<span class="pl-c1">open</span>()
<span class="pl-c"># This is used to block the thread until all client tasks have completed</span>
<span class="pl-s1">swim_client</span>.<span class="pl-c1">join</span>()
<span class="pl-c"># Alternatively, a maximum timeout may be provided which will unblock the thread after it has elapsed</span>
<span class="pl-c"># swim_client.join(timeout=300)</span></pre></div>
<ol start="4">
<li>Added custom errors for trying to open a downlink before first setting the host, node or lane.</li>
</ol>DobromirMtag:github.com,2008:Repository/212773657/1.4.0-alpha2024-06-27T19:05:18ZAlpha release 1.4.0-alpha<p>Added additional callbacks.</p>DobromirMtag:github.com,2008:Repository/212773657/1.3.0-alpha2024-06-06T16:57:52ZAlpha release 1.3.0-alphaNo content.DobromirMtag:github.com,2008:Repository/212773657/1.2.0-alpha2021-05-05T13:29:23ZAlpha release 1.2.0-alpha<p><b>Changelog:</b></p>
<ul>
<li>Added support for WSS.</li>
</ul>DobromirMtag:github.com,2008:Repository/212773657/1.1.0-alpha2020-08-27T11:26:29ZAlpha release 1.1.0-alpha<p><b>Changelog:</b></p>
<ul>
<li>Map downlinks now handle updates before sync properly.</li>
<li>Removed unnecessary async annotations.</li>
</ul>DobromirMtag:github.com,2008:Repository/212773657/1.0.1-alpha2020-05-21T10:45:45ZAlpha release 1.0.1-alpha<p><b>Changelog:</b></p>
<ul>
<li>Added a manifest file to fix the <code>sdist</code>.</li>
<li>Fixed new lint issues flagged by the new version of <code>flake8</code>.</li>
</ul>DobromirMtag:github.com,2008:Repository/212773657/1.0.0-alpha2020-02-13T12:12:40ZAlpha release 1.0.0-alpha<p><b>Changelog</b>:</p>
<ul>
<li>Added event downlinks.</li>
<li>Added map downlinks.</li>
<li>Added <code>Unlinked Response</code> handling with appropriate warnings.</li>
<li>Removed the asyncio <code>Executor</code> and added better support for regular functions in the downlink callbacks.</li>
<li>Added blocking flag for <code>set</code> method of downlinks, which will ensure the order of <code>set</code> requests.</li>
<li>Downlinks to existing connections now display the value of the remote lane when opened.</li>
<li>Minor bug fixes for internal status handling of the client, downlinks and connections.</li>
<li>Increased unit test coverage to 100% and added missing documentation.</li>
<li>Formalised the puclic API of the package.</li>
</ul>DobromirMtag:github.com,2008:Repository/212773657/0.1.1.dev12019-12-20T14:57:19ZDevelopment release 0.1.1.dev1<p>Changelog:</p>
<ul>
<li>Added <code>warp</code> as alias of <code>ws</code> for remote host URIs.</li>
<li>Downlinks to the same host, node and lane are now handled by a single downlink model which is accessed through different downlink views.</li>
<li>Improved the exception handling and introduced a debug mode for the client that shows the full stack traces.</li>
<li>Implemented automatic conversion from primitive data types to recon when used in downlinks.</li>
<li>Implemented Python object to recon serializer.</li>
<li>Implemented Recon to Python object deserializer.</li>
<li>Improved documentation and added type annotations to all methods.</li>
<li>Added unit tests to cover all modules.</li>
<li>Minor bug fixes.</li>
</ul>DobromirMtag:github.com,2008:Repository/212773657/0.1.0.dev12019-11-05T13:51:07ZDevelopment release 0.1.0.dev1<p>Changelog:</p>
<ul>
<li>Changed the name of the base module to match the package name.</li>
<li>Increased code documentation.</li>
<li>Removed bugs.</li>
</ul>DobromirM