refactor: implement PEP 621 dynamic versioning (#3068)

This commit is contained in:
Greyson LaLonde
2025-06-26 10:02:26 -04:00
committed by GitHub
parent 94a62d84e1
commit ece13fbda0
3 changed files with 22 additions and 1 deletions

View File

@@ -1,6 +1,6 @@
[project]
name = "crewai"
version = "0.134.0"
dynamic = ["version"]
description = "Cutting-edge framework for orchestrating role-playing, autonomous AI agents. By fostering collaborative intelligence, CrewAI empowers agents to work together seamlessly, tackling complex tasks."
readme = "README.md"
requires-python = ">=3.10,<3.14"
@@ -117,6 +117,9 @@ torchvision = [
{ index = "pytorch", marker = "python_version < '3.13'" },
]
[tool.hatch.version]
path = "src/crewai/__init__.py"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

View File

@@ -31,4 +31,5 @@ __all__ = [
"Knowledge",
"TaskOutput",
"LLMGuardrail",
"__version__",
]

17
tests/cli/test_version.py Normal file
View File

@@ -0,0 +1,17 @@
"""Test for version management."""
from crewai import __version__
from crewai.cli.version import get_crewai_version
def test_dynamic_versioning_consistency():
"""Test that dynamic versioning provides consistent version across all access methods."""
cli_version = get_crewai_version()
package_version = __version__
# Both should return the same version string
assert cli_version == package_version
# Version should not be empty
assert package_version is not None
assert len(package_version.strip()) > 0