skillfed

ci-info

Continuous Integration Information

ci-info v0.4.0 534.9K downloads/30d#6,130 on PyPI3
Permissive license MIT Active released

What it is and what it does

ci-info is a Python port of the Node.js watson/ci-info library that detects whether code is running on a continuous integration platform and identifies which one. It exposes a simple API to check if the current environment is a CI server, retrieve the server's name, detect whether a pull request is being tested, and access all detection results as a dictionary.

The package works by checking environment variables specific to each supported CI platform. It recognizes dozens of CI systems including GitHub Actions, GitLab CI, CircleCI, Travis CI, Jenkins, Azure Pipelines, and many others. For some platforms it can also determine whether the build is testing a pull request. If the environment matches vendor-neutral CI indicators but no specific platform is identified, is_ci() returns True while name() returns None.

Use it for:

  • Conditionally run code only when executing in a CI environment, such as skipping interactive prompts or enabling verbose logging
  • Detect pull request builds to apply different validation rules or reporting for PR checks versus main branch builds
  • Log or report which CI platform is running a build for debugging or analytics purposes
  • Customize build behavior based on the detected CI server's capabilities or conventions

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Detects which continuous integration platform code is running on and provides information about the CI environment, including PR detection for supported servers.

Yes. The package has zero dependencies, low install friction, active maintenance, a permissive MIT license, and solves a genuine need for CI-aware Python applications. It covers a broad set of CI platforms and is stable enough for production use.

Install

ci-info on PyPI

pip

pip install ci-info

uv

uv add ci-info

poetry

poetry add ci-info

Installing ci-info

Before you install

Low install friction with no runtime dependencies. Active maintenance with a recent release in February 2026, though the repository has minimal stars.

License in practice

MIT license permits unrestricted use, modification, and distribution in commercial and private projects with only attribution required.

Quickstart

pip install ci-info

import ci_info
if ci_info.is_ci():
    print(ci_info.name())
    print(ci_info.is_pr())
    print(ci_info.info())

Verify before relying

  • Whether the package maintains compatibility with all listed CI platforms as they evolve their environment variable conventions
  • Performance characteristics when called repeatedly in tight loops during CI execution

Package facts

License MIT (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 193 days since the last release
Last repo commit
First released
Downloads 534,921/month — #6,130 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: ci_info-0.4.0-py2.py3-none-any.whl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3

Tags

ci environment detectioncontinuous integration platform detectionci server identificationdetect ci environmentci info detectionpull request detection cici environment metadata
ci-detectionbuild-tools

More Build Tools packages