Re: [PATCH v4 2/4] tools: ynl: add initial pyproject.toml for packaging
From: Donald Hunter
Date: Thu Jan 09 2025 - 07:23:41 EST
Jan Stancek <jstancek@xxxxxxxxxx> 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 <jstancek@xxxxxxxxxx>
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 <donald.hunter@xxxxxxxxx>
> ---
> 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 = "donald.hunter@xxxxxxxxx"},
> + {name = "Jakub Kicinski", email = "kuba@xxxxxxxxxx"},
> +]
> +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"