endtoend ckan in python