<?xml version="1.0" ?>
<?xml-stylesheet type='text/xsl' href='interface.xsl'?>
<interface uri="http://gfxmonk.net/dist/0install/autonose.xml" xmlns="http://zero-install.sourceforge.net/2004/injector/interface">
	<name>autonose</name>
	<summary>continuous test runner for python</summary>
	<publish mode="featured" xmlns="http://gfxmonk.net/dist/0install"/>
	<homepage>http://github.com/gfxmonk/autonose</homepage>
	<description>
Autonose
========

Autonose is an autotest-like tool for python, using the excellent nosetest
library.

Features:

- Re-run tests instantly when you save a file
- Re-runs only tests that have failed or depend on changed files
- GTK GUI (console fallback for other platforms or by passing in --console)
- focus mode: keep running a single test (GUI only)

To activate focus mode, click the large grey circle next to the test result.
To go back to normal mode, click the &quot;#&quot; in the status bar (next to the
number of tests run).

Note: on a Mac, to get immediate filesystem notification you may need to install
watchdog using ``easy_install``, as it needs to compile a native extension which
isn't included in the 0install package.

Installation:
-------------

The officially supported installation mechanism is zero install. You will
need the zeroinstall-injector package (from apt, yum, macports, etc.) or
`your platform's equivalent &lt;http://zero-install.sourceforge.net/injector.html&gt;`_.

To launch it, simply run::

	$ 0launch http://gfxmonk.net/dist/0install/autonose.xml

You can also use 0alias to make a short name for it::

	$ 0alias autonose http://gfxmonk.net/dist/0install/autonose.xml
	$ autonose

If you have modified the code, you will want to create a local feed to run::

	$ 0launch http://gfxmonk.net/dist/0install/0local.xml autonose.xml
	$ 0launch autonose-local.xml

See http://gfxmonk.net/dist/0install/autonose.xml for further deatils.

If you really *must* use pypi, you can ``pip install autonose``.

Advanced use:
-------------

nosetests has a lot of options and plugins. autonose tries to work as best
it can with them, but be warned that some plugins will interfere with autonose
(particularly any that do their own output or manage test results).

However, you can pass any options you want to nose by prefixing them with ``-x``,
or by using ``--config=nose.cfg`` if you have a config file.
(e.g. to turn on doctest, you should pass ``-x--with-doctest`` to autonose)

Notes:
------

Autotest does not (currently):

- understand dynamic imports (use of ``__import__``)
- track any file types other than ``.py``

	</description>
	<rich-description xmlns="http://gfxmonk.net/dist/0install" xmlns:h="http://www.w3.org/1999/xhtml">
		<div xmlns="http://www.w3.org/1999/xhtml">
			<h1 id="autonose">Autonose</h1>
			<p>Autonose is an autotest-like tool for python, using the excellent nosetest library.</p>
			<p>Features:</p>
			<ul>
				<li>Re-run tests instantly when you save a file</li>
				<li>Re-runs only tests that have failed or depend on changed files</li>
				<li>GTK GUI (console fallback for other platforms or by passing in --console)</li>
				<li>focus mode: keep running a single test (GUI only)</li>
			</ul>
			<p>To activate focus mode, click the large grey circle next to the test result. To go back to normal mode, click the &quot;#&quot; in the status bar (next to the number of tests run).</p>
			<p>Note: on a Mac, to get immediate filesystem notification you may need to install watchdog using <code>easy_install</code>, as it needs to compile a native extension which isn't included in the 0install package.</p>
			<h2 id="installation">Installation:</h2>
			<p>The officially supported installation mechanism is zero install. You will need the zeroinstall-injector package (from apt, yum, macports, etc.) or <a href="http://zero-install.sourceforge.net/injector.html">your platform's equivalent</a>.</p>
			<p>To launch it, simply run:</p>
			<pre><code>$ 0launch http://gfxmonk.net/dist/0install/autonose.xml
</code></pre>
			<p>You can also use 0alias to make a short name for it:</p>
			<pre><code>$ 0alias autonose http://gfxmonk.net/dist/0install/autonose.xml
$ autonose
</code></pre>
			<p>If you have modified the code, you will want to create a local feed to run:</p>
			<pre><code>$ 0launch http://gfxmonk.net/dist/0install/0local.xml autonose.xml
$ 0launch autonose-local.xml
</code></pre>
			<p>See <a href="http://gfxmonk.net/dist/0install/autonose.xml">http://gfxmonk.net/dist/0install/autonose.xml</a> for further deatils.</p>
			<p>If you really <em>must</em> use pypi, you can <code>pip install autonose</code>.</p>
			<h2 id="advanced-use">Advanced use:</h2>
			<p>nosetests has a lot of options and plugins. autonose tries to work as best it can with them, but be warned that some plugins will interfere with autonose (particularly any that do their own output or manage test results).</p>
			<p>However, you can pass any options you want to nose by prefixing them with <code>-x</code>, or by using <code>--config=nose.cfg</code> if you have a config file. (e.g. to turn on doctest, you should pass <code>-x--with-doctest</code> to autonose)</p>
			<h2 id="notes">Notes:</h2>
			<p>Autotest does not (currently):</p>
			<ul>
				<li>understand dynamic imports (use of <code>__import__</code>)</li>
				<li>track any file types other than <code>.py</code></li>
			</ul>
		</div>
	</rich-description>
	<group main="autonose/runner.py">
		<requires interface="http://gfxmonk.net/dist/0install/nose.xml">
			<environment insert="" mode="prepend" name="PYTHONPATH"/>
			<version not-before="0.11"/>
		</requires>
		<requires interface="http://gfxmonk.net/dist/0install/python-snakefood.xml">
			<environment insert="lib/python/" mode="prepend" name="PYTHONPATH"/>
		</requires>
		<requires interface="http://gfxmonk.net/dist/0install/python-nosexml.xml">
			<environment insert="" mode="prepend" name="PYTHONPATH"/>
		</requires>
		<requires interface="http://gfxmonk.net/dist/0install/python-termstyle.xml">
			<environment insert="" mode="prepend" name="PYTHONPATH"/>
		</requires>
		<implementation id="sha1new=eb88fcf1f881521f22aafadff65eec2b72510acc" released="2010-07-19" version="0.1.3">
			<manifest-digest sha256="c0a4ed1b5a1049f908452e54a9388149aad959ef07d8d68a66ebb48be9301267"/>
			<archive href="http://gfxmonk.net/dist/0install/autonose/autonose-0.1.3.tgz" size="56476"/>
		</implementation>
		<implementation id="sha1new=e42eb2a4f6697984b3d65675c5d693341ccddd19" released="2010-07-31" version="0.1.4">
			<manifest-digest sha256="a2dc93112eac871928968eadcf152692d3db26bc95563f2d7f2d862d72138818"/>
			<archive href="http://gfxmonk.net/dist/0install/autonose/autonose-0.1.4.tgz" size="56526"/>
		</implementation>
		<implementation id="sha1new=7c64678c16456897239dc212c32b68dc8b51e75f" released="2010-11-05" version="0.1.5">
			<manifest-digest sha256="e1e564b6ee95e96f48f800807b3fbb8def65e3942a9a5fc381451277b03edf2f"/>
			<archive href="http://gfxmonk.net/dist/0install/autonose/autonose-0.1.5.tgz" size="57430"/>
		</implementation>
	</group>
	<group main="autonose/runner.py">
		<environment insert="" mode="prepend" name="PYTHONPATH"/>
		<command name="test" path=".">
			<runner interface="http://gfxmonk.net/dist/0install/nosetests-runner.xml"/>
		</command>
		<requires interface="http://gfxmonk.net/dist/0install/paragram.xml"/>
		<requires interface="http://gfxmonk.net/dist/0install/nose.xml">
			<version not-before="0.11"/>
		</requires>
		<requires interface="http://gfxmonk.net/dist/0install/python-snakefood.xml"/>
		<requires interface="http://gfxmonk.net/dist/0install/python-termstyle.xml"/>
		<requires interface="http://gfxmonk.net/dist/0install/watchdog.xml"/>
		<implementation id="sha1new=b6385db8555c392a702c3ee0a36fa6ec2d35b1e8" released="2011-01-05" version="0.2">
			<manifest-digest sha256="7067516ed6deb297cce48af84982cd52d0d61c02652fc14f61f63e9234228a9a"/>
			<archive href="http://gfxmonk.net/dist/0install/autonose/autonose-0.2.tgz" size="62377"/>
		</implementation>
		<implementation id="sha1new=876d834a31be950ccf085f2aabb32888f18688fe" released="2011-03-05" version="0.2.1">
			<manifest-digest sha256="cf6592a2853543a19689dba9570f59aa647d6879ab257a052d9b4bc20c40b5b5"/>
			<archive href="http://gfxmonk.net/dist/0install/autonose/autonose-0.2.1.tgz" size="62543"/>
		</implementation>
		<implementation id="sha1new=4443b16cba9111825cff732645b24ae97342bf7a" released="2011-10-08" version="0.2.2">
			<manifest-digest sha256="2d679d7310c3255a76b420568242890dfbd04d5e4ed60a88d088335f6f8bf8cc"/>
			<archive href="http://gfxmonk.net/dist/0install/autonose/autonose-0.2.2.tgz" size="61901"/>
		</implementation>
	</group>
</interface>
<!-- Base64 Signature
iEYEABECAAYFAk7/qWkACgkQ/lhgK1iJTtI+8ACgwS85pgWLDiFWdrg+RcVu/a9RYt0AoIQK4agr
yZBkLdPHTqnq7MewilyB

-->

