cdrouter is a simple Python wrapper for the CDRouter Web API.

For more information on CDRouter, please visit


cdrouter is available on PyPI. To install the latest stable version from PyPI:

$ pip install -U cdrouter

cdrouter supports Python 3.5 or newer.


First create a CDRouter object, passing it the URL of your CDRouter system, for example http://localhost, or If your CDRouter system uses a self-signed certificate for HTTPS connections (the default), you will need to pass in insecure=True to disable certificate validation. If Automatic Login is not enabled on your CDRouter system, you will need to provide authentication credentials by passing in an API token via the token parameter or a username and password via the username and password parameters. If token is not specified, it will default to the value of the CDROUTER_API_TOKEN environment variable. CDRouter will prompt for a username and password as necessary if Automatic Login is not enabled and an API token is not provided.

import time

from cdrouter import CDRouter
from cdrouter.cdrouter import CDRouterError
from cdrouter.filters import Field as field
from import Job
from import Options

c = CDRouter('http://localhost', token='deadbeef')

for p in c.packages.iter_list(filter=field('tags').contains('noretry')):
    print('Launching package {}'.format(

        j =, options=Options(extra_cli_args='-testvar myvar=example')))
    except CDRouterError as ce:
        print('Error launching job: {}'.format(ce))

    while j.result_id == None:
        j =

    print('    Result-ID: {}'.format(j.result_id))


More examples of using cdrouter can be found here. Please see the Reference page for more information on available fields and methods for each class.