get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2195368,
    "url": "http://patchwork.ozlabs.org/api/patches/2195368/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/buildroot/patch/20260210-python-packages-v1-1-6153f56421d4@bootlin.com/",
    "project": {
        "id": 27,
        "url": "http://patchwork.ozlabs.org/api/projects/27/?format=api",
        "name": "Buildroot development",
        "link_name": "buildroot",
        "list_id": "buildroot.buildroot.org",
        "list_email": "buildroot@buildroot.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260210-python-packages-v1-1-6153f56421d4@bootlin.com>",
    "list_archive_url": null,
    "date": "2026-02-10T21:01:55",
    "name": "[1/2] package/python-gevent: new package",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "d1d56c7ba693f524359ed1f354d8e9806edf81b8",
    "submitter": {
        "id": 85775,
        "url": "http://patchwork.ozlabs.org/api/people/85775/?format=api",
        "name": "Alexis Lothoré",
        "email": "alexis.lothore@bootlin.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/buildroot/patch/20260210-python-packages-v1-1-6153f56421d4@bootlin.com/mbox/",
    "series": [
        {
            "id": 491740,
            "url": "http://patchwork.ozlabs.org/api/series/491740/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/buildroot/list/?series=491740",
            "date": "2026-02-10T21:01:54",
            "name": "package: add new python packages",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/491740/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2195368/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2195368/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<buildroot-bounces@buildroot.org>",
        "X-Original-To": [
            "incoming-buildroot@patchwork.ozlabs.org",
            "buildroot@buildroot.org"
        ],
        "Delivered-To": [
            "patchwork-incoming-buildroot@legolas.ozlabs.org",
            "buildroot@buildroot.org"
        ],
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=buildroot.org header.i=@buildroot.org\n header.a=rsa-sha256 header.s=default header.b=O4WPxeOW;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=buildroot.org\n (client-ip=2605:bc80:3010::138; helo=smtp1.osuosl.org;\n envelope-from=buildroot-bounces@buildroot.org; receiver=patchwork.ozlabs.org)"
        ],
        "Received": [
            "from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4f9Ysh3j6Jz1xvg\n\tfor <incoming-buildroot@patchwork.ozlabs.org>;\n Wed, 11 Feb 2026 08:02:16 +1100 (AEDT)",
            "from localhost (localhost [127.0.0.1])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id 8C93782784;\n\tTue, 10 Feb 2026 21:02:12 +0000 (UTC)",
            "from smtp1.osuosl.org ([127.0.0.1])\n by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id 1aI3xWnCj2al; Tue, 10 Feb 2026 21:02:11 +0000 (UTC)",
            "from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id 7F25A82792;\n\tTue, 10 Feb 2026 21:02:10 +0000 (UTC)",
            "from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n by lists1.osuosl.org (Postfix) with ESMTP id 8370EF2\n for <buildroot@buildroot.org>; Tue, 10 Feb 2026 21:02:08 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n by smtp1.osuosl.org (Postfix) with ESMTP id 688FB82771\n for <buildroot@buildroot.org>; Tue, 10 Feb 2026 21:02:08 +0000 (UTC)",
            "from smtp1.osuosl.org ([127.0.0.1])\n by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id 269k45mb1FsO for <buildroot@buildroot.org>;\n Tue, 10 Feb 2026 21:02:07 +0000 (UTC)",
            "from smtpout-03.galae.net (smtpout-03.galae.net [185.246.85.4])\n by smtp1.osuosl.org (Postfix) with ESMTPS id 58AC6826C8\n for <buildroot@buildroot.org>; Tue, 10 Feb 2026 21:02:06 +0000 (UTC)",
            "from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233])\n by smtpout-03.galae.net (Postfix) with ESMTPS id 2A4024E40C03\n for <buildroot@buildroot.org>; Tue, 10 Feb 2026 21:02:05 +0000 (UTC)",
            "from mail.galae.net (mail.galae.net [212.83.136.155])\n by smtpout-01.galae.net (Postfix) with ESMTPS id F0919606BD;\n Tue, 10 Feb 2026 21:02:04 +0000 (UTC)",
            "from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon)\n with ESMTPSA id AC2EC10B91A8A; Tue, 10 Feb 2026 22:02:03 +0100 (CET)"
        ],
        "X-Virus-Scanned": [
            "amavis at osuosl.org",
            "amavis at osuosl.org"
        ],
        "X-Comment": "SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=buildroot-bounces@buildroot.org;\n receiver=<UNKNOWN> ",
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 smtp1.osuosl.org 7F25A82792",
            "OpenDKIM Filter v2.11.0 smtp1.osuosl.org 58AC6826C8"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=buildroot.org;\n\ts=default; t=1770757330;\n\tbh=ggyDhwlj5URl3X75DBQJ1FDPWad9rwW8l5VpiccrwyE=;\n\th=Date:References:In-Reply-To:To:Subject:List-Id:List-Unsubscribe:\n\t List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\t From;\n\tb=O4WPxeOWxEdqaEEJiXhDrtMfjnORgYbJp68JRvN8SzKCZFGBgzEiB79RFoIKMD7ZH\n\t NQRVufj4ol/3EhfF8gJis73NDU1HA7FZ6w6+DAn1UHUSXg/f5BRHduBGqJc8sipjUS\n\t UQfs96UufU02JVJeTX8INpkNlznWRFXNDFsNrWpXkeFP14vXA1tZS6LStI76dj0cWn\n\t u93bVEoASIC2wZHILV0IOxwR/Qgb0HFYmJV4lUmHRX4l7Id/IiMXIQirbj3aSs0zm/\n\t k9MG6gT8F3YfR6Kqd9oJKbzWpEuLwCBVLXiTZiOwcFDsfFqYx4yE22Y3uTisNBvg4m\n\t +wuvPmF0Joijw==",
        "Received-SPF": "Pass (mailfrom) identity=mailfrom; client-ip=185.246.85.4;\n helo=smtpout-03.galae.net; envelope-from=alexis.lothore@bootlin.com;\n receiver=<UNKNOWN>",
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 smtp1.osuosl.org 58AC6826C8",
        "Date": "Tue, 10 Feb 2026 22:01:55 +0100",
        "MIME-Version": "1.0",
        "Message-Id": "<20260210-python-packages-v1-1-6153f56421d4@bootlin.com>",
        "References": "<20260210-python-packages-v1-0-6153f56421d4@bootlin.com>",
        "In-Reply-To": "<20260210-python-packages-v1-0-6153f56421d4@bootlin.com>",
        "To": "buildroot@buildroot.org",
        "X-Mailer": "b4 0.14.3",
        "X-Last-TLS-Session-Version": "TLSv1.3",
        "X-Mailman-Original-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=bootlin.com; s=dkim;\n t=1770757324; h=from:subject:date:message-id:to:cc:mime-version:content-type:\n content-transfer-encoding:in-reply-to:references;\n bh=EJ+8G4WYjYgx2nr8+eOHDovTV/AMeWN+NxjXfQ4tuTg=;\n b=GcV6HIm40RvTIxJ2sH+Jyxpn9pAh2niWIa+gDqStX7hHyNPI0Z94B5I5iuAnWR0vP95Hti\n 5ECWaTPlWmoDEgAzxN/yEYKN8FALUxsfZjPmAmPXnL/+ZGOJHbYwd7qV8CG+aRVxO5nrK4\n Jl389myN/iKjWDv8ogvLa5nqUTgcZau/oWSI9K4Tw67FZ//AUMy1HYumcTLaOAxw54x7pQ\n g88eXnhPd+Gs/0WLvDOhHPAoWQyUREJp2MOZsY6gkf69je0q4BjPbAuf6BESoWML43FMC/\n KyUmXLKLOYkVQr8XNVg7MwB9hoQUfnc/vqCNnWerItXyy+v4jnEcWW82AO+Yhw==",
        "X-Mailman-Original-Authentication-Results": [
            "smtp1.osuosl.org;\n dmarc=pass (p=reject dis=none)\n header.from=bootlin.com",
            "smtp1.osuosl.org;\n dkim=pass (2048-bit key,\n unprotected) header.d=bootlin.com header.i=@bootlin.com header.a=rsa-sha256\n header.s=dkim header.b=GcV6HIm4"
        ],
        "Subject": "[Buildroot] [PATCH 1/2] package/python-gevent: new package",
        "X-BeenThere": "buildroot@buildroot.org",
        "X-Mailman-Version": "2.1.30",
        "Precedence": "list",
        "List-Id": "Discussion and development of buildroot <buildroot.buildroot.org>",
        "List-Unsubscribe": "<https://lists.buildroot.org/mailman/options/buildroot>,\n <mailto:buildroot-request@buildroot.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.buildroot.org/pipermail/buildroot/>",
        "List-Post": "<mailto:buildroot@buildroot.org>",
        "List-Help": "<mailto:buildroot-request@buildroot.org?subject=help>",
        "List-Subscribe": "<https://lists.buildroot.org/mailman/listinfo/buildroot>,\n <mailto:buildroot-request@buildroot.org?subject=subscribe>",
        "From": "=?utf-8?q?Alexis_Lothor=C3=A9_via_buildroot?= <buildroot@buildroot.org>",
        "Reply-To": "=?utf-8?q?Alexis_Lothor=C3=A9?= <alexis.lothore@bootlin.com>",
        "Cc": "James Hilliard <james.hilliard1@gmail.com>, =?utf-8?q?Alexis_Lothor?=\n\t=?utf-8?q?=C3=A9?= <alexis.lothore@bootlin.com>,\n Nicolas Carrier <nicolas.carrier@nav-timing.safrangroup.com>,\n Thomas Petazzoni <thomas.petazzoni@bootlin.com>",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "base64",
        "Errors-To": "buildroot-bounces@buildroot.org",
        "Sender": "\"buildroot\" <buildroot-bounces@buildroot.org>"
    },
    "content": "Bring python-gevent module as a standalone package.\n\nSet GEVENTSETUP_EMBED=0 to prevent python-gevent from using its embedded\nlibuv, libev and c-ares and rather use those packaged with buildroot.\n\nSigned-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>\n---\n DEVELOPERS                                            |  1 +\n package/Config.in                                     |  1 +\n package/python-gevent/Config.in                       | 19 +++++++++++++++++++\n package/python-gevent/python-gevent.hash              |  5 +++++\n package/python-gevent/python-gevent.mk                | 16 ++++++++++++++++\n support/testing/tests/package/sample_python_gevent.py |  7 +++++++\n support/testing/tests/package/test_python_gevent.py   | 12 ++++++++++++\n 7 files changed, 61 insertions(+)",
    "diff": "diff --git a/DEVELOPERS b/DEVELOPERS\nindex 225d1ac917dc..cc7c38c31873 100644\n--- a/DEVELOPERS\n+++ b/DEVELOPERS\n@@ -155,6 +155,7 @@ N:\tAlexey Lukyanchuk <skif@skif-web.ru>\n F:\tpackage/zabbix/\n \n N: \tAlexis Lothoré <alexis.lothore@bootlin.com>\n+F: \tpackage/python-gevent\n F: \tpackage/python-scp\n \n N:\tAlistair Francis <alistair@alistair23.me>\ndiff --git a/package/Config.in b/package/Config.in\nindex 6284bea7f4ad..76c2a4365513 100644\n--- a/package/Config.in\n+++ b/package/Config.in\n@@ -1127,6 +1127,7 @@ menu \"External python modules\"\n \tsource \"package/python-fonttools/Config.in\"\n \tsource \"package/python-frozenlist/Config.in\"\n \tsource \"package/python-future/Config.in\"\n+\tsource \"package/python-gevent/Config.in\"\n \tsource \"package/python-git/Config.in\"\n \tsource \"package/python-gitdb2/Config.in\"\n \tsource \"package/python-gnupg/Config.in\"\ndiff --git a/package/python-gevent/Config.in b/package/python-gevent/Config.in\nnew file mode 100644\nindex 000000000000..af7a97a49ce3\n--- /dev/null\n+++ b/package/python-gevent/Config.in\n@@ -0,0 +1,19 @@\n+config BR2_PACKAGE_PYTHON_GEVENT\n+\tbool \"python-gevent\"\n+\tdepends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++20\n+\tselect BR2_PACKAGE_C_ARES # runtime\n+\tselect BR2_PACKAGE_LIBEV # runtime\n+\tselect BR2_PACKAGE_LIBUV # runtime\n+\tselect BR2_PACKAGE_HOST_PYTHON_CYTHON # build time\n+\tselect BR2_PACKAGE_HOST_PYTHON_GREENLET # build time\n+\tselect BR2_PACKAGE_HOST_PYTHON_CFFI # build time\n+\tselect BR2_PACKAGE_PYTHON_GREENLET # runtime\n+\tselect BR2_PACKAGE_PYTHON_ZOPEEVENT # runtime\n+\tselect BR2_PACKAGE_PYTHON_ZOPE_INTERFACE # runtime\n+\thelp\n+\t  Coroutine-based network library.\n+\n+\t  http://www.gevent.org/\n+\n+comment \"python-gevent needs a toolchain w/ C++, gcc >= 8\"\n+\tdepends on !BR2_TOOLCHAIN_GCC_AT_LEAST_8\ndiff --git a/package/python-gevent/python-gevent.hash b/package/python-gevent/python-gevent.hash\nnew file mode 100644\nindex 000000000000..4356972ddd50\n--- /dev/null\n+++ b/package/python-gevent/python-gevent.hash\n@@ -0,0 +1,5 @@\n+# md5, sha256 from https://pypi.org/pypi/gevent/json\n+md5  a415693013e79df4c88a9e5fc90254bc  gevent-25.9.1.tar.gz\n+sha256  adf9cd552de44a4e6754c51ff2e78d9193b7fa6eab123db9578a210e657235dd  gevent-25.9.1.tar.gz\n+# Locally computed sha256 checksums\n+sha256  4d46bc11d19e3853d54325973b8e2c53090f5638a7bf27fa1f5f1232c78901f7  LICENSE\ndiff --git a/package/python-gevent/python-gevent.mk b/package/python-gevent/python-gevent.mk\nnew file mode 100644\nindex 000000000000..10ddc895f74b\n--- /dev/null\n+++ b/package/python-gevent/python-gevent.mk\n@@ -0,0 +1,16 @@\n+################################################################################\n+#\n+# python-gevent\n+#\n+################################################################################\n+\n+PYTHON_GEVENT_VERSION = 25.9.1\n+PYTHON_GEVENT_SOURCE = gevent-$(PYTHON_GEVENT_VERSION).tar.gz\n+PYTHON_GEVENT_SITE = https://files.pythonhosted.org/packages/9e/48/b3ef2673ffb940f980966694e40d6d32560f3ffa284ecaeb5ea3a90a6d3f\n+PYTHON_GEVENT_SETUP_TYPE = setuptools\n+PYTHON_GEVENT_DEPENDENCIES = libev libuv host-python-greenlet host-python-cffi host-python-cython\n+PYTHON_GEVENT_LICENSE = MIT\n+PYTHON_GEVENT_LICENSE_FILES = LICENSE\n+PYTHON_GEVENT_ENV = GEVENTSETUP_EMBED=0\n+\n+$(eval $(python-package))\ndiff --git a/support/testing/tests/package/sample_python_gevent.py b/support/testing/tests/package/sample_python_gevent.py\nnew file mode 100644\nindex 000000000000..e8f065c17e88\n--- /dev/null\n+++ b/support/testing/tests/package/sample_python_gevent.py\n@@ -0,0 +1,7 @@\n+# Example taken from the official documentation\n+import gevent\n+from gevent import socket\n+\n+urls = ['www.google.com', 'www.example.com', 'www.python.org']\n+jobs = [gevent.spawn(socket.gethostbyname, url) for url in urls]\n+_ = gevent.joinall(jobs, timeout=2)\ndiff --git a/support/testing/tests/package/test_python_gevent.py b/support/testing/tests/package/test_python_gevent.py\nnew file mode 100644\nindex 000000000000..567cae182d2b\n--- /dev/null\n+++ b/support/testing/tests/package/test_python_gevent.py\n@@ -0,0 +1,12 @@\n+from tests.package.test_python import TestPythonPackageBase\n+\n+\n+class TestPythonGevent(TestPythonPackageBase):\n+    __test__ = True\n+    config = TestPythonPackageBase.config + \\\n+        \"\"\"\n+        BR2_PACKAGE_PYTHON3=y\n+        BR2_PACKAGE_PYTHON_GEVENT=y\n+        \"\"\"\n+    sample_scripts = [\"tests/package/sample_python_gevent.py\"]\n+    timeout = 30\n",
    "prefixes": [
        "1/2"
    ]
}