Hey guys, I know, none if you is quite happy with the current public interface of ALPM. Anyway, we're on to build up python bindings for this library. We'll be with you when the API of ALPM changes, so i'll watch the lists and cvs carefully. We have a feature plan for the first milestone of the project, but for the sake of task definition i'm missing information (basically documentation, but we all know it always could be better :) .. i hate documenting things too, it's annoying but needed). You have exported quite a lot of data structures. Basically, the first milestone will include a configuration "interface", spoken from the binding, the possibility to add and remove packages (undecided for packagegroups). I've some question regarding alpm features, as well as data structure questions. I'll start with the alpm features. As it seems, alpm currently has no possibility to fetch a list of packages provided by a specified package database. It seems, as if i need to use the pmdb_t structure and manually step trough the pkgcache of it to have a list what the repo provides. Am i right? Or is there any other interface? The data structures: Since adding and removing packages are quite simple tasks (at least from the point of view of someone using the API), by taking a look at the pacman code (3.0.0, don't have the current 3.0.3 here), it seems as i need a type implementation in the binding for the following structures: pmdb_t alpm_list pmgrp_t (if we provide the grouping already in ms1) pmdepmissing_t pmdepend_t (if i want a list what a package depends on anyway, the implementation might be needed for the purpose of building a pkg object containing a set of information). pmconflict_t pmsyncpkg_t There i'm unsure what it is used for, and if i need it at all. I could not find any function which i definitely need to call where this structure is used for. --- Feature related bindings Register / unregister DBs Register / unregister cache directories (handled by the binding, not the client) Add packages (resolving deps, conflichts, handling of ignorepkg, checksums, sha1, architecture handling and adding packages using alpm_trans_addtarget, alpm_prepare and alpm_commit). Removing packages Resolving of all removable dependencies to keep the system "clean". Remove packages including removable dependencies (using alpm_trans_addtarget, alpm_prepare and alpm_commit). QUESTION: how to find out which dependencies of a package are stil in use by other installed packages, and which not? The features of the first test client are still undecided, even though there is no decision if there will be a GUIfied test for the first milestone release. A closer look: https://213.129.245.26/svn/ggtest/docs/milestone_0_1.pdf This document is missing the pmdb_t implementation - was late yesterday in the evening i started the document, and i've still some more tasks (getting the domain right down the same server as the svn is located, providing a task-tracking and bug-tracking for the dev etc or a groupware etc). A basic question is: pyalpm will break within a new version with API changes of alpm. Will it be possible to have two libraries installed? Otherwhise, we would either have to react fast, or keep on track with your development, for being able to release with a new alpm api as well. There we'd definitely need proper information befor it's pushed live. For now, not important, but all this are things somehow turning my brain around. Kind regards, Georg