Note that an authenticated koji session will probably not play nice with async use because of the callnum data.

I've never used twisted. I presume its xmlrpc lib handles the nil extension (otherwise you would almost certainly have seen lots of errors). I wonder if it can handle an i8 tag, which kojihub will now emit for large integers in some contexts.

Koji's faults can have many different fault codes, though yes 1000 is the most likely. The full list in near the beginning of koji/

On Tue, Dec 12, 2017 at 5:28 PM, Ken Dreyer <> wrote:
Hi folks,

Recently I wrote a Twisted-based chat bot that can interact with a Koji hub.

To do this, I wrote a "txkoji" client library:

(the bot code is separate, this is just the koji client library)

txkoji allows me to interact with a Koji Hub in an event-driven way,
without blocking the reactor for my program. This works well for
client programs that must be responsive to input from several sources
(like IRC and a message bus and many other inputs). I return the
XML-RPC responses as Munch (dict-like) objects because I ran across
Munch in a couple other Fedora infra projects and I like the syntax.

If Koji gets a REST API, I could convert this to use treq instead of
Twisted's XML-RPC client.

- Ken
koji-devel mailing list --
To unsubscribe send an email to