Metadata-Version: 2.1
Name: ci-info
Version: 0.2.0
Summary: Continuous Integration Information
Home-page: https://github.com/mgxd/ci-info
Author: Mathias Goncalves
Author-email: mathiasg@mit.edu
License: MIT
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Provides: ci_info
Requires-Python: >=3.5
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Provides-Extra: all
Provides-Extra: test
Provides-Extra: tests
License-File: LICENSE

# ci-info

[![PyPI version](https://badge.fury.io/py/ci-info.svg)](https://badge.fury.io/py/ci-info)
[![Build Status](https://travis-ci.org/mgxd/ci-info.svg?branch=master)](https://travis-ci.org/mgxd/ci-info)

A Python implementation of [watson/ci-info](https://github.com/watson/ci-info).
Get details about the current Continuous Integration environment.

Please [open an issue](https://github.com/mgxd/ci-info/issues/new)
if your CI server isn't properly detected :)


## Supported CI tools

Officially supported CI servers:

| Name | is PR |
|------|------|
| [AWS CodeBuild](https://aws.amazon.com/codebuild/) | 🚫 |
| [AppVeyor](http://www.appveyor.com) | ✅ |
| [Azure Pipelines](https://azure.microsoft.com/en-us/services/devops/pipelines/) | ✅ |
| [Bamboo](https://www.atlassian.com/software/bamboo) by Atlassian | 🚫 |
| [Bitbucket Pipelines](https://bitbucket.org/product/features/pipelines) | ✅ |
| [Bitrise](https://www.bitrise.io/) | ✅ |
| [Buddy](https://buddy.works/) | ✅ |
| [Buildkite](https://buildkite.com) | ✅ |
| [CircleCI](http://circleci.com) | ✅ |
| [Cirrus CI](https://cirrus-ci.org) | ✅ |
| [Codeship](https://codeship.com) | 🚫 |
| [Drone](https://drone.io) | ✅ |
| [dsari](https://github.com/rfinnie/dsari) | 🚫 |
| [GitLab CI](https://about.gitlab.com/gitlab-ci/) | 🚫 |
| [GoCD](https://www.go.cd/) | 🚫 |
| [Hudson](http://hudson-ci.org) | 🚫 |
| [Jenkins CI](https://jenkins-ci.org) | ✅ |
| [Magnum CI](https://magnum-ci.com) | 🚫 |
| [Netlify CI](https://www.netlify.com/) | ✅ |
| [Nevercode](http://nevercode.io/) | ✅ |
| [Sail CI](https://sail.ci/) | ✅ |
| [Semaphore](https://semaphoreci.com) | ✅ |
| [Shippable](https://www.shippable.com/) | ✅ |
| [Solano CI](https://www.solanolabs.com/) | ✅ |
| [Strider CD](https://strider-cd.github.io/) | 🚫 |
| [TaskCluster](http://docs.taskcluster.net) | 🚫 |
| [TeamCity](https://www.jetbrains.com/teamcity/) by JetBrains | 🚫 |
| [Travis CI](http://travis-ci.org) | ✅ |


## Installation

```
pip install ci-info
```

## Usage

```python
import ci_info
if ci_info.is_ci():
    print(ci_info.name())

"My CI Name"
```


## API

### `ci_info.name()`

Returns a string containing name of the CI server the code is running on.
If CI server is not detected, it returns `None`.

Don't depend on the value of this string not to change for a specific
vendor.

### `ci_info.is_ci()`

Returns a boolean. Will be `True` if the code is running on a CI server,
otherwise `False`.

Some CI servers not listed here might still trigger the `ci_info.is_ci()`
boolean to be set to `True` if they use certain vendor neutral
environment variables. In those cases `ci_info.name()` will be `None` and no
vendor specific boolean will be set to `True`.

### `ci_info.is_pr()`

Returns a boolean if PR detection is supported for the current CI server. Will
be `True` if a PR is being tested, otherwise `False`. If PR detection is
not supported for the current CI server, the value will be `None`.

### `ci_info.info()`

Returns a dictionary of all above values in key/value pairs.

## License

[MIT](LICENSE)


