libferris is a virtual filesystem that exposes hierarchical data of all kinds through a common C++ interface. Access to data is performed using C++ IOStreams and metadata is available as key-value pairs through the Extended Attributes (EA) interface. Rich support for filesystem indexing is included to provide timely search results for well into millions of files. Ferris uses a plugin API to handle a large range of data sources, metadata, and index and search strategies. Filesystems include file:// with monitoring, XML (mount an XML file as a filesystem), relational databases, ISAM databases (Berkeley db, tdb, gdbm, eet et al), xmldb, LDAP, Applications (Evolution, Firefox, Emacs), HTTP, FTP, sockets, and RDF (from XML, binary, soprano). EA generators include image, audio, and animation decoders.
| Tags | Software Development Libraries Filesystems |
|---|---|
| Licenses | GPLv3 |
| Operating Systems | POSIX |
| Implementation | C++ |
Recent releases


Release Notes: Support for mounting pastebin.kde.org, and initial support for Perl using tie() to generate native looking IO.


Release Notes: This release adds initial support for mounting mediawiki, moves to using boost::spirit for parsing instead of PCCTS, and adds a new DOM XPath selector function.


Release Notes: This release adds initial support for mounting pulseaudio and write support for the gstreamer filesystem.


Release Notes: This release added the ability to mount scanners and printers as filesystems. Large improvements were made to the evaluation time of simple URL regex matches in the PostgreSQL index backend (migration is required). Fallbacks when binary boost::serialization archives fail to load for whatever reason were improved. Factory libraries are now linked to fewer libraries.


Release Notes: Support was added for Canon CR2 raw camera images, including uploading directly from them to Flickr.