Lazy-load agent registry (frontmatter index, parse on demand), copy agents by path during install, fix Makefile template tab lint issue, add registry performance tests, bump to 1.1.0, document CLI reinstall after pull.
139 lines
3.2 KiB
TOML
139 lines
3.2 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=64", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "kaizen-agentic"
|
|
version = "1.1.0"
|
|
description = "AI agent development framework embracing continuous improvement (kaizen)"
|
|
readme = "README.md"
|
|
license = {file = "LICENSE"}
|
|
authors = [
|
|
{name = "Kaizen Agentic Team"}
|
|
]
|
|
classifiers = [
|
|
"Development Status :: 3 - Alpha",
|
|
"Intended Audience :: Developers",
|
|
"License :: OSI Approved :: MIT License",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.8",
|
|
"Programming Language :: Python :: 3.9",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
]
|
|
requires-python = ">=3.8"
|
|
dependencies = [
|
|
"pyyaml>=6.0",
|
|
"click>=8.0.0",
|
|
"pydantic>=2.0.0",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"pytest>=6.0.0",
|
|
"pytest-cov>=4.0.0",
|
|
"black>=22.0.0",
|
|
"flake8>=5.0.0",
|
|
"mypy>=1.0.0",
|
|
"pre-commit>=2.20.0",
|
|
]
|
|
test = [
|
|
"pytest>=6.0.0",
|
|
"pytest-cov>=4.0.0",
|
|
"pytest-randomly>=3.10.0",
|
|
]
|
|
|
|
# NOTE: Using safe_cli_wrapper instead of direct CLI function
|
|
# This is a workaround for Click library spurious error messages
|
|
# TODO: Test with Click 9.x+ and revert to "kaizen_agentic.cli:cli" when issue is resolved
|
|
[project.scripts]
|
|
kaizen-agentic = "kaizen_agentic.cli:safe_cli_wrapper"
|
|
|
|
[project.urls]
|
|
"Homepage" = "https://github.com/kaizen-agentic/kaizen-agentic"
|
|
"Bug Reports" = "https://github.com/kaizen-agentic/kaizen-agentic/issues"
|
|
"Source" = "https://github.com/kaizen-agentic/kaizen-agentic"
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["src"]
|
|
|
|
[tool.setuptools.package-dir]
|
|
"" = "src"
|
|
|
|
[tool.setuptools.package-data]
|
|
"kaizen_agentic" = ["data/agents/*.md"]
|
|
|
|
[tool.black]
|
|
line-length = 88
|
|
target-version = ['py38']
|
|
include = '\.pyi?$'
|
|
extend-exclude = '''
|
|
/(
|
|
# directories
|
|
\.eggs
|
|
| \.git
|
|
| \.hg
|
|
| \.mypy_cache
|
|
| \.tox
|
|
| \.venv
|
|
| build
|
|
| dist
|
|
)/
|
|
'''
|
|
|
|
[tool.mypy]
|
|
python_version = "3.8"
|
|
warn_return_any = true
|
|
warn_unused_configs = true
|
|
disallow_untyped_defs = true
|
|
disallow_incomplete_defs = true
|
|
check_untyped_defs = true
|
|
disallow_untyped_decorators = true
|
|
no_implicit_optional = true
|
|
warn_redundant_casts = true
|
|
warn_unused_ignores = true
|
|
warn_no_return = true
|
|
warn_unreachable = true
|
|
strict_equality = true
|
|
|
|
[tool.pytest.ini_options]
|
|
minversion = "6.0"
|
|
addopts = "-ra -q --strict-markers --strict-config"
|
|
testpaths = [
|
|
"tests",
|
|
]
|
|
markers = [
|
|
"slow: marks tests as slow (deselect with '-m \"not slow\"')",
|
|
"integration: marks tests as integration tests",
|
|
"e2e: marks tests as end-to-end tests",
|
|
"smoke: marks tests as smoke tests for quick validation",
|
|
]
|
|
|
|
[tool.coverage.run]
|
|
source = ["src"]
|
|
omit = [
|
|
"*/tests/*",
|
|
"*/test_*",
|
|
]
|
|
|
|
[tool.coverage.report]
|
|
exclude_lines = [
|
|
"pragma: no cover",
|
|
"def __repr__",
|
|
"if self.debug:",
|
|
"if settings.DEBUG",
|
|
"raise AssertionError",
|
|
"raise NotImplementedError",
|
|
"if 0:",
|
|
"if __name__ == .__main__.:",
|
|
"class .*\\bProtocol\\):",
|
|
"@(abc\\.)?abstractmethod",
|
|
]
|
|
|
|
[tool.flake8]
|
|
max-line-length = 88
|
|
extend-ignore = ["E203", "W503"]
|