Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
46 lines (40 loc) · 1.6 KB
/
Copy pathpyproject.toml
File metadata and controls
46 lines (40 loc) · 1.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
[project]
name = "crewai-use-case-lab"
version = "0.1.0"
description = "A progressive CrewAI lab of reusable, deployable agent use cases"
readme = "README.md"
requires-python = ">=3.10,<3.14"
dependencies = [
"crewai==1.15.23",
"crewai-tools==1.15.23",
"python-dotenv>=1.1.0,<2",
]
[project.optional-dependencies]
dev = [
"ruff>=0.12,<1",
]
# The deployable units are the per-module scaffolds (e.g. modules/02-…/triagex_flow),
# which own the canonical kickoff/run_crew/plot entry points AMP expects. The root
# keeps uniquely named scripts for the module 07 outreach flow so they cannot
# collide inside the shared workspace venv.
[project.scripts]
outreach = "lab_utils.outreach_flow:kickoff"
outreach_plot = "lab_utils.outreach_flow:plot"
# NOTE: the use-case scaffolds (modules/*/triagex_flow, modules/*/permissioned_chat)
# are deliberately NOT uv workspace members. Every scaffold must declare the
# canonical kickoff/run_crew/plot entry points that CrewAI AMP expects, and two
# packages with identical script names cannot coexist in one venv — syncing one
# member deletes the other's launcher scripts. Each scaffold is a standalone
# project: `crewai install` inside it creates its own (cache-hardlinked) venv.
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/lab_utils"]
[tool.ruff]
line-length = 100
target-version = "py310"
# Module 04 carries a standalone copy of the upstream Jev example and its own lockfile.
extend-exclude = ["modules/04-agentic-routing-jev/example"]
[tool.ruff.lint]
select = ["E", "F", "I", "UP", "B"]