README for ept ============== The intent of this library is to provide high-level access to all sorts of sources of information about Debian packages. There are four data providers currently implemented: - APT: access the APT database - Debtags: access the Debtags tag information - Popcon: access Popcon package scores - TextSearch: fast Xapian-based full text search on package description To enable the popcon data provider, just download the file http://popcon.debian.org/all-popcon-results.txt.gz and put it into /var/lib/popcon/ or ~/.popcon/ in the user's home directory. To enable the xapian fast search index, run ept-cache reindex as root. The xapian index is not regenerated automatically like with popcon and debtags because it takes a while to build. It is also not stored in the user's home directory because it is quite large. Development =========== The library revolves around two classes: Package and Version. These classes represent a package or one of its specific versions. Using these classes it is possible to query one or more data providers for information about the package. The idea is to have a way to represent a package or one of its versions, and that this way must be valid for any data provider. A data provider does not need to know about the others, nor it needs to implement a specific interface: the only requirement on a data provider is that it can be queried using Package and Version objects, as appropriate. It is easy to implement more data providers. It is also easy to implement new data providers outside of this library, as long as they can be queried using Package or Version objects. The 4 providers are currently shipped with the library to avoid having a chain of dependencies on the initial state of the project. It is straightforward, however, to package them separately from the core Package infrastructure. The development of libept is currently published in the Mercurial repository at: http://hg.debian.org/hg/private/enrico/libept It is possible to checkout a copy of the repository with the command: hg clone http://hg.debian.org/hg/private/enrico/libept Mercurial is a distributed version control system: you are encouraged to play with the code, join the development and publish your Mercurial tree. Authors ======= Enrico Zini Some code is ported to the Package framework from libept, written by Peter Rockai and Enrico Zini