-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
77 lines (67 loc) · 2.2 KB
/
Copy pathpyproject.toml
File metadata and controls
77 lines (67 loc) · 2.2 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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "openarmature"
version = "0.4.0rc0"
description = "Workflow framework for LLM pipelines and tool-calling agents."
readme = "README.md"
requires-python = ">=3.12"
authors = [{ name = "Chris Colinsky", email = "chris@lunarcommand.xyz" }]
license = "Apache-2.0"
license-files = ["LICENSE"]
dependencies = [
"pydantic>=2.7",
"httpx>=0.27",
]
[project.optional-dependencies]
# Spec observability §6 OTel mapping. Optional per charter §3.1
# principle 5 — backend mappings are pluggable rather than core
# dependencies. Plan to lift into a sibling ``openarmature-otel``
# package at v1.0 launch alongside ``openarmature-eval``.
otel = [
"opentelemetry-api>=1.27,<3",
"opentelemetry-sdk>=1.27,<3",
# Provides ``LoggingHandler`` after the SDK's deprecation
# of ``opentelemetry.sdk._logs.LoggingHandler``. No upper
# bound — the contrib repo cycles fast on minor releases
# below 1.0; revisit when 1.0 lands.
"opentelemetry-instrumentation-logging>=0.62.0b1",
]
[project.urls]
Repository = "https://github.com/LunarCommand/openarmature-python"
Specification = "https://github.com/LunarCommand/openarmature-spec"
[tool.openarmature]
spec_version = "0.10.0"
[dependency-groups]
dev = [
"pre-commit>=3.7",
"pyright>=1.1.360",
"pytest>=8.2",
"pytest-asyncio>=0.23",
"pyyaml>=6.0",
"ruff>=0.5",
"types-pyyaml",
]
[tool.hatch.build.targets.wheel]
packages = ["src/openarmature"]
[tool.pyright]
include = ["src", "tests"]
pythonVersion = "3.12"
typeCheckingMode = "strict"
reportMissingTypeStubs = false
# Underscore-prefixed names are conventionally "package-private" — used
# across sibling modules within `openarmature.graph` but not part of the
# public API (which is enforced by `__all__`). Pyright's strict default
# treats them as module-private; turn it off so legitimate cross-module
# package-private imports don't need per-line ignores.
reportPrivateUsage = false
[tool.ruff]
line-length = 110
target-version = "py312"
extend-exclude = ["openarmature-spec"]
[tool.ruff.lint]
select = ["E", "F", "I", "B", "UP"]
[tool.pytest.ini_options]
testpaths = ["tests"]
asyncio_mode = "auto"