copr-cli is not reusable at the moment as it prints to stdout instead of
passing data structures around.
I suggest factoring out the API interaction code into separate reusable module
and then using it from another cli-only module, much like openstack clients do
it. That would allow people to easily interacting with copr without reinventing the wheel.
As a side note, having one exception defined for each type of API error and
raising correct one in API response parsing code on error would make the
experience really smooth.