get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/140002/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 140002,
    "url": "http://patchwork.dpdk.org/api/patches/140002/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20240509112057.1167947-5-luca.vizzarro@arm.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20240509112057.1167947-5-luca.vizzarro@arm.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20240509112057.1167947-5-luca.vizzarro@arm.com",
    "date": "2024-05-09T11:20:53",
    "name": "[v2,4/8] dts: remove module-wide imports",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "19e171bd749ae6890d7ff325aecff598d8fcc70c",
    "submitter": {
        "id": 3197,
        "url": "http://patchwork.dpdk.org/api/people/3197/?format=api",
        "name": "Luca Vizzarro",
        "email": "luca.vizzarro@arm.com"
    },
    "delegate": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20240509112057.1167947-5-luca.vizzarro@arm.com/mbox/",
    "series": [
        {
            "id": 31897,
            "url": "http://patchwork.dpdk.org/api/series/31897/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=31897",
            "date": "2024-05-09T11:20:49",
            "name": "dts: add testpmd params",
            "version": 2,
            "mbox": "http://patchwork.dpdk.org/series/31897/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/140002/comments/",
    "check": "success",
    "checks": "http://patchwork.dpdk.org/api/patches/140002/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "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])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 0910C43F7C;\n\tThu,  9 May 2024 13:21:43 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 47C16406B8;\n\tThu,  9 May 2024 13:21:18 +0200 (CEST)",
            "from foss.arm.com (foss.arm.com [217.140.110.172])\n by mails.dpdk.org (Postfix) with ESMTP id 78CB940649\n for <dev@dpdk.org>; Thu,  9 May 2024 13:21:13 +0200 (CEST)",
            "from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])\n by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 8322E106F;\n Thu,  9 May 2024 04:21:38 -0700 (PDT)",
            "from localhost.localdomain (unknown [10.1.194.74])\n by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 5B6043F6A8;\n Thu,  9 May 2024 04:21:12 -0700 (PDT)"
        ],
        "From": "Luca Vizzarro <luca.vizzarro@arm.com>",
        "To": "dev@dpdk.org",
        "Cc": "=?utf-8?q?Juraj_Linke=C5=A1?= <juraj.linkes@pantheon.tech>,\n Jeremy Spewock <jspewock@iol.unh.edu>, Luca Vizzarro <luca.vizzarro@arm.com>,\n Paul Szczepanek <paul.szczepanek@arm.com>",
        "Subject": "[PATCH v2 4/8] dts: remove module-wide imports",
        "Date": "Thu,  9 May 2024 12:20:53 +0100",
        "Message-Id": "<20240509112057.1167947-5-luca.vizzarro@arm.com>",
        "X-Mailer": "git-send-email 2.34.1",
        "In-Reply-To": "<20240509112057.1167947-1-luca.vizzarro@arm.com>",
        "References": "<20240326190422.577028-1-luca.vizzarro@arm.com>\n <20240509112057.1167947-1-luca.vizzarro@arm.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "Remove the imports in the testbed_model and remote_session modules init\nfile, to avoid the initialisation of unneeded modules, thus removing or\nlimiting the risk of circular dependencies.\n\nSigned-off-by: Luca Vizzarro <luca.vizzarro@arm.com>\nReviewed-by: Paul Szczepanek <paul.szczepanek@arm.com>\n---\n dts/framework/remote_session/__init__.py               | 5 +----\n dts/framework/runner.py                                | 4 +++-\n dts/framework/test_suite.py                            | 5 ++++-\n dts/framework/testbed_model/__init__.py                | 7 -------\n dts/framework/testbed_model/os_session.py              | 4 ++--\n dts/framework/testbed_model/sut_node.py                | 2 +-\n dts/framework/testbed_model/traffic_generator/scapy.py | 2 +-\n dts/tests/TestSuite_hello_world.py                     | 2 +-\n dts/tests/TestSuite_smoke_tests.py                     | 2 +-\n 9 files changed, 14 insertions(+), 19 deletions(-)",
    "diff": "diff --git a/dts/framework/remote_session/__init__.py b/dts/framework/remote_session/__init__.py\nindex 1910c81c3c..29000a4642 100644\n--- a/dts/framework/remote_session/__init__.py\n+++ b/dts/framework/remote_session/__init__.py\n@@ -18,11 +18,8 @@\n from framework.logger import DTSLogger\n \n from .interactive_remote_session import InteractiveRemoteSession\n-from .interactive_shell import InteractiveShell\n-from .python_shell import PythonShell\n-from .remote_session import CommandResult, RemoteSession\n+from .remote_session import RemoteSession\n from .ssh_session import SSHSession\n-from .testpmd_shell import TestPmdShell\n \n \n def create_remote_session(\ndiff --git a/dts/framework/runner.py b/dts/framework/runner.py\nindex d74f1871db..e6c23af7c7 100644\n--- a/dts/framework/runner.py\n+++ b/dts/framework/runner.py\n@@ -26,6 +26,9 @@\n from types import FunctionType\n from typing import Iterable, Sequence\n \n+from framework.testbed_model.sut_node import SutNode\n+from framework.testbed_model.tg_node import TGNode\n+\n from .config import (\n     BuildTargetConfiguration,\n     Configuration,\n@@ -51,7 +54,6 @@\n     TestSuiteWithCases,\n )\n from .test_suite import TestSuite\n-from .testbed_model import SutNode, TGNode\n \n \n class DTSRunner:\ndiff --git a/dts/framework/test_suite.py b/dts/framework/test_suite.py\nindex 8768f756a6..9d3debb00f 100644\n--- a/dts/framework/test_suite.py\n+++ b/dts/framework/test_suite.py\n@@ -20,9 +20,12 @@\n from scapy.layers.l2 import Ether  # type: ignore[import-untyped]\n from scapy.packet import Packet, Padding  # type: ignore[import-untyped]\n \n+from framework.testbed_model.port import Port, PortLink\n+from framework.testbed_model.sut_node import SutNode\n+from framework.testbed_model.tg_node import TGNode\n+\n from .exception import TestCaseVerifyError\n from .logger import DTSLogger, get_dts_logger\n-from .testbed_model import Port, PortLink, SutNode, TGNode\n from .testbed_model.traffic_generator import PacketFilteringConfig\n from .utils import get_packet_summaries\n \ndiff --git a/dts/framework/testbed_model/__init__.py b/dts/framework/testbed_model/__init__.py\nindex 6086512ca2..4f8a58c039 100644\n--- a/dts/framework/testbed_model/__init__.py\n+++ b/dts/framework/testbed_model/__init__.py\n@@ -19,10 +19,3 @@\n \"\"\"\n \n # pylama:ignore=W0611\n-\n-from .cpu import LogicalCoreCount, LogicalCoreCountFilter, LogicalCoreList\n-from .node import Node\n-from .port import Port, PortLink\n-from .sut_node import SutNode\n-from .tg_node import TGNode\n-from .virtual_device import VirtualDevice\ndiff --git a/dts/framework/testbed_model/os_session.py b/dts/framework/testbed_model/os_session.py\nindex 1a77aee532..e5f5fcbe0e 100644\n--- a/dts/framework/testbed_model/os_session.py\n+++ b/dts/framework/testbed_model/os_session.py\n@@ -32,13 +32,13 @@\n from framework.logger import DTSLogger\n from framework.params import Params\n from framework.remote_session import (\n-    CommandResult,\n     InteractiveRemoteSession,\n-    InteractiveShell,\n     RemoteSession,\n     create_interactive_session,\n     create_remote_session,\n )\n+from framework.remote_session.interactive_shell import InteractiveShell\n+from framework.remote_session.remote_session import CommandResult\n from framework.settings import SETTINGS\n from framework.utils import MesonArgs\n \ndiff --git a/dts/framework/testbed_model/sut_node.py b/dts/framework/testbed_model/sut_node.py\nindex e1163106a3..83ad06ae2d 100644\n--- a/dts/framework/testbed_model/sut_node.py\n+++ b/dts/framework/testbed_model/sut_node.py\n@@ -26,7 +26,7 @@\n )\n from framework.params import Params, Switch\n from framework.params.eal import EalParams\n-from framework.remote_session import CommandResult\n+from framework.remote_session.remote_session import CommandResult\n from framework.settings import SETTINGS\n from framework.utils import MesonArgs\n \ndiff --git a/dts/framework/testbed_model/traffic_generator/scapy.py b/dts/framework/testbed_model/traffic_generator/scapy.py\nindex ed5467d825..7bc1c2cc08 100644\n--- a/dts/framework/testbed_model/traffic_generator/scapy.py\n+++ b/dts/framework/testbed_model/traffic_generator/scapy.py\n@@ -25,7 +25,7 @@\n from scapy.packet import Packet  # type: ignore[import-untyped]\n \n from framework.config import OS, ScapyTrafficGeneratorConfig\n-from framework.remote_session import PythonShell\n+from framework.remote_session.python_shell import PythonShell\n from framework.settings import SETTINGS\n from framework.testbed_model.node import Node\n from framework.testbed_model.port import Port\ndiff --git a/dts/tests/TestSuite_hello_world.py b/dts/tests/TestSuite_hello_world.py\nindex fd7ff1534d..0d6995f260 100644\n--- a/dts/tests/TestSuite_hello_world.py\n+++ b/dts/tests/TestSuite_hello_world.py\n@@ -8,7 +8,7 @@\n \"\"\"\n \n from framework.test_suite import TestSuite\n-from framework.testbed_model import (\n+from framework.testbed_model.cpu import (\n     LogicalCoreCount,\n     LogicalCoreCountFilter,\n     LogicalCoreList,\ndiff --git a/dts/tests/TestSuite_smoke_tests.py b/dts/tests/TestSuite_smoke_tests.py\nindex a553e89662..ca678f662d 100644\n--- a/dts/tests/TestSuite_smoke_tests.py\n+++ b/dts/tests/TestSuite_smoke_tests.py\n@@ -15,7 +15,7 @@\n import re\n \n from framework.config import PortConfig\n-from framework.remote_session import TestPmdShell\n+from framework.remote_session.testpmd_shell import TestPmdShell\n from framework.settings import SETTINGS\n from framework.test_suite import TestSuite\n from framework.utils import REGEX_FOR_PCI_ADDRESS\n",
    "prefixes": [
        "v2",
        "4/8"
    ]
}