<?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>keyes.ie</title>
	<atom:link href="http://keyes.ie/feed/" rel="self" type="application/rss+xml" />
	<link>http://keyes.ie</link>
	<description></description>
	<lastBuildDate>Tue, 26 Aug 2014 21:47:29 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>Logging Session and Environment with airbrake-python</title>
		<link>http://keyes.ie/logging-with-airbrake-python/</link>
		<comments>http://keyes.ie/logging-with-airbrake-python/#comments</comments>
		<pubDate>Tue, 26 Aug 2014 21:47:29 +0000</pubDate>
		<dc:creator><![CDATA[John]]></dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[airbrake]]></category>
		<category><![CDATA[airbrake-python]]></category>
		<category><![CDATA[pull-request]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://keyes.ie/?p=966</guid>
		<description><![CDATA[<p>My Pull Request for airbrake-python to support logging session and environment details in Airbrake was merged recently. This has made it possible to easily log session and environment details using Python&#8217;s logging facility. Installation Let&#8217;s use pip to install the latest version of airbrake-python: pip install -e git+git@github.com:airbrake/airbrake-python.git#egg=airbrake-python Configuration The following environment variables must be [&#8230;]</p>
<p>The post <a rel="nofollow" href="http://keyes.ie/logging-with-airbrake-python/">Logging Session and Environment with airbrake-python</a> appeared first on <a rel="nofollow" href="http://keyes.ie">keyes.ie</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>My <a href="https://github.com/airbrake/airbrake-python/pull/12">Pull Request</a> for <a href="https://github.com/airbrake/airbrake-python">airbrake-python</a> to support logging session and environment details in <a href="https://airbrake.io/">Airbrake</a> was <a href="https://github.com/airbrake/airbrake-python/commit/1e0629522f39ce4d0cb0773d1f59c2950c4b83d8#diff-d41d8cd98f00b204e9800998ecf8427e">merged</a> recently. This has made it possible to easily log session and environment details using Python&#8217;s <a href="https://docs.python.org/2/library/logging.html">logging facility</a>.</p>

<h2>Installation</h2>

<p>Let&#8217;s use <code>pip</code> to install the latest version of <code>airbrake-python</code>:</p>

<p><code>pip install -e git+git@github.com:airbrake/airbrake-python.git#egg=airbrake-python</code></p>

<h2>Configuration</h2>

<p>The following environment variables must be set for these examples to work:</p>

<ul>
<li><code>AIRBRAKE_API_KEY</code> the project API key located in the project settings</li>
<li><code>AIRBRAKE_PROJECT_ID</code> the project ID located in the URL <code>project_id</code> parameter</li>
</ul>

<h2>Simple Logging</h2>

<p>It&#8217;s very easy to up and running with <code>airbrake-python</code>. The following program will log a simple error message:</p>

<pre><code>import airbrake
logger = airbrake.getLogger('logthethings')
logger.exception("This is an error")
</code></pre>

<p>This program logs an error in Airbrake and displayed as follows:</p>

<p><a href="http://d.pr/i/ecBH.png"><img src="http://d.pr/i/v8yQ.png" alt="Airbrake Simple Error" /></a></p>

<h2>Logging Session Details</h2>

<p>To include session details, we need to include a <code>session</code> value in the <code>extra</code> parameter:</p>

<pre><code>session = {'user': 'brembo', 'email': 'brembo@example.com'}
extra = {'session': session}
logger.exception(
    "This is an error with session details", extra=extra)
</code></pre>

<p>Airbrake displays an additional Session tab for this error:</p>

<p><a href="http://d.pr/i/ukGB.png"><img src="http://d.pr/i/mt7s.png" alt="Airbrake Session Error" /></a></p>

<h2>Logging Environment Details</h2>

<p>Including environment details follows the same pattern:</p>

<pre><code>logger = airbrake.getLogger('logthethings')
extra = {'environment': dict(os.environ)}
logger.exception(
    "This is an error with environment details", extra=extra)
</code></pre>

<p>Airbrake now displays the Environment tab for this error:</p>

<p><a href="http://d.pr/i/t1lO.png"><img src="http://d.pr/i/cH7P.png" alt="Airbrake Environment Error" /></a></p>

<h2>That&#8217;s all folks!</h2>

<p>And that&#8217;s all there is to it. Happy logging!</p>

<p>Thanks to <a href="https://github.com/samstav">Sam Stavinoha</a> for dealing with my PRs in double-quick time.</p>
<p>The post <a rel="nofollow" href="http://keyes.ie/logging-with-airbrake-python/">Logging Session and Environment with airbrake-python</a> appeared first on <a rel="nofollow" href="http://keyes.ie">keyes.ie</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://keyes.ie/logging-with-airbrake-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release: python-intercom 0.2.12</title>
		<link>http://keyes.ie/release-python-intercom-0-2-12/</link>
		<comments>http://keyes.ie/release-python-intercom-0-2-12/#comments</comments>
		<pubDate>Fri, 22 Aug 2014 23:36:22 +0000</pubDate>
		<dc:creator><![CDATA[John]]></dc:creator>
				<category><![CDATA[Releases]]></category>
		<category><![CDATA[intercom]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://keyes.ie/?p=962</guid>
		<description><![CDATA[<p>This is the final planned release of python-intercom that will support the v1 API. It contains the following changes: support for events updated links to Intercom API docs. new RTD sphinx theme for documentation See PyPi for the 0&#46;2.12 release and Read the Docs for the latest documentation.</p>
<p>The post <a rel="nofollow" href="http://keyes.ie/release-python-intercom-0-2-12/">Release: python-intercom 0.2.12</a> appeared first on <a rel="nofollow" href="http://keyes.ie">keyes.ie</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>This is the final planned release of <code>python-intercom</code> that will support the v1 API.</p>

<p>It contains the following changes:</p>

<ul>
<li>support for events</li>
<li>updated links to Intercom API docs.</li>
<li>new RTD sphinx theme for documentation</li>
</ul>

<p>See <a href="https://pypi.python.org/pypi/">PyPi</a> for the <a href="https://pypi.python.org/pypi/python-intercom">0&#46;2.12 release</a> and <a href="https://readthedocs.org/">Read the Docs</a> for the <a href="https://python-intercom.readthedocs.org/en/latest/">latest documentation</a>.</p>
<p>The post <a rel="nofollow" href="http://keyes.ie/release-python-intercom-0-2-12/">Release: python-intercom 0.2.12</a> appeared first on <a rel="nofollow" href="http://keyes.ie">keyes.ie</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://keyes.ie/release-python-intercom-0-2-12/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release: baseliner 0.9.11</title>
		<link>http://keyes.ie/release-baseliner-0-9-11/</link>
		<comments>http://keyes.ie/release-baseliner-0-9-11/#comments</comments>
		<pubDate>Sat, 02 Aug 2014 23:18:00 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Releases]]></category>
		<category><![CDATA[baseline]]></category>
		<category><![CDATA[baseliner]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://keyes.ie/?p=954</guid>
		<description><![CDATA[<p>In Baseliner 0.9.11 the grid size and grid offset types are now set to number. Thanks to Angry Dan for the suggestion.</p>
<p>The post <a rel="nofollow" href="http://keyes.ie/release-baseliner-0-9-11/">Release: baseliner 0.9.11</a> appeared first on <a rel="nofollow" href="http://keyes.ie">keyes.ie</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>In <a href="http://keyes.ie/things/baseliner/">Baseliner</a> 0.9.11 the grid size and grid offset types are now set to <code>number</code>. Thanks to <a href="https://github.com/dan-sprog">Angry Dan</a> for the suggestion.</p>
<p>The post <a rel="nofollow" href="http://keyes.ie/release-baseliner-0-9-11/">Release: baseliner 0.9.11</a> appeared first on <a rel="nofollow" href="http://keyes.ie">keyes.ie</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://keyes.ie/release-baseliner-0-9-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release: pathfinder 0.5.3</title>
		<link>http://keyes.ie/pathfinder-0-5-3/</link>
		<comments>http://keyes.ie/pathfinder-0-5-3/#comments</comments>
		<pubDate>Tue, 19 Nov 2013 22:23:24 +0000</pubDate>
		<dc:creator><![CDATA[John]]></dc:creator>
				<category><![CDATA[Releases]]></category>
		<category><![CDATA[pathfinder]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://keyes.ie/?p=949</guid>
		<description><![CDATA[<p>Pathfinder 0.5.3 is a minor release, with a fix that eliminates the use of chdir in the generator (thanks rubik). PyPi 0.5.3 Read the Docs Documentation</p>
<p>The post <a rel="nofollow" href="http://keyes.ie/pathfinder-0-5-3/">Release: pathfinder 0.5.3</a> appeared first on <a rel="nofollow" href="http://keyes.ie">keyes.ie</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Pathfinder 0.5.3 is a minor release, with a fix that eliminates the use of <code>chdir</code> in the generator (thanks <a href="https://github.com/rubik">rubik</a>).</p>

<ul>
<li>PyPi <a href="https://pypi.python.org/pypi/pathfinder">0.5.3</a></li>
<li>Read the Docs <a href="http://pathfinder.readthedocs.org/">Documentation</a></li>
</ul>
<p>The post <a rel="nofollow" href="http://keyes.ie/pathfinder-0-5-3/">Release: pathfinder 0.5.3</a> appeared first on <a rel="nofollow" href="http://keyes.ie">keyes.ie</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://keyes.ie/pathfinder-0-5-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release: python-intercom 0.2.10</title>
		<link>http://keyes.ie/release-python-intercom-0-2-10/</link>
		<comments>http://keyes.ie/release-python-intercom-0-2-10/#comments</comments>
		<pubDate>Tue, 19 Nov 2013 11:12:34 +0000</pubDate>
		<dc:creator><![CDATA[John]]></dc:creator>
				<category><![CDATA[Releases]]></category>
		<category><![CDATA[intercom]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://keyes.ie/?p=947</guid>
		<description><![CDATA[<p>You wait for a bus and then two come along! Hot on the heels of 0.2.9 I&#8217;m releasing python 0.2.10 with the following changes: basic support for companies. fixed User.delete. updated links to Intercom API docs. Doctest fixes. See PyPi for the 0.2.10 release and Read the Docs for the latest documentation.</p>
<p>The post <a rel="nofollow" href="http://keyes.ie/release-python-intercom-0-2-10/">Release: python-intercom 0.2.10</a> appeared first on <a rel="nofollow" href="http://keyes.ie">keyes.ie</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>You wait for a bus and then two come along!</p>

<p>Hot on the heels of 0.2.9 I&#8217;m releasing python 0.2.10 with the following changes:</p>

<ul>
<li>basic support for companies.</li>
<li>fixed User.delete.</li>
<li>updated links to Intercom API docs.</li>
<li>Doctest fixes.</li>
</ul>

<p>See <a href="https://pypi.python.org/pypi/">PyPi</a> for the <a href="https://pypi.python.org/pypi/python-intercom">0.2.10 release</a> and <a href="https://readthedocs.org/">Read the Docs</a> for the <a href="https://python-intercom.readthedocs.org/en/latest/">latest documentation</a>.</p>
<p>The post <a rel="nofollow" href="http://keyes.ie/release-python-intercom-0-2-10/">Release: python-intercom 0.2.10</a> appeared first on <a rel="nofollow" href="http://keyes.ie">keyes.ie</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://keyes.ie/release-python-intercom-0-2-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release: baseliner 0.9.9</title>
		<link>http://keyes.ie/baseliner-0-9-9/</link>
		<comments>http://keyes.ie/baseliner-0-9-9/#comments</comments>
		<pubDate>Sun, 17 Nov 2013 21:22:04 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Releases]]></category>
		<category><![CDATA[baseline]]></category>
		<category><![CDATA[baseliner]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://keyes.ie/?p=945</guid>
		<description><![CDATA[<p>Baseliner 0.9.9 has added support for the grid to be offset vertically in the viewport. This can be configured using the gridOffset configuration variable, or via the UI. Thanks to Michael Herold for adding this feature. Please see the project page or GitHub for more details.</p>
<p>The post <a rel="nofollow" href="http://keyes.ie/baseliner-0-9-9/">Release: baseliner 0.9.9</a> appeared first on <a rel="nofollow" href="http://keyes.ie">keyes.ie</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><a href="http://keyes.ie/things/baseliner/">Baseliner</a> 0.9.9 has added support for the grid to be offset vertically in the viewport. This can be configured using the <code>gridOffset</code> configuration variable, or via the UI. Thanks to <a href="https://github.com/michaelherold">Michael Herold</a> for adding this feature.</p>

<p>Please see the <a href="http://keyes.ie/things/baseliner/">project page</a> or <a href="https://github.com/jkeyes/baseline/">GitHub</a> for more details.</p>
<p>The post <a rel="nofollow" href="http://keyes.ie/baseliner-0-9-9/">Release: baseliner 0.9.9</a> appeared first on <a rel="nofollow" href="http://keyes.ie">keyes.ie</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://keyes.ie/baseliner-0-9-9/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Release: python-intercom 0.2.9</title>
		<link>http://keyes.ie/python-intercom-0-2-9/</link>
		<comments>http://keyes.ie/python-intercom-0-2-9/#comments</comments>
		<pubDate>Sun, 17 Nov 2013 15:34:10 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Releases]]></category>
		<category><![CDATA[intercom]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://keyes.ie/?p=934</guid>
		<description><![CDATA[<p>I&#8217;m pleased to announce the latest release of python-intercom with: unsubscribed_from_emails attribute added to User object. last_request_at parameter supported in Intercom.create_user. page, per_page, tag_id, and tag_name parameters support in Intercom.get_users. See PyPi for the 0.2.9 release and Read the Docs for the latest documentation.</p>
<p>The post <a rel="nofollow" href="http://keyes.ie/python-intercom-0-2-9/">Release: python-intercom 0.2.9</a> appeared first on <a rel="nofollow" href="http://keyes.ie">keyes.ie</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m pleased to announce the latest release of python-intercom with:</p>

<ul>
<li>unsubscribed_from_emails attribute added to User object.</li>
<li>last_request_at parameter supported in Intercom.create_user.</li>
<li>page, per_page, tag_id, and tag_name parameters support in Intercom.get_users.</li>
</ul>

<p>See <a href="https://pypi.python.org/pypi/">PyPi</a> for the <a href="https://pypi.python.org/pypi/python-intercom">0.2.9 release</a> and <a href="https://readthedocs.org/">Read the Docs</a> for the <a href="https://python-intercom.readthedocs.org/en/latest/">latest documentation</a>.</p>
<p>The post <a rel="nofollow" href="http://keyes.ie/python-intercom-0-2-9/">Release: python-intercom 0.2.9</a> appeared first on <a rel="nofollow" href="http://keyes.ie">keyes.ie</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://keyes.ie/python-intercom-0-2-9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release: pathfinder 0.5.2</title>
		<link>http://keyes.ie/release-pathfinder-0-5-2/</link>
		<comments>http://keyes.ie/release-pathfinder-0-5-2/#comments</comments>
		<pubDate>Mon, 02 Sep 2013 20:53:38 +0000</pubDate>
		<dc:creator><![CDATA[John]]></dc:creator>
				<category><![CDATA[Releases]]></category>
		<category><![CDATA[pathfinder]]></category>
		<category><![CDATA[pypi]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://keyes.ie/?p=928</guid>
		<description><![CDATA[<p>Due to a couple of silly oversights by me it wasn&#8217;t possible to install pathfinder from PyPi. That&#8217;s been resolved in the new 0.5.2 release. See PyPi for the 0.5.2 release.</p>
<p>The post <a rel="nofollow" href="http://keyes.ie/release-pathfinder-0-5-2/">Release: pathfinder 0.5.2</a> appeared first on <a rel="nofollow" href="http://keyes.ie">keyes.ie</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Due to a couple of silly oversights by me it wasn&#8217;t possible to install pathfinder from <a href="https://pypi.python.org/pypi/">PyPi</a>. That&#8217;s been resolved in the new 0.5.2 release.</p>

<p>See PyPi for the <a href="https://pypi.python.org/pypi/pathfinder">0.5.2</a> release.</p>
<p>The post <a rel="nofollow" href="http://keyes.ie/release-pathfinder-0-5-2/">Release: pathfinder 0.5.2</a> appeared first on <a rel="nofollow" href="http://keyes.ie">keyes.ie</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://keyes.ie/release-pathfinder-0-5-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Heroku run command exit status on Wercker</title>
		<link>http://keyes.ie/heroku-run-command-exit-status-on-wercker/</link>
		<comments>http://keyes.ie/heroku-run-command-exit-status-on-wercker/#comments</comments>
		<pubDate>Mon, 02 Sep 2013 13:44:34 +0000</pubDate>
		<dc:creator><![CDATA[John]]></dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://keyes.ie/?p=913</guid>
		<description><![CDATA[<p>One of my deploy steps on Wercker is to run South migrations: - script: name: migrate with south code: heroku run "python manage.py migrate" -a $HEROKU_APP_NAME There is a known issue with the Heroku client that the true exit status of the command is not returned by the client. To workaround this problem you can [&#8230;]</p>
<p>The post <a rel="nofollow" href="http://keyes.ie/heroku-run-command-exit-status-on-wercker/">Heroku run command exit status on Wercker</a> appeared first on <a rel="nofollow" href="http://keyes.ie">keyes.ie</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>One of my deploy steps on <a href="http://wercker.com">Wercker</a> is to run <a href="http://south.aeracode.org/">South</a> migrations:</p>

<pre><code>- script:
  name: migrate with south
  code: heroku run "python manage.py migrate" -a $HEROKU_APP_NAME
</code></pre>

<p>There is a <a href="https://github.com/heroku/heroku/issues/186">known issue</a> with the Heroku client that the true exit status of the command is not returned by the client. To workaround this problem you can install the <a href="https://github.com/glenngillen/heroku-exit-status">heroku-exit-status</a> plugin:</p>

<pre><code>- script:
  name: install heroku-exit-status plugin
  code: heroku plugins:install \

https://github.com/glenngillen/heroku-exit-status.git

</code></pre>

<p>Now if the migrate fails, the Wercker deployment also fails.</p>

<p>I&#8217;ve made the full deploy steps available <a href="https://gist.github.com/jkeyes/6413052">in a Gist</a>.</p>
<p>The post <a rel="nofollow" href="http://keyes.ie/heroku-run-command-exit-status-on-wercker/">Heroku run command exit status on Wercker</a> appeared first on <a rel="nofollow" href="http://keyes.ie">keyes.ie</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://keyes.ie/heroku-run-command-exit-status-on-wercker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release: pathfinder 0.5</title>
		<link>http://keyes.ie/release-pathfinder-0-5/</link>
		<comments>http://keyes.ie/release-pathfinder-0-5/#comments</comments>
		<pubDate>Mon, 12 Aug 2013 23:11:12 +0000</pubDate>
		<dc:creator><![CDATA[John]]></dc:creator>
				<category><![CDATA[Releases]]></category>
		<category><![CDATA[pathfinder]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://keyes.ie/?p=910</guid>
		<description><![CDATA[<p>pathfinder has been updated: the new find_paths function returns a generator using any and all in OrFiter and AndFilter See PyPi for the 0.5 release.</p>
<p>The post <a rel="nofollow" href="http://keyes.ie/release-pathfinder-0-5/">Release: pathfinder 0.5</a> appeared first on <a rel="nofollow" href="http://keyes.ie">keyes.ie</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>pathfinder has been updated:</p>

<ul>
<li>the new <code>find_paths</code> function returns a generator</li>
<li>using <code>any</code> and <code>all</code> in <code>OrFiter</code> and <code>AndFilter</code></li>
</ul>

<p>See <a href="https://pypi.python.org/pypi/">PyPi</a> for the <a href="https://pypi.python.org/pypi/pathfinder">0.5 release</a>.</p>
<p>The post <a rel="nofollow" href="http://keyes.ie/release-pathfinder-0-5/">Release: pathfinder 0.5</a> appeared first on <a rel="nofollow" href="http://keyes.ie">keyes.ie</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://keyes.ie/release-pathfinder-0-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.547 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2014-08-27 03:29:20 -->
