这是indexloc提供的服务,不要输入任何密码
Skip to content

Unpin boto3 dependency version #7349

@ajswa

Description

@ajswa

Describe the issue
This is a duplicate of #7071, which was automatically closed for being stale despite some activity.

The boto3 dependency for checkov is pinned to version 1.35.49 - this creates issues for implementing projects that want to specify checkov as a Python package dependency and want to use a later version of boto3 (or use another tool with a different version - see this comment).

Instead of pinning, can we use a flexible constraint? There has been some back-and-forth on this - the dependency was most recently pinned in #7270, citing a Jenkins issue.

Examples
This is a minimal example using a Poetry build:

[build-system]
requires = ["poetry-core>=2.0.0, <3.0.0"]
build-backend = "poetry.core.masonry.api"

[project]
name = "boto-conflict"
version = "0.0.1"
requires-python = ">=3.13"

dependencies = [
  "boto3==1.40.43",
]

[tool.poetry.group.dev.dependencies]
checkov = "==3.2.485"

Running poetry lock yields the following:

> poetry lock
Updating dependencies
Resolving dependencies... (0.2s)

Because checkov (3.2.485) depends on boto3 (1.35.49)
 and boto-conflict depends on boto3 (1.40.43), checkov is forbidden.
So, because boto-conflict depends on checkov (==3.2.485), version solving failed.

Version (please complete the following information):

  • Checkov Version 3.2.485

Additional context
The recommended usage of checkov is as a CLI tool, not as a package dependency (see comment). While using as a CLI bypasses the dependency conflict, this issue is requesting compatibility for both usage methods.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions