Skip to main content

Sedna XML Database adapter

Project description


Sedna, available at, under Apache 2.0 license, is
a transactional native XML database operating over TCP/IP. Sedna is open
source and has excellent documentation. The mailing list, [Sedna-discussion],
is responsive for questions. Sedna currently runs on Windows 2000/XP and
Linux x86, available in source and binary formats.

Analogous to an SQL database, a Sedna database is a set of related XML
documents and collections of XML documents. Documents hold data in an XML
structure, not restricted to any particular (e.g., tabular) format. Collections
are used to organize documents with similar schemas so that those documents may
be queried together or separately.

A Sedna server may handle multiple databases. A database may contain multiple
XML documents and multiple collections of multiple XML documents. Data size is

Analogous to an SQL database, data access is through a query language. Sedna's
query language is XQuery, XQuery is more
like python or C or perl than like XML. Particularly, XPath expressions are
like list generators, obtaining data elements by their type, value, and/or
path, and FLOWR expressions are like list comprehensions. There are several
XQuery tutorials on the web. Like SQL, XQuery may get complicated, but the
easy stuff is often powerful enough for your needs.

Sedna has extensions to XQuery for inserting, updating, deleting, etc., which
makes Sedna a worthy option for object persistence. ZODB can store anything
picklable. Similarly, Sedna can store anything that can be represented in XML.

Sedna has ACID transactions, triggers, indexes, support for ODBC within XQuery,
SQL database-like user/permission management, and many other interesting and
useful features.

zif.sedna provides

- a connection and query interface to a Sedna server

- a dbapi-like interface (e.g., connections and cursors)

- a database adapter for zope(3) with connection pooling and (provisional)
thread safety.

- sednaobject, which provides pythonic interfaces to the Sedna server for
CRUD operations. It abstracts read-only query results into python
sequence-like items and also provides a read-write elementtree-like
interface for managing individual elements and their descendents.

- SednaXQuery, for operations like handling SELECT results in SQL

- SednaContainer, for operations like working with a table or view in SQL

- SednaObjectifiedElement, for operations like modifying a record in SQL

See 'src/zif/sedna/README.txt' for more information and doctest examples.
See 'src/zif/sedna/README_da.txt' to use the zope3 database adapter in zope.
See 'src/zif/sedna/README_sednaobject.txt' for sednaobject usage and doctests.
See 'src/zif/sedna/README_pylons.txt' to use the zope3 database adapter in


0.9 beta (2008/02/07)
Initial release

0.9 beta2 (2008/02/15)
Support pyformat %(var)s for atomic values in BasicCursor.
Improved thread friendliness.
Preliminary instructions for use with pylons.

0.10 alpha1 (2008/03/23)
sednaobject provided. Abstractions for pythonic CRUD operations.
lxml now required

0.10 alpha2 (2008/03/30)
renamed sednaobject.SednaXPath to SednaXQuery
renamed sednaobject.SednaElement to SednaContainer
added sednaobject.SednaObjectifiedElement, a lightweight wrapper around
lxml.objectify, for operating with record-like objects.
more parser-agnostic about results


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zif.sedna-0.10alpha2.tar.gz (39.2 kB view hashes)

Uploaded source

Built Distribution

zif.sedna-0.10alpha2-py2.5.egg (83.6 kB view hashes)

Uploaded 2 5

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page