tag:github.com,2008:https://github.com/graphform/swim-system-python/releases Release notes from swim-system-python 2024-11-21T17:05:55Z tag:github.com,2008:Repository/212773657/1.6.0-alpha 2024-11-21T17:08:46Z Alpha release 1.6.0-alpha <ul> <li>Added support for authentication.</li> <li>Extended the retry system to include re-auth.</li> </ul> DobromirM tag:github.com,2008:Repository/212773657/1.5.0-alpha 2024-08-02T15:50:09Z Alpha 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(&quot;publishValue&quot;) 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> DobromirM tag:github.com,2008:Repository/212773657/1.4.0-alpha 2024-06-27T19:05:18Z Alpha release 1.4.0-alpha <p>Added additional callbacks.</p> DobromirM tag:github.com,2008:Repository/212773657/1.3.0-alpha 2024-06-06T16:57:52Z Alpha release 1.3.0-alpha No content. DobromirM tag:github.com,2008:Repository/212773657/1.2.0-alpha 2021-05-05T13:29:23Z Alpha release 1.2.0-alpha <p><b>Changelog:</b></p> <ul> <li>Added support for WSS.</li> </ul> DobromirM tag:github.com,2008:Repository/212773657/1.1.0-alpha 2020-08-27T11:26:29Z Alpha 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> DobromirM tag:github.com,2008:Repository/212773657/1.0.1-alpha 2020-05-21T10:45:45Z Alpha 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> DobromirM tag:github.com,2008:Repository/212773657/1.0.0-alpha 2020-02-13T12:12:40Z Alpha 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> DobromirM tag:github.com,2008:Repository/212773657/0.1.1.dev1 2019-12-20T14:57:19Z Development 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> DobromirM tag:github.com,2008:Repository/212773657/0.1.0.dev1 2019-11-05T13:51:07Z Development 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