graph LR
classDef missing stroke-dasharray: 5
aioitertools["aioitertools\n0.13.0"]
annotated-types["annotated-types\n0.7.0"]
anyenv["anyenv\n2.0.2"]
anyio["anyio\n4.12.0"]
appdirs["appdirs\n1.4.4"]
attrs["attrs\n25.4.0"]
authlib["Authlib\n1.6.6"]
beartype["beartype\n0.22.9"]
certifi["certifi\n2025.11.12"]
cffi["cffi\n2.0.0"]
charset-normalizer["charset-normalizer\n3.4.4"]
click_0["click\n8.3.1"]
clinspector["clinspector\n1.0.1"]
cloudpickle["cloudpickle\n3.1.2"]
colorama["colorama\n0.4.6"]
cryptography["cryptography\n46.0.3"]
cyclopts["cyclopts\n4.3.0"]
docler["docler\n2.0.1"]
docstring-parser["docstring_parser\n0.17.0"]
docutils["docutils\n0.22.3"]
epregistry["epregistry\n2.0.3"]
evented["evented\n1.0.9"]
exceptiongroup["exceptiongroup\n1.3.1"]
executing["executing\n2.2.1"]
exxec["exxec\n0.1.3"]
fakeredis["fakeredis\n2.32.1"]
fastmcp["fastmcp\n2.14.1"]
fieldz["fieldz\n0.1.3"]
fsspec["fsspec\n2025.12.0"]
genai-prices["genai-prices\n0.0.48"]
googleapis-common-protos["googleapis-common-protos\n1.72.0"]
greenlet["greenlet\n3.3.0"]
griffe["griffe\n1.15.0"]
h11["h11\n0.16.0"]
httpcore["httpcore\n1.0.9"]
httpx-sse["httpx-sse\n0.4.0"]
httpx["httpx\n0.28.1"]
idna["idna\n3.11"]
importlib-metadata["importlib_metadata\n8.7.0"]
iniconfig["iniconfig\n2.3.0"]
jinja2["Jinja2\n3.1.6"]
jinjarope["jinjarope\n1.0.6"]
jsonschema-path["jsonschema-path\n0.3.4"]
jsonschema-specifications["jsonschema-specifications\n2025.9.1"]
jsonschema["jsonschema\n4.25.1"]
llmling-agent["llmling-agent\n1.15.18"]
llmling-models["llmling-models\n1.4.0"]
logfire-api["logfire-api\n4.16.0"]
logfire["logfire\n4.16.0"]
markdown-it-py["markdown-it-py\n4.0.0"]
markupsafe["MarkupSafe\n3.0.3"]
mcp["mcp\n1.24.0"]
mdurl["mdurl\n0.1.2"]
mkdown["mkdown\n1.0.1"]
morefs["morefs\n0.2.2"]
openapi-pydantic["openapi-pydantic\n0.5.1"]
opentelemetry-api["opentelemetry-api\n1.39.1"]
opentelemetry-exporter-otlp-proto-common["opentelemetry-exporter-otlp-proto-common\n1.39.1"]
opentelemetry-exporter-otlp-proto-http["opentelemetry-exporter-otlp-proto-http\n1.39.1"]
opentelemetry-exporter-prometheus["opentelemetry-exporter-prometheus\n0.60b1"]
opentelemetry-instrumentation["opentelemetry-instrumentation\n0.60b1"]
opentelemetry-proto["opentelemetry-proto\n1.39.1"]
opentelemetry-sdk["opentelemetry-sdk\n1.39.1"]
opentelemetry-semantic-conventions["opentelemetry-semantic-conventions\n0.60b1"]
packaging["packaging\n25.0"]
pathable["pathable\n0.4.4"]
pathlib-abc["pathlib_abc\n0.5.2"]
platformdirs["platformdirs\n4.5.1"]
pluggy["pluggy\n1.6.0"]
prometheus-client["prometheus_client\n0.23.1"]
prompt-toolkit["prompt_toolkit\n3.0.52"]
promptantic["promptantic\n1.0.0"]
protobuf["protobuf\n6.33.2"]
psygnal["psygnal\n0.15.0"]
py-key-value-aio["py-key-value-aio\n0.3.0"]
py-key-value-shared["py-key-value-shared\n0.3.0"]
pycparser["pycparser\n2.23"]
pydantic-ai-slim["pydantic-ai-slim\n1.33.0"]
pydantic-core["pydantic_core\n2.41.5"]
pydantic-graph["pydantic-graph\n1.33.0"]
pydantic-settings["pydantic-settings\n2.12.0"]
pydantic["pydantic\n2.12.5"]
pydocket["pydocket\n0.15.5"]
pygments["Pygments\n2.19.2"]
pyjwt["PyJWT\n2.10.1"]
pypdf["pypdf\n6.4.2"]
pyperclip["pyperclip\n1.11.0"]
pytest-docker["pytest-docker\n3.2.5"]
pytest["pytest\n9.0.2"]
python-dotenv["python-dotenv\n1.2.1"]
python-json-logger["python-json-logger\n4.0.0"]
python-multipart["python-multipart\n0.0.20"]
pyyaml-include["pyyaml-include\n2.2"]
pyyaml["PyYAML\n6.0.3"]
redis["redis\n7.1.0"]
referencing["referencing\n0.36.2"]
requests["requests\n2.32.5"]
rich-rst["rich-rst\n1.3.2"]
rich["rich\n14.2.0"]
rpds-py["rpds-py\n0.30.0"]
schemez["schemez\n2.2.25"]
searchly["searchly\n2.0.5"]
shellingham["shellingham\n1.5.4"]
slashed["slashed\n1.0.16"]
sortedcontainers["sortedcontainers\n2.4.0"]
sqlalchemy["SQLAlchemy\n2.0.45"]
sqlmodel["sqlmodel\n0.0.27"]
sse-starlette["sse-starlette\n3.0.4"]
starlette["starlette\n0.50.0"]
structlog["structlog\n25.5.0"]
tokonomics["tokonomics\n1.2.11"]
toprompt["toprompt\n1.0.0"]
typer["typer\n0.20.0"]
typing-extensions["typing_extensions\n4.15.0"]
typing-inspection["typing-inspection\n0.4.2"]
universal-pathlib["universal_pathlib\n0.3.7"]
upathtools["upathtools\n1.16.9"]
urllib3["urllib3\n2.6.2"]
uvicorn["uvicorn\n0.38.0"]
wcwidth["wcwidth\n0.2.14"]
websockets["websockets\n15.0.1"]
wrapt["wrapt\n1.17.3"]
yamling["yamling\n2.1.7"]
zipp["zipp\n3.23.0"]
anyenv -- ">=0.12.0" --> aioitertools
anyenv -- ">=0.3.4" --> universal-pathlib
anyenv -- ">=1.4.4" --> appdirs
anyenv -- ">=4.8.0" --> anyio
anyio -- ">=2.8" --> idna
authlib -- "any" --> cryptography
cffi -- "any" --> pycparser
clinspector -- ">=0.3.0" --> schemez
clinspector -- ">=0.5.0" --> anyenv
cryptography -- ">=2.0.0" --> cffi
cyclopts -- ">=0.15,<4.0" --> docstring-parser
cyclopts -- ">=1.3.1,<2.0.0" --> rich-rst
cyclopts -- ">=13.6.0" --> rich
cyclopts -- ">=23.1.0" --> attrs
docler -- ">=0.0.1" --> schemez
docler -- ">=0.12.1" --> mkdown
docler -- ">=0.4.1" --> anyenv
docler -- ">=0.4.3" --> upathtools
docler -- ">=2.8.1" --> pydantic-settings
docler -- ">=3.2.1" --> pytest-docker
docler -- "any" --> pydantic
docler -- "any" --> pypdf
evented -- ">=1.0.2" --> anyenv
evented -- "any" --> pydantic
evented -- "any" --> schemez
exxec -- ">=1.11.6" --> anyenv
exxec -- ">=1.9.0" --> upathtools
exxec -- "any" --> pydantic
exxec -- "any" --> schemez
fakeredis -- ">=2" --> sortedcontainers
fakeredis -- ">=4.3" --> redis
fastmcp -- ">=0.15.5" --> pydocket
fastmcp -- ">=0.28.1" --> httpx
fastmcp -- ">=0.3.0,<0.4.0" --> py-key-value-aio
fastmcp -- ">=0.3.4" --> jsonschema-path
fastmcp -- ">=0.35" --> uvicorn
fastmcp -- ">=0.5.1" --> openapi-pydantic
fastmcp -- ">=1.1.0" --> python-dotenv
fastmcp -- ">=1.2.2" --> exceptiongroup
fastmcp -- ">=1.24.0" --> mcp
fastmcp -- ">=1.6.5" --> authlib
fastmcp -- ">=1.9.0" --> pyperclip
fastmcp -- ">=13.9.4" --> rich
fastmcp -- ">=15.0.1" --> websockets
fastmcp -- ">=2.11.7" --> pydantic
fastmcp -- ">=4.0.0" --> cyclopts
fastmcp -- ">=4.0.0" --> platformdirs
fieldz -- "any" --> typing-extensions
genai-prices -- ">=0.27" --> httpx
genai-prices -- ">=2.10" --> pydantic
googleapis-common-protos -- ">=3.20.2,<7.0.0,!=4.21.5,!=4.21.4,!=4.21.3,!=4.21.2,!=4.21.1" --> protobuf
griffe -- ">=0.4" --> colorama
httpcore -- ">=0.16" --> h11
httpcore -- "any" --> certifi
httpx -- "==1.*" --> httpcore
httpx -- "any" --> anyio
httpx -- "any" --> certifi
httpx -- "any" --> idna
importlib-metadata -- ">=3.20" --> zipp
jinja2 -- ">=2.0" --> markupsafe
jinjarope -- ">=0.4.17" --> anyenv
jinjarope -- "any" --> fsspec
jinjarope -- "any" --> jinja2
jinjarope -- "any" --> universal-pathlib
jinjarope -- "any" --> upathtools
jsonschema -- ">=0.28.4" --> referencing
jsonschema -- ">=0.7.1" --> rpds-py
jsonschema -- ">=2023.03.6" --> jsonschema-specifications
jsonschema -- ">=22.2.0" --> attrs
jsonschema-path -- "<0.37.0" --> referencing
jsonschema-path -- ">=0.4.1,<0.5.0" --> pathable
jsonschema-path -- ">=2.31.0,<3.0.0" --> requests
jsonschema-path -- ">=5.1" --> pyyaml
jsonschema-specifications -- ">=0.31.0" --> referencing
llmling-agent -- ">=0.0.1" --> toprompt
llmling-agent -- ">=0.0.22" --> sqlmodel
llmling-agent -- ">=0.1.0" --> exxec
llmling-agent -- ">=0.1.0" --> slashed
llmling-agent -- ">=0.1.0" --> upathtools
llmling-agent -- ">=0.1.2" --> tokonomics
llmling-agent -- ">=0.11.1" --> psygnal
llmling-agent -- ">=0.17.0" --> docstring-parser
llmling-agent -- ">=0.2.0" --> llmling-models
llmling-agent -- ">=0.3.0" --> anyenv
llmling-agent -- ">=0.4.5" --> promptantic
llmling-agent -- ">=1.0.0" --> pydantic-ai-slim
llmling-agent -- ">=1.0.1" --> python-dotenv
llmling-agent -- ">=1.0.3" --> docler
llmling-agent -- ">=1.0.5" --> evented
llmling-agent -- ">=1.2.0" --> mcp
llmling-agent -- ">=2.0.1" --> searchly
llmling-agent -- ">=2.0.2" --> yamling
llmling-agent -- ">=2.10.0" --> pydantic
llmling-agent -- ">=2.12.4" --> fastmcp
llmling-agent -- ">=25.5.0" --> structlog
llmling-agent -- "any" --> epregistry
llmling-agent -- "any" --> fsspec
llmling-agent -- "any" --> httpx
llmling-agent -- "any" --> jinja2
llmling-agent -- "any" --> jinjarope
llmling-agent -- "any" --> logfire
llmling-agent -- "any" --> platformdirs
llmling-agent -- "any" --> rich
llmling-agent -- "any" --> schemez
llmling-agent -- "any" --> sqlalchemy
llmling-agent -- "any" --> typer
llmling-models -- ">=0.0.1" --> schemez
llmling-models -- ">=0.4.0" --> tokonomics
llmling-models -- ">=1.27.0" --> pydantic-ai-slim
llmling-models -- "any" --> anyenv
llmling-models -- "any" --> pydantic
logfire -- ">=0.41b0" --> opentelemetry-instrumentation
logfire -- ">=1.39.0,<1.40.0" --> opentelemetry-exporter-otlp-proto-http
logfire -- ">=1.39.0,<1.40.0" --> opentelemetry-sdk
logfire -- ">=13.4.2" --> rich
logfire -- ">=2.0.1" --> executing
logfire -- ">=4.1.0" --> typing-extensions
logfire -- ">=4.23.4" --> protobuf
markdown-it-py -- "~=0.1" --> mdurl
mcp -- ">=0.0.9" --> python-multipart
mcp -- ">=0.27" --> starlette
mcp -- ">=0.27.1" --> httpx
mcp -- ">=0.31.1" --> uvicorn
mcp -- ">=0.4" --> httpx-sse
mcp -- ">=0.4.1" --> typing-inspection
mcp -- ">=1.6.1" --> sse-starlette
mcp -- ">=2.10.1" --> pyjwt
mcp -- ">=2.11.0,<3.0.0" --> pydantic
mcp -- ">=2.5.2" --> pydantic-settings
mcp -- ">=4.20.0" --> jsonschema
mcp -- ">=4.5" --> anyio
mcp -- ">=4.9.0" --> typing-extensions
mkdown -- ">=0.2.2" --> schemez
mkdown -- ">=0.4.16" --> anyenv
mkdown -- ">=0.6.3" --> upathtools
mkdown -- "any" --> pydantic
morefs -- "any" --> fsspec
openapi-pydantic -- ">=1.8" --> pydantic
opentelemetry-api -- ">=4.5.0" --> typing-extensions
opentelemetry-api -- ">=6.0,<8.8.0" --> importlib-metadata
opentelemetry-exporter-otlp-proto-common -- "==1.39.1" --> opentelemetry-proto
opentelemetry-exporter-otlp-proto-http -- "==1.39.1" --> opentelemetry-exporter-otlp-proto-common
opentelemetry-exporter-otlp-proto-http -- "==1.39.1" --> opentelemetry-proto
opentelemetry-exporter-otlp-proto-http -- ">=4.5.0" --> typing-extensions
opentelemetry-exporter-otlp-proto-http -- "~=1.15" --> opentelemetry-api
opentelemetry-exporter-otlp-proto-http -- "~=1.39.1" --> opentelemetry-sdk
opentelemetry-exporter-otlp-proto-http -- "~=1.52" --> googleapis-common-protos
opentelemetry-exporter-otlp-proto-http -- "~=2.7" --> requests
opentelemetry-exporter-prometheus -- ">=0.5.0,<1.0.0" --> prometheus-client
opentelemetry-exporter-prometheus -- "~=1.12" --> opentelemetry-api
opentelemetry-exporter-prometheus -- "~=1.39.1" --> opentelemetry-sdk
opentelemetry-instrumentation -- "==0.60b1" --> opentelemetry-semantic-conventions
opentelemetry-instrumentation -- ">=1.0.0,<2.0.0" --> wrapt
opentelemetry-instrumentation -- ">=18.0" --> packaging
opentelemetry-instrumentation -- "~=1.4" --> opentelemetry-api
opentelemetry-proto -- ">=5.0,<7.0" --> protobuf
opentelemetry-sdk -- "==0.60b1" --> opentelemetry-semantic-conventions
opentelemetry-sdk -- "==1.39.1" --> opentelemetry-api
opentelemetry-sdk -- ">=4.5.0" --> typing-extensions
opentelemetry-semantic-conventions -- "==1.39.1" --> opentelemetry-api
opentelemetry-semantic-conventions -- ">=4.5.0" --> typing-extensions
prompt-toolkit -- "any" --> wcwidth
promptantic -- ">=0.3.0" --> universal-pathlib
promptantic -- ">=3.0.48" --> prompt-toolkit
promptantic -- "any" --> pydantic
promptantic -- "any" --> schemez
py-key-value-aio -- "==0.3.0" --> py-key-value-shared
py-key-value-aio -- ">=0.20.0" --> beartype
py-key-value-shared -- ">=0.20.0" --> beartype
py-key-value-shared -- ">=4.15.0" --> typing-extensions
pydantic -- "==2.41.5" --> pydantic-core
pydantic -- ">=0.4.2" --> typing-inspection
pydantic -- ">=0.6.0" --> annotated-types
pydantic -- ">=4.14.1" --> typing-extensions
pydantic-ai-slim -- "==1.33.0" --> pydantic-graph
pydantic-ai-slim -- ">=0.0.40" --> genai-prices
pydantic-ai-slim -- ">=0.27" --> httpx
pydantic-ai-slim -- ">=0.4.0" --> typing-inspection
pydantic-ai-slim -- ">=1.28.0" --> opentelemetry-api
pydantic-ai-slim -- ">=1.3.2" --> griffe
pydantic-ai-slim -- ">=2.10" --> pydantic
pydantic-core -- ">=4.14.1" --> typing-extensions
pydantic-graph -- ">=0.27" --> httpx
pydantic-graph -- ">=0.4.0" --> typing-inspection
pydantic-graph -- ">=2.10" --> pydantic
pydantic-graph -- ">=3.14.1" --> logfire-api
pydantic-settings -- ">=0.21.0" --> python-dotenv
pydantic-settings -- ">=0.4.0" --> typing-inspection
pydantic-settings -- ">=2.7.0" --> pydantic
pydocket -- ">=0.15.1" --> typer
pydocket -- ">=0.21.1" --> prometheus-client
pydocket -- ">=0.3.0" --> py-key-value-aio
pydocket -- ">=0.60b0" --> opentelemetry-exporter-prometheus
pydocket -- ">=0.60b0" --> opentelemetry-instrumentation
pydocket -- ">=1.33.0" --> opentelemetry-api
pydocket -- ">=13.9.4" --> rich
pydocket -- ">=2.0.7" --> python-json-logger
pydocket -- ">=2.32.1" --> fakeredis
pydocket -- ">=3.1.1" --> cloudpickle
pydocket -- ">=4.12.0" --> typing-extensions
pydocket -- ">=5" --> redis
pytest -- ">=1.0.1" --> iniconfig
pytest -- ">=1.5,<2" --> pluggy
pytest -- ">=2.7.2" --> pygments
pytest -- ">=22" --> packaging
pytest-docker -- ">=19.2.0" --> attrs
pytest-docker -- ">=4.0,<10.0" --> pytest
pyyaml-include -- ">=2021.04.0" --> fsspec
pyyaml-include -- "~=6.0" --> pyyaml
referencing -- ">=0.7.0" --> rpds-py
referencing -- ">=22.2.0" --> attrs
requests -- ">=1.21.1,<3" --> urllib3
requests -- ">=2,<4" --> charset-normalizer
requests -- ">=2.5,<4" --> idna
requests -- ">=2017.4.17" --> certifi
rich -- ">=2.13.0,<3.0.0" --> pygments
rich -- ">=2.2.0" --> markdown-it-py
rich-rst -- ">=12.0.0" --> rich
rich-rst -- "any" --> docutils
schemez -- ">=0.17.0" --> docstring-parser
schemez -- ">=0.2.6" --> universal-pathlib
schemez -- ">=1.7.3" --> griffe
schemez -- "any" --> pydantic
searchly -- ">=0.2.6" --> universal-pathlib
searchly -- ">=0.4.4" --> anyenv
searchly -- ">=2.1.5" --> schemez
searchly -- "any" --> pydantic
slashed -- ">=0.11.1" --> psygnal
slashed -- ">=0.3.4" --> universal-pathlib
sqlalchemy -- ">=1" --> greenlet
sqlalchemy -- ">=4.6.0" --> typing-extensions
sqlmodel -- ">=1.10.13,<3.0.0" --> pydantic
sqlmodel -- ">=2.0.14,<2.1.0" --> sqlalchemy
sse-starlette -- ">=0.49.1" --> starlette
sse-starlette -- ">=4.7.0" --> anyio
starlette -- ">=3.6.2,<5" --> anyio
tokonomics -- ">=0.27.2" --> httpx
tokonomics -- ">=0.3.2" --> anyenv
tokonomics -- ">=4.3.6" --> platformdirs
tokonomics -- "any" --> pydantic
tokonomics -- "any" --> schemez
toprompt -- ">=0.0.22" --> sqlmodel
toprompt -- ">=0.1.0" --> fieldz
toprompt -- ">=0.16.0" --> jinjarope
toprompt -- ">=0.2.0" --> clinspector
toprompt -- "any" --> pydantic
typer -- ">=1.3.0" --> shellingham
typer -- ">=10.11.0" --> rich
typer -- ">=3.7.4.3" --> typing-extensions
typer -- ">=8.0.0" --> click_0
typing-inspection -- ">=4.12.0" --> typing-extensions
universal-pathlib -- ">=0.5.1,<0.6.0" --> pathlib-abc
universal-pathlib -- ">=2024.5.0" --> fsspec
upathtools -- ">=0.2.2" --> morefs
upathtools -- ">=0.2.6" --> universal-pathlib
upathtools -- ">=1.0.0" --> python-dotenv
upathtools -- ">=2025.2.0" --> fsspec
uvicorn -- ">=0.8" --> h11
uvicorn -- ">=7.0" --> click_0
yamling -- ">=0.4.7" --> anyenv
yamling -- ">=0.6.4" --> upathtools
yamling -- ">=5.1" --> pyyaml
yamling -- "any" --> fsspec
yamling -- "any" --> pydantic
yamling -- "any" --> pyyaml-include
yamling -- "any" --> universal-pathlib