Adds two new testium CLI subcommands:
testium schema dump the JSON-shaped schema of every test item type
(PARAMS merged with the common ones, console / plot /
json_rpc actions nested under their parent's "actions"
block). Zero runtime dependencies — usable by any editor
that speaks the YAML JSON Schema extension to get static
completion straight away.
testium lsp start a pygls LSP server over stdio. First feature:
completion of test item type names when the user starts
a new step (`- |`). The completion item carries the
item's display name and a hover doc listing its required
and optional non-common parameters.
pygls is declared as an optional extra ([project.optional-dependencies]
lsp = ["pygls>=1.3"]) so the core install isn't enlarged for users who
don't need the server. The import compatibility shim picks
pygls.lsp.server.LanguageServer (pygls 2.x) first and falls back to
pygls.server.LanguageServer (pygls 1.x).
The subcommands intercept argv[1] before argparse runs so they don't
share the GUI/batch flag surface.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
50 lines
1.0 KiB
TOML
50 lines
1.0 KiB
TOML
[build-system]
|
|
requires = ["setuptools", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name="testium"
|
|
requires-python = ">=3.11"
|
|
authors = [
|
|
{name = "François Dausseur", email = "francois@beafrancois.fr"},
|
|
]
|
|
license = "EUPL-1.2"
|
|
license-files = ["../LICENSE"]
|
|
classifiers = [
|
|
"Development Status :: 5 - Production/Stable",
|
|
"Programming Language :: Python",
|
|
]
|
|
dependencies = [
|
|
"setuptools",
|
|
"pyside6",
|
|
"pyyaml",
|
|
"pyserial",
|
|
"colorama",
|
|
"matplotlib",
|
|
"telnetlib3",
|
|
"jinja2",
|
|
"pexpect",
|
|
"gitpython",
|
|
"junit-xml",
|
|
"lxml",
|
|
]
|
|
dynamic = ["version"]
|
|
|
|
[project.optional-dependencies]
|
|
# `pip install testium[lsp]` adds the language-server dependencies. The
|
|
# stdio-only LSP server (`testium lsp`) reuses the schema export from the
|
|
# core install; pygls is the only marginal cost.
|
|
lsp = ["pygls>=1.3"]
|
|
|
|
[project.scripts]
|
|
testium = "testium:main"
|
|
|
|
[tool.setuptools.packages.find]
|
|
where=["."]
|
|
|
|
[tool.setuptools.package-data]
|
|
"testium.lua_func" = ["*.lua"]
|
|
|
|
[tool.setuptools.dynamic]
|
|
version = {file = ["VERSION"]}
|