| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- [build-system]
- requires = ["setuptools>=68.0"]
- build-backend = "setuptools.build_meta"
- [project]
- name = "hermes-chatto-plugin"
- version = "1.0.0"
- description = "Chatto platform adapter for Hermes Agent (includes vendored chattolib)"
- requires-python = ">=3.11"
- license = {text = "MIT"}
- authors = [
- {name = "liv", email = "paul@klumpp.de"},
- ]
- #[project.entry-points."hermes_agent.plugins"]
- #hermes-chatto-plugin = "hermes-chatto-plugin"
- [dependency-groups]
- dev = [
- "pytest>=9.0",
- "pytest-asyncio>=0.24",
- "basedpyright>=1.29",
- "ruff>=0.9",
- ]
- [tool.setuptools.packages.find]
- where = ["."]
- [tool.ruff]
- # vendor/ ships upstream code (see VENDORING.md) and dist/ is build output;
- # neither is held to this repo's lint rules.
- extend-exclude = ["vendor", "dist"]
- [tool.ruff.lint]
- # BLE001: broad excepts are deliberate here. The adapter is a long-lived
- # gateway client whose best-effort side effects (reactions, typing, presence,
- # mark-seen) must never break message delivery, so network boundaries catch
- # wide and log instead of letting unexpected errors kill the loop.
- ignore = ["BLE001"]
- [tool.ruff.lint.per-file-ignores]
- # The plugin root doubles as the package directory; __init__ only re-exports.
- # N999 fires because the checkout directory name is not a valid identifier —
- # pytest already works around that via importlib mode.
- "__init__.py" = ["F401", "N999"]
- [tool.pytest.ini_options]
- # importlib mode: the plugin root is itself a package (__init__.py), so pytest's
- # default "prepend" mode tries to import the test modules as part of it, which
- # fails because the checkout directory name is not a valid Python identifier.
- addopts = "--import-mode=importlib"
- asyncio_mode = "auto"
- # Only our own tests — vendor/ ships the upstream test suites of some packages.
- testpaths = ["test_adapter.py", "test_platform_config.py"]
- norecursedirs = ["vendor", "myvenv", ".venv"]
|