======================
``py/bin/`` scripts 
======================

The py-lib contains some scripts, most of which are 
small ones (apart from ``py.test``) that help during
the python development process.  If working
from a svn-checkout of py lib you may add ``py/bin`` 
to your shell ``PATH`` which should make the scripts
available on your command prompt. 

``py.test``
===========

The ``py.test`` executable is the main entry point into the py-lib testing tool,
see the `py.test documentation`_.

.. _`py.test documentation`: test.html

``py.cleanup``
==============

Usage: ``py.cleanup [PATH]``

Delete pyc file recursively, starting from ``PATH`` (which defaults to the
current working directory). Don't follow links and don't recurse into
directories with a ".".


``py.countloc``
===============

Usage: ``py.countloc [PATHS]``

Count (non-empty) lines of python code and number of python files recursively
starting from a ``PATHS`` given on the command line (starting from the current
working directory). Distinguish between test files and normal ones and report
them separately.

``py.lookup``
=============

Usage: ``py.lookup SEARCH_STRING [options]``

Looks recursively at Python files for a ``SEARCH_STRING``, starting from the
present working directory. Prints the line, with the filename and line-number
prepended.

``py.rest``
===========

Usage: ``py.rest [PATHS] [options]``

Loot recursively for .txt files starting from ``PATHS`` and convert them to
html using docutils or to pdf files, if the ``--pdf`` option is used. For
conversion to PDF you will need several command line tools, on Ubuntu Linux
this is **texlive** and **texlive-extra-utils**. 

``py.rest`` has some extra features over rst2html (which is shipped with
docutils). Most of these are still experimental, the one which is most likely
not going to change is the `graphviz`_ directive. With that you can embed .dot
files into your document and have them be converted to png (when outputting
html) and to eps (when outputting pdf). Otherwise the directive works mostly
like the image directive::

    .. graphviz:: example.dot
       :scale: 90

.. _`graphviz`: http://www.graphviz.org
