Named HTML entities are much neater and much easier to comprehend than numeric
entities. And because they fall within the ASCII range, they're much safer to
use in multiple contexts than Unicode and its various encodings (UTF-8 and
such).

This module helps convert from numerical HTML entites and Unicode characters
that fall outside the normal ASCII range into named entities.

Usage
=====

Python 2::
  
    from namedentities import named_entities
    
    u = u'both em\u2014and&#x2013;dashes&hellip;'
    print named_entities(u)
    
yields::

    both em&mdash;and&ndash;dashes&hellip;
    
Python 3::

    from namedentities import named_entities
    
    u = 'both em\u2014and&#x2013;dashes&hellip;'
    print(named_entities(u))
    # same result

Or using the `six <http://pypi.python.org/pypi/six>`_ cross-version compatibility
library, either one::

    from namedentities import named_entities
    import six
    
    u = six.u('both em\u2014and&#x2013;dashes&hellip;')
    six.print_(named_entities(u))
    # same result

Recent Changes
==============

 * Repackaged as a Python package, rather than independent modules.
 
 * Now
   successfully packaged for, and tests against, against Python 2.5, 2.6, 2.7, 3.2, and 3.3,
   as well as PyPy 1.7 (based on 2.7.2). Mutomated multi-version testing managed with
   `pytest <http://pypi.python.org/pypi/pytest>`_
   and `tox <http://pypi.python.org/pypi/tox>`_.
   
Notes
=====
   
 * Doesn't attempt to encode ``&lt;``, ``&gt;``, or 
   ``&amp;`` (or their numerical equivalents) to avoid
   interfering with HTML escaping.

 * This is basically a packaging of `Ian Beck's work
   <http://beckism.com/2009/03/named_entities_python/>`_. Thank you, Ian!

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

::

    pip install namedentities

To ``easy_install`` under a specific Python version (3.3 in this example)::

    python3.3 -m easy_install namedentities
    
(You may need to prefix these with "sudo " to authorize installation.)