[project] name = "lda-wf" version = "0.0.1" description = "Add your description here" readme = "readme.md" authors = [{ name = "lda", email = "lda@ldlda.com" }] requires-python = ">=3.14" dependencies = [ "anyio", "authlib>=1.7.0", # smagafurov/fastapi-jsonrpc/issues/103 # TODO: Remove this once the next version of fastapi-jsonrpc is released and we upgrade to it. "fastapi>=0.135,<0.140", "fastapi-jsonrpc>=3.5.0", "fastmcp>=3.4.5", "httpx>=0.28", "jsonpatch>=1.33", "jsonschema>=4.26", "mcp[cli,rich]>=1", "openapi-core>=0.19", "pydantic>=2", "pyyaml>=6.0.3", "typer>=0.24.2", "uvicorn>=0.46.0", ] [project.scripts] wf = "wf_cli.app:main" wf-mcp = "wf_mcp.cli:main" wf-rpc-server = "wf_server.cli:main" [dependency-groups] dev = [ "basedpyright>=1.39.6", "matplotlib>=3.10", "pytest>=8", # "pytest-sugar>=1", "pytest-asyncio>=1.4.0", "pytest-xdist>=3.8.0", "ruff>=0.15.15", ] [tool.pytest.ini_options] addopts = "-p no:cacheprovider -n 8" pythonpath = ["."] asyncio_mode = "auto" [tool.uv] package = true [tool.basedpyright] typeCheckingMode = "basic" # too many errors [tool.ruff.format] preview = false # Ruff 0.16 formats Markdown by default, but many docs contain partial Python # call fragments that are illustrative rather than standalone programs. exclude = ["**/*.md"] [tool.ruff.lint] # Keep the established lint contract stable across Ruff default-rule changes. select = ["E4", "E7", "E9", "F", "I"] [tool.ruff.lint.per-file-ignores] # This generator adjusts sys.path before importing repository-local modules. "docs/thesis/generate_agent_challenge_evaluation.py" = ["E402"]