<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>J5's Blog &#187; Python</title>
	<atom:link href="http://www.j5live.com/category/python/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.j5live.com</link>
	<description>Where the urethane hits the pavement</description>
	<lastBuildDate>Fri, 03 Feb 2012 19:05:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Well hello OpenShift</title>
		<link>http://www.j5live.com/2012/02/02/well-hello-openshift/</link>
		<comments>http://www.j5live.com/2012/02/02/well-hello-openshift/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 00:18:35 +0000</pubDate>
		<dc:creator>J5</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Redhat]]></category>
		<category><![CDATA[community]]></category>

		<guid isPermaLink="false">http://www.j5live.com/?p=1031</guid>
		<description><![CDATA[I haven&#8217;t blogged lately.  For some reason since the popularization of Facebook posts and tweets, my ability to write more than a few coherent sentences have greatly diminished.  Perhaps it is just me getting old but change is what change does and a lot of change has happened recently.  The biggest recent [...]]]></description>
			<content:encoded><![CDATA[<p>I haven&#8217;t blogged lately.  For some reason since the popularization of Facebook posts and tweets, my ability to write more than a few coherent sentences have greatly diminished.  Perhaps it is just me getting old but change is what change does and a lot of change has happened recently.  The biggest recent change is me getting a promotion to Senior Software Engineer and moving from the <a href="http://fedoraproject.org/">Fedora</a> team to the <a href="http://openshift.redhat.com">OpenShift</a> team inside of Red Hat.  Yes, I have traded Beefy Miracles for Space Pandas and I think the change has done me some good.  I have wanted to transition to a more customer driven structured part of Red Hat without sacrificing the excitement of working with a fast moving project.  OpenShift fit the bill very nicely with their agile development workflow in the emerging field of <a href="http://en.wikipedia.org/wiki/Platform_as_a_service">PaaS (Platform as a Service)</a> cloud development.  It is also nice having a large and growing team to work with.</p>
<p><strong>My involvement with PyGObject</strong></p>
<p>That being said most of my hacking time will be spent on OpenShift related projects and while I had already transitioned out of day to day PyGObject maintainership some time ago,  I will no longer have any real time to dedicate to the project (I&#8217;m actually learning Ruby right now).  To tell the truth, not being able to put any more serious time into the project is one of the major reasons I decided I needed a change.  There are a number of other people still contributing to the project but it is sorely in need of a lead maintainer who can do releases, keep people on schedule and ping the right people when bugs languish.  I feel PyGObject is in good shape but as it begins to get more uptake bugs fixes need to be committed, edge cases corralled and the last mile needs to be traversed.  I will still hang out in #python on GIMPNet and can be persuaded to look at patches or even write a few if you ping me and are nice.</p>
<p><strong>Jobs</strong></p>
<p>With me leaving the Fedora team there is now an opening for someone to join the team.  They are looking for an all around FOSS rock star who can work in a number of different areas such as packaging, desktop and web development, and any number of miscellaneous skill your would encounter with any FOSS project.  The main responsibilities would be maintaining, improving and integrating our infrastructure tools such as <a href="https://community.dev.fedoraproject.org/packages">Fedora Community Packages web app</a>, <a href="https://admin.fedoraproject.org/updates">Bodhi update tool</a> and <a href="https://admin.fedoraproject.org/accounts">Fas accounts system</a> as well as developing tools to make it easier to contribute to Fedora.  Most of the tools are written in Python so being a Python expert is a big plus as well as having worked as part of a team on any major open source project.  If that sounds like fun to you <a href="mailto: johnp+fedoraresume2012@redhat.com">send me your resume</a> (I get a bonus if you get hired).</p>
<p>OpenShift is also expanding so if <a href="https://careers.redhat.com/ext/search?act=list&#038;Keyword=OpenShift&#038;SearchJobID=&#038;Category=&#038;Location=">any of these jobs look more like your speed</a> feel free to <a href="mailto: johnp+osresume2012@redhat.com">mail me also</a>.</p>
[read this post in: <a href="http://translate.google.com/translate?u=http://www.j5live.com/2012/02/02/well-hello-openshift/&langpair=en%7Car">ar</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2012/02/02/well-hello-openshift/&langpair=en%7Cde">de</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2012/02/02/well-hello-openshift/&langpair=en%7Ces">es</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2012/02/02/well-hello-openshift/&langpair=en%7Cfr">fr</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2012/02/02/well-hello-openshift/&langpair=en%7Cit">it</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2012/02/02/well-hello-openshift/&langpair=en%7Cja">ja</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2012/02/02/well-hello-openshift/&langpair=en%7Cko">ko</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2012/02/02/well-hello-openshift/&langpair=en%7Cpt">pt</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2012/02/02/well-hello-openshift/&langpair=en%7Cru">ru</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2012/02/02/well-hello-openshift/&langpair=en%7Czh-CN">zh-CN</a> ]]]></content:encoded>
			<wfw:commentRss>http://www.j5live.com/2012/02/02/well-hello-openshift/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PyGObject 3.0 stable released</title>
		<link>http://www.j5live.com/2011/09/19/pygobject-3-0-stable-released/</link>
		<comments>http://www.j5live.com/2011/09/19/pygobject-3-0-stable-released/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 18:49:49 +0000</pubDate>
		<dc:creator>J5</dc:creator>
				<category><![CDATA[Gnome]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.j5live.com/?p=1019</guid>
		<description><![CDATA[PyGObject 3.0 has been released!!!  This is the stable release we have all been waiting for.  3.0 has been stabilizing for some time.  This marks a huge improvement over the 2.28 branch in terms of speed, stability and GObject API coverage.  With  this release PyGObject remains the most complete language bindings for developing application [...]]]></description>
			<content:encoded><![CDATA[<p>PyGObject 3.0 has been released!!!  This is the stable release we have all been waiting for.  3.0 has been stabilizing for some time.  This marks a huge improvement over the 2.28 branch in terms of speed, stability and GObject API coverage.  With  this release PyGObject remains the most complete language bindings for developing application with GObject Introspection.</p>
<p>I want to thank everyone who has been a part of this release, from those who reported bugs to those who submitted large patches, and also those who cheered us on from the sidelines or gave us support in other areas.  At this point in the project they are just too many to list so I won&#8217;t, in fear that I may accidentally leave people out.</p>
<p><strong>Highlights Since 2.28<br />
</strong></p>
<ul>
<li>New rewritten invoker is twice as fast and easier to extend and debug</li>
<li>Complete break from static bindings so we may improve the core without breaking legacy APIs</li>
<li>Better type handling</li>
<li>Parallel installable with PyGObject 2.28 for legacy binding support (<strong>2.28 must be compiled with –disable-introspection</strong>)</li>
<li>Support for function calling using keyword arguments</li>
<li>Support for multiple arrays referencing a single length parameter (e.g. Clutter.Actor.animatev)</li>
<li>Once again we support Windows builds <a href="https://bugzilla.gnome.org/show_bug.cgi?id=620566#c12">with some caveats</a></li>
</ul>
<p><strong>Going Forward</strong></p>
<p>As we move into another unstable cycle there are a number of goals we will strive for the next major release.</p>
<ul>
<li>Documentation &#8211; we jump started this at the Desktop Summit but a lot of work is needed to get this to the quality currently exhibited by the PyGTK bindings.</li>
<li>Full Gtk subclassing &#8211; We are almost there but we still need support for calling C callbacks in Python to support overriding interfaces such as Gtk.Widget.for_all()</li>
<li>Getting rid of all legacy marshallers &#8211; currently they are still being used for marshalling vfuncs and signals</li>
<li>Cutting out the middle man &#8211; We should get rid of our dependency on GArguments and marshal directly to FFI</li>
<li>Moving away from a Gtk+ focus &#8211; Clutter and GStreamer 1.0 are just as important to fully support</li>
<li>Full Gio support &#8211; right now dealing with byte streams isn&#8217;t completely introspectable</li>
</ul>
<pre><strong>ChangeLog</strong>

<a rel="nofollow" href="http://download.gnome.org/sources/pygobject/3.0/pygobject-3.0.0.changes">http://download.gnome.org/sources/pygobject/3.0/pygobject-3.0.0.changes</a>  (1.34K)

<strong>Download</strong>

<a rel="nofollow" href="http://download.gnome.org/sources/pygobject/3.0/pygobject-3.0.0.tar.xz">http://download.gnome.org/sources/pygobject/3.0/pygobject-3.0.0.tar.xz</a>  (530K)
  sha256sum: ef6735792b0d44287126a6a3b181c85559849063d770506fe06848adb87ce815

<a rel="nofollow" href="http://download.gnome.org/sources/pygobject/3.0/pygobject-3.0.0.tar.bz2">http://download.gnome.org/sources/pygobject/3.0/pygobject-3.0.0.tar.bz2</a> (629K)
  sha256sum: 5682603c58be67e336e8cfaf19d6321158425797a7da12f646cc8706508ab95c</pre>
<p><strong>About PyGObject</strong></p>
<p>GObject is a object system used by GTK+,  GStreamer and other libraries.</p>
<p>PyGObject provides a convenient wrapper for use in Python programs when accessing GObject libraries.</p>
<p>Like the GObject library itself PyGObject is licensed under the GNU  LGPL, so is suitable for use in both free software and proprietary  applications. It is already in use in many applications ranging from  small single purpose scripts up to large full featured applications.</p>
<p>PyGObject now dynamically accesses any GObject libraries that uses  GObject Introspection. It replaces the need for separate modules such as  PyGTK, GIO and python-gnome to build a full GNOME 3.0 application. Once  new functionality is added to gobject library it is instantly available  as a Python API without the need for intermediate Python glue.</p>
[read this post in: <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/19/pygobject-3-0-stable-released/&langpair=en%7Car">ar</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/19/pygobject-3-0-stable-released/&langpair=en%7Cde">de</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/19/pygobject-3-0-stable-released/&langpair=en%7Ces">es</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/19/pygobject-3-0-stable-released/&langpair=en%7Cfr">fr</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/19/pygobject-3-0-stable-released/&langpair=en%7Cit">it</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/19/pygobject-3-0-stable-released/&langpair=en%7Cja">ja</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/19/pygobject-3-0-stable-released/&langpair=en%7Cko">ko</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/19/pygobject-3-0-stable-released/&langpair=en%7Cpt">pt</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/19/pygobject-3-0-stable-released/&langpair=en%7Cru">ru</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/19/pygobject-3-0-stable-released/&langpair=en%7Czh-CN">zh-CN</a> ]]]></content:encoded>
			<wfw:commentRss>http://www.j5live.com/2011/09/19/pygobject-3-0-stable-released/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PyGObject 2.90.4 released</title>
		<link>http://www.j5live.com/2011/09/15/pygobject-2-90-4-released/</link>
		<comments>http://www.j5live.com/2011/09/15/pygobject-2-90-4-released/#comments</comments>
		<pubDate>Thu, 15 Sep 2011 22:48:30 +0000</pubDate>
		<dc:creator>J5</dc:creator>
				<category><![CDATA[Gnome]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.j5live.com/?p=1014</guid>
		<description><![CDATA[PyGObject 2.90.4 has been released.  This is an unstable release leading up to the PyGObject 3.0 release coming soon.
Highlights

Various deprecated API that was only needed for the static bindings have been removed which means you must recompile anything that links to PyGObject (currently libpeas and glade)
Overrides directory variable was taken out of pygobject-3.0.pc and [...]]]></description>
			<content:encoded><![CDATA[<p>PyGObject 2.90.4 has been released.  This is an unstable release leading up to the PyGObject 3.0 release coming soon.</p>
<p><strong>Highlights</strong></p>
<ul>
<li>Various deprecated API that was only needed for the static bindings have been removed which means you must recompile anything that links to PyGObject (currently libpeas and glade)</li>
<li>Overrides directory variable was taken out of pygobject-3.0.pc and moved to the gi._overridesdir attribute to avoid having multiple .pc files for each version of Python.  This means third parties who install overrides need to import gi from their install scripts with the version of python they are installing for.</li>
<li>Multiple arrays referencing a single length parameter are now supported along with flat GValue arrays.  This allows APIs such as Clutter.Actor.animatev to be bindable.</li>
<li>Refcount crasher bug triggered when using GObject.new was fixed so glade can now import custom Python  GtkWidgets.</li>
<li>Build system now works with MinGW environment in Windows.</li>
<li>Python 3 now checks instance types again.</li>
<li>Documents disabled since they aren&#8217;t useful yet and present parallel install issues.</li>
<li>Demos were fixed up to better reflect the preferred way of using PyGObject.</li>
</ul>
<pre><strong>ChangeLog</strong>

<a rel="nofollow" href="http://download.gnome.org/sources/pygobject/2.90/pygobject-2.90.4.changes">http://download.gnome.org/sources/pygobject/2.90/pygobject-2.90.4.changes</a>  (20.2K)

<strong>Download</strong>

<a rel="nofollow" href="http://download.gnome.org/sources/pygobject/2.90/pygobject-2.90.4.tar.xz">http://download.gnome.org/sources/pygobject/2.90/pygobject-2.90.4.tar.xz</a>  (529K)
  sha256sum: 8407b6997181bbca4783798e21d7d63ca41708a6c05a3b08c953d64e7b97b2a1

<a rel="nofollow" href="http://download.gnome.org/sources/pygobject/2.90/pygobject-2.90.4.tar.bz2">http://download.gnome.org/sources/pygobject/2.90/pygobject-2.90.4.tar.bz2</a> (629K)
  sha256sum: 467eb39f06664fb8bbb9ab407a15b8d56a63a92ac2f0914afc8518aedd765c43</pre>
<p><strong>About PyGObject</strong></p>
<p>GObject is a object system used by GTK+,  GStreamer and other libraries.</p>
<p>PyGObject provides a convenient wrapper for use in Python programs when accessing GObject libraries.</p>
<p>Like the GObject library itself PyGObject is licensed under the GNU LGPL, so is suitable for use in both free software and proprietary applications. It is already in use in many applications ranging from small single purpose scripts up to large full featured applications.</p>
<p>PyGObject now dynamically accesses any GObject libraries that uses GObject Introspection. It replaces the need for separate modules such as PyGTK, GIO and python-gnome to build a full GNOME 3.0 application. Once new functionality is added to gobject library it is instantly available as a Python API without the need for intermediate Python glue.</p>
[read this post in: <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/15/pygobject-2-90-4-released/&langpair=en%7Car">ar</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/15/pygobject-2-90-4-released/&langpair=en%7Cde">de</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/15/pygobject-2-90-4-released/&langpair=en%7Ces">es</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/15/pygobject-2-90-4-released/&langpair=en%7Cfr">fr</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/15/pygobject-2-90-4-released/&langpair=en%7Cit">it</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/15/pygobject-2-90-4-released/&langpair=en%7Cja">ja</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/15/pygobject-2-90-4-released/&langpair=en%7Cko">ko</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/15/pygobject-2-90-4-released/&langpair=en%7Cpt">pt</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/15/pygobject-2-90-4-released/&langpair=en%7Cru">ru</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/15/pygobject-2-90-4-released/&langpair=en%7Czh-CN">zh-CN</a> ]]]></content:encoded>
			<wfw:commentRss>http://www.j5live.com/2011/09/15/pygobject-2-90-4-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PyGObject release comming soon</title>
		<link>http://www.j5live.com/2011/09/13/pygobject-release-comming-soon/</link>
		<comments>http://www.j5live.com/2011/09/13/pygobject-release-comming-soon/#comments</comments>
		<pubDate>Tue, 13 Sep 2011 23:14:07 +0000</pubDate>
		<dc:creator>J5</dc:creator>
				<category><![CDATA[Gnome]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.j5live.com/?p=1012</guid>
		<description><![CDATA[I&#8217;ve been tracking down some crashers and refcount issues as well as cleaning up the Python 3 support.  Next release will also remove all of the file conflicts associated with PyGObject-2.28 parallel installs.  We also have support for compiling under windows using MinGW thanks to Dieter Verfaillie.  If you have a bug you care about [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been tracking down some crashers and refcount issues as well as cleaning up the Python 3 support.  Next release will also remove all of the file conflicts associated with PyGObject-2.28 parallel installs.  We also have support for compiling under windows using MinGW thanks to Dieter Verfaillie.  If you have a bug you care about now is the time to ping me in #python on irc.gnome.org.</p>
[read this post in: <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/13/pygobject-release-comming-soon/&langpair=en%7Car">ar</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/13/pygobject-release-comming-soon/&langpair=en%7Cde">de</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/13/pygobject-release-comming-soon/&langpair=en%7Ces">es</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/13/pygobject-release-comming-soon/&langpair=en%7Cfr">fr</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/13/pygobject-release-comming-soon/&langpair=en%7Cit">it</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/13/pygobject-release-comming-soon/&langpair=en%7Cja">ja</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/13/pygobject-release-comming-soon/&langpair=en%7Cko">ko</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/13/pygobject-release-comming-soon/&langpair=en%7Cpt">pt</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/13/pygobject-release-comming-soon/&langpair=en%7Cru">ru</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/09/13/pygobject-release-comming-soon/&langpair=en%7Czh-CN">zh-CN</a> ]]]></content:encoded>
			<wfw:commentRss>http://www.j5live.com/2011/09/13/pygobject-release-comming-soon/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>GObjects in Berlin: The search for more documentation</title>
		<link>http://www.j5live.com/2011/08/15/gobjects-in-berlin-the-search-for-more-documentation/</link>
		<comments>http://www.j5live.com/2011/08/15/gobjects-in-berlin-the-search-for-more-documentation/#comments</comments>
		<pubDate>Mon, 15 Aug 2011 16:08:11 +0000</pubDate>
		<dc:creator>J5</dc:creator>
				<category><![CDATA[GUADEC]]></category>
		<category><![CDATA[Gnome]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[conference]]></category>

		<guid isPermaLink="false">http://www.j5live.com/?p=1004</guid>
		<description><![CDATA[One of the big topics of during the GObject Introspection Hackfest in Berlin has been generating documents directly from the .gir files.  While we are far from having complete documents for every supported language binding but thanks to Tomeu Vizoso,  Shaun McCance, Laszlo Pandy and Colin Walters with myself holding up rear after my work [...]]]></description>
			<content:encoded><![CDATA[<p>One of the big topics of during the GObject Introspection Hackfest in Berlin has been <a href="https://live.gnome.org/GObjectIntrospection/Doctools">generating documents directly from the .gir files</a>.  While we are far from having complete documents for every supported language binding but thanks to Tomeu Vizoso,  Shaun McCance, Laszlo Pandy and Colin Walters with myself holding up rear after my work on the PyGObject 3.0 pre-release, we have a working framework. <a href="http://people.gnome.org/~johnp/girdocsalpha/Gtk/"> Examples of the first output are available on my peoples page</a> and you can get more information on the <a href="https://live.gnome.org/GObjectIntrospection/Doctools">project page</a>.</p>
<p>I would like to thank the <a href="http://foundation.gnome.org/">Gnome Foundation</a> for sponsoring travel and hotel as well as space during the <a href="https://desktopsummit.org/">Desktop Summit</a>; <a href="http://www.openismus.com/">Openisums</a> for supplying us with space after the Summit was over; <a href="http://nemein.com/en/">Nemein</a> for the excellent Fondue dinner; <a href="http://www.collabora.com/">Collabora</a> for the Africana food that I had to miss due to the equally excellent cocktail party at Kat and Dave&#8217;s place; and <a href="http://www.kde.org/">KDE</a> for the yummy Vietnamese lunch.</p>
<p>Much has been sewn and much has been grown, but now it is time to go.  Another successful hackfest is in the books and now the hard work of building on our achievements begins.  But first, some beer.</p>
[read this post in: <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/15/gobjects-in-berlin-the-search-for-more-documentation/&langpair=en%7Car">ar</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/15/gobjects-in-berlin-the-search-for-more-documentation/&langpair=en%7Cde">de</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/15/gobjects-in-berlin-the-search-for-more-documentation/&langpair=en%7Ces">es</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/15/gobjects-in-berlin-the-search-for-more-documentation/&langpair=en%7Cfr">fr</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/15/gobjects-in-berlin-the-search-for-more-documentation/&langpair=en%7Cit">it</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/15/gobjects-in-berlin-the-search-for-more-documentation/&langpair=en%7Cja">ja</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/15/gobjects-in-berlin-the-search-for-more-documentation/&langpair=en%7Cko">ko</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/15/gobjects-in-berlin-the-search-for-more-documentation/&langpair=en%7Cpt">pt</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/15/gobjects-in-berlin-the-search-for-more-documentation/&langpair=en%7Cru">ru</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/15/gobjects-in-berlin-the-search-for-more-documentation/&langpair=en%7Czh-CN">zh-CN</a> ]]]></content:encoded>
			<wfw:commentRss>http://www.j5live.com/2011/08/15/gobjects-in-berlin-the-search-for-more-documentation/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[ANNOUNCE] PyGObject 2.90.1 released (3.0 pre-release)</title>
		<link>http://www.j5live.com/2011/08/14/announce-pygobject-2-90-1-released-3-0-pre-release/</link>
		<comments>http://www.j5live.com/2011/08/14/announce-pygobject-2-90-1-released-3-0-pre-release/#comments</comments>
		<pubDate>Sun, 14 Aug 2011 15:02:58 +0000</pubDate>
		<dc:creator>J5</dc:creator>
				<category><![CDATA[Gnome]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.j5live.com/?p=997</guid>
		<description><![CDATA[I am pleased to announce version 2.90.1 of the Python bindings for GObject.  This is an unstable release of what will eventually become PyGObject 3.0.  PyGObject 3.0 is the first release that is completely based off of Introspection.  To support legacy static bindings like PyGtk this release is parallel installable with PyGObject [...]]]></description>
			<content:encoded><![CDATA[<p>I am pleased to announce version 2.90.1 of the Python bindings for GObject.  This is an unstable release of what will eventually become PyGObject 3.0.  PyGObject 3.0 is the first release that is completely based off of Introspection.  To support legacy static bindings like PyGtk this release is parallel installable with PyGObject 2.28 provided introspection is turned off in the older module.</p>
<p>The new release is available from ftp.gnome.org:</p>
<p><a href="http://download.gnome.org/sources/pygobject/2.90/"> http://download.gnome.org/sources/pygobject/2.90/</a></p>
<p><strong>What are the highlight of changes since PyGObject 2.28?</strong></p>
<ul>
<li>New rewritten invoker is twice as fast and easier to extend and debug</li>
<li>Complete break from static bindings so we may improve the core without breaking legacy APIs</li>
<li>Better type handling</li>
<li>Parallel installable with PyGObject 2.28 for legacy binding support (2.28 must be compiled with &#8211;disable-introspection)</li>
<li>Fixed object array handling</li>
<li>Added more overrides for PyGTK API emulation</li>
<li>Support for function calling using keyword arguments</li>
<li>GObject and GLib symbols can now have overrides</li>
<li>All static bit removed or made private</li>
<li>GVariants now work from callback returns</li>
</ul>
<p><strong>Do I need to port my apps from PyGObject 2.28 to PyGObject 3.0?</strong></p>
<p>We tried to keep the API as close to what we were recommending for 2.28 however since 2.28 straddled both the static and dynamic APIs there are a few things to keep in mind when running under 3.0:</p>
<ul>
<li>don&#8217;t <em>import pygtk</em> &#8211; this was for static bindings only and while it may have been harmless in 2.28 it will cause conflicts in 3.0</li>
<li><em>import gobject</em> must be ported as <em>from gi.repository import GObject</em> &#8211; this was the recommended way of importing GObject but some code may still have used import gobject.  Having both will cause applications to fail because it will load the older 2.28 bindings alongside the 3.0 bindings.</li>
<li>import glib must now be ported as <em>from gi.repository import GLib</em> &#8211; this is a new requirement and prevents the issues discussed above</li>
<li>use the <em>gi.require_version</em> API (e.g. gi.require_version(&#8217;Gtk&#8217;, &#8216;3.0&#8242;)) &#8211; This is more of a recommendation as we will be outputting warnings in the future.  Due to the rapid development of certain libraries like the upcoming Gtk-4.0, it is best to specify the major version of the library you wish to target instead of relying on PyGObject to select the latest one available on the system.  This also gives helpful errors if the correct version is not installed on the user&#8217;s system.</li>
</ul>
<p>Blurb:</p>
<p>GObject is a object system used by GTK+,  GStreamer and other libraries.</p>
<p>PyGObject provides a convenient wrapper for use in Python programs when accessing GObject libraries.</p>
<p>Like the GObject library itself PyGObject is licensed under the GNU LGPL, so is suitable for use in both free software and proprietary applications. It is already in use in many applications ranging from small single purpose scripts up to large full featured applications.</p>
<p>PyGObject now dynamically accesses any GObject libraries that uses GObject Introspection. It replaces the need for separate modules such as PyGTK, GIO and python-gnome to build a full GNOME 3.0 application. Once new functionality is added to gobject library it is instantly available as a Python API without the need for intermediate Python glue.</p>
<p>Introspection/Python 2 bindings requires gobject-introspection &gt;= 0.9.5 and py2cairo &gt;=1.10.0<br />
Introspection/Python 3 bindings requires gobject-introspection &gt;= 0.9.5, pycairo &gt;=1.10.0 and Python &gt;= 3.1</p>
<p>&#8211;<br />
John (J5) Palmieri<br />
GNOME Foundation member<br />
johnp@redhat.com</p>
[read this post in: <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/14/announce-pygobject-2-90-1-released-3-0-pre-release/&langpair=en%7Car">ar</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/14/announce-pygobject-2-90-1-released-3-0-pre-release/&langpair=en%7Cde">de</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/14/announce-pygobject-2-90-1-released-3-0-pre-release/&langpair=en%7Ces">es</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/14/announce-pygobject-2-90-1-released-3-0-pre-release/&langpair=en%7Cfr">fr</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/14/announce-pygobject-2-90-1-released-3-0-pre-release/&langpair=en%7Cit">it</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/14/announce-pygobject-2-90-1-released-3-0-pre-release/&langpair=en%7Cja">ja</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/14/announce-pygobject-2-90-1-released-3-0-pre-release/&langpair=en%7Cko">ko</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/14/announce-pygobject-2-90-1-released-3-0-pre-release/&langpair=en%7Cpt">pt</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/14/announce-pygobject-2-90-1-released-3-0-pre-release/&langpair=en%7Cru">ru</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/14/announce-pygobject-2-90-1-released-3-0-pre-release/&langpair=en%7Czh-CN">zh-CN</a> ]]]></content:encoded>
			<wfw:commentRss>http://www.j5live.com/2011/08/14/announce-pygobject-2-90-1-released-3-0-pre-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ich bin ein Berliner</title>
		<link>http://www.j5live.com/2011/08/09/ich-bin-ein-berliner/</link>
		<comments>http://www.j5live.com/2011/08/09/ich-bin-ein-berliner/#comments</comments>
		<pubDate>Tue, 09 Aug 2011 15:53:22 +0000</pubDate>
		<dc:creator>J5</dc:creator>
				<category><![CDATA[GUADEC]]></category>
		<category><![CDATA[Gnome]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[travel]]></category>

		<guid isPermaLink="false">http://www.j5live.com/?p=994</guid>
		<description><![CDATA[And I am very tasty.  Though I missed the main portion of the Desktop Summit I will be in Berlin early tomorrow (Wednesday) morning.  I should be in time for the Introspection BOF provided I don&#8217;t get lost. I trust that taking the TXL bus to the Staatsoper stop will prove to be [...]]]></description>
			<content:encoded><![CDATA[<p>And I am very tasty.  Though I missed the main portion of the Desktop Summit I will be in Berlin early tomorrow (Wednesday) morning.  I should be in time for the Introspection BOF provided I don&#8217;t get lost. I trust that taking the TXL bus to the Staatsoper stop will prove to be uneventful.</p>
[read this post in: <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/09/ich-bin-ein-berliner/&langpair=en%7Car">ar</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/09/ich-bin-ein-berliner/&langpair=en%7Cde">de</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/09/ich-bin-ein-berliner/&langpair=en%7Ces">es</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/09/ich-bin-ein-berliner/&langpair=en%7Cfr">fr</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/09/ich-bin-ein-berliner/&langpair=en%7Cit">it</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/09/ich-bin-ein-berliner/&langpair=en%7Cja">ja</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/09/ich-bin-ein-berliner/&langpair=en%7Cko">ko</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/09/ich-bin-ein-berliner/&langpair=en%7Cpt">pt</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/09/ich-bin-ein-berliner/&langpair=en%7Cru">ru</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/08/09/ich-bin-ein-berliner/&langpair=en%7Czh-CN">zh-CN</a> ]]]></content:encoded>
			<wfw:commentRss>http://www.j5live.com/2011/08/09/ich-bin-ein-berliner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PyGObject invoke-rewrite branch merged with master</title>
		<link>http://www.j5live.com/2011/07/18/pygobject-invoke-rewrite-branch-merged-with-master/</link>
		<comments>http://www.j5live.com/2011/07/18/pygobject-invoke-rewrite-branch-merged-with-master/#comments</comments>
		<pubDate>Mon, 18 Jul 2011 15:25:20 +0000</pubDate>
		<dc:creator>J5</dc:creator>
				<category><![CDATA[Gnome]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.j5live.com/?p=990</guid>
		<description><![CDATA[Tomeu finished up his review this weekend and gave me the green light to merge my long awaited invoke-rewrite branch.  Besides being twice as fast as the previous invoke implementation, this branch cleaned up the code into discreet layers and modules which should make it safer and easier to debug as well as profile [...]]]></description>
			<content:encoded><![CDATA[<p>Tomeu finished up his review this weekend and gave me the green light to merge my long awaited invoke-rewrite branch.  Besides being twice as fast as the previous invoke implementation, this branch cleaned up the code into discreet layers and modules which should make it safer and easier to debug as well as profile and add more speed improvements.  I have also beefed up memory cleanup in the case that a call fails and the parameters have yet to be marshalled to python objects.</p>
<p>This rewrite is the basis for the future PyGObject 3 release.  PyGObject 3 will permanently remove the static bindings but be parallel installable with PyGObject 2 provided that introspection is turned off in the PyGObject 2 build.  While this may cause a small amount of pain for packagers, this will provide a smooth upgrade path for developers with little to no expected change to their current PyGObject Introspection projects.</p>
<p>As soon as we can make the two parallel installable we will do a release, update the JHBuild module sets and get the word out that unstable distros should switch to using the new setup.  We are committed to stabilizing PyGObject 3 for the GNOME 3.2 release.</p>
[read this post in: <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/07/18/pygobject-invoke-rewrite-branch-merged-with-master/&langpair=en%7Car">ar</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/07/18/pygobject-invoke-rewrite-branch-merged-with-master/&langpair=en%7Cde">de</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/07/18/pygobject-invoke-rewrite-branch-merged-with-master/&langpair=en%7Ces">es</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/07/18/pygobject-invoke-rewrite-branch-merged-with-master/&langpair=en%7Cfr">fr</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/07/18/pygobject-invoke-rewrite-branch-merged-with-master/&langpair=en%7Cit">it</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/07/18/pygobject-invoke-rewrite-branch-merged-with-master/&langpair=en%7Cja">ja</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/07/18/pygobject-invoke-rewrite-branch-merged-with-master/&langpair=en%7Cko">ko</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/07/18/pygobject-invoke-rewrite-branch-merged-with-master/&langpair=en%7Cpt">pt</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/07/18/pygobject-invoke-rewrite-branch-merged-with-master/&langpair=en%7Cru">ru</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/07/18/pygobject-invoke-rewrite-branch-merged-with-master/&langpair=en%7Czh-CN">zh-CN</a> ]]]></content:encoded>
			<wfw:commentRss>http://www.j5live.com/2011/07/18/pygobject-invoke-rewrite-branch-merged-with-master/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PyGObject Introspection invoke-rewrite branch is ready for master</title>
		<link>http://www.j5live.com/2011/05/31/pygobject-introspection-invoke-rewrite-branch-is-ready-for-master/</link>
		<comments>http://www.j5live.com/2011/05/31/pygobject-introspection-invoke-rewrite-branch-is-ready-for-master/#comments</comments>
		<pubDate>Tue, 31 May 2011 22:07:39 +0000</pubDate>
		<dc:creator>J5</dc:creator>
				<category><![CDATA[Gnome]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.j5live.com/?p=972</guid>
		<description><![CDATA[I just filed a bug to request a review for merging my invoke-rewrite branch.  This is a huge overhaul of internals of the introspection layer of PyGObject which I feel both speeds up calls as well as makes it easier to fix bugs and add features.
Right now the invoke-rewrite branch is stable and complete [...]]]></description>
			<content:encoded><![CDATA[<p>I just <a href="https://bugzilla.gnome.org/show_bug.cgi?id=651581">filed a bug</a> to request a review for merging my invoke-rewrite branch.  This is a huge overhaul of internals of the introspection layer of PyGObject which I feel both speeds up calls as well as makes it easier to fix bugs and add features.</p>
<p>Right now the invoke-rewrite branch is stable and complete enough to be merged to master.  It passes all the tests and even cleans up after itself when an error is raised while processing input parameters (something the current code doesn&#8217;t do).</p>
<p><strong>A brief list of the advantages of this branch</strong></p>
<ul>
<li>over 2 times faster running thought the test suite than the current implementation.</li>
<li>more robust &#8211; handles a couple of corner cases which the current code does not such as multiple lists pointing to the same aux length value, having argument 0 be a length value and correctly blocking all NULL values which are not marked as allow-none</li>
<li>correctly handles argument parameter counting and reduces the amount of complicated math used to determine argument counts and indexes</li>
<li>splits code into logical layers such as caching, invoking, marshalling and cleanup layers</li>
<li>splits code into manageable units so, for example, if there is an error in list processing it is easier to set break points and focus on the list code instead of wading through large switch statements</li>
<li>ripe for even more optimizations and better layout for profiling</li>
</ul>
<p><strong>Things that are yet to be done</strong></p>
<ul>
<li>Memory management still leaks and some types such as gclosures are not yet cleaned</li>
<li>Some of the earlier code like struct marshalling can be split up further</li>
<li>signals and closures still use the old marshalling paths</li>
<li>remove the FFI/GArgument layer and marshal directly to FFI</li>
</ul>
<p><strong>Why merge now?</strong></p>
<p>Code rots and getting more people to use the new codepath makes it easier to fix bugs.  It is already feature complete with the old code and simply trades off some new bugs while fixing a slew of other bugs.  Because of the caching layer the code is somewhat more complex but follows a much more consistent pattern.  In my eyes it is easier to understand once learned but developers need ramp up time since the structure is different.  This is the future, there is no need to keep bandaging the old invoke code. As we get to more and more corner cases it gets harder to patch the old code without breaking other pieces or causing memory leaks that are hard to track down and plug (see garray hack we added to handle C Array vs GArray failures).</p>
<p><strong>A brief overrview of the design</strong></p>
<p><em><strong>New modules</strong></em></p>
<ul>
<li>pygi-invoke-ng &#8211; the new invoke API handles setup/invoking/teardown at a high level. Replaces pygi-invoke and does not attempt to handle memory it did not itself create (see garray handling for example)</li>
<li> pygi-invoke-state-structure &#8211; the state struct used to pass around changing state during the caching, marshalling, invoking and cleanup stages</li>
<li> pygi-cache &#8211; sets up the cache which normalizes the information and support methods such as marshalling and cleanup of each interface when called. This allows us to process method calls in a more efficent manner as well as makes it easier to debug</li>
<li> pygi-marshal &#8211; marshalling functions for each parameter type. Replaces pygi-arguments</li>
<li> pygi-marshal-cleanup &#8211; cleanup functions for each parameter type.  Includes cleanup for parameters which were not processed due to an error.</li>
</ul>
<p><strong> </strong></p>
<p><strong>Basic flow</strong></p>
<pre>invoke is called on an GICallableInfo object
  |
  |-&gt; if GICallableInfo does not have a cache we loop over the interface
  |    creating the PyGICallableCache and ArgCaches for the interface
  |    and its arguments
  |
  |----&gt; use the cache to marshal the parameters into the state struct
  |
  |---------&gt; using the marshalled values invoke the interface using the
  |           GI FFI calls
  |
  |----&gt; use the cache to cleanup any in values that need cleaning
  |
  |---------&gt; use the cache to marshal the out values to python objects
  |
  |----&gt; use the cache to cleanup any out values that need cleaning
  |
  |-&gt; cleanup state
  |
return out values to python app</pre>
<p><strong>Standard paterns</strong></p>
<p>All marshalling and cleanup methods for types are added to the argument cache as function pointers.  A PyGIArgCache has these four function pointers no matter what the type we are caching for:</p>
<ul>
<li>in_marshaller &#8211; the function which marshals in values for this argument</li>
<li>out_marshaller &#8211; the function which marshals out values for this argument</li>
<li>in_cleanup &#8211; the function that cleans up in values for this argument</li>
<li>out_cleanup &#8211; the function that cleans up out and in/out values for this argument</li>
</ul>
<p>All type marshallers and cleanup methods follow this naming pattern:</p>
<ul>
<li>in marshallers &#8211; _pygi_marshal_in_&lt;type&gt; (e.g. _pygi_marshal_in_utf8 or _pygi_marshal_in_interface_enum)</li>
<li>out marshallers &#8211; _pygi_marshal_out_&lt;type&gt; (e.g. _pygi_marshal_out_utf8 or _pygi_marshal_out_interface_enum)</li>
<li>in_cleanup &#8211; _pygi_marshal_cleanup_in_&lt;type&gt; (e.g. _pygi_marshal_cleanup_in_utf8)</li>
<li>out_cleanup &#8211; _pygi_marshal_cleanup_out_&lt;type&gt; (e.g. _pygi_marshal_cleanup_out_utf8)</li>
</ul>
<p>These are all setup during the caching phase in functions named similarly (e.g. _arg_cache_in_utf8_setup)</p>
[read this post in: <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/05/31/pygobject-introspection-invoke-rewrite-branch-is-ready-for-master/&langpair=en%7Car">ar</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/05/31/pygobject-introspection-invoke-rewrite-branch-is-ready-for-master/&langpair=en%7Cde">de</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/05/31/pygobject-introspection-invoke-rewrite-branch-is-ready-for-master/&langpair=en%7Ces">es</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/05/31/pygobject-introspection-invoke-rewrite-branch-is-ready-for-master/&langpair=en%7Cfr">fr</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/05/31/pygobject-introspection-invoke-rewrite-branch-is-ready-for-master/&langpair=en%7Cit">it</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/05/31/pygobject-introspection-invoke-rewrite-branch-is-ready-for-master/&langpair=en%7Cja">ja</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/05/31/pygobject-introspection-invoke-rewrite-branch-is-ready-for-master/&langpair=en%7Cko">ko</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/05/31/pygobject-introspection-invoke-rewrite-branch-is-ready-for-master/&langpair=en%7Cpt">pt</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/05/31/pygobject-introspection-invoke-rewrite-branch-is-ready-for-master/&langpair=en%7Cru">ru</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/05/31/pygobject-introspection-invoke-rewrite-branch-is-ready-for-master/&langpair=en%7Czh-CN">zh-CN</a> ]]]></content:encoded>
			<wfw:commentRss>http://www.j5live.com/2011/05/31/pygobject-introspection-invoke-rewrite-branch-is-ready-for-master/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[ANNOUNCE] PyGObject 2.28.3</title>
		<link>http://www.j5live.com/2011/03/23/announce-pygobject-2-28-3/</link>
		<comments>http://www.j5live.com/2011/03/23/announce-pygobject-2-28-3/#comments</comments>
		<pubDate>Wed, 23 Mar 2011 16:24:50 +0000</pubDate>
		<dc:creator>J5</dc:creator>
				<category><![CDATA[Gnome]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.j5live.com/?p=955</guid>
		<description><![CDATA[I am pleased to announce version 2.28.3 of the Python bindings for GObject.  There was an issue with the patch that went out with 2.28.2 and all users should upgrade from 2.28.2 to this release.  This is a minor bugfix release of the stable 2.28 branch.
The new release is available from ftp.gnome.org:
 http://download.gnome.org/sources/pygobject/2.28/
What&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>I am pleased to announce version 2.28.3 of the Python bindings for GObject.  There was an issue with the patch that went out with 2.28.2 and all users should upgrade from 2.28.2 to this release.  This is a minor bugfix release of the stable 2.28 branch.</p>
<p>The new release is available from ftp.gnome.org:</p>
<p><a href="http://download.gnome.org/sources/pygobject/2.28/"> http://download.gnome.org/sources/pygobject/2.28/</a></p>
<p>What&#8217;s new since PyGObject 2.28.1?</p>
<ul>
<li>fixed an ABI break in the static bindings when setting string gvalues
<ul>
<li>e.g. passing an int to a Gtk.ListStore column which expects a string automatically converts the int to a string instead of throwing an error</li>
</ul>
</li>
<li>This release fixes a bug that the 2.28.2 release introduced</li>
</ul>
<p>What&#8217;s new since PyGObject 2.28.0?</p>
<ul>
<li>pygi-convert.sh now supports webkit conversions and favors using GObject over gobject</li>
<li>Raw closures can now be passed from a signal/vfunc callback to a method</li>
<li>Revert linking to the python libs because the python runtime statically links it in</li>
<li>TreeModel column marshalling is now more robust (supports GObject Python Object storing)</li>
<li>Gtk.MessageDialog now respects the MessageType</li>
<li>You can now send None in for the signature of GDBus messages that have no parameters</li>
<li>TreeViewColumn.set_cell_data_func can take None for the func_data</li>
<li>Fix syntax error so we can run in Python 2.5</li>
<li>Add pickers and menu demos</li>
</ul>
<p>Blurb:</p>
<p>GObject is a object system library used by GTK+ and GStreamer.</p>
<p>PyGObject provides a convenient wrapper for the GObject library for use in Python programs, and takes care of many of the boring details such as managing memory and type casting.  When combined with PyGTK, PyORBit and gnome-python, it can be used to write full featured Gnome 2 applications.</p>
<p>Like the GObject library itself PyGObject is licensed under the GNU LGPL, so is suitable for use in both free software and proprietary applications. It is already in use in many applications ranging from small single purpose scripts up to large full featured applications.</p>
<p>PyGObject requires glib &gt;= 2.22.4 and Python &gt;= 2.5.1 to build.<br />
GIO bindings require glib &gt;= 2.22.4.</p>
<p>The Introspection module is the next generation Python GObject library bindings. Instead of statically wrapping every GObject based library we can now dynamically accesses any of those libraries using GObject Introspection. It replaces the need for separate modules such as PyGTK, GIO and python-gnome to build a full GNOME 3.0 application. Once new functionality is added to gobject library it is instantly available as a Python API without the need for an intermediate Python module.</p>
<p>Introspection/Python 2 bindings requires gobject-introspection &gt;= 0.9.5 and pycairo &gt;=1.0.2 or py2cairo &gt;=1.8.10<br />
Introspection/Python 3 bindings requires gobject-introspection &gt;= 0.9.5, pycairo &gt;=1.8.10 and Python &gt;= 3.1</p>
<p>&#8211;<br />
John (J5) Palmieri<br />
GNOME Foundation member<br />
johnp@redhat.com</p>
[read this post in: <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/03/23/announce-pygobject-2-28-3/&langpair=en%7Car">ar</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/03/23/announce-pygobject-2-28-3/&langpair=en%7Cde">de</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/03/23/announce-pygobject-2-28-3/&langpair=en%7Ces">es</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/03/23/announce-pygobject-2-28-3/&langpair=en%7Cfr">fr</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/03/23/announce-pygobject-2-28-3/&langpair=en%7Cit">it</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/03/23/announce-pygobject-2-28-3/&langpair=en%7Cja">ja</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/03/23/announce-pygobject-2-28-3/&langpair=en%7Cko">ko</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/03/23/announce-pygobject-2-28-3/&langpair=en%7Cpt">pt</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/03/23/announce-pygobject-2-28-3/&langpair=en%7Cru">ru</a> <a href="http://translate.google.com/translate?u=http://www.j5live.com/2011/03/23/announce-pygobject-2-28-3/&langpair=en%7Czh-CN">zh-CN</a> ]]]></content:encoded>
			<wfw:commentRss>http://www.j5live.com/2011/03/23/announce-pygobject-2-28-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

