<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p>Hi<br>
</p>
<div class="moz-cite-prefix">On 3/30/17 8:31 PM, Tim Sutton wrote:<br>
</div>
<blockquote type="cite"
cite="mid:5C8A99CD-55FF-4E10-A136-C81A4C812DEE@kartoza.com">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Hi
<div class=""><br class="">
<div>
<blockquote type="cite" class="">
<div class="">On 30 Mar 2017, at 5:08 PM, Matthias Kuhn <<a
href="mailto:matthias@opengis.ch" class=""
moz-do-not-send="true">matthias@opengis.ch</a>>
wrote:</div>
<br class="Apple-interchange-newline">
<div class=""><span style="font-family: Helvetica-Light;
font-size: 14px; font-style: normal; font-variant-caps:
normal; font-weight: normal; letter-spacing: normal;
orphans: auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
float: none; display: inline !important;" class="">Hi
Denis,</span><br style="font-family: Helvetica-Light;
font-size: 14px; font-style: normal; font-variant-caps:
normal; font-weight: normal; letter-spacing: normal;
orphans: auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;"
class="">
<br style="font-family: Helvetica-Light; font-size: 14px;
font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;"
class="">
<span style="font-family: Helvetica-Light; font-size:
14px; font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
float: none; display: inline !important;" class="">Thanks
a lot for finishing this.</span><br style="font-family:
Helvetica-Light; font-size: 14px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; orphans: auto; text-align:
start; text-indent: 0px; text-transform: none;
white-space: normal; widows: auto; word-spacing: 0px;
-webkit-text-stroke-width: 0px;" class="">
<br style="font-family: Helvetica-Light; font-size: 14px;
font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;"
class="">
<span style="font-family: Helvetica-Light; font-size:
14px; font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
float: none; display: inline !important;" class="">I am
really excited and expect less troubles on the sip front
in the</span><br style="font-family: Helvetica-Light;
font-size: 14px; font-style: normal; font-variant-caps:
normal; font-weight: normal; letter-spacing: normal;
orphans: auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;"
class="">
<span style="font-family: Helvetica-Light; font-size:
14px; font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
float: none; display: inline !important;" class="">long-term.</span><br
style="font-family: Helvetica-Light; font-size: 14px;
font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;"
class="">
<br style="font-family: Helvetica-Light; font-size: 14px;
font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;"
class="">
<span style="font-family: Helvetica-Light; font-size:
14px; font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
float: none; display: inline !important;" class="">Tim,
actually the generated python code now includes python
DocStrings,</span><br style="font-family:
Helvetica-Light; font-size: 14px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; orphans: auto; text-align:
start; text-indent: 0px; text-transform: none;
white-space: normal; widows: auto; word-spacing: 0px;
-webkit-text-stroke-width: 0px;" class="">
<span style="font-family: Helvetica-Light; font-size:
14px; font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
float: none; display: inline !important;" class="">so it
should be much easier to inspect an appropriate python</span><br
style="font-family: Helvetica-Light; font-size: 14px;
font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;"
class="">
<span style="font-family: Helvetica-Light; font-size:
14px; font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
float: none; display: inline !important;" class="">documentation
directly with `help(QgsVectorLayer)` etc.</span><br
style="font-family: Helvetica-Light; font-size: 14px;
font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;"
class="">
<br style="font-family: Helvetica-Light; font-size: 14px;
font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;"
class="">
<span style="font-family: Helvetica-Light; font-size:
14px; font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
float: none; display: inline !important;" class="">And
to automatically generate an up-to-date python
documentation.</span><br style="font-family:
Helvetica-Light; font-size: 14px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; orphans: auto; text-align:
start; text-indent: 0px; text-transform: none;
white-space: normal; widows: auto; word-spacing: 0px;
-webkit-text-stroke-width: 0px;" class="">
</div>
</blockquote>
<div><br class="">
</div>
<div>This is really great! I guess the next step would be to
see if we can use autodoc to generate python documentation
on the python libs. If that works it will go a long way
towards bump starting the Python API work that Wes and
Francisco were going to work on under a small QGIS funded
project. The project never got out the starting gates
because we could not come up with an elegant build system.</div>
</div>
</div>
</blockquote>
Having more people improve on this system will be very welcome,
there are plenty of nice little bells and whistles to add!<br>
<br>
<blockquote type="cite"
cite="mid:5C8A99CD-55FF-4E10-A136-C81A4C812DEE@kartoza.com">
<div class="">
<div>
<div><br class="">
</div>
<div>Might I suggest that we do our python documentation in a
sphinx friendly way? So for example where you did:</div>
<div><br class="">
</div>
<div>@versionadded 3.0 in <a
href="https://github.com/qgis/QGIS/pull/4318/files#diff-356d7cb762f7b9dfa4526f102450a9aaR41"
class="" moz-do-not-send="true">https://github.com/qgis/QGIS/pull/4318/files#diff-356d7cb762f7b9dfa4526f102450a9aaR41</a></div>
<div><br class="">
</div>
<div>it would become</div>
<div><br class="">
</div>
<div>..versionadded:: 3.0</div>
</div>
</div>
</blockquote>
<blockquote type="cite"
cite="mid:5C8A99CD-55FF-4E10-A136-C81A4C812DEE@kartoza.com">
<div class="">
<div>
<div><br class="">
</div>
<div>See <a
href="http://www.sphinx-doc.org/en/stable/markup/para.html"
class="" moz-do-not-send="true">http://www.sphinx-doc.org/en/stable/markup/para.html</a></div>
<div><br class="">
</div>
<div>Since we are in green fields with python docstrings here
it would be nice to have everything clean and neat and
pythonic out the gate. Or are there some restrictions in the
sippy annotations that require you to use a certain
docstring style?</div>
</div>
</div>
</blockquote>
These doc strings are generated from the C++ doc strings. But since
they are a pretty simple syntax, it shouldn't be hard to improve
sipify.pl to also convert a set of doxygen tags to their pythonic
equivalent. We might want to unify the doxygen style as well within
this process.<br>
<br>
Cheers<br>
Matthias<br>
<blockquote type="cite"
cite="mid:5C8A99CD-55FF-4E10-A136-C81A4C812DEE@kartoza.com">
<div class="">
<div>
<div>Regards</div>
<div><br class="">
</div>
<div>Tim</div>
<br class="">
<blockquote type="cite" class="">
<div class=""><br style="font-family: Helvetica-Light;
font-size: 14px; font-style: normal; font-variant-caps:
normal; font-weight: normal; letter-spacing: normal;
orphans: auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;"
class="">
<span style="font-family: Helvetica-Light; font-size:
14px; font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
float: none; display: inline !important;" class="">Cheers</span><br
style="font-family: Helvetica-Light; font-size: 14px;
font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;"
class="">
<span style="font-family: Helvetica-Light; font-size:
14px; font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
float: none; display: inline !important;" class="">Matthias</span><br
style="font-family: Helvetica-Light; font-size: 14px;
font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;"
class="">
<br style="font-family: Helvetica-Light; font-size: 14px;
font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;"
class="">
<span style="font-family: Helvetica-Light; font-size:
14px; font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
float: none; display: inline !important;" class="">On
03/30/2017 05:02 PM, Denis Rouzaud wrote:</span><br
style="font-family: Helvetica-Light; font-size: 14px;
font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;"
class="">
<blockquote type="cite" style="font-family:
Helvetica-Light; font-size: 14px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; orphans: auto; text-align:
start; text-indent: 0px; text-transform: none;
white-space: normal; widows: auto; word-spacing: 0px;
-webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px;" class=""><br class="">
<br class="">
Le jeu. 30 mars 2017 à 16:56, Tim Sutton <<a
href="mailto:tim@kartoza.com" class=""
moz-do-not-send="true">tim@kartoza.com</a><br class="">
<<a href="mailto:tim@kartoza.com" class=""
moz-do-not-send="true">mailto:tim@kartoza.com</a>>>
a écrit :<br class="">
<br class="">
Hi<br class="">
<br class="">
<blockquote type="cite" class=""> On 30 Mar 2017, at
3:18 PM, Denis Rouzaud <<a
href="mailto:denis.rouzaud@gmail.com" class=""
moz-do-not-send="true">denis.rouzaud@gmail.com</a><br
class="">
<<a href="mailto:denis.rouzaud@gmail.com"
class="" moz-do-not-send="true">mailto:denis.rouzaud@gmail.com</a>>>
wrote:<br class="">
<br class="">
Dear all,<br class="">
<br class="">
I'd like to raise the attention on a new workflow I
just merged to<br class="">
automatically generate SIP files using the header
as source only.<br class="">
<br class="">
A PR is pending for the documentation, but you can
read it here<br class="">
<a
href="https://github.com/3nids/QGIS-Documentation/blob/6e3a9fb6f98a2869aef27c01b7ab70eb0a4c7556/source/docs/developers_guide/codingstandards.rst#sip-bindings"
class="" moz-do-not-send="true">https://github.com/3nids/QGIS-Documentation/blob/6e3a9fb6f98a2869aef27c01b7ab70eb0a4c7556/source/docs/developers_guide/codingstandards.rst#sip-bindings</a><br
class="">
(waiting to be merged).<br class="">
<br class="">
For the moment, only 3 files are generated
(qgsattributes,<br class="">
qgsfeature and qgsvectorlayer). One can starts
adding new files to<br class="">
the process by adapting their header and removing
them from<br class="">
python/auto_sip.blacklist.<br class="">
</blockquote>
<br class="">
This is really great! A couple of questions:<br
class="">
<br class="">
1) the blacklist implies that any new .h files added
to the source<br class="">
tree will automatically have sip bindings generated
unless you<br class="">
explicitly blacklist them?<br class="">
<br class="">
<br class="">
As soon as you add the include in python/core/core.sip
(or gui,<br class="">
analysis), the SIP is considered as automatically
generated from header<br class="">
except if you blacklist it.<br class="">
<br class="">
<br class="">
2) are you thinking to maintain the sip files in Git
still or remove<br class="">
the from revision in favour of having them as build
time artifacts<br class="">
only? I ask this because I often direct people to use
the sip files<br class="">
as a reference guide for the python API if they want
to dig under<br class="">
the hood a bit more.<br class="">
<br class="">
<br class="">
The goal is to remove the SIP files and have them
created on build time.<br class="">
But:<br class="">
1) I except a few errors in the script to arise (so
better to have an<br class="">
easy access to the SIP files)<br class="">
2) it needs to reach a significant point of ported
headers.<br class="">
<br class="">
So, in a somehow close or far future, yes they'll be
removed from source<br class="">
(hence no blacklist anymore only manual files such as
core/conversions.sip).<br class="">
<br class="">
<br class="">
_______________________________________________<br
class="">
Qgis-developer mailing list<br class="">
<a href="mailto:Qgis-developer@lists.osgeo.org" class=""
moz-do-not-send="true">Qgis-developer@lists.osgeo.org</a><br
class="">
List info:<span class="Apple-converted-space"> </span><a
href="https://lists.osgeo.org/mailman/listinfo/qgis-developer" class=""
moz-do-not-send="true">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br
class="">
Unsubscribe:<span class="Apple-converted-space"> </span><a
href="https://lists.osgeo.org/mailman/listinfo/qgis-developer" class=""
moz-do-not-send="true">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br
class="">
<br class="">
</blockquote>
<span style="font-family: Helvetica-Light; font-size:
14px; font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
float: none; display: inline !important;" class="">_______________________________________________</span><br
style="font-family: Helvetica-Light; font-size: 14px;
font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;"
class="">
<span style="font-family: Helvetica-Light; font-size:
14px; font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
float: none; display: inline !important;" class="">Qgis-developer
mailing list</span><br style="font-family:
Helvetica-Light; font-size: 14px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; orphans: auto; text-align:
start; text-indent: 0px; text-transform: none;
white-space: normal; widows: auto; word-spacing: 0px;
-webkit-text-stroke-width: 0px;" class="">
<a href="mailto:Qgis-developer@lists.osgeo.org"
style="font-family: Helvetica-Light; font-size: 14px;
font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px;" class=""
moz-do-not-send="true">Qgis-developer@lists.osgeo.org</a><br
style="font-family: Helvetica-Light; font-size: 14px;
font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;"
class="">
<span style="font-family: Helvetica-Light; font-size:
14px; font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
float: none; display: inline !important;" class="">List
info:<span class="Apple-converted-space"> </span></span><a
href="https://lists.osgeo.org/mailman/listinfo/qgis-developer"
style="font-family: Helvetica-Light; font-size: 14px;
font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px;" class=""
moz-do-not-send="true">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br
style="font-family: Helvetica-Light; font-size: 14px;
font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;"
class="">
<span style="font-family: Helvetica-Light; font-size:
14px; font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
float: none; display: inline !important;" class="">Unsubscribe:<span
class="Apple-converted-space"> </span></span><a
href="https://lists.osgeo.org/mailman/listinfo/qgis-developer"
style="font-family: Helvetica-Light; font-size: 14px;
font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px;" class=""
moz-do-not-send="true">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a></div>
</blockquote>
</div>
<br class="">
<div class="">
<div style="color: rgb(0, 0, 0); font-family: Helvetica;
font-size: 12px; font-style: normal; font-variant-ligatures:
normal; font-variant-position: normal; font-variant-caps:
normal; font-variant-numeric: normal;
font-variant-alternates: normal; font-variant-east-asian:
normal; font-weight: normal; letter-spacing: normal;
orphans: auto; text-indent: 0px; text-transform: none;
white-space: normal; widows: auto; word-spacing: 0px;
-webkit-text-stroke-width: 0px; line-height: normal;
text-align: center;" class=""><span>—</span></div>
<div style="color: rgb(0, 0, 0); font-family: Helvetica;
font-size: 12px; font-style: normal; font-variant-ligatures:
normal; font-variant-position: normal; font-variant-caps:
normal; font-variant-numeric: normal;
font-variant-alternates: normal; font-variant-east-asian:
normal; letter-spacing: normal; orphans: auto; text-indent:
0px; text-transform: none; white-space: normal; widows:
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
line-height: normal; text-align: center;" class="">
<div style="color: rgb(0, 0, 0); font-family: Helvetica;
font-size: 12px; font-style: normal; font-variant-caps:
normal; font-weight: normal; letter-spacing: normal;
orphans: auto; text-align: center; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
font-variant-ligatures: normal; font-variant-position:
normal; font-variant-numeric: normal;
font-variant-alternates: normal; font-variant-east-asian:
normal; margin: 0px; line-height: normal;
-webkit-text-stroke-color: rgb(0, 0, 0); min-height:
14px;" class=""><br class="">
</div>
<br class="Apple-interchange-newline" style="color: rgb(0,
0, 0); font-family: Helvetica; font-size: 12px;
font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: center; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px;">
<span style="color: rgb(0, 0, 0); font-family: Helvetica;
font-size: 12px; font-style: normal; font-variant-caps:
normal; font-weight: normal; letter-spacing: normal;
orphans: auto; text-align: center; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px;"><span><span><span><span><span><img
apple-inline="yes"
id="7E67CBA5-AC01-4C37-8203-F6ACD701E252"
src="cid:part15.BDC22BF4.E0BC1B07@opengis.ch"
class=""></span>
<div style="color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; orphans: auto;
text-align: center; text-indent: 0px;
text-transform: none; white-space: normal;
widows: auto; word-spacing: 0px;
-webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal; margin: 0px;
line-height: normal; -webkit-text-stroke-color:
rgb(0, 0, 0); min-height: 14px;" class=""><br
class="Apple-interchange-newline">
<br class="Apple-interchange-newline">
<br class="Apple-interchange-newline">
<br class="Apple-interchange-newline">
<br class="Apple-interchange-newline">
<br class="">
</div>
<div style="color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; orphans: auto;
text-align: center; text-indent: 0px;
text-transform: none; white-space: normal;
widows: auto; word-spacing: 0px;
-webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal; margin: 0px;
line-height: normal; -webkit-text-stroke-color:
rgb(0, 0, 0); min-height: 14px;" class=""><br
class="">
</div>
<div style="color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; orphans: auto;
text-align: center; text-indent: 0px;
text-transform: none; white-space: normal;
widows: auto; word-spacing: 0px;
-webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal; margin: 0px;
line-height: normal; -webkit-text-stroke-color:
rgb(0, 0, 0);" class=""><b class="">Tim Sutton</b></div>
<div style="color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; orphans: auto;
text-align: center; text-indent: 0px;
text-transform: none; white-space: normal;
widows: auto; word-spacing: 0px;
-webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal; margin: 0px;
line-height: normal; -webkit-text-stroke-color:
rgb(0, 0, 0); min-height: 14px;" class=""><br
class="">
</div>
<div style="color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; orphans: auto;
text-align: center; text-indent: 0px;
text-transform: none; white-space: normal;
widows: auto; word-spacing: 0px;
-webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal; margin: 0px;
line-height: normal; -webkit-text-stroke-color:
rgb(0, 0, 0);" class=""><b class="">Co-founder:</b><span
class="Apple-converted-space"> </span>Kartoza</div>
<div style="color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; orphans: auto;
text-align: center; text-indent: 0px;
text-transform: none; white-space: normal;
widows: auto; word-spacing: 0px;
-webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal; margin: 0px;
line-height: normal; -webkit-text-stroke-color:
rgb(0, 0, 0);" class=""><b class="">Project
chair:</b><span style="font-weight: normal;"
class=""><span class="Apple-converted-space"> </span><a
href="http://QGIS.org" class=""
moz-do-not-send="true">QGIS.org</a></span></div>
<div style="color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; orphans: auto;
text-align: center; text-indent: 0px;
text-transform: none; white-space: normal;
widows: auto; word-spacing: 0px;
-webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal; margin: 0px;
line-height: normal; -webkit-text-stroke-color:
rgb(0, 0, 0); min-height: 14px;" class=""><br
class="">
</div>
<div style="color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; orphans: auto;
text-align: center; text-indent: 0px;
text-transform: none; white-space: normal;
widows: auto; word-spacing: 0px;
-webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal; margin: 0px;
line-height: normal; -webkit-text-stroke-color:
rgb(0, 0, 0);" class="">Visit <a
href="http://kartoza.com/" class=""
moz-do-not-send="true"><span
style="-webkit-text-stroke-color: rgb(71,
135, 255);" class="">http://kartoza.com</span></a> to
find out about open source:</div>
<div style="color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; orphans: auto;
text-align: center; text-indent: 0px;
text-transform: none; white-space: normal;
widows: auto; word-spacing: 0px;
-webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal; margin: 0px;
line-height: normal; -webkit-text-stroke-color:
rgb(0, 0, 0); min-height: 14px;" class=""><br
class="">
</div>
<div style="color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; orphans: auto;
text-align: center; text-indent: 0px;
text-transform: none; white-space: normal;
widows: auto; word-spacing: 0px;
-webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal; margin: 0px;
line-height: normal; -webkit-text-stroke-color:
rgb(0, 0, 0);" class="">Desktop GIS programming
services</div>
<div style="color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; orphans: auto;
text-align: center; text-indent: 0px;
text-transform: none; white-space: normal;
widows: auto; word-spacing: 0px;
-webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal; margin: 0px;
line-height: normal; -webkit-text-stroke-color:
rgb(0, 0, 0);" class="">Geospatial web
development</div>
<div style="color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; orphans: auto;
text-align: center; text-indent: 0px;
text-transform: none; white-space: normal;
widows: auto; word-spacing: 0px;
-webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal; margin: 0px;
line-height: normal; -webkit-text-stroke-color:
rgb(0, 0, 0);" class="">GIS Training</div>
<div style="color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; orphans: auto;
text-align: center; text-indent: 0px;
text-transform: none; white-space: normal;
widows: auto; word-spacing: 0px;
-webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal; margin: 0px;
line-height: normal; -webkit-text-stroke-color:
rgb(0, 0, 0);" class="">Consulting Services</div>
<div style="color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; orphans: auto;
text-align: center; text-indent: 0px;
text-transform: none; white-space: normal;
widows: auto; word-spacing: 0px;
-webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal; margin: 0px;
line-height: normal; -webkit-text-stroke-color:
rgb(0, 0, 0); min-height: 14px;" class=""><br
class="">
</div>
<div style="color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; orphans: auto;
text-align: center; text-indent: 0px;
text-transform: none; white-space: normal;
widows: auto; word-spacing: 0px;
-webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal; margin: 0px;
line-height: normal; -webkit-text-stroke-color:
rgb(0, 0, 0);" class=""><b class="">Skype</b>:
timlinux </div>
<div style="color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; orphans: auto;
text-align: center; text-indent: 0px;
text-transform: none; white-space: normal;
widows: auto; word-spacing: 0px;
-webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal; margin: 0px;
line-height: normal; -webkit-text-stroke-color:
rgb(0, 0, 0);" class=""><b class="">IRC:</b><span
class="Apple-converted-space"> </span>timlinux
on #qgis at <a href="http://freenode.net"
class="" moz-do-not-send="true">freenode.net</a></div>
<div style="color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; orphans: auto;
text-align: center; text-indent: 0px;
text-transform: none; white-space: normal;
widows: auto; word-spacing: 0px;
-webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal; margin: 0px;
line-height: normal; -webkit-text-stroke-color:
rgb(0, 0, 0);" class=""><br class="">
</div>
<div style="color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; orphans: auto;
text-align: center; text-indent: 0px;
text-transform: none; white-space: normal;
widows: auto; word-spacing: 0px;
-webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal; margin: 0px;
line-height: normal; -webkit-text-stroke-color:
rgb(0, 0, 0);" class="">Kartoza is a merger
between Linfiniti and Afrispatial</div>
</span></span></span></span></span></div>
</div>
<br class="">
</div>
</blockquote>
<br>
</body>
</html>