David Mertz ([EMAIL PROTECTED])
Frank McIngvale ([EMAIL PROTECTED])

    This release of the Gnosis Utilities contains several new modules,
    as well as fixes, enhancements, and speedups in existing
    subpackages.

  Try it out, have fun, send feedback!

NEW SUBPACKAGES
------------------------------------------------------------------------

  ADDED gnosis.utils.hashcash (also runs standalone). Python
  implementation of Hashcash v.1 (backward compatible with hashcash
  v.0).

  ADDED disthelper. A collection of scripts and modules that are
  generally useful for building/maintaining a Python source
  distribution.

   - To use disthelper in your own distribution, copy the entire
     disthelper/ tree into the toplevel of your tree, as has been done
     in Gnosis_Utils.
   - See disthelper/README for details.

  ADDED gnosis.pyconfig. Detect actual capabilities available in a
  Python interpreter. gnosis.pyconfig lets you write much more
  robust/readable code than simply relying on sys.version_info.

  ADDED gnosis.xml.xmlmap. Unicode->XML legality testing & Unicode
  helper functions.

   - For detailed background information on the motivation for
     this module, see "All About Python and Unicode" at:
     http://boodebr.org/python/pyunicode/index.html

ENHANCEMENTS
------------------------------------------------------------------------

  There is one critical change in gnosis.xml.pickle; all xml.pickle
  users are encouraged to upgrade.

  Catch unpickleable data in gnosis.xml.pickle and abort, instead of
  creating pickles that can't be reloaded.

   - Recommend all xml.pickle users upgrade to 1.2.0.
   - Issues: not all valid Unicode strings are valid XML CDATA or
     attribute values.
   - There have not been any reports of data loss due to this, but it
     is a possibility with 1.1.1.
   - A future Gnosis release will fix this so that the 'bad' data can
     be pickled, instead of just bailing out.

  Numerous new convenience functions for gnosis.xml.objectify. See
  gnosis/docs/xml_matters_39.txt for more discussion.

   - addChild()  # moved to utils subpackage
   - walk_xo()   # Recursively traverse the nodes
   - write_xml() # Serialize an _XO_ object back into XML
   - XPath()     # Find node(s) within an _XO_ object
   - pyobj_printer()  # moved to utils subpackage

  Some of older conveniences have been tweaked and/or were not announced
  previously:

   - content()   # The (mixed) content of o as a list
   - children()  # The child nodes (not PCDATA) of o
   - text()      # List of textual children
   - dumps():    # The PCDATA in o (preserves whitespace)
   - normalize() # Whitespace normalize string,
                 # e.g. o.PCDATA==normalize(dumps(o))
   - tagname()   # The element tag o was generated from
   - attributes()# List of (XML) attributes of o

  Fixed two bugs causing leaks in long running gnosis.xml.objectify
  processes (file close and expat base class).

  Significant speedups by miscellaneous refactoring/cleanup in
  gnosis.xml.objectify.

  Fixes to gnosis.xml.indexer suggested by Uche Ogbuju.

  Security fixes to gnosis.utils.convert.dmText2Html.

DOWNLOADING:
------------------------------------------------------------------------

  Browse the latest development snapshot or download it using 'wget -r'
  or similar tools:

    http://gnosis.cx/download/gnosis/

  It may be obtained at:

    http://gnosis.cx/download/Gnosis_Utils-1.2.0.tar.gz

  The current release is always available as:

    http://gnosis.cx/download/Gnosis_Utils-current.tar.gz

  Other distribution formats and older versions can be found at:

    http://gnosis.cx/download/Gnosis_Utils.More/


BACKGROUND:
------------------------------------------------------------------------

  Gnosis Utilities contains a number of Python libraries, most (but not
  all) related to working with XML. These include:

    disthelper              (Create more flexible distutils archives)
    gnosis.indexer          (Full-text indexing/searching)
    gnosis.xml.pickle       (XML pickling of Python objects)
    gnosis.xml.objectify    (Any XML to "native" Python objects)
    gnosis.xml.validity     (Enforce validity constraints)
    gnosis.xml.relax        (Tools for working with RelaxNG)
    gnosis.xml.indexer      (XPATH indexing of XML documents)
    [...].convert.txt2html  (Convert ASCII source files to HTML)
    gnosis.util.dtd2sql     (DTD -> SQL 'CREATE TABLE' statements)
    gnosis.util.sql2dtd     (SQL query -> DTD for query results)
    gnosis.util.xml2sql     (XML -> SQL 'INSERT INTO' statements)
    gnosis.util.combinators (Combinatorial higher-order functions)
    gnosis.util.introspect  (Introspect Python objects)
    gnosis.utils.hashcash   (Hashcash proof-of-work protocol)
    gnosis.magic            (Multimethods, metaclasses, etc)
    gnosis.trigramlib       (Work w/ trigrams, e.g. spam filtering)
    gnosis.pyconfig         (Capability-based version adaptation)

...and so much more! :-)

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to