File size: 1,125 Bytes
3ed7ad0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
[project]
name = "flock"
version = "0.0.1"
description = "Host coding-harness agent swarms on Hugging Face Jobs: keep them alive, prompt them, watch them."
requires-python = ">=3.11"
dependencies = [
  "pydantic>=2.7",
  "httpx>=0.27",
  "pyyaml>=6",
  "typer>=0.12",
  "huggingface_hub>=1.0",
]

[project.optional-dependencies]
controller = ["fastapi>=0.115", "uvicorn[standard]>=0.30", "jinja2>=3.1"]
worker = ["claude-agent-sdk>=0.1"]
dev = ["pytest>=8", "pytest-asyncio>=0.23", "ruff>=0.6", "fastapi>=0.115", "uvicorn[standard]>=0.30", "jinja2>=3.1", "respx>=0.21"]

[project.scripts]
flock = "flock.cli:app"
flock-controller = "flock.controller.main:main"
flock-worker = "flock.worker.main:main"

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.hatch.build.targets.wheel]
packages = ["src/flock"]

[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]

[tool.ruff]
line-length = 100
target-version = "py311"

[tool.ruff.lint.per-file-ignores]
# ruff >= 0.17 enables PYI041 by default; models.py is the shared contract, left as written.
"src/flock/models.py" = ["PYI041"]