Subject: Re: [PATCH v4 2/4] tools: ynl: add initial pyproject.toml for packaging

From: Donald Hunter <[email-masked]>
Date: Thu, 09 Jan 2025 12:13:14 +0000

Jan Stancek <[email-masked]> writes:

> Add pyproject.toml and define authors, dependencies and
> user-facing scripts. This will be used later by pip to
> install python code.
>
> Signed-off-by: Jan Stancek <[email-masked]>

The ynl-ethtool script is broken when installed because it hard-codes
spec and schema paths to in-tree locations.  I'd be happy to fix that in
a followup patch, since I have a schema lookup patch in progress.

Reviewed-by: Donald Hunter <[email-masked]>

> ---
>  tools/net/ynl/pyproject.toml | 24 ++++++++++++++++++++++++
>  1 file changed, 24 insertions(+)
>  create mode 100644 tools/net/ynl/pyproject.toml
>
> diff --git a/tools/net/ynl/pyproject.toml b/tools/net/ynl/pyproject.toml
> new file mode 100644
> index 000000000000..a81d8779b0e0
> --- /dev/null
> +++ b/tools/net/ynl/pyproject.toml
> @@ -0,0 +1,24 @@
> +[build-system]
> +requires = ["setuptools>=61.0"]
> +build-backend = "setuptools.build_meta"
> +
> +[project]
> +name = "pyynl"
> +authors = [
> +    {name = "Donald Hunter", email = "[email-masked]"},
> +    {name = "Jakub Kicinski", email = "[email-masked]"},
> +]
> +description = "yaml netlink (ynl)"
> +version = "0.0.1"
> +requires-python = ">=3.9"
> +dependencies = [
> +    "pyyaml==6.*",
> +    "jsonschema==4.*"
> +]
> +
> +[tool.setuptools.packages.find]
> +include = ["pyynl", "pyynl.lib"]
> +
> +[project.scripts]
> +ynl = "pyynl.cli:main"
> +ynl-ethtool = "pyynl.ethtool:main"