From patchwork Tue Aug 6 11:17:51 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Juraj_Linke=C5=A1?= X-Patchwork-Id: 142937 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id F224A4574A; Tue, 6 Aug 2024 13:18:07 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1444C42E1D; Tue, 6 Aug 2024 13:18:01 +0200 (CEST) Received: from mail-lf1-f45.google.com (mail-lf1-f45.google.com [209.85.167.45]) by mails.dpdk.org (Postfix) with ESMTP id EC4C2402A1 for ; Tue, 6 Aug 2024 13:17:58 +0200 (CEST) Received: by mail-lf1-f45.google.com with SMTP id 2adb3069b0e04-52f01afa11cso980770e87.0 for ; Tue, 06 Aug 2024 04:17:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pantheon.tech; s=google; t=1722943078; x=1723547878; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=NO2UZ+LLMKW3UrDhN9eC/Bfrt3jHMMG2THTaBf2mSkQ=; b=Y+wXpFIHB27lNITzTFwHKtZ8C/Jqz2Diwu64sGD+4YuQk+aRkH3j2VQ+gJCexd8hLH u/BsJlIoyruFX2K679p+6pLMJCjc5bvRhBAhytJXeqp21MkHs7dOvq8akRyapRzgRMnV qC2R5J0dql/LpW3A0tmk14AJh9kJQJ/iNw7YQVXdh5SSxmDd88u+vfLKK1YKt1jV31dh Q/3O7GQYLTNts3gi2A1TaaB4bXZ3eTyZxVhXCYh8EzKGfG7HyTkcpq1hm8wfQKQ2WfjC bTejY9UV0BPXjoloGtq8JX1E3f89nRVT1tTbZEdpkDUg6f08hzovpCzsoNsOVkEX3Px6 nCEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722943078; x=1723547878; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NO2UZ+LLMKW3UrDhN9eC/Bfrt3jHMMG2THTaBf2mSkQ=; b=dgmPtj7aUdHQBXyt3dhBZmOF/h9VZjFFzj3fh5wnQgx4Y8YFik74DQukUIjr6TGl4+ ffq7Ylm3XV1f35W/awfGmXgv3jLG5my9tDs3VaDWxPkvxOTxCNaUmlZZQgz5ODiCVymQ AJuVLP5+tsMGgyavkj/edm6SXN6qkl+BDdWx/itGbT3cPgx7+NVnOZX/gZ077XeuIWsv 3t4YSMOOmMBThiLNDNQZXQV2d0kHhwV2i0c2DEwcJTSe+y2Mj34oAPjgWUn2EQJcdvc+ ea0AhdIhIo9hsoa904pI5mSZlwux9v8BQVP9HQTNRs33kzAhVcZsQc3b1i9zc/f9svAB c/oQ== X-Gm-Message-State: AOJu0YwhEIYm/6r97zil9oObKTBZpnZYEB7OsSJCUbFRP963SH6hGX2K rnYToHJoKwLGoOhkMMq7mFq4b7pN/0ZIolxmwEbElE7xFu9KOSW8qBVKkj1qdS4= X-Google-Smtp-Source: AGHT+IFGVQ7EpJCtial6Zm2M4IB/X+EVqkhVWYX6gcgp+jHWLLlH8L7wvjscAeXWJhSKJ2eTAIfG0w== X-Received: by 2002:ac2:4e0b:0:b0:52e:faf0:40c with SMTP id 2adb3069b0e04-530bb367688mr10727785e87.3.1722943078127; Tue, 06 Aug 2024 04:17:58 -0700 (PDT) Received: from jlinkes-PT-Latitude-5530.pantheon.local (81.89.53.154.host.vnet.sk. [81.89.53.154]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5bb885c8b57sm2624520a12.96.2024.08.06.04.17.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Aug 2024 04:17:57 -0700 (PDT) From: =?utf-8?q?Juraj_Linke=C5=A1?= To: thomas@monjalon.net, Honnappa.Nagarahalli@arm.com, bruce.richardson@intel.com, jspewock@iol.unh.edu, probb@iol.unh.edu, paul.szczepanek@arm.com, Luca.Vizzarro@arm.com, npratte@iol.unh.edu Cc: dev@dpdk.org, =?utf-8?q?Juraj_Linke=C5=A1?= , luca.vizzarro@arm.com Subject: [PATCH v14 1/6] dts: update params and parser docstrings Date: Tue, 6 Aug 2024 13:17:51 +0200 Message-Id: <20240806111756.314055-2-juraj.linkes@pantheon.tech> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240806111756.314055-1-juraj.linkes@pantheon.tech> References: <20231115133606.42081-1-juraj.linkes@pantheon.tech> <20240806111756.314055-1-juraj.linkes@pantheon.tech> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Address a few errors reported by Sphinx when generating documentation: framework/params/__init__.py:docstring of framework.params.modify_str:3: WARNING: Inline interpreted text or phrase reference start-string without end-string. framework/params/eal.py:docstring of framework.params.eal.EalParams:35: WARNING: Definition list ends without a blank line; unexpected unindent. framework/params/types.py:docstring of framework.params.types:8: WARNING: Inline strong start-string without end-string. framework/params/types.py:docstring of framework.params.types:9: WARNING: Inline strong start-string without end-string. framework/parser.py:docstring of framework.parser.TextParser:33: ERROR: Unexpected indentation. framework/parser.py:docstring of framework.parser.TextParser:43: ERROR: Unexpected indentation. framework/parser.py:docstring of framework.parser.TextParser:49: ERROR: Unexpected indentation. framework/parser.py:docstring of framework.parser.TextParser.wrap:8: ERROR: Unexpected indentation. framework/parser.py:docstring of framework.parser.TextParser.wrap:9: WARNING: Block quote ends without a blank line; unexpected unindent. Fixes: 87ba4cdc0dbb ("dts: use Unpack for type checking and hinting") Fixes: d70159cb62f5 ("dts: add params manipulation module") Fixes: 967fc62b0a43 ("dts: refactor EAL parameters class") Fixes: 818fe14e3422 ("dts: add parsing utility module") Cc: luca.vizzarro@arm.com Signed-off-by: Juraj Linkeš Reviewed-by: Luca Vizzarro --- dts/framework/params/__init__.py | 4 ++-- dts/framework/params/eal.py | 7 +++++-- dts/framework/params/types.py | 3 ++- dts/framework/parser.py | 4 ++-- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/dts/framework/params/__init__.py b/dts/framework/params/__init__.py index 5a6fd93053..1ae227d7b4 100644 --- a/dts/framework/params/__init__.py +++ b/dts/framework/params/__init__.py @@ -53,9 +53,9 @@ def reduced_fn(value): def modify_str(*funcs: FnPtr) -> Callable[[T], T]: - """Class decorator modifying the ``__str__`` method with a function created from its arguments. + r"""Class decorator modifying the ``__str__`` method with a function created from its arguments. - The :attr:`FnPtr`s fed to the decorator are executed from left to right in the arguments list + The :attr:`FnPtr`\s fed to the decorator are executed from left to right in the arguments list order. Args: diff --git a/dts/framework/params/eal.py b/dts/framework/params/eal.py index 8d7766fefc..cf1594353a 100644 --- a/dts/framework/params/eal.py +++ b/dts/framework/params/eal.py @@ -26,13 +26,16 @@ class EalParams(Params): prefix: Set the file prefix string with which to start DPDK, e.g.: ``prefix="vf"``. no_pci: Switch to disable PCI bus, e.g.: ``no_pci=True``. vdevs: Virtual devices, e.g.:: + vdevs=[ VirtualDevice('net_ring0'), VirtualDevice('net_ring1') ] + ports: The list of ports to allow. - other_eal_param: user defined DPDK EAL parameters, e.g.: - ``other_eal_param='--single-file-segments'`` + other_eal_param: user defined DPDK EAL parameters, e.g.:: + + ``other_eal_param='--single-file-segments'`` """ lcore_list: LogicalCoreList | None = field(default=None, metadata=Params.short("l")) diff --git a/dts/framework/params/types.py b/dts/framework/params/types.py index e668f658d8..d77c4625fb 100644 --- a/dts/framework/params/types.py +++ b/dts/framework/params/types.py @@ -6,7 +6,8 @@ TypedDicts can be used in conjunction with Unpack and kwargs for type hinting on function calls. Example: - ..code:: python + .. code:: python + def create_testpmd(**kwargs: Unpack[TestPmdParamsDict]): params = TestPmdParams(**kwargs) """ diff --git a/dts/framework/parser.py b/dts/framework/parser.py index 741dfff821..7254c75b71 100644 --- a/dts/framework/parser.py +++ b/dts/framework/parser.py @@ -46,7 +46,7 @@ class TextParser(ABC): Example: The following example makes use of and demonstrates every parser function available: - ..code:: python + .. code:: python from dataclasses import dataclass, field from enum import Enum @@ -90,7 +90,7 @@ def wrap(parser_fn: ParserFn, wrapper_fn: Callable) -> ParserFn: """Makes a wrapped parser function. `parser_fn` is called and if a non-None value is returned, `wrapper_function` is called with - it. Otherwise the function returns early with None. In pseudo-code: + it. Otherwise the function returns early with None. In pseudo-code:: intermediate_value := parser_fn(input) if intermediary_value is None then From patchwork Tue Aug 6 11:17:52 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Juraj_Linke=C5=A1?= X-Patchwork-Id: 142938 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 355A54574A; Tue, 6 Aug 2024 13:18:15 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4ADD542E44; Tue, 6 Aug 2024 13:18:02 +0200 (CEST) Received: from mail-ed1-f46.google.com (mail-ed1-f46.google.com [209.85.208.46]) by mails.dpdk.org (Postfix) with ESMTP id EC91542DDE for ; Tue, 6 Aug 2024 13:17:59 +0200 (CEST) Received: by mail-ed1-f46.google.com with SMTP id 4fb4d7f45d1cf-5a156557029so612955a12.2 for ; Tue, 06 Aug 2024 04:17:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pantheon.tech; s=google; t=1722943079; x=1723547879; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=goDd0cT5kJTJm2tL6X9YqCyILrUEjQ+gVWVvSRzSF20=; b=guuC9XdEC/1Xd9TOnMshjWuTvoRgp/O0ZJR/a4werNqfniNYh60FssLVDvENTsP3uC q6GApLCmr3vQZwx8K0DQvzOE4oaCU9JYcQDxznOMle143TCq8Qxi4rdhNLnlQd/RUwBH GcWjQksTOotvrBTP/iAwz+zhTTD6EJpVNEN9L0OFmXmKRnYkhaNq+CbUpVRhNDKXG76H BNFbNMMmje5dpGkmw+3JjCzK86fwckj5FsI7Ugu18s76UhI7oADhre750m/n/xbduwMt k7DILo/7ZJ90GbBRixnx77KJCW8uaMnGtNrds3yRA3R2iDGJ0NYytm/fAAXjirln4XUZ YBZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722943079; x=1723547879; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=goDd0cT5kJTJm2tL6X9YqCyILrUEjQ+gVWVvSRzSF20=; b=vxi8zqw8GWZZEfg8NtHkby1A/Zqn6DzTtHcVl1Tl99YOLNOt8KR0Uos6ynnengbiSe ekvuLZT32fGW3a6c8YnbDaGrZSlz9OJKYKPjftCn0AdmcfkFpW/sZ4VCL4Daq9HNXmCT 1E+ngJC3nIbQSFmjrGMrci3FGNZU11AOGjQ32W7TDOgz5n7wYymL0jwa/g03/c8CVWrg 3gpwFdtjUOHjw0JEQuEoXl9WgeVk+OHklPbpaLzbaCdUypRhJdX6AMYiuwod8PTH8cGn VxahiE8U/bQtbBnxFVZTEDQmRoyG613br1xlMj5oj7patGgecNI/mP8iEAI67IghwkpQ 9LSg== X-Gm-Message-State: AOJu0YxxBGrAiTSQ9ihw4GX+OCUsyMNV+PLRomm6GsFqWc44AwWZAMRf CpIvD3lkHVSaZf1y3dgSAZtAjA7dunKhqGaxepjYFlxqFp12wzxkjgrlO2oA43s= X-Google-Smtp-Source: AGHT+IGdwdRgQo70yQmsv1g50WEiy2cI0HxqEyfrE51a+5XRzfr1jrSdbBxPSICPMV+FEe0/S1GxLw== X-Received: by 2002:a05:6402:347:b0:5a1:7362:91d9 with SMTP id 4fb4d7f45d1cf-5b7f4295cddmr9711957a12.22.1722943079491; Tue, 06 Aug 2024 04:17:59 -0700 (PDT) Received: from jlinkes-PT-Latitude-5530.pantheon.local (81.89.53.154.host.vnet.sk. [81.89.53.154]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5bb885c8b57sm2624520a12.96.2024.08.06.04.17.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Aug 2024 04:17:58 -0700 (PDT) From: =?utf-8?q?Juraj_Linke=C5=A1?= To: thomas@monjalon.net, Honnappa.Nagarahalli@arm.com, bruce.richardson@intel.com, jspewock@iol.unh.edu, probb@iol.unh.edu, paul.szczepanek@arm.com, Luca.Vizzarro@arm.com, npratte@iol.unh.edu Cc: dev@dpdk.org, =?utf-8?q?Juraj_Linke=C5=A1?= Subject: [PATCH v14 2/6] dts: replace the or operator in third party types Date: Tue, 6 Aug 2024 13:17:52 +0200 Message-Id: <20240806111756.314055-3-juraj.linkes@pantheon.tech> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240806111756.314055-1-juraj.linkes@pantheon.tech> References: <20231115133606.42081-1-juraj.linkes@pantheon.tech> <20240806111756.314055-1-juraj.linkes@pantheon.tech> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org When the DTS dependencies are not installed when building DTS API documentation, the or operator produces errors when used with types from those libraries: autodoc: failed to import module 'remote_session' from module 'framework'; the following exception was raised: Traceback (most recent call last): ... TypeError: unsupported operand type(s) for |: 'Transport' and 'NoneType' The third part type here is Transport from the paramiko library. Signed-off-by: Juraj Linkeš --- dts/framework/remote_session/interactive_remote_session.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dts/framework/remote_session/interactive_remote_session.py b/dts/framework/remote_session/interactive_remote_session.py index 97194e6af8..4605ee14b4 100644 --- a/dts/framework/remote_session/interactive_remote_session.py +++ b/dts/framework/remote_session/interactive_remote_session.py @@ -5,6 +5,7 @@ import socket import traceback +from typing import Union from paramiko import AutoAddPolicy, SSHClient, Transport # type: ignore[import-untyped] from paramiko.ssh_exception import ( # type: ignore[import-untyped] @@ -52,7 +53,7 @@ class InteractiveRemoteSession: session: SSHClient _logger: DTSLogger _node_config: NodeConfiguration - _transport: Transport | None + _transport: Union[Transport, None] def __init__(self, node_config: NodeConfiguration, logger: DTSLogger) -> None: """Connect to the node during initialization. From patchwork Tue Aug 6 11:17:53 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Juraj_Linke=C5=A1?= X-Patchwork-Id: 142939 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2997B4574A; Tue, 6 Aug 2024 13:18:22 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 912C742E48; Tue, 6 Aug 2024 13:18:03 +0200 (CEST) Received: from mail-ed1-f48.google.com (mail-ed1-f48.google.com [209.85.208.48]) by mails.dpdk.org (Postfix) with ESMTP id 869BE42E37 for ; Tue, 6 Aug 2024 13:18:01 +0200 (CEST) Received: by mail-ed1-f48.google.com with SMTP id 4fb4d7f45d1cf-5b01af9b0c9so519457a12.3 for ; Tue, 06 Aug 2024 04:18:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pantheon.tech; s=google; t=1722943081; x=1723547881; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=f9ZCC0FNI4RrwPiRCnG94jQmtMUqKnHcksmklVbMLWk=; b=Wytn0Pw0ygBYI2j9KeB2hTs5WK9IVMBVhjn1A9ngyF6p/jAU9q91rdQNrexPma6mUd q3S77RsZpN695reIxKE7DY3GaLWg+llXFpwy+wtpKtI5RG2rOorG8RHlT5Tu8WLVhyyD E3ITSj/0qLnK5svRhHSjRzR9rLNG/UoF41AcCX/O3+WxfgKRX8u1+gfyO5S6+zD1eo+K 0D3ISG34rPkrBeiKRqSuA1JKYJXt0i5CXOsotnjh8ZycFUimyQfy3aCooRlMcZGYaiTG odY5vogNAqugiCxMlTl/JRfUAJLNLMYKfdxGX3NiwccIAS/WaKIYu90GeFNlR6HPgBGU qprg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722943081; x=1723547881; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=f9ZCC0FNI4RrwPiRCnG94jQmtMUqKnHcksmklVbMLWk=; b=uzT/lAn+ZKiNt5kO0tsSfY8Hh+qperpq7Kuw7RSwJN/NLDtiwumntQ5seRqYxCMN+A g3miZW9lP9FXINo2I6LumEzcV3EbbZ31mwv/z5QybBL1YTW25gIuHK2QAw+eErz1IrPz W4g+nx9waajTAMHa06D8yGpI/2sfJxGHb+ZcR+yEXFL9j1PeZb75MH/8R39nBeK31WlP 38kAsc9cWFy1hMNwMvosxSKv5+ktRLLpysgsdpN6VTCE5M59SuiQagnbYWXCb+K0XjNe KHRc+yCBBmm3KevjINIcZYmglWKpI5hJynsOJvjYVeKc6vYDt6YRH8+WjmhBzQRof4MM 4mCg== X-Gm-Message-State: AOJu0YylmLt+H6HbQC1fQb1qLIXapwFaWgNq4kZcWcvSPDG4Bq3pOdFZ rhOUW+m6ypKG3fir4r0rx256wTeeFErCzNz7+SwMotR/p73W2zMtZNVj4nn0cgk= X-Google-Smtp-Source: AGHT+IFu3ZM1rBOFAIyXrqOxYays9/T8YLCWGQE1qFLy6fD+GMByPJmH5L1b8xRbCbciUE2ZnaTiEA== X-Received: by 2002:aa7:c599:0:b0:5a2:2fa5:f145 with SMTP id 4fb4d7f45d1cf-5b7f57f3128mr11107811a12.25.1722943080755; Tue, 06 Aug 2024 04:18:00 -0700 (PDT) Received: from jlinkes-PT-Latitude-5530.pantheon.local (81.89.53.154.host.vnet.sk. [81.89.53.154]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5bb885c8b57sm2624520a12.96.2024.08.06.04.17.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Aug 2024 04:18:00 -0700 (PDT) From: =?utf-8?q?Juraj_Linke=C5=A1?= To: thomas@monjalon.net, Honnappa.Nagarahalli@arm.com, bruce.richardson@intel.com, jspewock@iol.unh.edu, probb@iol.unh.edu, paul.szczepanek@arm.com, Luca.Vizzarro@arm.com, npratte@iol.unh.edu Cc: dev@dpdk.org, =?utf-8?q?Juraj_Linke=C5=A1?= Subject: [PATCH v14 3/6] dts: add doc generation dependencies Date: Tue, 6 Aug 2024 13:17:53 +0200 Message-Id: <20240806111756.314055-4-juraj.linkes@pantheon.tech> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240806111756.314055-1-juraj.linkes@pantheon.tech> References: <20231115133606.42081-1-juraj.linkes@pantheon.tech> <20240806111756.314055-1-juraj.linkes@pantheon.tech> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sphinx imports every Python module (through the autodoc extension) when generating documentation from docstrings, meaning all DTS dependencies, including Python version, should be satisfied. This is not a hard requirement, as imports from dependencies may be mocked in the autodoc_mock_imports autodoc option. In case DTS developers want to use a Sphinx installation from their virtualenv, we provide an optional Poetry group for doc generation. The pyelftools package is there so that meson picks up the correct Python installation, as pyelftools is required by the build system. Signed-off-by: Juraj Linkeš --- dts/poetry.lock | 521 +++++++++++++++++++++++++++++++++++++++++++-- dts/pyproject.toml | 8 + 2 files changed, 517 insertions(+), 12 deletions(-) diff --git a/dts/poetry.lock b/dts/poetry.lock index 5f8fa03933..2dd8bad498 100644 --- a/dts/poetry.lock +++ b/dts/poetry.lock @@ -1,5 +1,16 @@ # This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. +[[package]] +name = "alabaster" +version = "0.7.13" +description = "A configurable sidebar-enabled Sphinx theme" +optional = false +python-versions = ">=3.6" +files = [ + {file = "alabaster-0.7.13-py3-none-any.whl", hash = "sha256:1ee19aca801bbabb5ba3f5f258e4422dfa86f82f3e9cefb0859b283cdd7f62a3"}, + {file = "alabaster-0.7.13.tar.gz", hash = "sha256:a27a4a084d5e690e16e01e03ad2b2e552c61a65469419b907243193de1a84ae2"}, +] + [[package]] name = "attrs" version = "23.1.0" @@ -18,6 +29,23 @@ docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib- tests = ["attrs[tests-no-zope]", "zope-interface"] tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +[[package]] +name = "babel" +version = "2.13.1" +description = "Internationalization utilities" +optional = false +python-versions = ">=3.7" +files = [ + {file = "Babel-2.13.1-py3-none-any.whl", hash = "sha256:7077a4984b02b6727ac10f1f7294484f737443d7e2e66c5e4380e41a3ae0b4ed"}, + {file = "Babel-2.13.1.tar.gz", hash = "sha256:33e0952d7dd6374af8dbf6768cc4ddf3ccfefc244f9986d4074704f2fbd18900"}, +] + +[package.dependencies] +setuptools = {version = "*", markers = "python_version >= \"3.12\""} + +[package.extras] +dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] + [[package]] name = "bcrypt" version = "4.0.1" @@ -86,6 +114,17 @@ d = ["aiohttp (>=3.7.4)"] jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] uvloop = ["uvloop (>=0.15.2)"] +[[package]] +name = "certifi" +version = "2023.7.22" +description = "Python package for providing Mozilla's CA Bundle." +optional = false +python-versions = ">=3.6" +files = [ + {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"}, + {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"}, +] + [[package]] name = "cffi" version = "1.15.1" @@ -162,6 +201,105 @@ files = [ [package.dependencies] pycparser = "*" +[[package]] +name = "charset-normalizer" +version = "3.3.2" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, + {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, +] + [[package]] name = "click" version = "8.1.6" @@ -232,6 +370,17 @@ ssh = ["bcrypt (>=3.1.5)"] test = ["pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] test-randomorder = ["pytest-randomly"] +[[package]] +name = "docutils" +version = "0.18.1" +description = "Docutils -- Python Documentation Utilities" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "docutils-0.18.1-py2.py3-none-any.whl", hash = "sha256:23010f129180089fbcd3bc08cfefccb3b890b0050e1ca00c867036e9d161b98c"}, + {file = "docutils-0.18.1.tar.gz", hash = "sha256:679987caf361a7539d76e584cbeddc311e3aee937877c87346f31debc63e9d06"}, +] + [[package]] name = "fabric" version = "2.7.1" @@ -252,6 +401,28 @@ pathlib2 = "*" pytest = ["mock (>=2.0.0,<3.0)", "pytest (>=3.2.5,<4.0)"] testing = ["mock (>=2.0.0,<3.0)"] +[[package]] +name = "idna" +version = "3.4" +description = "Internationalized Domain Names in Applications (IDNA)" +optional = false +python-versions = ">=3.5" +files = [ + {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, + {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, +] + +[[package]] +name = "imagesize" +version = "1.4.1" +description = "Getting image size from png/jpeg/jpeg2000/gif file" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "imagesize-1.4.1-py2.py3-none-any.whl", hash = "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b"}, + {file = "imagesize-1.4.1.tar.gz", hash = "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a"}, +] + [[package]] name = "invoke" version = "1.7.3" @@ -280,6 +451,23 @@ pipfile-deprecated-finder = ["pip-shims (>=0.5.2)", "pipreqs", "requirementslib" plugins = ["setuptools"] requirements-deprecated-finder = ["pip-api", "pipreqs"] +[[package]] +name = "jinja2" +version = "3.1.2" +description = "A very fast and expressive template engine." +optional = false +python-versions = ">=3.7" +files = [ + {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, + {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, +] + +[package.dependencies] +MarkupSafe = ">=2.0" + +[package.extras] +i18n = ["Babel (>=2.7)"] + [[package]] name = "jsonpatch" version = "1.33" @@ -340,6 +528,65 @@ files = [ [package.dependencies] referencing = ">=0.28.0" +[[package]] +name = "markupsafe" +version = "2.1.3" +description = "Safely add untrusted strings to HTML/XML markup." +optional = false +python-versions = ">=3.7" +files = [ + {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"}, + {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"}, +] + [[package]] name = "mccabe" version = "0.7.0" @@ -409,6 +656,17 @@ files = [ {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, ] +[[package]] +name = "packaging" +version = "23.2" +description = "Core utilities for Python packages" +optional = false +python-versions = ">=3.7" +files = [ + {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, + {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, +] + [[package]] name = "paramiko" version = "3.2.0" @@ -509,6 +767,17 @@ snowballstemmer = "*" [package.extras] toml = ["toml"] +[[package]] +name = "pyelftools" +version = "0.31" +description = "Library for analyzing ELF files and DWARF debugging information" +optional = false +python-versions = "*" +files = [ + {file = "pyelftools-0.31-py3-none-any.whl", hash = "sha256:f52de7b3c7e8c64c8abc04a79a1cf37ac5fb0b8a49809827130b858944840607"}, + {file = "pyelftools-0.31.tar.gz", hash = "sha256:c774416b10310156879443b81187d182d8d9ee499660380e645918b50bc88f99"}, +] + [[package]] name = "pyflakes" version = "2.5.0" @@ -520,6 +789,20 @@ files = [ {file = "pyflakes-2.5.0.tar.gz", hash = "sha256:491feb020dca48ccc562a8c0cbe8df07ee13078df59813b83959cbdada312ea3"}, ] +[[package]] +name = "pygments" +version = "2.16.1" +description = "Pygments is a syntax highlighting package written in Python." +optional = false +python-versions = ">=3.7" +files = [ + {file = "Pygments-2.16.1-py3-none-any.whl", hash = "sha256:13fc09fa63bc8d8671a6d247e1eb303c4b343eaee81d861f3404db2935653692"}, + {file = "Pygments-2.16.1.tar.gz", hash = "sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29"}, +] + +[package.extras] +plugins = ["importlib-metadata"] + [[package]] name = "pylama" version = "8.4.1" @@ -585,7 +868,6 @@ files = [ {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, - {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"}, {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, @@ -593,16 +875,8 @@ files = [ {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, - {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"}, {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, - {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, - {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, - {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, - {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, - {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, - {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, - {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, @@ -619,7 +893,6 @@ files = [ {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, - {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"}, {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, @@ -627,7 +900,6 @@ files = [ {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, - {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"}, {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, @@ -648,6 +920,27 @@ files = [ attrs = ">=22.2.0" rpds-py = ">=0.7.0" +[[package]] +name = "requests" +version = "2.31.0" +description = "Python HTTP for Humans." +optional = false +python-versions = ">=3.7" +files = [ + {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, + {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, +] + +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = ">=2,<4" +idna = ">=2.5,<4" +urllib3 = ">=1.21.1,<3" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] + [[package]] name = "rpds-py" version = "0.9.2" @@ -769,6 +1062,22 @@ basic = ["ipython"] complete = ["cryptography (>=2.0)", "ipython", "matplotlib", "pyx"] docs = ["sphinx (>=3.0.0)", "sphinx_rtd_theme (>=0.4.3)", "tox (>=3.0.0)"] +[[package]] +name = "setuptools" +version = "68.2.2" +description = "Easily download, build, install, upgrade, and uninstall Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "setuptools-68.2.2-py3-none-any.whl", hash = "sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a"}, + {file = "setuptools-68.2.2.tar.gz", hash = "sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87"}, +] + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] + [[package]] name = "six" version = "1.16.0" @@ -791,6 +1100,177 @@ files = [ {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"}, ] +[[package]] +name = "sphinx" +version = "7.0.0" +description = "Python documentation generator" +optional = false +python-versions = ">=3.8" +files = [ + {file = "Sphinx-7.0.0.tar.gz", hash = "sha256:283c44aa28922bb4223777b44ac0d59af50a279ac7690dfe945bb2b9575dc41b"}, + {file = "sphinx-7.0.0-py3-none-any.whl", hash = "sha256:3cfc1c6756ef1b132687b813ec6ea2214cb7a7e5d1dcb2772006cb895a0fa469"}, +] + +[package.dependencies] +alabaster = ">=0.7,<0.8" +babel = ">=2.9" +colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} +docutils = ">=0.18.1,<0.20" +imagesize = ">=1.3" +Jinja2 = ">=3.0" +packaging = ">=21.0" +Pygments = ">=2.13" +requests = ">=2.25.0" +snowballstemmer = ">=2.0" +sphinxcontrib-applehelp = "*" +sphinxcontrib-devhelp = "*" +sphinxcontrib-htmlhelp = ">=2.0.0" +sphinxcontrib-jsmath = "*" +sphinxcontrib-qthelp = "*" +sphinxcontrib-serializinghtml = ">=1.1.5" + +[package.extras] +docs = ["sphinxcontrib-websupport"] +lint = ["docutils-stubs", "flake8 (>=3.5.0)", "flake8-simplify", "isort", "mypy (>=0.990)", "ruff", "sphinx-lint", "types-requests"] +test = ["cython", "filelock", "html5lib", "pytest (>=4.6)"] + +[[package]] +name = "sphinx-rtd-theme" +version = "2.0.0" +description = "Read the Docs theme for Sphinx" +optional = false +python-versions = ">=3.6" +files = [ + {file = "sphinx_rtd_theme-2.0.0-py2.py3-none-any.whl", hash = "sha256:ec93d0856dc280cf3aee9a4c9807c60e027c7f7b461b77aeffed682e68f0e586"}, + {file = "sphinx_rtd_theme-2.0.0.tar.gz", hash = "sha256:bd5d7b80622406762073a04ef8fadc5f9151261563d47027de09910ce03afe6b"}, +] + +[package.dependencies] +docutils = "<0.21" +sphinx = ">=5,<8" +sphinxcontrib-jquery = ">=4,<5" + +[package.extras] +dev = ["bump2version", "sphinxcontrib-httpdomain", "transifex-client", "wheel"] + +[[package]] +name = "sphinxcontrib-applehelp" +version = "1.0.7" +description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sphinxcontrib_applehelp-1.0.7-py3-none-any.whl", hash = "sha256:094c4d56209d1734e7d252f6e0b3ccc090bd52ee56807a5d9315b19c122ab15d"}, + {file = "sphinxcontrib_applehelp-1.0.7.tar.gz", hash = "sha256:39fdc8d762d33b01a7d8f026a3b7d71563ea3b72787d5f00ad8465bd9d6dfbfa"}, +] + +[package.dependencies] +Sphinx = ">=5" + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-devhelp" +version = "1.0.5" +description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp documents" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sphinxcontrib_devhelp-1.0.5-py3-none-any.whl", hash = "sha256:fe8009aed765188f08fcaadbb3ea0d90ce8ae2d76710b7e29ea7d047177dae2f"}, + {file = "sphinxcontrib_devhelp-1.0.5.tar.gz", hash = "sha256:63b41e0d38207ca40ebbeabcf4d8e51f76c03e78cd61abe118cf4435c73d4212"}, +] + +[package.dependencies] +Sphinx = ">=5" + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-htmlhelp" +version = "2.0.4" +description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sphinxcontrib_htmlhelp-2.0.4-py3-none-any.whl", hash = "sha256:8001661c077a73c29beaf4a79968d0726103c5605e27db92b9ebed8bab1359e9"}, + {file = "sphinxcontrib_htmlhelp-2.0.4.tar.gz", hash = "sha256:6c26a118a05b76000738429b724a0568dbde5b72391a688577da08f11891092a"}, +] + +[package.dependencies] +Sphinx = ">=5" + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +test = ["html5lib", "pytest"] + +[[package]] +name = "sphinxcontrib-jquery" +version = "4.1" +description = "Extension to include jQuery on newer Sphinx releases" +optional = false +python-versions = ">=2.7" +files = [ + {file = "sphinxcontrib-jquery-4.1.tar.gz", hash = "sha256:1620739f04e36a2c779f1a131a2dfd49b2fd07351bf1968ced074365933abc7a"}, + {file = "sphinxcontrib_jquery-4.1-py2.py3-none-any.whl", hash = "sha256:f936030d7d0147dd026a4f2b5a57343d233f1fc7b363f68b3d4f1cb0993878ae"}, +] + +[package.dependencies] +Sphinx = ">=1.8" + +[[package]] +name = "sphinxcontrib-jsmath" +version = "1.0.1" +description = "A sphinx extension which renders display math in HTML via JavaScript" +optional = false +python-versions = ">=3.5" +files = [ + {file = "sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"}, + {file = "sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"}, +] + +[package.extras] +test = ["flake8", "mypy", "pytest"] + +[[package]] +name = "sphinxcontrib-qthelp" +version = "1.0.6" +description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp documents" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sphinxcontrib_qthelp-1.0.6-py3-none-any.whl", hash = "sha256:bf76886ee7470b934e363da7a954ea2825650013d367728588732c7350f49ea4"}, + {file = "sphinxcontrib_qthelp-1.0.6.tar.gz", hash = "sha256:62b9d1a186ab7f5ee3356d906f648cacb7a6bdb94d201ee7adf26db55092982d"}, +] + +[package.dependencies] +Sphinx = ">=5" + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-serializinghtml" +version = "1.1.9" +description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sphinxcontrib_serializinghtml-1.1.9-py3-none-any.whl", hash = "sha256:9b36e503703ff04f20e9675771df105e58aa029cfcbc23b8ed716019b7416ae1"}, + {file = "sphinxcontrib_serializinghtml-1.1.9.tar.gz", hash = "sha256:0c64ff898339e1fac29abd2bf5f11078f3ec413cfe9c046d3120d7ca65530b54"}, +] + +[package.dependencies] +Sphinx = ">=5" + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +test = ["pytest"] + [[package]] name = "toml" version = "0.10.2" @@ -835,6 +1315,23 @@ files = [ {file = "typing_extensions-4.11.0.tar.gz", hash = "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0"}, ] +[[package]] +name = "urllib3" +version = "2.0.7" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.7" +files = [ + {file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"}, + {file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +secure = ["certifi", "cryptography (>=1.9)", "idna (>=2.0.0)", "pyopenssl (>=17.1.0)", "urllib3-secure-extra"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] + [[package]] name = "warlock" version = "2.0.1" @@ -853,4 +1350,4 @@ jsonschema = ">=4,<5" [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "4af4dd49c59e5bd6ed99e8c19c6756aaf00125339d26cfad2ef98551dc765f8b" +content-hash = "6db17f96cb31fb463b0b0a31dff9c02aa72641e0bffd8a610033fe2324006c43" diff --git a/dts/pyproject.toml b/dts/pyproject.toml index 0b9b09805a..38281f0e39 100644 --- a/dts/pyproject.toml +++ b/dts/pyproject.toml @@ -35,6 +35,14 @@ pylama = "^8.4.1" pyflakes = "^2.5.0" toml = "^0.10.2" +[tool.poetry.group.docs] +optional = true + +[tool.poetry.group.docs.dependencies] +sphinx = "<=7" +sphinx-rtd-theme = ">=1.2.2" +pyelftools = "^0.31" + [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" From patchwork Tue Aug 6 11:17:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Juraj_Linke=C5=A1?= X-Patchwork-Id: 142941 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id DC6694574A; Tue, 6 Aug 2024 13:18:37 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DCC7942E57; Tue, 6 Aug 2024 13:18:08 +0200 (CEST) Received: from mail-ed1-f44.google.com (mail-ed1-f44.google.com [209.85.208.44]) by mails.dpdk.org (Postfix) with ESMTP id 1266742E51 for ; Tue, 6 Aug 2024 13:18:06 +0200 (CEST) Received: by mail-ed1-f44.google.com with SMTP id 4fb4d7f45d1cf-5b8c2a6135eso1134294a12.0 for ; Tue, 06 Aug 2024 04:18:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pantheon.tech; s=google; t=1722943085; x=1723547885; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9QgqLV6nUu3aoeRfDZq9bScDQhJXKy+kDLe7uopd/yI=; b=MFjSxYSg7MjxypUgfQUg5aWn4RkkHaU6CCloj4rTjxCL8ZvDAZg7aljmceV7Nf0R+R KyebyfGHx6oRFUALPiGUivUDXpPs5hYioXm09yIEJKAs5Vdgbu+H71UYI+U8MeqWmeeD R7HhEJXTwxbby6m/ETkIJlKDx3l9HKGFKkOER4sxuY4bMCxfriwh5wC0QrWQSmQluOxx k8hcUfXIYbWjDVPO7v6fjQUKSp6EUZhf11kLTmFf7nS+3GzK8cWqODwOVDwyOVHmICni xum54KgROLC6Z7j4ZEkts54XL/XvJoPT/P5xWM2CQ8m7RgWy6bfXc2b9IVFzdSQY12pd ZXHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722943085; x=1723547885; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9QgqLV6nUu3aoeRfDZq9bScDQhJXKy+kDLe7uopd/yI=; b=HORNDG4YQzd+ixTJnEnNyD89gUqJm30XcqDN4jmwsx8jA+HEnTMx0dIda9YntLbfPi jmPTEdth4pAXUeyLHncP7h8lcXKaNcgDYn0PZH3JDbUiHCRqjnFFIKopndsZIZlBidPn m2gESJw6xHhmeBv69QshL91JP8FSY+Xjm8FBVVSHEELOsUGF1LmTPpXcdJjlD3wJ4lZH 9uXyrwOJDvUFpEc8BCJvDsvFBo+4b2+h4ndoAAb40OXqlpYM7tW4qAdaZ7FATSVgU07t b/o2USLWLEzuOXcjnKLE/eMcQKf39UqYG+wn3uR5sX+Df63xuLfNo08fbeVvOxUkE7jO zfVA== X-Gm-Message-State: AOJu0Yw1QLvWGQXcVUsdxx1tedqRFztcNzqvLA2YVz75VEiFEhij7K/t Uljx+nLrBED4NtX5c5jUO3PChMnILVoXIgLYQHDHlLprIFZnKXXGDiYKsCyrOLg= X-Google-Smtp-Source: AGHT+IG8ZLQoucHMQ7MwD9/gCIBOA9K2EbQSGeaUEnhgsmyqdpZsKlmIepvCRxoyCae1FcgtoOqALA== X-Received: by 2002:a50:a44a:0:b0:5b8:4a95:2fe7 with SMTP id 4fb4d7f45d1cf-5b84a95347cmr11923914a12.1.1722943081588; Tue, 06 Aug 2024 04:18:01 -0700 (PDT) Received: from jlinkes-PT-Latitude-5530.pantheon.local (81.89.53.154.host.vnet.sk. [81.89.53.154]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5bb885c8b57sm2624520a12.96.2024.08.06.04.18.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Aug 2024 04:18:01 -0700 (PDT) From: =?utf-8?q?Juraj_Linke=C5=A1?= To: thomas@monjalon.net, Honnappa.Nagarahalli@arm.com, bruce.richardson@intel.com, jspewock@iol.unh.edu, probb@iol.unh.edu, paul.szczepanek@arm.com, Luca.Vizzarro@arm.com, npratte@iol.unh.edu Cc: dev@dpdk.org, =?utf-8?q?Juraj_Linke=C5=A1?= , Luca Vizzarro Subject: [PATCH v14 4/6] dts: add API doc sources Date: Tue, 6 Aug 2024 13:17:54 +0200 Message-Id: <20240806111756.314055-5-juraj.linkes@pantheon.tech> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240806111756.314055-1-juraj.linkes@pantheon.tech> References: <20231115133606.42081-1-juraj.linkes@pantheon.tech> <20240806111756.314055-1-juraj.linkes@pantheon.tech> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org These sources could be generated with the sphinx-apidoc utility, but that doesn't give us enough flexibility, such as sorting the order of modules or changing the headers of the modules. The sources included in this patch were in fact generated by said utility, but modified to improve the look of the documentation. The improvements are mainly in toctree definitions and the titles of the modules/packages. These were made with specific Sphinx config options in mind. Signed-off-by: Juraj Linkeš Reviewed-by: Luca Vizzarro Reviewed-by: Jeremy Spewock Tested-by: Luca Vizzarro --- dts/doc/conf_yaml_schema.json | 1 + dts/doc/framework.config.rst | 12 ++++++ dts/doc/framework.config.types.rst | 6 +++ dts/doc/framework.exception.rst | 6 +++ dts/doc/framework.logger.rst | 6 +++ dts/doc/framework.params.eal.rst | 6 +++ dts/doc/framework.params.rst | 14 ++++++ dts/doc/framework.params.testpmd.rst | 6 +++ dts/doc/framework.params.types.rst | 6 +++ dts/doc/framework.parser.rst | 6 +++ .../framework.remote_session.dpdk_shell.rst | 6 +++ ...ote_session.interactive_remote_session.rst | 6 +++ ...ework.remote_session.interactive_shell.rst | 6 +++ .../framework.remote_session.python_shell.rst | 6 +++ ...ramework.remote_session.remote_session.rst | 6 +++ dts/doc/framework.remote_session.rst | 18 ++++++++ .../framework.remote_session.ssh_session.rst | 6 +++ ...framework.remote_session.testpmd_shell.rst | 6 +++ dts/doc/framework.runner.rst | 6 +++ dts/doc/framework.settings.rst | 6 +++ dts/doc/framework.test_result.rst | 6 +++ dts/doc/framework.test_suite.rst | 6 +++ dts/doc/framework.testbed_model.cpu.rst | 6 +++ .../framework.testbed_model.linux_session.rst | 6 +++ dts/doc/framework.testbed_model.node.rst | 6 +++ .../framework.testbed_model.os_session.rst | 6 +++ dts/doc/framework.testbed_model.port.rst | 6 +++ .../framework.testbed_model.posix_session.rst | 6 +++ dts/doc/framework.testbed_model.rst | 26 +++++++++++ dts/doc/framework.testbed_model.sut_node.rst | 6 +++ dts/doc/framework.testbed_model.tg_node.rst | 6 +++ ..._generator.capturing_traffic_generator.rst | 6 +++ ...mework.testbed_model.traffic_generator.rst | 14 ++++++ ....testbed_model.traffic_generator.scapy.rst | 6 +++ ...el.traffic_generator.traffic_generator.rst | 6 +++ ...framework.testbed_model.virtual_device.rst | 6 +++ dts/doc/framework.utils.rst | 6 +++ dts/doc/index.rst | 43 +++++++++++++++++++ 38 files changed, 314 insertions(+) create mode 120000 dts/doc/conf_yaml_schema.json create mode 100644 dts/doc/framework.config.rst create mode 100644 dts/doc/framework.config.types.rst create mode 100644 dts/doc/framework.exception.rst create mode 100644 dts/doc/framework.logger.rst create mode 100644 dts/doc/framework.params.eal.rst create mode 100644 dts/doc/framework.params.rst create mode 100644 dts/doc/framework.params.testpmd.rst create mode 100644 dts/doc/framework.params.types.rst create mode 100644 dts/doc/framework.parser.rst create mode 100644 dts/doc/framework.remote_session.dpdk_shell.rst create mode 100644 dts/doc/framework.remote_session.interactive_remote_session.rst create mode 100644 dts/doc/framework.remote_session.interactive_shell.rst create mode 100644 dts/doc/framework.remote_session.python_shell.rst create mode 100644 dts/doc/framework.remote_session.remote_session.rst create mode 100644 dts/doc/framework.remote_session.rst create mode 100644 dts/doc/framework.remote_session.ssh_session.rst create mode 100644 dts/doc/framework.remote_session.testpmd_shell.rst create mode 100644 dts/doc/framework.runner.rst create mode 100644 dts/doc/framework.settings.rst create mode 100644 dts/doc/framework.test_result.rst create mode 100644 dts/doc/framework.test_suite.rst create mode 100644 dts/doc/framework.testbed_model.cpu.rst create mode 100644 dts/doc/framework.testbed_model.linux_session.rst create mode 100644 dts/doc/framework.testbed_model.node.rst create mode 100644 dts/doc/framework.testbed_model.os_session.rst create mode 100644 dts/doc/framework.testbed_model.port.rst create mode 100644 dts/doc/framework.testbed_model.posix_session.rst create mode 100644 dts/doc/framework.testbed_model.rst create mode 100644 dts/doc/framework.testbed_model.sut_node.rst create mode 100644 dts/doc/framework.testbed_model.tg_node.rst create mode 100644 dts/doc/framework.testbed_model.traffic_generator.capturing_traffic_generator.rst create mode 100644 dts/doc/framework.testbed_model.traffic_generator.rst create mode 100644 dts/doc/framework.testbed_model.traffic_generator.scapy.rst create mode 100644 dts/doc/framework.testbed_model.traffic_generator.traffic_generator.rst create mode 100644 dts/doc/framework.testbed_model.virtual_device.rst create mode 100644 dts/doc/framework.utils.rst create mode 100644 dts/doc/index.rst diff --git a/dts/doc/conf_yaml_schema.json b/dts/doc/conf_yaml_schema.json new file mode 120000 index 0000000000..d89eb81b72 --- /dev/null +++ b/dts/doc/conf_yaml_schema.json @@ -0,0 +1 @@ +../framework/config/conf_yaml_schema.json \ No newline at end of file diff --git a/dts/doc/framework.config.rst b/dts/doc/framework.config.rst new file mode 100644 index 0000000000..f765ef0e32 --- /dev/null +++ b/dts/doc/framework.config.rst @@ -0,0 +1,12 @@ +config - Configuration Package +============================== + +.. automodule:: framework.config + :members: + :show-inheritance: + +.. toctree:: + :hidden: + :maxdepth: 1 + + framework.config.types diff --git a/dts/doc/framework.config.types.rst b/dts/doc/framework.config.types.rst new file mode 100644 index 0000000000..ed52bf5d3e --- /dev/null +++ b/dts/doc/framework.config.types.rst @@ -0,0 +1,6 @@ +config.types - Configuration Types +================================== + +.. automodule:: framework.config.types + :members: + :show-inheritance: diff --git a/dts/doc/framework.exception.rst b/dts/doc/framework.exception.rst new file mode 100644 index 0000000000..ad58bd15de --- /dev/null +++ b/dts/doc/framework.exception.rst @@ -0,0 +1,6 @@ +exception - Exceptions +====================== + +.. automodule:: framework.exception + :members: + :show-inheritance: diff --git a/dts/doc/framework.logger.rst b/dts/doc/framework.logger.rst new file mode 100644 index 0000000000..3c25b34819 --- /dev/null +++ b/dts/doc/framework.logger.rst @@ -0,0 +1,6 @@ +logger - Logging Facility +========================= + +.. automodule:: framework.logger + :members: + :show-inheritance: diff --git a/dts/doc/framework.params.eal.rst b/dts/doc/framework.params.eal.rst new file mode 100644 index 0000000000..3908f6d471 --- /dev/null +++ b/dts/doc/framework.params.eal.rst @@ -0,0 +1,6 @@ +eal - EAL Parameters Modelling +============================== + +.. automodule:: framework.params.eal + :members: + :show-inheritance: diff --git a/dts/doc/framework.params.rst b/dts/doc/framework.params.rst new file mode 100644 index 0000000000..a273b6378a --- /dev/null +++ b/dts/doc/framework.params.rst @@ -0,0 +1,14 @@ +params - Command Line Parameters Modelling +========================================== + +.. automodule:: framework.params + :members: + :show-inheritance: + +.. toctree:: + :hidden: + :maxdepth: 1 + + framework.params.eal + framework.params.testpmd + framework.params.types diff --git a/dts/doc/framework.params.testpmd.rst b/dts/doc/framework.params.testpmd.rst new file mode 100644 index 0000000000..5f25ed5528 --- /dev/null +++ b/dts/doc/framework.params.testpmd.rst @@ -0,0 +1,6 @@ +testpmd - TestPMD Parameters Modelling +====================================== + +.. automodule:: framework.params.testpmd + :members: + :show-inheritance: diff --git a/dts/doc/framework.params.types.rst b/dts/doc/framework.params.types.rst new file mode 100644 index 0000000000..9c68a7fab8 --- /dev/null +++ b/dts/doc/framework.params.types.rst @@ -0,0 +1,6 @@ +params.types - Parameters Modelling Types +========================================= + +.. automodule:: framework.params.types + :members: + :show-inheritance: diff --git a/dts/doc/framework.parser.rst b/dts/doc/framework.parser.rst new file mode 100644 index 0000000000..a5e3264f35 --- /dev/null +++ b/dts/doc/framework.parser.rst @@ -0,0 +1,6 @@ +parser - Text Parsing Utilities +=============================== + +.. automodule:: framework.parser + :members: + :show-inheritance: diff --git a/dts/doc/framework.remote_session.dpdk_shell.rst b/dts/doc/framework.remote_session.dpdk_shell.rst new file mode 100644 index 0000000000..4402eba4fd --- /dev/null +++ b/dts/doc/framework.remote_session.dpdk_shell.rst @@ -0,0 +1,6 @@ +dpdk\_shell - DPDK Interactive Remote Shell +=========================================== + +.. automodule:: framework.remote_session.dpdk_shell + :members: + :show-inheritance: diff --git a/dts/doc/framework.remote_session.interactive_remote_session.rst b/dts/doc/framework.remote_session.interactive_remote_session.rst new file mode 100644 index 0000000000..35dc5c4b03 --- /dev/null +++ b/dts/doc/framework.remote_session.interactive_remote_session.rst @@ -0,0 +1,6 @@ +interactive\_remote\_session - SSH Interactive Remote Session +============================================================= + +.. automodule:: framework.remote_session.interactive_remote_session + :members: + :show-inheritance: diff --git a/dts/doc/framework.remote_session.interactive_shell.rst b/dts/doc/framework.remote_session.interactive_shell.rst new file mode 100644 index 0000000000..8a59db7b6e --- /dev/null +++ b/dts/doc/framework.remote_session.interactive_shell.rst @@ -0,0 +1,6 @@ +interactive\_shell - Base Interactive Remote Shell +================================================== + +.. automodule:: framework.remote_session.interactive_shell + :members: + :show-inheritance: diff --git a/dts/doc/framework.remote_session.python_shell.rst b/dts/doc/framework.remote_session.python_shell.rst new file mode 100644 index 0000000000..a8ec06f281 --- /dev/null +++ b/dts/doc/framework.remote_session.python_shell.rst @@ -0,0 +1,6 @@ +python\_shell - Python Interactive Remote Shell +=============================================== + +.. automodule:: framework.remote_session.python_shell + :members: + :show-inheritance: diff --git a/dts/doc/framework.remote_session.remote_session.rst b/dts/doc/framework.remote_session.remote_session.rst new file mode 100644 index 0000000000..58b0960d07 --- /dev/null +++ b/dts/doc/framework.remote_session.remote_session.rst @@ -0,0 +1,6 @@ +remote\_session - Remote Session ABC +==================================== + +.. automodule:: framework.remote_session.remote_session + :members: + :show-inheritance: diff --git a/dts/doc/framework.remote_session.rst b/dts/doc/framework.remote_session.rst new file mode 100644 index 0000000000..4e755b1fe3 --- /dev/null +++ b/dts/doc/framework.remote_session.rst @@ -0,0 +1,18 @@ +remote\_session - Node Connections Package +========================================== + +.. automodule:: framework.remote_session + :members: + :show-inheritance: + +.. toctree:: + :hidden: + :maxdepth: 1 + + framework.remote_session.remote_session + framework.remote_session.ssh_session + framework.remote_session.interactive_remote_session + framework.remote_session.interactive_shell + framework.remote_session.dpdk_shell + framework.remote_session.testpmd_shell + framework.remote_session.python_shell diff --git a/dts/doc/framework.remote_session.ssh_session.rst b/dts/doc/framework.remote_session.ssh_session.rst new file mode 100644 index 0000000000..05b019bc7c --- /dev/null +++ b/dts/doc/framework.remote_session.ssh_session.rst @@ -0,0 +1,6 @@ +ssh\_session - SSH Remote Session +================================= + +.. automodule:: framework.remote_session.ssh_session + :members: + :show-inheritance: diff --git a/dts/doc/framework.remote_session.testpmd_shell.rst b/dts/doc/framework.remote_session.testpmd_shell.rst new file mode 100644 index 0000000000..14510afb2b --- /dev/null +++ b/dts/doc/framework.remote_session.testpmd_shell.rst @@ -0,0 +1,6 @@ +testpmd\_shell - Testpmd Interactive Remote Shell +================================================= + +.. automodule:: framework.remote_session.testpmd_shell + :members: + :show-inheritance: diff --git a/dts/doc/framework.runner.rst b/dts/doc/framework.runner.rst new file mode 100644 index 0000000000..a1708f0002 --- /dev/null +++ b/dts/doc/framework.runner.rst @@ -0,0 +1,6 @@ +runner - Testbed Setup and Test Suite Runner +============================================ + +.. automodule:: framework.runner + :members: + :show-inheritance: diff --git a/dts/doc/framework.settings.rst b/dts/doc/framework.settings.rst new file mode 100644 index 0000000000..96bf194923 --- /dev/null +++ b/dts/doc/framework.settings.rst @@ -0,0 +1,6 @@ +settings - Command Line Arguments and Environment Variables +=========================================================== + +.. automodule:: framework.settings + :members: + :show-inheritance: diff --git a/dts/doc/framework.test_result.rst b/dts/doc/framework.test_result.rst new file mode 100644 index 0000000000..527357a04a --- /dev/null +++ b/dts/doc/framework.test_result.rst @@ -0,0 +1,6 @@ +test\_result - Test Results Records +=================================== + +.. automodule:: framework.test_result + :members: + :show-inheritance: diff --git a/dts/doc/framework.test_suite.rst b/dts/doc/framework.test_suite.rst new file mode 100644 index 0000000000..96f893e465 --- /dev/null +++ b/dts/doc/framework.test_suite.rst @@ -0,0 +1,6 @@ +test\_suite - Common Test Suite Features +======================================== + +.. automodule:: framework.test_suite + :members: + :show-inheritance: diff --git a/dts/doc/framework.testbed_model.cpu.rst b/dts/doc/framework.testbed_model.cpu.rst new file mode 100644 index 0000000000..dd2baf09fb --- /dev/null +++ b/dts/doc/framework.testbed_model.cpu.rst @@ -0,0 +1,6 @@ +cpu - CPU Representation and Utilities +====================================== + +.. automodule:: framework.testbed_model.cpu + :members: + :show-inheritance: diff --git a/dts/doc/framework.testbed_model.linux_session.rst b/dts/doc/framework.testbed_model.linux_session.rst new file mode 100644 index 0000000000..141f3f49e3 --- /dev/null +++ b/dts/doc/framework.testbed_model.linux_session.rst @@ -0,0 +1,6 @@ +linux\_session - Linux Remote Session +===================================== + +.. automodule:: framework.testbed_model.linux_session + :members: + :show-inheritance: diff --git a/dts/doc/framework.testbed_model.node.rst b/dts/doc/framework.testbed_model.node.rst new file mode 100644 index 0000000000..2133dd604b --- /dev/null +++ b/dts/doc/framework.testbed_model.node.rst @@ -0,0 +1,6 @@ +node - Base Node +================ + +.. automodule:: framework.testbed_model.node + :members: + :show-inheritance: diff --git a/dts/doc/framework.testbed_model.os_session.rst b/dts/doc/framework.testbed_model.os_session.rst new file mode 100644 index 0000000000..f3574e939a --- /dev/null +++ b/dts/doc/framework.testbed_model.os_session.rst @@ -0,0 +1,6 @@ +os\_session - OS-aware Remote Session ABC +========================================= + +.. automodule:: framework.testbed_model.os_session + :members: + :show-inheritance: diff --git a/dts/doc/framework.testbed_model.port.rst b/dts/doc/framework.testbed_model.port.rst new file mode 100644 index 0000000000..17bd391e63 --- /dev/null +++ b/dts/doc/framework.testbed_model.port.rst @@ -0,0 +1,6 @@ +port - NIC Port Representation +============================== + +.. automodule:: framework.testbed_model.port + :members: + :show-inheritance: diff --git a/dts/doc/framework.testbed_model.posix_session.rst b/dts/doc/framework.testbed_model.posix_session.rst new file mode 100644 index 0000000000..308c051ae5 --- /dev/null +++ b/dts/doc/framework.testbed_model.posix_session.rst @@ -0,0 +1,6 @@ +posix\_session - Posix Remote Session +===================================== + +.. automodule:: framework.testbed_model.posix_session + :members: + :show-inheritance: diff --git a/dts/doc/framework.testbed_model.rst b/dts/doc/framework.testbed_model.rst new file mode 100644 index 0000000000..4b024e47e6 --- /dev/null +++ b/dts/doc/framework.testbed_model.rst @@ -0,0 +1,26 @@ +testbed\_model - Testbed Modelling Package +========================================== + +.. automodule:: framework.testbed_model + :members: + :show-inheritance: + +.. toctree:: + :hidden: + :maxdepth: 2 + + framework.testbed_model.traffic_generator + +.. toctree:: + :hidden: + :maxdepth: 1 + + framework.testbed_model.os_session + framework.testbed_model.linux_session + framework.testbed_model.posix_session + framework.testbed_model.node + framework.testbed_model.sut_node + framework.testbed_model.tg_node + framework.testbed_model.cpu + framework.testbed_model.port + framework.testbed_model.virtual_device diff --git a/dts/doc/framework.testbed_model.sut_node.rst b/dts/doc/framework.testbed_model.sut_node.rst new file mode 100644 index 0000000000..7e12b6c87e --- /dev/null +++ b/dts/doc/framework.testbed_model.sut_node.rst @@ -0,0 +1,6 @@ +sut\_node - System Under Test Node +================================== + +.. automodule:: framework.testbed_model.sut_node + :members: + :show-inheritance: diff --git a/dts/doc/framework.testbed_model.tg_node.rst b/dts/doc/framework.testbed_model.tg_node.rst new file mode 100644 index 0000000000..e56db8e782 --- /dev/null +++ b/dts/doc/framework.testbed_model.tg_node.rst @@ -0,0 +1,6 @@ +tg\_node - Traffic Generator Node +================================= + +.. automodule:: framework.testbed_model.tg_node + :members: + :show-inheritance: diff --git a/dts/doc/framework.testbed_model.traffic_generator.capturing_traffic_generator.rst b/dts/doc/framework.testbed_model.traffic_generator.capturing_traffic_generator.rst new file mode 100644 index 0000000000..06c087155a --- /dev/null +++ b/dts/doc/framework.testbed_model.traffic_generator.capturing_traffic_generator.rst @@ -0,0 +1,6 @@ +capturing\_traffic\_generator - Base Capturing TG ABC +===================================================== + +.. automodule:: framework.testbed_model.traffic_generator.capturing_traffic_generator + :members: + :show-inheritance: diff --git a/dts/doc/framework.testbed_model.traffic_generator.rst b/dts/doc/framework.testbed_model.traffic_generator.rst new file mode 100644 index 0000000000..18b6f1b98b --- /dev/null +++ b/dts/doc/framework.testbed_model.traffic_generator.rst @@ -0,0 +1,14 @@ +traffic\_generator Subpackage +============================= + +.. automodule:: framework.testbed_model.traffic_generator + :members: + :show-inheritance: + +.. toctree:: + :hidden: + :maxdepth: 1 + + framework.testbed_model.traffic_generator.traffic_generator + framework.testbed_model.traffic_generator.capturing_traffic_generator + framework.testbed_model.traffic_generator.scapy diff --git a/dts/doc/framework.testbed_model.traffic_generator.scapy.rst b/dts/doc/framework.testbed_model.traffic_generator.scapy.rst new file mode 100644 index 0000000000..7062914ec3 --- /dev/null +++ b/dts/doc/framework.testbed_model.traffic_generator.scapy.rst @@ -0,0 +1,6 @@ +scapy - Capturing Traffic Generator +=================================== + +.. automodule:: framework.testbed_model.traffic_generator.scapy + :members: + :show-inheritance: diff --git a/dts/doc/framework.testbed_model.traffic_generator.traffic_generator.rst b/dts/doc/framework.testbed_model.traffic_generator.traffic_generator.rst new file mode 100644 index 0000000000..e366d7f222 --- /dev/null +++ b/dts/doc/framework.testbed_model.traffic_generator.traffic_generator.rst @@ -0,0 +1,6 @@ +traffic\_generator - Base TG ABC +================================ + +.. automodule:: framework.testbed_model.traffic_generator.traffic_generator + :members: + :show-inheritance: diff --git a/dts/doc/framework.testbed_model.virtual_device.rst b/dts/doc/framework.testbed_model.virtual_device.rst new file mode 100644 index 0000000000..38e6c1d0bc --- /dev/null +++ b/dts/doc/framework.testbed_model.virtual_device.rst @@ -0,0 +1,6 @@ +virtual\_device - Virtual Devices +================================= + +.. automodule:: framework.testbed_model.virtual_device + :members: + :show-inheritance: diff --git a/dts/doc/framework.utils.rst b/dts/doc/framework.utils.rst new file mode 100644 index 0000000000..0e7bb80666 --- /dev/null +++ b/dts/doc/framework.utils.rst @@ -0,0 +1,6 @@ +utils - Various Utilities +========================= + +.. automodule:: framework.utils + :members: + :show-inheritance: diff --git a/dts/doc/index.rst b/dts/doc/index.rst new file mode 100644 index 0000000000..e83fa33e7d --- /dev/null +++ b/dts/doc/index.rst @@ -0,0 +1,43 @@ +.. DPDK Test Suite documentation. + +Welcome to DPDK Test Suite's API documentation! +=============================================== + +.. automodule:: framework + :members: + :show-inheritance: + +Packages +-------- + +.. toctree:: + :includehidden: + :maxdepth: 1 + + framework.testbed_model + framework.remote_session + framework.params + framework.config + +Modules +------- + +.. toctree:: + :maxdepth: 1 + + framework.runner + framework.test_suite + framework.test_result + framework.settings + framework.logger + framework.parser + framework.utils + framework.exception + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` From patchwork Tue Aug 6 11:17:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Juraj_Linke=C5=A1?= X-Patchwork-Id: 142940 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id B4F1E4574A; Tue, 6 Aug 2024 13:18:31 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7C5B542E53; Tue, 6 Aug 2024 13:18:06 +0200 (CEST) Received: from mail-lf1-f53.google.com (mail-lf1-f53.google.com [209.85.167.53]) by mails.dpdk.org (Postfix) with ESMTP id 1373F42E4E for ; Tue, 6 Aug 2024 13:18:05 +0200 (CEST) Received: by mail-lf1-f53.google.com with SMTP id 2adb3069b0e04-52efd8807aaso911285e87.3 for ; Tue, 06 Aug 2024 04:18:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pantheon.tech; s=google; t=1722943084; x=1723547884; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0u47czjlS8cKnnoOqEb2XC8dMYCEsM+tw4z0NtXvHgw=; b=IccJkIILPocI3Jj/FhZmkXYWagii4L0IbfUfEQtlkXj9yd81tHGSXDDeiBWl3czUed qTFmejpw/kyCgLANZUkop1lABj3uRKjRzjh0Zgp5VBvAW77iw/CqrnazwXZign5qb5LI YQzZc0IO64S6M2cO/IrqCkXgGRIerIJ/wy0qVWlSscjleKqyK0S5Luhscm8NiTdlM9xQ TADJ9MLPgsTgXEDrewOrf9XNnMNF9F6wfFpKs/zY7zQ/r9rVFwymuJrWEja9qjX0axto T5XfyfE/3uZi/OKXlATw3s5FV+vDupi5rAe2qqPxqpbHm9w4luq+XF/iZ/qj5tYaKzhF eNdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722943084; x=1723547884; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0u47czjlS8cKnnoOqEb2XC8dMYCEsM+tw4z0NtXvHgw=; b=tz/N4523Xbgap8Mj27nDxcUu1pY6uP0hkFz0YzYzvWmfZ24TlFl5vgROoVYRsOEUhC GrXYnVzF+fHjHiUeWOZH1uGxqJv2cgLKtv85GCRTMYMlHvkGX3rArGESo8Rkxt/uIzRm Z2m+kORD47p5sTXKnrYAaHrrt5wffhcp3lRil5ztRpEo2oFiPCyRsVpvQTzmKCM6r2gw MpIBYkHcY164SU6hNfTrMIfccamn/Gx1iI9bfRfH/tgri56kdAbsbiqlfHe8b70hoo9N s5R3KfTcv6wzcP4g3EGrMOU4WsL+iR6SDvHtDYFct2wHWl6QczOi2gdnPyfnk+3mZu6b ZtkA== X-Gm-Message-State: AOJu0Yw3OJJcZ9aLxlzGsZpfHdD6jJxlYznDZXi7dZ9YSO2kYlZEmFdX A6jVyrQIqJYvHhbyVdj9XXGJFcLmFPVABEoXLMRx96jsWl7u9xTygLN3mUseHH8= X-Google-Smtp-Source: AGHT+IGvbNOF+LKbCZQSjq/FDUWdPyYWI9aN0t92aprTXrQYtbM64LWsZwr21g77Q3/mcOeWlbod5A== X-Received: by 2002:ac2:5057:0:b0:530:c1fb:51a1 with SMTP id 2adb3069b0e04-530c1fb5420mr5841786e87.17.1722943084274; Tue, 06 Aug 2024 04:18:04 -0700 (PDT) Received: from jlinkes-PT-Latitude-5530.pantheon.local (81.89.53.154.host.vnet.sk. [81.89.53.154]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5bb885c8b57sm2624520a12.96.2024.08.06.04.18.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Aug 2024 04:18:04 -0700 (PDT) From: =?utf-8?q?Juraj_Linke=C5=A1?= To: thomas@monjalon.net, Honnappa.Nagarahalli@arm.com, bruce.richardson@intel.com, jspewock@iol.unh.edu, probb@iol.unh.edu, paul.szczepanek@arm.com, Luca.Vizzarro@arm.com, npratte@iol.unh.edu Cc: dev@dpdk.org, =?utf-8?q?Juraj_Linke=C5=A1?= , Luca Vizzarro Subject: [PATCH v14 5/6] doc: meson doc API build dir variable Date: Tue, 6 Aug 2024 13:17:55 +0200 Message-Id: <20240806111756.314055-6-juraj.linkes@pantheon.tech> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240806111756.314055-1-juraj.linkes@pantheon.tech> References: <20231115133606.42081-1-juraj.linkes@pantheon.tech> <20240806111756.314055-1-juraj.linkes@pantheon.tech> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org The three instances of the path 'dpdk_build_root/doc/api' are replaced with a variable, moving the definition to one place. Signed-off-by: Juraj Linkeš Reviewed-by: Luca Vizzarro Reviewed-by: Jeremy Spewock Acked-by: Bruce Richardson Tested-by: Luca Vizzarro Tested-by: Nicholas Pratte --- doc/api/meson.build | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/doc/api/meson.build b/doc/api/meson.build index 5b50692df9..b828b1ed66 100644 --- a/doc/api/meson.build +++ b/doc/api/meson.build @@ -1,6 +1,7 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2018 Luca Boccassi +doc_api_build_dir = meson.current_build_dir() doxygen = find_program('doxygen', required: get_option('enable_docs')) if not doxygen.found() @@ -32,10 +33,10 @@ example = custom_target('examples.dox', # set up common Doxygen configuration cdata = configuration_data() cdata.set('VERSION', meson.project_version()) -cdata.set('API_EXAMPLES', join_paths(dpdk_build_root, 'doc', 'api', 'examples.dox')) -cdata.set('OUTPUT', join_paths(dpdk_build_root, 'doc', 'api')) +cdata.set('API_EXAMPLES', join_paths(doc_api_build_dir, 'examples.dox')) +cdata.set('OUTPUT', doc_api_build_dir) cdata.set('TOPDIR', dpdk_source_root) -cdata.set('STRIP_FROM_PATH', ' '.join([dpdk_source_root, join_paths(dpdk_build_root, 'doc', 'api')])) +cdata.set('STRIP_FROM_PATH', ' '.join([dpdk_source_root, doc_api_build_dir])) cdata.set('WARN_AS_ERROR', 'NO') if get_option('werror') cdata.set('WARN_AS_ERROR', 'YES') From patchwork Tue Aug 6 11:17:56 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Juraj_Linke=C5=A1?= X-Patchwork-Id: 142942 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2215E4574A; Tue, 6 Aug 2024 13:18:44 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0DD8842E5D; Tue, 6 Aug 2024 13:18:10 +0200 (CEST) Received: from mail-lf1-f51.google.com (mail-lf1-f51.google.com [209.85.167.51]) by mails.dpdk.org (Postfix) with ESMTP id A3F6A42E55 for ; Tue, 6 Aug 2024 13:18:06 +0200 (CEST) Received: by mail-lf1-f51.google.com with SMTP id 2adb3069b0e04-52f04150796so955279e87.3 for ; Tue, 06 Aug 2024 04:18:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pantheon.tech; s=google; t=1722943086; x=1723547886; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=IWsoya+Fs/NLJxnz4B5CgC1XF3IqTYG/fwnHFmHs7Ps=; b=afzM1m061rEvw0NBgO8vF87f4yZ2GtW1W65vM4lVvp7zGDxEzfmfWhhXA4plJwoQjq l45WqtnQf4OxKDM1xTHtUoarFc1aZMSdwZ5JSr9yq51NH7KYb2XS+RLpaAM9uJ68QWv8 pWvdSpAH2uJ1Ger1UkbKQ4SOAjWtBop++t9SE+HVJek1pLg5Ka6Lfa/pbwgkoJddqTgr 010cOPY5SZb2wnREr/q5V8e2SyDkMbSOd8Po/0OQZExCyo5BUOE3MHWQkMirtBjkICZW 7JtW6iICu7MP0ADCvKhFZAdwEBx8beUc9cbXr2npPp9JlQzqHg+tAnPwzQx4xcUMbJZl pguA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722943086; x=1723547886; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=IWsoya+Fs/NLJxnz4B5CgC1XF3IqTYG/fwnHFmHs7Ps=; b=ATWCTpYWDe8Zd2Gzn7I40RQV54+gcq1AjZz/AA3PysW+XkYMLM7Jq4NVcwJSn0YKfv yhIH7oFIjFkCqvp/S/3u+rGVT+qq3hBGr7bS/J8veNoazsNarQE5TzAe6L1rEBx/1svA ndMTvNZuYt0xRXkXn1wCTrbofooqUqyH66PiWLl3hNDRNa34UGNzTdhFkZJ/K5gnww/C FtggA3t/P5j1An8bCNbwxewm9pv03xHDr6xE44BgNLXafRN8dMChaMcJtTmeDrh9YzUM NS0YCELGtfdZqw8LO2zAzAAH554YUs3cWJ9YjfjImkmfv70jYGHu16CqaKFJ609K3ZNM 0QFw== X-Gm-Message-State: AOJu0Yx+LeDypP/4uzDR1e6lqR6DYOUTnK1Sy8+VG0CK6Vfg0ZCUQiPH aUwipbO8lo93ghr1DuzSbydY0fMZAdvR3jWISbAu/ePpWaI81vt4yEfcy53Nr7o= X-Google-Smtp-Source: AGHT+IGJxLN1FWweuhrmD8U8x8sAiIkjYIm3rdWU+QHnXgEHlqKPHYx18yeqKyxE+DeWkUXjlp7KyA== X-Received: by 2002:ac2:4e0b:0:b0:52e:faf0:40c with SMTP id 2adb3069b0e04-530bb367688mr10728038e87.3.1722943085708; Tue, 06 Aug 2024 04:18:05 -0700 (PDT) Received: from jlinkes-PT-Latitude-5530.pantheon.local (81.89.53.154.host.vnet.sk. [81.89.53.154]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5bb885c8b57sm2624520a12.96.2024.08.06.04.18.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Aug 2024 04:18:04 -0700 (PDT) From: =?utf-8?q?Juraj_Linke=C5=A1?= To: thomas@monjalon.net, Honnappa.Nagarahalli@arm.com, bruce.richardson@intel.com, jspewock@iol.unh.edu, probb@iol.unh.edu, paul.szczepanek@arm.com, Luca.Vizzarro@arm.com, npratte@iol.unh.edu Cc: dev@dpdk.org, =?utf-8?q?Juraj_Linke=C5=A1?= Subject: [PATCH v14 6/6] dts: add API doc generation Date: Tue, 6 Aug 2024 13:17:56 +0200 Message-Id: <20240806111756.314055-7-juraj.linkes@pantheon.tech> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240806111756.314055-1-juraj.linkes@pantheon.tech> References: <20231115133606.42081-1-juraj.linkes@pantheon.tech> <20240806111756.314055-1-juraj.linkes@pantheon.tech> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org The tool used to generate DTS API docs is Sphinx, which is already in use in DPDK. The same configuration is used to preserve style with one DTS-specific configuration (so that the DPDK docs are unchanged) that modifies how the sidebar displays the content. Sphinx generates the documentation from Python docstrings. The docstring format is the Google format [0] which requires the sphinx.ext.napoleon extension. The other extension, sphinx.ext.intersphinx, enables linking to objects in external documentations, such as the Python documentation. There is one requirement for building DTS docs - the same Python version as DTS or higher, because Sphinx's autodoc extension imports the code. The dependencies needed to import the code don't have to be satisfied, as the autodoc extension allows us to mock the imports. The missing packages are taken from the DTS pyproject.toml file. The generated DTS API docs are linked with the DPDK API docs according to their placement after installing them with 'meson install'. However, the build path differs from the install path, requiring a symlink from DPDK API doc build path to DTS API build path to produce the proper link in the build directory. [0] https://google.github.io/styleguide/pyguide.html#38-comments-and-docstrings Signed-off-by: Juraj Linkeš --- buildtools/call-sphinx-build.py | 10 ++- buildtools/get-dts-deps.py | 78 +++++++++++++++++++++++ buildtools/meson.build | 1 + doc/api/doxy-api-index.md | 3 + doc/api/doxy-api.conf.in | 2 + doc/api/meson.build | 1 + doc/guides/conf.py | 41 +++++++++++- doc/guides/contributing/documentation.rst | 2 + doc/guides/contributing/patches.rst | 4 ++ doc/guides/meson.build | 1 + doc/guides/tools/dts.rst | 39 +++++++++++- dts/doc/meson.build | 43 +++++++++++++ dts/meson.build | 15 +++++ meson.build | 1 + 14 files changed, 238 insertions(+), 3 deletions(-) create mode 100755 buildtools/get-dts-deps.py create mode 100644 dts/doc/meson.build create mode 100644 dts/meson.build diff --git a/buildtools/call-sphinx-build.py b/buildtools/call-sphinx-build.py index 623e7363ee..5dd59907cd 100755 --- a/buildtools/call-sphinx-build.py +++ b/buildtools/call-sphinx-build.py @@ -15,6 +15,11 @@ # set the version in environment for sphinx to pick up os.environ['DPDK_VERSION'] = version +conf_src = src +if src.find('dts') != -1: + if '-c' in extra_args: + conf_src = extra_args[extra_args.index('-c') + 1] + os.environ['DTS_BUILD'] = "y" sphinx_cmd = [sphinx] + extra_args @@ -23,6 +28,9 @@ for root, dirs, files in os.walk(src): srcfiles.extend([join(root, f) for f in files]) +if not os.path.exists(dst): + os.makedirs(dst) + # run sphinx, putting the html output in a "html" directory with open(join(dst, 'sphinx_html.out'), 'w') as out: process = run(sphinx_cmd + ['-b', 'html', src, join(dst, 'html')], @@ -34,7 +42,7 @@ # copy custom CSS file css = 'custom.css' -src_css = join(src, css) +src_css = join(conf_src, css) dst_css = join(dst, 'html', '_static', 'css', css) if not os.path.exists(dst_css) or not filecmp.cmp(src_css, dst_css): os.makedirs(os.path.dirname(dst_css), exist_ok=True) diff --git a/buildtools/get-dts-deps.py b/buildtools/get-dts-deps.py new file mode 100755 index 0000000000..309b83cb5c --- /dev/null +++ b/buildtools/get-dts-deps.py @@ -0,0 +1,78 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2024 PANTHEON.tech s.r.o. +# + +"""Utilities for DTS dependencies. + +The module can be used as an executable script, +which verifies that the running Python version meets the version requirement of DTS. +The script returns the standard exit codes in this mode (0 is success, 1 is failure). + +The module also contains a function, get_missing_imports, +which looks for runtime and doc generation dependencies in the DTS pyproject.toml file +a returns a list of module names used in an import statement that are missing. +""" + +import configparser +import importlib.metadata +import importlib.util +import os.path +import platform + +_VERSION_COMPARISON_CHARS = '^<>=' +_EXTRA_DEPS = {'invoke': '>=1.3', 'paramiko': '>=2.4'} +_DPDK_ROOT = os.path.dirname(os.path.dirname(__file__)) +_DTS_DEP_FILE_PATH = os.path.join(_DPDK_ROOT, 'dts', 'pyproject.toml') + + +def _get_version_tuple(version_str): + return tuple(map(int, version_str.split("."))) + + +def _get_dependencies(cfg_file_path): + cfg = configparser.ConfigParser() + with open(cfg_file_path) as f: + dts_deps_file_str = f.read() + dts_deps_file_str = dts_deps_file_str.replace("\n]", "]") + cfg.read_string(dts_deps_file_str) + + deps_section = cfg['tool.poetry.dependencies'] + deps = {dep: deps_section[dep].strip('"\'') for dep in deps_section} + doc_deps_section = cfg['tool.poetry.group.docs.dependencies'] + doc_deps = {dep: doc_deps_section[dep].strip("\"'") for dep in doc_deps_section} + + return deps | doc_deps + + +def get_missing_imports(): + missing_imports = [] + req_deps = _get_dependencies(_DTS_DEP_FILE_PATH) + req_deps.pop('python') + + for req_dep, req_ver in (req_deps | _EXTRA_DEPS).items(): + try: + req_ver = _get_version_tuple(req_ver.strip(_VERSION_COMPARISON_CHARS)) + found_dep_ver = _get_version_tuple(importlib.metadata.version(req_dep)) + if found_dep_ver < req_ver: + print( + f'The version "{found_dep_ver}" of package "{req_dep}" ' + f'is lower than required "{req_ver}".' + ) + except importlib.metadata.PackageNotFoundError: + print(f'Package "{req_dep}" not found.') + missing_imports.append(req_dep.lower().replace('-', '_')) + + return missing_imports + + +if __name__ == '__main__': + python_version = _get_dependencies(_DTS_DEP_FILE_PATH).pop('python') + if python_version: + sys_ver = _get_version_tuple(platform.python_version()) + req_ver = _get_version_tuple(python_version.strip(_VERSION_COMPARISON_CHARS)) + if sys_ver < req_ver: + print( + f'The available Python version "{sys_ver}" is lower than required "{req_ver}".' + ) + exit(1) diff --git a/buildtools/meson.build b/buildtools/meson.build index 3adf34e1a8..599653bea4 100644 --- a/buildtools/meson.build +++ b/buildtools/meson.build @@ -24,6 +24,7 @@ get_numa_count_cmd = py3 + files('get-numa-count.py') get_test_suites_cmd = py3 + files('get-test-suites.py') has_hugepages_cmd = py3 + files('has-hugepages.py') cmdline_gen_cmd = py3 + files('dpdk-cmdline-gen.py') +get_dts_deps = py3 + files('get-dts-deps.py') # install any build tools that end-users might want also install_data([ diff --git a/doc/api/doxy-api-index.md b/doc/api/doxy-api-index.md index f9f0300126..ab223bcdf7 100644 --- a/doc/api/doxy-api-index.md +++ b/doc/api/doxy-api-index.md @@ -245,3 +245,6 @@ The public API headers are grouped by topics: [experimental APIs](@ref rte_compat.h), [ABI versioning](@ref rte_function_versioning.h), [version](@ref rte_version.h) + +- **tests**: + [**DTS**](@dts_api_main_page) diff --git a/doc/api/doxy-api.conf.in b/doc/api/doxy-api.conf.in index a8823c046f..c94f02d411 100644 --- a/doc/api/doxy-api.conf.in +++ b/doc/api/doxy-api.conf.in @@ -124,6 +124,8 @@ SEARCHENGINE = YES SORT_MEMBER_DOCS = NO SOURCE_BROWSER = YES +ALIASES = "dts_api_main_page=@DTS_API_MAIN_PAGE@" + EXAMPLE_PATH = @TOPDIR@/examples EXAMPLE_PATTERNS = *.c EXAMPLE_RECURSIVE = YES diff --git a/doc/api/meson.build b/doc/api/meson.build index b828b1ed66..b893931b92 100644 --- a/doc/api/meson.build +++ b/doc/api/meson.build @@ -41,6 +41,7 @@ cdata.set('WARN_AS_ERROR', 'NO') if get_option('werror') cdata.set('WARN_AS_ERROR', 'YES') endif +cdata.set('DTS_API_MAIN_PAGE', join_paths('..', 'dts', 'html', 'index.html')) # configure HTML Doxygen run html_cdata = configuration_data() diff --git a/doc/guides/conf.py b/doc/guides/conf.py index 0f7ff5282d..eab3387874 100644 --- a/doc/guides/conf.py +++ b/doc/guides/conf.py @@ -10,7 +10,7 @@ from os.path import basename from os.path import dirname from os.path import join as path_join -from sys import argv, stderr +from sys import argv, stderr, path import configparser @@ -24,6 +24,45 @@ file=stderr) pass +# Napoleon enables the Google format of Python doscstrings, used in DTS. +# Intersphinx allows linking to external projects, such as Python docs, also used in DTS. +extensions = ['sphinx.ext.napoleon', 'sphinx.ext.intersphinx'] + +# DTS Python docstring options. +autodoc_default_options = { + 'members': True, + 'member-order': 'bysource', + 'show-inheritance': True, +} +autodoc_class_signature = 'separated' +autodoc_typehints = 'both' +autodoc_typehints_format = 'short' +autodoc_typehints_description_target = 'documented' +napoleon_numpy_docstring = False +napoleon_attr_annotations = True +napoleon_preprocess_types = True +add_module_names = False +toc_object_entries = True +toc_object_entries_show_parents = 'hide' +intersphinx_mapping = {'python': ('https://docs.python.org/3', None)} + +if environ.get('DTS_BUILD'): + # Add path to DTS sources so that Sphinx can find them. + dpdk_root = dirname(dirname(dirname(__file__))) + path.append(path_join(dpdk_root, 'dts')) + + # Get missing DTS dependencies. Add path to buildtools to find the get_missing_imports function. + path.append(path_join(dpdk_root, 'buildtools')) + import importlib + # Ignore missing imports from DTS dependencies. + autodoc_mock_imports = importlib.import_module('get-dts-deps').get_missing_imports() + + # DTS Sidebar config. + html_theme_options = { + 'collapse_navigation': False, + 'navigation_depth': -1, # unlimited depth + } + stop_on_error = ('-W' in argv) project = 'Data Plane Development Kit' diff --git a/doc/guides/contributing/documentation.rst b/doc/guides/contributing/documentation.rst index 68454ae0d5..7b287ce631 100644 --- a/doc/guides/contributing/documentation.rst +++ b/doc/guides/contributing/documentation.rst @@ -133,6 +133,8 @@ added to by the developer. Building the Documentation -------------------------- +.. _doc_dependencies: + Dependencies ~~~~~~~~~~~~ diff --git a/doc/guides/contributing/patches.rst b/doc/guides/contributing/patches.rst index 04c66bebc4..6629928bee 100644 --- a/doc/guides/contributing/patches.rst +++ b/doc/guides/contributing/patches.rst @@ -499,6 +499,10 @@ The script usage is:: For both of the above scripts, the -n option is used to specify a number of commits from HEAD, and the -r option allows the user specify a ``git log`` range. +Additionally, when contributing to the DTS tool, patches should also be checked using +the ``dts-check-format.sh`` script in the ``devtools`` directory of the DPDK repo. +To run the script, extra :ref:`Python dependencies ` are needed. + .. _contrib_check_compilation: Checking Compilation diff --git a/doc/guides/meson.build b/doc/guides/meson.build index f8bbfba9f5..b34b7b8eb0 100644 --- a/doc/guides/meson.build +++ b/doc/guides/meson.build @@ -1,6 +1,7 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2018 Intel Corporation +doc_guides_source_dir = meson.current_source_dir() sphinx = find_program('sphinx-build', required: get_option('enable_docs')) if not sphinx.found() diff --git a/doc/guides/tools/dts.rst b/doc/guides/tools/dts.rst index 515b15e4d8..bd715f8072 100644 --- a/doc/guides/tools/dts.rst +++ b/doc/guides/tools/dts.rst @@ -54,6 +54,7 @@ DTS uses Poetry as its Python dependency management. Python build/development and runtime environments are the same and DTS development environment, DTS runtime environment or just plain DTS environment are used interchangeably. +.. _dts_deps: Setting up DTS environment ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -291,8 +292,15 @@ When adding code to the DTS framework, pay attention to the rest of the code and try not to divert much from it. The :ref:`DTS developer tools ` will issue warnings when some of the basics are not met. +You should also build the :ref:`API documentation ` +to address any issues found during the build. -The code must be properly documented with docstrings. +The API documentation, which is a helpful reference when developing, may be accessed +in the code directly or generated with the :ref:`API docs build steps `. +When adding new files or modifying the directory structure, +the corresponding changes must be made to DTS api doc sources in ``dts/doc``. + +Speaking of which, the code must be properly documented with docstrings. The style must conform to the `Google style `_. See an example of the style `here @@ -427,6 +435,35 @@ the DTS code check and format script. Refer to the script for usage: ``devtools/dts-check-format.sh -h``. +.. _building_api_docs: + +Building DTS API docs +--------------------- + +The documentation is built using the standard DPDK build system. +See :doc:`../linux_gsg/build_dpdk` for more details on compiling DPDK with meson. + +The :ref:`doc build dependencies ` may be installed with Poetry: + +.. code-block:: console + + poetry install --no-root --only docs + poetry install --no-root --with docs # an alternative that will also install DTS dependencies + poetry shell + +After executing the meson command, build the documentation with: + +.. code-block:: console + + ninja -C build dts-doc + +The output is generated in ``build/doc/api/dts/html``. + +.. note:: + + Make sure to fix any Sphinx warnings when adding or updating docstrings. + + Configuration Schema -------------------- diff --git a/dts/doc/meson.build b/dts/doc/meson.build new file mode 100644 index 0000000000..d48a7f2003 --- /dev/null +++ b/dts/doc/meson.build @@ -0,0 +1,43 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2023 PANTHEON.tech s.r.o. + +sphinx = find_program('sphinx-build', required: get_option('enable_docs')) +if not sphinx.found() + subdir_done() +endif + +python_ver_satisfied = run_command(get_dts_deps).returncode() +if python_ver_satisfied != 0 + subdir_done() +endif + +dts_doc_api_build_dir = join_paths(doc_api_build_dir, 'dts') + +extra_sphinx_args = ['-E', '-c', doc_guides_source_dir] +if get_option('werror') + extra_sphinx_args += '-W' +endif + +htmldir = join_paths(get_option('datadir'), 'doc', 'dpdk', 'dts') +dts_api_html = custom_target('dts_api_html', + output: 'html', + command: [sphinx_wrapper, sphinx, meson.project_version(), + meson.current_source_dir(), meson.current_build_dir(), extra_sphinx_args], + build_by_default: get_option('enable_docs'), + install: get_option('enable_docs'), + install_dir: htmldir) + +doc_targets += dts_api_html +doc_target_names += 'DTS_API_HTML' + +build_html_dir = join_paths(meson.current_build_dir(), 'html') +dts_api_symlink = custom_target('dts_api_symlink', + output: 'symlink', + depends: dts_api_html, + command: ['mkdir', '-p', dts_doc_api_build_dir, '&&', + 'ln', '-sf', build_html_dir, dts_doc_api_build_dir], + build_by_default: get_option('enable_docs'), + install: false) + +doc_targets += dts_api_symlink +doc_target_names += 'DTS_API_SYMLINK' diff --git a/dts/meson.build b/dts/meson.build new file mode 100644 index 0000000000..6ed3c93fe1 --- /dev/null +++ b/dts/meson.build @@ -0,0 +1,15 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2023 PANTHEON.tech s.r.o. + +doc_targets = [] +doc_target_names = [] + +subdir('doc') + +if doc_targets.length() == 0 + message = 'No docs targets found' +else + message = 'Built docs:' +endif +run_target('dts-doc', command: [echo, message, doc_target_names], + depends: doc_targets) diff --git a/meson.build b/meson.build index 8b248d4505..835973a0ce 100644 --- a/meson.build +++ b/meson.build @@ -87,6 +87,7 @@ subdir('app') # build docs subdir('doc') +subdir('dts') # build any examples explicitly requested - useful for developers - and # install any example code into the appropriate install path