[Announce] Gnosis Utils 1.2.0

Discussion in 'Python' started by David Mertz, Ph.D., Apr 7, 2005.

  1. David Mertz ()
    Frank McIngvale ()

    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! :)
    David Mertz, Ph.D., Apr 7, 2005
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. arm developer
    Replies:
    0
    Views:
    351
    arm developer
    Jun 3, 2004
  2. David Mertz, Ph.D.

    [Announce] Gnosis Utils 1.1.0 (update)

    David Mertz, Ph.D., Jul 16, 2003, in forum: Python
    Replies:
    0
    Views:
    318
    David Mertz, Ph.D.
    Jul 16, 2003
  3. Lulu of the Lotus-Eaters

    [Announce] Gnosis Utils 1.1.0 (update)

    Lulu of the Lotus-Eaters, Jul 16, 2003, in forum: Python
    Replies:
    0
    Views:
    296
    Lulu of the Lotus-Eaters
    Jul 16, 2003
  4. David Mertz, Ph.D.

    [Announce] Gnosis Utils 1.1.1

    David Mertz, Ph.D., Feb 19, 2004, in forum: Python
    Replies:
    0
    Views:
    370
    David Mertz, Ph.D.
    Feb 19, 2004
  5. Eirikur Hallgrimsson
    Replies:
    3
    Views:
    153
    Gavin Sinclair
    Oct 10, 2004
Loading...

Share This Page