Client initializationΒΆ

Before an API client can be used, it needs to be initialized with a configuration. There are several ways to do it. The most standard option is reading the ~/.config/copr file and providing it to the Client class. Please read https://copr.fedorainfracloud.org/api/ for more information about API token.

from copr.v3 import Client
client = Client.create_from_config_file()
pprint(client.config)
{'copr_url': u'https://copr.fedorainfracloud.org',
 'login': u'secretlogin',
 'token': u'secrettoken',
 'username': u'frostyx'}

A different config file can be easily used by passing its path to create_from_config_file method.

client = Client.create_from_config_file("/some/alternative/copr")

It is not required to use a configuration stored in a file though. Configuration dict can be passed to the Client constructor.

config = {'copr_url': u'https://copr.fedorainfracloud.org',
          'login': u'secretlogin',
          'token': u'secrettoken',
          'username': u'frostyx'}

client = Client(config)
assert client.config == config

Similarly it can be done when using proxies directly.

from copr.v3 import BuildProxy
build_proxy = BuildProxy.create_from_config_file()

Or even without configuration file.

config = {'copr_url': u'https://copr.fedorainfracloud.org',
          'login': u'secretlogin',
          'token': u'secrettoken',
          'username': u'frostyx'}

build_proxy = BuildProxy(config)

And finally, it is possible to just read the configuration file.

from copr.v3 import config_from_file
config = config_from_file()
client = Client(config)