From patchwork Thu Mar 23 10:40:36 2023 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: 125443 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 E3BB342813; Thu, 23 Mar 2023 11:40:45 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BC49441101; Thu, 23 Mar 2023 11:40:45 +0100 (CET) Received: from mail-ed1-f44.google.com (mail-ed1-f44.google.com [209.85.208.44]) by mails.dpdk.org (Postfix) with ESMTP id 65C224021D for ; Thu, 23 Mar 2023 11:40:44 +0100 (CET) Received: by mail-ed1-f44.google.com with SMTP id w9so84454071edc.3 for ; Thu, 23 Mar 2023 03:40:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pantheon-tech.20210112.gappssmtp.com; s=20210112; t=1679568044; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=rDkeo/v/KKskDhUMaT/MrzylGK8d5B7LNnmlGMplVJQ=; b=HtJWlwNADvTFu+mxL1JVOS5RA2e480jLfXfDK47l5WcWn8RcZx0Pwy0taL7OzHLsof tXeW2UStrxVnScGY5Kn3dDdjbDe24amSHbKQ4mmiou/bXm0ptz2WsbqlwT2Fc0p83ZOH QsxuKyZ/NQ0LJgd9NBblhEVdkspSvDrYlCtxPmgfznWPrY9JPnV3hy9SqvuPsT/+L8wq uVd6PXOJWuZqI5wPt4eofqynT25kMmHbngTxNhtEPtJLVwv0Ecytb1YFeX2YtjYYOKdL SzHARPofiPIgp7tlL3Sf9GTibg/pVNWMdO3osK+GPQFS1GlKzbc7p+CXOXhEkVB3wm+P H+YQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679568044; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=rDkeo/v/KKskDhUMaT/MrzylGK8d5B7LNnmlGMplVJQ=; b=NSLTgn4aF+RZqbfjDX4ZJZw5TUDDSBcSa1d2uhFLJpzXyE87JUewa9iWnwIkG7U3F8 dIVe/7xlQYlwzu+3rCtDlqkkeObSKvJ8sxFc50Z1zkkPFGOAgC/qLkPEIQ3YZ7R2rtjF MKhUOJwewMA4C3W7gHsbC5aaAVW8hpq45Wsd8IzbOj3iW/R67MU5nrX+s5zr+ttYsc/7 DeAUtACnKbd9YGiVWa5RHeLHNMnR9mj2COq3XoOEa8MUk1R1wZ7VNAhhuHwCXEx1dEVi j4eBhMWpYR5ahBeCpxPMiWH/+8RLhY8qCMr/TQ3I99kMLESjkhBluS1vlrYpoC6rn8oi 1WMw== X-Gm-Message-State: AO0yUKUiOraj7nmSCpSe5N1b19jpr6NJ4eGXEzyCTG0Lnshnr1SJ+Iel B1HoGlwpN8iJ2gcj5ZHL8aaxUw== X-Google-Smtp-Source: AK7set/XeWgfya+1Wf9f+lZvYN+majeeh6a1Tb7xbiLi5NlrQJ29rMGv27aa4ssyq4cXeV8HVDpqbA== X-Received: by 2002:a17:906:229a:b0:932:9d28:9668 with SMTP id p26-20020a170906229a00b009329d289668mr10111013eja.6.1679568044089; Thu, 23 Mar 2023 03:40:44 -0700 (PDT) Received: from localhost.localdomain (ip-46.34.245.107.o2inet.sk. [46.34.245.107]) by smtp.gmail.com with ESMTPSA id k10-20020a1709067aca00b009294524ac21sm8472773ejo.60.2023.03.23.03.40.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Mar 2023 03:40:43 -0700 (PDT) From: =?utf-8?q?Juraj_Linke=C5=A1?= To: thomas@monjalon.net, Honnappa.Nagarahalli@arm.com, lijuan.tu@intel.com, bruce.richardson@intel.com, wathsala.vithanage@arm.com, jspewock@iol.unh.edu Cc: dev@dpdk.org, =?utf-8?q?Juraj_Linke=C5=A1?= Subject: [RFC PATCH v1 0/4] dts: add dts api docs Date: Thu, 23 Mar 2023 11:40:36 +0100 Message-Id: <20230323104040.484708-1-juraj.linkes@pantheon.tech> X-Mailer: git-send-email 2.30.2 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 Augment the meson build system with dts api generation. The api docs are generated from Python docstrings in DTS using Sphinx. The format of choice is the Google format [0]. The guide html sphinx configuration is used to preserve the same style. The build requires the same Python version and dependencies as DTS, because Sphinx imports the Python modules. Dependencies are installed using Poetry from the dts directory: poetry install --with docs After installing, enter the Poetry shell: poetry shell And then run the build: ninja -C doc There's only one properly documented module that serves as a demonstration of the style - framework.testbed_model.node. I didn't figure out how to separate dts build from the rest of the docs, which I think is required because of the different dependencies. I thought the enable_docs option would do this, so I added enable_dts_docs, but it doesn't seem to be working. Requesting comment on this. [0] https://google.github.io/styleguide/pyguide.html#s3.8.4-comments-in-classes Juraj Linkeš (4): dts: code adjustments for sphinx dts: add doc generation dependencies dts: add doc generation dts: format docstrigs to google format doc/api/meson.build | 1 + doc/guides/conf.py | 22 +- doc/guides/meson.build | 1 + doc/guides/tools/dts.rst | 29 + doc/meson.build | 5 - dts/doc-index.rst | 20 + dts/framework/config/__init__.py | 11 + .../{testbed_model/hw => config}/cpu.py | 13 + dts/framework/dts.py | 8 +- dts/framework/remote_session/__init__.py | 3 +- dts/framework/remote_session/linux_session.py | 2 +- dts/framework/remote_session/os_session.py | 12 +- .../remote_session/remote/__init__.py | 16 - .../{remote => }/remote_session.py | 0 .../{remote => }/ssh_session.py | 0 dts/framework/settings.py | 55 +- dts/framework/testbed_model/__init__.py | 10 +- dts/framework/testbed_model/hw/__init__.py | 27 - dts/framework/testbed_model/node.py | 164 ++-- dts/framework/testbed_model/sut_node.py | 9 +- .../testbed_model/{hw => }/virtual_device.py | 0 dts/main.py | 3 +- dts/meson.build | 50 ++ dts/poetry.lock | 770 ++++++++++++++++-- dts/pyproject.toml | 7 + dts/tests/TestSuite_hello_world.py | 6 +- meson.build | 6 + meson_options.txt | 2 + 28 files changed, 1027 insertions(+), 225 deletions(-) create mode 100644 dts/doc-index.rst rename dts/framework/{testbed_model/hw => config}/cpu.py (95%) delete mode 100644 dts/framework/remote_session/remote/__init__.py rename dts/framework/remote_session/{remote => }/remote_session.py (100%) rename dts/framework/remote_session/{remote => }/ssh_session.py (100%) delete mode 100644 dts/framework/testbed_model/hw/__init__.py rename dts/framework/testbed_model/{hw => }/virtual_device.py (100%) create mode 100644 dts/meson.build