TagFu is a library for tagging entities (which can be anything with a url) with Tags or metadata. The project is implemented in Python and very closely mimics basic Python data structures.
Tags is a Python list of tags, Entities is a Python List of Entity objects, and Entity is a dict which contains all the key-value pairs for all tags associated to the Entity. The key is the Tag name and value is an arbitrary value, if no value is set, the tag is considered to be a simple tag.
The current direction of development is towards a C port to make binding to other languages easier, and the development of applications to use TagFu.
· Python >= 2.4 (possibly 2.3)
· ctypes on FreeBSD or python-xattr on Linux for Extended Attributes association of files
TagFu can be used for simple tagging tasks much like other tagging libraries such as leaftag. This is possible by simply associating tags to entities with no value. Where TagFu really shines though, is the ability to associate metadata to entities. This feature allows TagFu to be used for associating arbitrary information to an entity without having a specific tagging format for that entity. This feature was inspired by the use of extended attributes in BeOS for a variety of basic functionality such as the handling of mail headers, or for entries in an address book (simply as extattr associated to a file named for the information being represented).
What's New in This Release:
· The extended attribute file association support was properly integrated.
· The included example tool was made to work with the current API.
· __contains__ and __getitem__ methods in Entity and Entities were made more sane.