<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to libflom for Python developers</title><link>https://sourceforge.net/p/flom/wiki/libflom%2520for%2520Python%2520developers/</link><description>Recent changes to libflom for Python developers</description><atom:link href="https://sourceforge.net/p/flom/wiki/libflom%20for%20Python%20developers/feed" rel="self"/><language>en</language><lastBuildDate>Thu, 05 Mar 2020 21:17:26 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/flom/wiki/libflom%20for%20Python%20developers/feed" rel="self" type="application/rss+xml"/><item><title>libflom for Python developers modified by Christian Ferrari</title><link>https://sourceforge.net/p/flom/wiki/libflom%2520for%2520Python%2520developers/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v4
+++ v5
@@ -1,3 +1,4 @@
+This page is no more maintained, the current one is at http://www.tiian.org/flom/libflom/libflom_for_Python_developers.html
 # The libflom programming kompass for Python developers #

 FLoM API is very easy to understand and use; these are the basic concepts:
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Christian Ferrari</dc:creator><pubDate>Thu, 05 Mar 2020 21:17:26 -0000</pubDate><guid>https://sourceforge.net5ec8121f02136f999de3443e7cff32536386f1a2</guid></item><item><title>libflom for Python developers modified by Christian Ferrari</title><link>https://sourceforge.net/p/flom/wiki/libflom%2520for%2520Python%2520developers/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v3
+++ v4
@@ -10,16 +10,16 @@
 [basic.py](https://github.com/tiian/flom/blob/master/doc/examples/python/basic.py) example can be considered the *hello world FLoM equivalent* for *Python programming*:
 1. allocate a *flom_handle_t* object
 2. initialize the object using method (function) *flom_handle_init*
-3. serialize your program using method (function) *flom_handle_lock*
-4. do everything your program must perform inside the serialization window
-5. deserialize your program using method (function) *flom_handle_unlock*
+3. synchronize your program using method (function) *flom_handle_lock*
+4. do everything your program must perform inside the synchronization window
+5. desynchronize your program using method (function) *flom_handle_unlock*
 6. clean-up the object using method (function) *flom_handle_clean*

 **Note:** you must clean-up every initialized *flom_handle_t* object; if you don't clean-up every object you will generate memory leaks.

 ## Advanced programming example ##
 Basic example does not explain as you can specify the name of the logical resource, the quantity of a numerical resource and the other parameters you typically use with **flom** command line.
-[advanced.py](https://github.com/tiian/flom/blob/master/doc/examples/python/advanced.py) example shows how some properties can be set before entering in the serialization phase.
+[advanced.py](https://github.com/tiian/flom/blob/master/doc/examples/python/advanced.py) example shows how some properties can be set before entering in the synchronization phase.
 The complete list of the available setter/getter methods can be retrieved from:

 * [function](http://flom.sourceforge.net/globals_func.html) API page
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Christian Ferrari</dc:creator><pubDate>Fri, 20 May 2016 14:58:06 -0000</pubDate><guid>https://sourceforge.netdf03c9ee7c0322e5615dbee948abffb144d4997b</guid></item><item><title>libflom for Python developers modified by Christian Ferrari</title><link>https://sourceforge.net/p/flom/wiki/libflom%2520for%2520Python%2520developers/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -25,3 +25,10 @@
 * [function](http://flom.sourceforge.net/globals_func.html) API page

 **Note:** Python libflom wrapper exposes the same functions provided by the C basic library.
+
+## Transactional example ##
+Some resources, for example unique sequences, can be declared as *transactional*.
+A transactional resource has an associated state and it needs an explicit *unlock* to commit the state. 
+If a transactional resource is not committed due to a program crash, the state will be rolled back.
+Function **flom_handle_unlock_rollback** has been introduced to force a state rollback during the **unlock** phase, even if a program does not crash.
+An example is available in this source code: [transactional.py](https://github.com/tiian/flom/blob/master/doc/examples/python/transactional.py).
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Christian Ferrari</dc:creator><pubDate>Tue, 10 May 2016 21:34:21 -0000</pubDate><guid>https://sourceforge.net70c185c7e4959c58f6da62e459769d3d62b76e66</guid></item><item><title>libflom for Python developers modified by Christian Ferrari</title><link>https://sourceforge.net/p/flom/wiki/libflom%2520for%2520Python%2520developers/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -7,7 +7,7 @@

 ## Basic programming example ##

-[basic.py](https://sourceforge.net/p/flom/code/ci/master/tree/doc/examples/python/basic.py) example can be considered the *hello world FLoM equivalent* for *Python programming*:
+[basic.py](https://github.com/tiian/flom/blob/master/doc/examples/python/basic.py) example can be considered the *hello world FLoM equivalent* for *Python programming*:
 1. allocate a *flom_handle_t* object
 2. initialize the object using method (function) *flom_handle_init*
 3. serialize your program using method (function) *flom_handle_lock*
@@ -19,7 +19,7 @@

 ## Advanced programming example ##
 Basic example does not explain as you can specify the name of the logical resource, the quantity of a numerical resource and the other parameters you typically use with **flom** command line.
-[advanced.py](https://sourceforge.net/p/flom/code/ci/master/tree/doc/examples/python/advanced.py) example shows how some properties can be set before entering in the serialization phase.
+[advanced.py](https://github.com/tiian/flom/blob/master/doc/examples/python/advanced.py) example shows how some properties can be set before entering in the serialization phase.
 The complete list of the available setter/getter methods can be retrieved from:

 * [function](http://flom.sourceforge.net/globals_func.html) API page
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Christian Ferrari</dc:creator><pubDate>Tue, 26 May 2015 21:22:05 -0000</pubDate><guid>https://sourceforge.net68f044052990f897338dd9819478189f9a6d5d8a</guid></item><item><title>libflom for Python developers modified by Christian Ferrari</title><link>https://sourceforge.net/p/flom/wiki/libflom%2520for%2520Python%2520developers/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="the-libflom-programming-kompass-for-python-developers"&gt;The libflom programming kompass for Python developers&lt;/h1&gt;
&lt;p&gt;FLoM API is very easy to understand and use; these are the basic concepts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;flom&lt;/em&gt; is the package you must include&lt;/li&gt;
&lt;li&gt;&lt;em&gt;flom_handle_t&lt;/em&gt; is the data type you must use to communicate with FLoM (you must treat this type of object as an opaque object: for every useful property there's a getter/setter method and you don't have to mind what's the meaning of the object content)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="basic-programming-example"&gt;Basic programming example&lt;/h2&gt;
&lt;p&gt;&lt;a class="" href="https://sourceforge.net/p/flom/code/ci/master/tree/doc/examples/python/basic.py"&gt;basic.py&lt;/a&gt; example can be considered the &lt;em&gt;hello world FLoM equivalent&lt;/em&gt; for &lt;em&gt;Python programming&lt;/em&gt;:&lt;br /&gt;
1. allocate a &lt;em&gt;flom_handle_t&lt;/em&gt; object&lt;br /&gt;
2. initialize the object using method (function) &lt;em&gt;flom_handle_init&lt;/em&gt;&lt;br /&gt;
3. serialize your program using method (function) &lt;em&gt;flom_handle_lock&lt;/em&gt;&lt;br /&gt;
4. do everything your program must perform inside the serialization window&lt;br /&gt;
5. deserialize your program using method (function) &lt;em&gt;flom_handle_unlock&lt;/em&gt;&lt;br /&gt;
6. clean-up the object using method (function) &lt;em&gt;flom_handle_clean&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; you must clean-up every initialized &lt;em&gt;flom_handle_t&lt;/em&gt; object; if you don't clean-up every object you will generate memory leaks.&lt;/p&gt;
&lt;h2 id="advanced-programming-example"&gt;Advanced programming example&lt;/h2&gt;
&lt;p&gt;Basic example does not explain as you can specify the name of the logical resource, the quantity of a numerical resource and the other parameters you typically use with &lt;strong&gt;flom&lt;/strong&gt; command line.&lt;br /&gt;
&lt;a class="" href="https://sourceforge.net/p/flom/code/ci/master/tree/doc/examples/python/advanced.py"&gt;advanced.py&lt;/a&gt; example shows how some properties can be set before entering in the serialization phase.&lt;br /&gt;
The complete list of the available setter/getter methods can be retrieved from:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="" href="http://flom.sourceforge.net/globals_func.html"&gt;function&lt;/a&gt; API page&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Python libflom wrapper exposes the same functions provided by the C basic library.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Christian Ferrari</dc:creator><pubDate>Tue, 26 May 2015 21:20:29 -0000</pubDate><guid>https://sourceforge.netb8d94e373b67992d90830d78d09cc1833857c5b3</guid></item></channel></rss>