mirror of
https://github.com/trailofbits/buttercup
synced 2026-06-21 14:11:39 +00:00
ee57d23997
Bumps the uv group with 1 update in the /common directory: [langchain-core](https://github.com/langchain-ai/langchain). Bumps the uv group with 1 update in the /fuzzer directory: [langchain-core](https://github.com/langchain-ai/langchain). Bumps the uv group with 1 update in the /fuzzer_runner directory: [langchain-core](https://github.com/langchain-ai/langchain). Bumps the uv group with 2 updates in the /orchestrator directory: [langchain-core](https://github.com/langchain-ai/langchain) and [python-multipart](https://github.com/Kludex/python-multipart). Bumps the uv group with 1 update in the /patcher directory: [langchain-core](https://github.com/langchain-ai/langchain). Bumps the uv group with 1 update in the /program-model directory: [langchain-core](https://github.com/langchain-ai/langchain). Bumps the uv group with 1 update in the /seed-gen directory: [langchain-core](https://github.com/langchain-ai/langchain). Updates `langchain-core` from 1.2.31 to 1.3.3 - [Release notes](https://github.com/langchain-ai/langchain/releases) - [Commits](https://github.com/langchain-ai/langchain/compare/langchain-core==1.2.31...langchain-core==1.3.3) Updates `langchain-core` from 1.2.31 to 1.3.3 - [Release notes](https://github.com/langchain-ai/langchain/releases) - [Commits](https://github.com/langchain-ai/langchain/compare/langchain-core==1.2.31...langchain-core==1.3.3) Updates `langchain-core` from 1.2.31 to 1.3.3 - [Release notes](https://github.com/langchain-ai/langchain/releases) - [Commits](https://github.com/langchain-ai/langchain/compare/langchain-core==1.2.31...langchain-core==1.3.3) Updates `langchain-core` from 1.2.31 to 1.3.3 - [Release notes](https://github.com/langchain-ai/langchain/releases) - [Commits](https://github.com/langchain-ai/langchain/compare/langchain-core==1.2.31...langchain-core==1.3.3) Updates `python-multipart` from 0.0.26 to 0.0.27 - [Release notes](https://github.com/Kludex/python-multipart/releases) - [Changelog](https://github.com/Kludex/python-multipart/blob/main/CHANGELOG.md) - [Commits](https://github.com/Kludex/python-multipart/compare/0.0.26...0.0.27) Updates `langchain-core` from 1.2.31 to 1.3.3 - [Release notes](https://github.com/langchain-ai/langchain/releases) - [Commits](https://github.com/langchain-ai/langchain/compare/langchain-core==1.2.31...langchain-core==1.3.3) Updates `langchain-core` from 1.2.31 to 1.3.3 - [Release notes](https://github.com/langchain-ai/langchain/releases) - [Commits](https://github.com/langchain-ai/langchain/compare/langchain-core==1.2.31...langchain-core==1.3.3) Updates `langchain-core` from 1.2.31 to 1.3.3 - [Release notes](https://github.com/langchain-ai/langchain/releases) - [Commits](https://github.com/langchain-ai/langchain/compare/langchain-core==1.2.31...langchain-core==1.3.3) --- updated-dependencies: - dependency-name: langchain-core dependency-version: 1.3.3 dependency-type: direct:production dependency-group: uv - dependency-name: langchain-core dependency-version: 1.3.3 dependency-type: direct:production dependency-group: uv - dependency-name: langchain-core dependency-version: 1.3.3 dependency-type: direct:production dependency-group: uv - dependency-name: langchain-core dependency-version: 1.3.3 dependency-type: direct:production dependency-group: uv - dependency-name: python-multipart dependency-version: 0.0.27 dependency-type: indirect dependency-group: uv - dependency-name: langchain-core dependency-version: 1.3.3 dependency-type: direct:production dependency-group: uv - dependency-name: langchain-core dependency-version: 1.3.3 dependency-type: direct:production dependency-group: uv - dependency-name: langchain-core dependency-version: 1.3.3 dependency-type: direct:production dependency-group: uv ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
114 lines
2.8 KiB
TOML
114 lines
2.8 KiB
TOML
[project]
|
|
name = "common"
|
|
version = "0.1.0"
|
|
description = "Shared utilities and components for Buttercup CRS"
|
|
authors = [{ name = "Trail of Bits", email = "opensource@trailofbits.com" }]
|
|
license = "AGPL-3.0-only"
|
|
requires-python = ">=3.12,<3.13"
|
|
dependencies = [
|
|
"pydantic-settings ~=2.10.1",
|
|
"pymongo ~=4.10.1",
|
|
"redis ~=5.2.1",
|
|
"langchain-core~=1.3.3",
|
|
"langchain-openai ~=1.1.0",
|
|
"langchain ~=1.2.0",
|
|
"six ~=1.17.0",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
full = [
|
|
"protobuf>=5.0",
|
|
"openlit ~=1.41.0",
|
|
"langfuse ~=4.0.1",
|
|
]
|
|
|
|
|
|
[project.urls]
|
|
Repository = "https://github.com/trailofbits/buttercup"
|
|
Issues = "https://github.com/trailofbits/buttercup/issues"
|
|
|
|
[project.scripts]
|
|
buttercup-util = "buttercup.common.util_cli:main"
|
|
buttercup-challenge-task = "buttercup.common.challenge_task_cli:main"
|
|
buttercup-task-registry = "buttercup.common.task_registry:task_registry_cli"
|
|
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["src/buttercup"]
|
|
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
# Testing tools
|
|
"pytest~=9.0.3",
|
|
"pytest-cov ~=6.0.0",
|
|
"dirty-equals ~=0.9.0",
|
|
# Linting and type checking
|
|
"ruff ~=0.14.0",
|
|
"ty", # Astral type checker (replaces mypy)
|
|
# Type stubs
|
|
"types-requests ~=2.32.0",
|
|
"types-PyYAML",
|
|
"types-redis ~=4.6.0",
|
|
# Protobuf code generation
|
|
"grpcio-tools ~=1.73.1",
|
|
]
|
|
|
|
[tool.ruff]
|
|
line-length = 120
|
|
target-version = "py312"
|
|
exclude = [
|
|
"./src/buttercup/common/datastructures",
|
|
"./src/buttercup/common/clusterfuzz_env",
|
|
"./src/buttercup/common/clusterfuzz_parser",
|
|
"src/buttercup/common/clusterfuzz_utils.py",
|
|
]
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E", "F", "I", "W", "UP"]
|
|
ignore = [
|
|
"COM812", "ISC001", # Formatter conflicts
|
|
]
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
"tests/**/*.py" = ["S101", "D"] # Allow asserts, no docstrings in tests
|
|
"*/__cli__.py" = ["T201"] # Allow print in CLI modules
|
|
"*/util_cli.py" = ["T201"]
|
|
"*/challenge_task_cli.py" = ["T201"]
|
|
"*/task_registry.py" = ["T201"]
|
|
"src/buttercup/common/node_local.py" = ["UP040"] # PEP 695 type aliases break runtime usage as constructors
|
|
|
|
|
|
[tool.coverage.run]
|
|
source = ["src/buttercup"]
|
|
omit = ["*/tests/*", "*/__cli__.py", "*/_cli.py", "*/util_cli.py", "*/challenge_task_cli.py", "*/task_registry.py"]
|
|
|
|
[tool.coverage.report]
|
|
exclude_lines = [
|
|
"pragma: no cover",
|
|
"def __repr__",
|
|
"if __name__ == .__main__.:",
|
|
"raise NotImplementedError",
|
|
"if TYPE_CHECKING:",
|
|
]
|
|
|
|
[tool.ty.environment]
|
|
python-version = "3.12"
|
|
|
|
[tool.ty.src]
|
|
# Explicitly include src directory
|
|
include = ["src"]
|
|
exclude = [
|
|
"src/buttercup/common/clusterfuzz_parser",
|
|
"src/buttercup/common/clusterfuzz_env",
|
|
"src/buttercup/common/clusterfuzz_utils.py",
|
|
"src/buttercup/common/datastructures",
|
|
]
|
|
|
|
[tool.ty.rules]
|
|
unresolved-import = "error"
|
|
unresolved-attribute = "error"
|