
.. _`release-1.4.0`:

py-1.4.0: cross-python lib for path, code, io, ... manipulations
===========================================================================

"py" is a small library comprising APIs for filesystem and svn path
manipulations, dynamic code construction and introspection, a Py2/Py3
compatibility namespace ("py.builtin"), IO capturing, terminal colored printing
(on windows and linux), ini-file parsing and a lazy import mechanism.
It runs unmodified on all Python interpreters compatible to Python2.4 up
until Python 3.2.  The general goal with "py" is to provide stable APIs
for some common tasks that are continously tested against many Python
interpreters and thus also to help transition. Here are some docs:

    http://pylib.org

NOTE: The prior py-1.3.X versions contained "py.test" which now comes
as its own separate "pytest" distribution and was just released
as "pytest-2.0.0", see here for the revamped docs:

    http://pytest.org
   
And "py.cleanup|py.lookup|py.countloc" etc. helpers are now part of
the pycmd distribution, see https://pypi.org/project/pycmd/

This makes "py-1.4.0" a simple library which does not install
any command line utilities anymore.

cheers,
holger

Changes between 1.3.4 and 1.4.0
-------------------------------------

- py.test was moved to a separate "pytest" package. What remains is
  a stub hook which will proxy ``import py.test`` to ``pytest``.
- all command line tools ("py.cleanup/lookup/countloc/..." moved
  to "pycmd" package)
- removed the old and deprecated "py.magic" namespace
- use apipkg-1.1 and make py.apipkg.initpkg|ApiModule available
- add py.iniconfig module for brain-dead easy ini-config file parsing
- introduce py.builtin.any()
- path objects have a .dirname attribute now (equivalent to
  os.path.dirname(path))
- path.visit() accepts breadthfirst (bf) and sort options
- remove deprecated py.compat namespace
