
.. _`py`:
.. _`index page`: http://pypi.python.org/pypi/py/

installation info in a nutshell
===================================================

**PyPI name**: py_

**Pythons**: CPython 2.6, 2.7, 3.3, 3.4, PyPy-2.3

**Operating systems**: Linux, Windows, OSX, Unix

**Requirements**: setuptools_ or Distribute_

**Installers**: ``easy_install`` and ``pip``

**hg repository**: https://bitbucket.org/hpk42/py

easy install or pip ``py``
-----------------------------

Both `Distribute`_ and setuptools_ provide the ``easy_install``
installation tool with which you can type into a command line window::

    easy_install -U py

to install the latest release of the py lib.  The ``-U`` switch
will trigger an upgrade if you already have an older version installed.

.. note::

   As of version 1.4 py does not contain py.test anymore - you
   need to install the new `pytest`_ distribution.

.. _pytest: http://pytest.org

Working from version control or a tarball
-----------------------------------------------

To follow development or start experiments, checkout the
complete code and documentation source with mercurial_::

    hg clone https://bitbucket.org/hpk42/py

Development takes place on the 'trunk' branch.

You can also go to the python package index and
download and unpack a TAR file::

    http://pypi.python.org/pypi/py/

activating a checkout with setuptools
--------------------------------------------

With a working `Distribute`_ or setuptools_ installation you can type::

    python setup.py develop

in order to work inline with the tools and the lib of your checkout.

.. _`no-setuptools`:

.. _`directly use a checkout`:

.. _`setuptools`: http://pypi.python.org/pypi/setuptools


Mailing list and issue tracker
--------------------------------------

- `py-dev developers list`_ and `commit mailing list`_.

- #pylib on irc.freenode.net IRC channel for random questions.

- `bitbucket issue tracker`_ use this bitbucket issue tracker to report
  bugs or request features.

.. _`bitbucket issue tracker`: http://bitbucket.org/hpk42/py/issues/

.. _codespeak: http://codespeak.net/
.. _`py-dev`:
.. _`development mailing list`:
.. _`py-dev developers list`: http://codespeak.net/mailman/listinfo/py-dev
.. _`py-svn`:
.. _`commit mailing list`: http://codespeak.net/mailman/listinfo/py-svn

.. include:: links.inc
