status of 1.3

Frederic Gobry <[email protected]>
Newsgroups gmane.comp.gnome.apps.pybliographer
Message-ID <[email protected]>
Hi,

Just a short note regarding the codebase of pyblio-1.3. It is regularely
developped, but in a very specific direction (that fits my current needs
as a matter of fact :-)). However, it might soon reach the point where
it will be of general interest.

What does it do as of today:

  - it can manage (ie add, remove, search, sort) structured records.
    These records are composed of attributes that have distinctive
    properties (persons, urls, identifiers, enumerated values, free form
    text,...) The way a record is composed is not defined in the
    framework itself, but lives in a user-provided "schema".

    Each attribute can be qualified by additional informations, so that
    we can have a record that looks like:

      Record ...:
        
	 Title : ....
	 
	 Author: ....
	    Role: Editor
	    
	 Author: ....

	 URL: .....
	    Description: ....

  - these records can be stored in a native XML format, or in a bsddb
    backend.

  - There are already some classes that can handle importing and
    exporting to other "standard" formats, like BibTeX, EndNote (XML),
    RIS, ISI, XML MARC. 

    Important remark: theses importers and exporters are generally not
    concerned about the actual semantic of the data they manage: they
    provide a convenience to build the actual filters that are
    customized for a given schema, your schema, and can process all the
    special cases you have to adapt to with a minimal amount of extra
    code.

  - a simple formatting language makes it easy to specify a
    bibliographic output style.


Design choices:

  - works as a framework: it is quite hard to embbed the current
    pyblio-1.2 code base in some other code. The 1.3 version is so far
    only a framework, on which actual applications will be built (but
    are not, today)

  - not intended as a BibTeX editor: even if the framework should
    support most of the features of bibtex, the common pattern of use
    should be to import a bibtex file in a native database, and only
    export it again when it is needed.

  - extensible, flexible: there is no attempt to fit to a specific
    standard (BibTeX, MARC, MODS, Dublin Core,...) but only to give
    enough power to make it easy to adapt to the one _you_ need, in a
    pragmatic approach. This flexibility intentionally uses python as
    its substrate rather than some XML or XSL format, as I think it is
    really more efficient for the user's brain.


What's coming next:

  - for the data model: there are only a few things that I plan to add
    in the near future, but with interesting impacts, namely links
    between records (giving birth to a non-flat structure of records),
    and references in attributes (allowing authority records, or simply
    shortcuts like BibTeX's @string command)

  - for the ease of management, a system to identify more explictely the
    different schemas, and the importers that support them

  - code to support querying external databases as easily as importing
    file formats. 

I guess I should not have called that a short note... :-)

Frédéric
signature.asc (application/pgp-signature, 189 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFC1tVaFjQHpltE9KURAjN+AKClSg9NRqeLJIRuqIbmqLQwhpStoACgmdE3
aORAENclv5IvjRDPkhiRp5U=
=y3OT
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.