Python Wrapper around the CircleCI API
circleci.py requires Python 3. Python 2 will be EOL soon, it's time to make the switch.
pip install circleci
Make a new API token in the CircleCI application.
Import the CircleCI API and start using methods:
from circleci.api import Api
circleci = Api("$YOUR_TOKEN")
circleci.get_user_info()
Make a new API token at https://<$YOUR_CIRCLECI_DOMAIN>/account/api
.
Import the CircleCI API and start using methods:
from circleci.api import Api
circleci = Api("$YOUR_TOKEN", "$YOUR_CIRCLECI_DOMAIN/api/v1.1")
circleci.get_user_info()
See the tests for more examples.
- Supports the latest v1.1 of the CircleCI API.
- Supports both circleci.com and CircleCI server (aka "Enterprise").
WARNING: All methods here work against the UNDOCUMENTED and UNSUPPORTED CircleCI API. Subject to change at any moment. Use at your own risk.
- Retry a build without cache
from circleci.experimental import Experimental
circleci = Experimental("$YOUR_TOKEN")
circleci.retry_no_cache('$USERNAME', '$PROJECT', '$BUILD_NUMBER')
Sample Output (truncated for readability)
'author_date': '2017-10-24T12:00:27-07:00',
'author_email': 'lev@circleci.com',
'author_name': 'Lev Lazinskiy',
'body': '',
'branch': 'master',
'build_num': 21,
'fail_reason': None,
'failed': None,
'infrastructure_fail': False,
'is_first_green_build': False,
'job_name': None,
'lifecycle': 'scheduled',
'messages': [],
...
'no_dependency_cache': True,
...
Your life will be a lot better if you use a virtualenv when working with python.
- Fork and Clone this repo
- Install python-pip and virtualenv if you do not already have it.
- Create a new virtualenv with
virtualenv -p python3 env
. - Actiavte the new virtualenv with
source env/bin/activate
. - Run
make dev
- Hack away!
Tests are stored in the tests/
directory. You can run tests with make test
. In order to run the integration tests you must have a valid CIRCLE_TOKEN
set as an environment variable.