ego-boost 0.1.2
Package to track your module's download statistics
License: MIT

=========
Ego Boost
=========

This package will do nothing less than boosting the ego of any Python developer
who has made packages available via PyPI. Finally, with one simple command and
a cronjob you can track the downloads of your packages over time. Here is a
simple example::

    $ ego-boost collect python-weewar pypi:python-weewar bb:basti/python-weewar
    Fetching data from http://pypi.python.org/pypi/python-weewar...
    Fetching data from http://bitbucket.org/basti/python-weewar...
    $ ego-boost dump
    date,python-amazon-product-api,python-weewar
    2010-07-10,8742,2807
    2010-07-11,0,2807
    ...

The same can be achived by using the interactive console::

    $ ego-boost
    > collect python-weewar-monitor bb:basti/python-weewar-monitor
    Fetching data from http://bitbucket.org/basti/python-weewar-monitor...
    > quit
    Bye.

Commands
========

Once installed, you can use binary ``ego-boost`` with the following commands:

``collect PACKAGE URL [URL ...]``
  will collect download statistics from the provided URLs and store them under
  key PACKAGE (which will later appear in the CSV data).

  You can specify any number of URLs. Supported sources so far are

  * PyPI (shortcut: ``pypi:``)
  * bitbucket.org (shortcut: ``bb:``)
  * github.com (shortcut: ``gh:``)

  Data is always stored for the current date. Subsequent data collection will
  not lead to falsely accumulated data for that day!

``dump``
  will aggregate download statistics per package per date and print CSV data to
  stdout. 

``export FILE``
  will export all data into a single JSON file. This can later be imported 
  again. If ``FILE`` is ``-``, output will be redirected to stdout.

``import FILE [FILE ...]``
  will import one or more JSON files into the data base. Inside the interactive 
  console you can use wildcards, too.

Installation
============

Simply use ``pip install ego-boost`` (or ``easy_install ego-boost`` for those
of you that still have to discover the superiority of `pip`_). You can also
download the source from `PyPI <http://pypi.python.org/pypi/ego-boost>`_ and
run ``python setup.py install`` in the untared directory.

On one of my servers, I have installed the following cronjob that collects
download statistics for all my packages on a daily basis::

    # m h  dom mon dow   command
    0 7 * * * ego-boost collect python-weewar bb:basti/python-weewar
    0 7 * * * ego-boost collect python-weewar-monitor bb:basti/python-weewar-monitor
    0 7 * * * ego-boost collect python-amazon-product-api pypi:python-amazon-product-api
    # ...

.. _pip: http://pip.openplans.org

TODOs
=====

* Make code available on bitbucket (or similar).
* Some graphics would be nice!
* Support for more sources (if there is interest).
* Use `cmdln <http://code.google.com/p/cmdln/`.

If you have any questions, suggestions, comments, improvements etc. please `email
Sebastian <mailto:basti@redtoad.de>`_!

License
=======

This package is released under the MIT license.

Copyright (c) 2010 Sebastian Rahlf

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.