yolk
====

.. contents::

Installation
------------

You can install yolk with ``easy_install yolk`` or install from the `subversion
repository <http://anonymous@tools.assembla.com/svn/yolk/trunk/#egg=yolk-dev>`_
with ``easy_install yolk==dev``.

As of 0.0.7 yolk is in Gentoo's Portage tree as dev-python/yolk and a plugin for Portage named dev-python/yolk-portage.


Summary
-------

Yolk is a Python tool for obtaining information about packages installed by distutils, setuptools and easy_install and querying packages on PyPI (Python Package Index a.k.a. The Cheese Shop). 

Yolk can list all the packages installed by distutils or setuptools on your system by >=Python2.5 or packages installed by setuptools if you have <=Python2.4. You can see which packages are active, non-active or in development mode and show you which have newer versions available by querying PyPI. 

Usage Examples::

    $ yolk -l
         List all installed Python packages

    $ yolk -a 
         List only the activated packages installed (Activated packages are normal packages on sys.path you can import) 

    $ yolk -n 
         List only the non-activated (--multi-version) packages installed 
         
    $ yolk -l -f License,Author nose==1.0
         Show the license and author for version 1.0 of the package `nose`

    $ yolk --entry-map nose
         Show entry map for the nose package

    $ yolk --entry-points nose.plugins
         Show all setuptools entry points for nose.plugins


These options query PyPI::

    $ yolk -U pkg_name
         Shows if an update for pkg_name is available by querying PyPI

    $ yolk -U
         Checks PyPI to see if any installed Python packages have updates available.

    $ yolk -F Paste
         Download source tarball for latest version of Paste to your current directory

    $ yolk -F Paste -T svn
         Do a subversion checkout for Paste to a directory named Paste_svn in your current directory.

    $ yolk -L 2
         Show list of CheeseShop releases in the last two hours

    $ yolk -C 2
         Show detailed list of changes in the CheeseShop in the last two hours

    $ yolk -M Paste==1.0 
         Show all the metadata for Paste version 1.0 

    $ yolk -M Paste 
         Show all the metadata for the latest version of Paste listed on PyPi

    $ yolk -D cheesecake 
         Show all (source, egg, svn) URL's for the latest version of cheesecake packages

     $ yolk -T source -D cheesecake 
         Show only source code releases for cheesecake 

     $ yolk -H twisted 
         Launches your web browser at Twisted's home page 

Changes
-------
**0.4.1**: Fix for -f fields
           
           Add check for integer with -L


**0.4.0**: Added http proxy support for XML-RPC
            
           Added case-insensitive search for -f

           Non-existent packages with -S no longer show entire index (bug was with PyPI)

           Fixed exception when package has no metadata


**0.3.0**: Added -C and -L options for new PyPI XML-RPC methods `changelog` and `updated_releases`

           Always check package name cache on disk before querying PyPi to see if a package exists and has proper case.

           Added -F option to download source, egg or subversion checkouts.

           Removed -L RSS feed option because the new `updated_releases` XML-RPC method is much nicer

           Fixed '-D -T egg' so it won't return source if no egg is available

           Major refactoring.

           Removed dependency on elementtree 

           
**0.2.0**: Added 'svn' type for -T

           A kablillion bug fixes


**0.1.0**: You can now use -f with -M

           More accurate URL's with -D using setuptools

           Ability to check for a single package with -U

           Uses std Python logging module

           Fixed bug so we have correct exit codes


**0.0.7**: New options: --entry-map and -entry-points
           
           Improved results with --download-links

           New plugin system. First plugin available: yolk-portage
           for Gentoo Linux.

           -v option is now --version

           -v is now a new option: --verbose

           Many bug fixes.


**0.0.6**: Fix Windows problem which showed all pkgs in develop mode
           on some systems.

           Fix bad interpreter shebang in rss_feed.py example

           Start using nose unit tests from setup.py

           Use restructuredtext in docstrings


**0.0.5**: Show packages installed in 'development' mode.

           Improved output of -l, -n and -a. You can get the previous (<=0.0.4)
           output by adding '-f Summary'

           More sanity checking for various options.

           Don't throw exception if there is no package metadata


**0.0.4**: Added -U option to query PyPI for new versions of packages you have 
           installed

Requirements
------------

* setuptools

* elementtree (For RSS feed option extra_requires [RSS]) (included in Python >=2.5)

