Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] package/python-questionary: new package
@ 2026-08-26  9:18 Manuel Diener
  2026-08-26  9:54 ` Thomas Petazzoni via buildroot
  2026-08-28  9:02 ` [Buildroot] [PATCH v2] " Manuel Diener
  0 siblings, 2 replies; 4+ messages in thread
From: Manuel Diener @ 2026-08-26  9:18 UTC (permalink / raw)
  To: buildroot; +Cc: James Hilliard, Manuel Diener, Thomas Petazzoni

Signed-off-by: Manuel Diener <manuel.diener@oss.othermo.de>
---
 DEVELOPERS                                         |  1 +
 package/Config.in                                  |  1 +
 package/python-questionary/Config.in               |  7 +++++++
 package/python-questionary/python-questionary.hash |  5 +++++
 package/python-questionary/python-questionary.mk   | 14 ++++++++++++++
 5 files changed, 28 insertions(+)
 create mode 100644 package/python-questionary/Config.in
 create mode 100644 package/python-questionary/python-questionary.hash
 create mode 100644 package/python-questionary/python-questionary.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 5eb438906f..d881d3a211 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2246,6 +2246,7 @@ F:	package/python-log-rate-limit/
 F:	package/python-pydantic/
 F:	package/python-pydantic-core/
 F:	package/python-pydantic-settings/
+F:  package/python-questionary/
 F:	package/python-typing-inspection/
 F:	package/python-tzlocal/
 F:	package/python-sdbus-modemmanager/
diff --git a/package/Config.in b/package/Config.in
index 6058800682..bcfeb99d15 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1376,6 +1376,7 @@ menu "External python modules"
 	source "package/python-pyusb/Config.in"
 	source "package/python-pyyaml/Config.in"
 	source "package/python-pyzmq/Config.in"
+	source "package/python-questionary/Config.in"
 	source "package/python-qrcode/Config.in"
 	source "package/python-raven/Config.in"
 	source "package/python-redis/Config.in"
diff --git a/package/python-questionary/Config.in b/package/python-questionary/Config.in
new file mode 100644
index 0000000000..fbbc1895a2
--- /dev/null
+++ b/package/python-questionary/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_PYTHON_QUESTIONARY
+	bool "python-questionary"
+	select BR2_PACKAGE_PYTHON_PROMPT_TOOLKIT
+	help
+	  Python library for effortlessly building pretty command line interfaces.
+
+	  https://github.com/tmbo/questionary
diff --git a/package/python-questionary/python-questionary.hash b/package/python-questionary/python-questionary.hash
new file mode 100644
index 0000000000..c350e024ff
--- /dev/null
+++ b/package/python-questionary/python-questionary.hash
@@ -0,0 +1,5 @@
+# md5, sha256 from https://pypi.org/pypi/questionary/json
+md5  0c7b9d9ba6c6b4ba94f5e705850cd0c3  questionary-2.1.1.tar.gz
+sha256  3d7e980292bb0107abaa79c68dd3eee3c561b83a0f89ae482860b181c8bd412d  questionary-2.1.1.tar.gz
+# Locally computed sha256 checksums
+sha256  3a492ab6d436c5e75f54a9a556de91c4322c8ad408fe849c7da1f7352721c63a  LICENSE
diff --git a/package/python-questionary/python-questionary.mk b/package/python-questionary/python-questionary.mk
new file mode 100644
index 0000000000..803735d5e5
--- /dev/null
+++ b/package/python-questionary/python-questionary.mk
@@ -0,0 +1,14 @@
+################################################################################
+#
+# python-questionary
+#
+################################################################################
+
+PYTHON_QUESTIONARY_VERSION = 2.1.1
+PYTHON_QUESTIONARY_SOURCE = questionary-$(PYTHON_QUESTIONARY_VERSION).tar.gz
+PYTHON_QUESTIONARY_SITE = https://files.pythonhosted.org/packages/f6/45/eafb0bba0f9988f6a2520f9ca2df2c82ddfa8d67c95d6625452e97b204a5
+PYTHON_QUESTIONARY_SETUP_TYPE = poetry
+PYTHON_QUESTIONARY_LICENSE = MIT
+PYTHON_QUESTIONARY_LICENSE_FILES = LICENSE
+
+$(eval $(python-package))
-- 
2.55.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Buildroot] [PATCH] package/python-questionary: new package
  2026-08-26  9:18 [Buildroot] [PATCH] package/python-questionary: new package Manuel Diener
@ 2026-08-26  9:54 ` Thomas Petazzoni via buildroot
  2026-08-28  9:02 ` [Buildroot] [PATCH v2] " Manuel Diener
  1 sibling, 0 replies; 4+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-08-26  9:54 UTC (permalink / raw)
  To: Manuel Diener; +Cc: James Hilliard, buildroot

Hello Manuel,

On Wed, Aug 26, 2026 at 11:18:50AM +0200, Manuel Diener wrote:
> Signed-off-by: Manuel Diener <manuel.diener@oss.othermo.de>
> ---
>  DEVELOPERS                                         |  1 +
>  package/Config.in                                  |  1 +
>  package/python-questionary/Config.in               |  7 +++++++
>  package/python-questionary/python-questionary.hash |  5 +++++
>  package/python-questionary/python-questionary.mk   | 14 ++++++++++++++
>  5 files changed, 28 insertions(+)
>  create mode 100644 package/python-questionary/Config.in
>  create mode 100644 package/python-questionary/python-questionary.hash
>  create mode 100644 package/python-questionary/python-questionary.mk

Thanks a lot for your patch. For Python modules, where issues usually
pop up at runtime rather than build time, we usually like to have a
small test. Could you have a look at adding a test in
support/testing/?

You can look at the zillions of tests
support/testing/tests/package/test_python_*.py, it's really trivial to
add one more test for your new package.

(And don't forget to update the DEVELOPERS file to also include your
test case.)

Thanks a lot!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH v2] package/python-questionary: new package
  2026-08-26  9:18 [Buildroot] [PATCH] package/python-questionary: new package Manuel Diener
  2026-08-26  9:54 ` Thomas Petazzoni via buildroot
@ 2026-08-28  9:02 ` Manuel Diener
  2026-08-28  9:07   ` [Buildroot] [PATCH v3] " Manuel Diener
  1 sibling, 1 reply; 4+ messages in thread
From: Manuel Diener @ 2026-08-28  9:02 UTC (permalink / raw)
  To: buildroot; +Cc: James Hilliard, Manuel Diener, Thomas Petazzoni

Signed-off-by: Manuel Diener <manuel.diener@oss.othermo.de>
---
 DEVELOPERS                                    |  1 +
 package/Config.in                             |  1 +
 package/python-questionary/Config.in          |  8 ++++++++
 .../python-questionary.hash                   |  5 +++++
 .../python-questionary/python-questionary.mk  | 14 +++++++++++++
 .../package/sample_python_questionary.py      | 16 +++++++++++++++
 .../tests/package/test_python_questionary.py  | 20 +++++++++++++++++++
 7 files changed, 65 insertions(+)
 create mode 100644 package/python-questionary/Config.in
 create mode 100644 package/python-questionary/python-questionary.hash
 create mode 100644 package/python-questionary/python-questionary.mk
 create mode 100644 support/testing/tests/package/sample_python_questionary.py
 create mode 100644 support/testing/tests/package/test_python_questionary.py

diff --git a/DEVELOPERS b/DEVELOPERS
index 49a72bb69a..d0f4d7d582 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2252,6 +2252,7 @@ F:	package/python-log-rate-limit/
 F:	package/python-pydantic/
 F:	package/python-pydantic-core/
 F:	package/python-pydantic-settings/
+F:	package/python-questionary/
 F:	package/python-typing-inspection/
 F:	package/python-tzlocal/
 F:	package/python-sdbus-modemmanager/
diff --git a/package/Config.in b/package/Config.in
index 6058800682..f363e16069 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1377,6 +1377,7 @@ menu "External python modules"
 	source "package/python-pyyaml/Config.in"
 	source "package/python-pyzmq/Config.in"
 	source "package/python-qrcode/Config.in"
+	source "package/python-questionary/Config.in"
 	source "package/python-raven/Config.in"
 	source "package/python-redis/Config.in"
 	source "package/python-reedsolo/Config.in"
diff --git a/package/python-questionary/Config.in b/package/python-questionary/Config.in
new file mode 100644
index 0000000000..06bc269b4a
--- /dev/null
+++ b/package/python-questionary/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_PYTHON_QUESTIONARY
+	bool "python-questionary"
+	select BR2_PACKAGE_PYTHON_PROMPT_TOOLKIT
+	help
+	  Python library for effortlessly building pretty
+	  command line interfaces.
+
+	  https://github.com/tmbo/questionary
diff --git a/package/python-questionary/python-questionary.hash b/package/python-questionary/python-questionary.hash
new file mode 100644
index 0000000000..c350e024ff
--- /dev/null
+++ b/package/python-questionary/python-questionary.hash
@@ -0,0 +1,5 @@
+# md5, sha256 from https://pypi.org/pypi/questionary/json
+md5  0c7b9d9ba6c6b4ba94f5e705850cd0c3  questionary-2.1.1.tar.gz
+sha256  3d7e980292bb0107abaa79c68dd3eee3c561b83a0f89ae482860b181c8bd412d  questionary-2.1.1.tar.gz
+# Locally computed sha256 checksums
+sha256  3a492ab6d436c5e75f54a9a556de91c4322c8ad408fe849c7da1f7352721c63a  LICENSE
diff --git a/package/python-questionary/python-questionary.mk b/package/python-questionary/python-questionary.mk
new file mode 100644
index 0000000000..803735d5e5
--- /dev/null
+++ b/package/python-questionary/python-questionary.mk
@@ -0,0 +1,14 @@
+################################################################################
+#
+# python-questionary
+#
+################################################################################
+
+PYTHON_QUESTIONARY_VERSION = 2.1.1
+PYTHON_QUESTIONARY_SOURCE = questionary-$(PYTHON_QUESTIONARY_VERSION).tar.gz
+PYTHON_QUESTIONARY_SITE = https://files.pythonhosted.org/packages/f6/45/eafb0bba0f9988f6a2520f9ca2df2c82ddfa8d67c95d6625452e97b204a5
+PYTHON_QUESTIONARY_SETUP_TYPE = poetry
+PYTHON_QUESTIONARY_LICENSE = MIT
+PYTHON_QUESTIONARY_LICENSE_FILES = LICENSE
+
+$(eval $(python-package))
diff --git a/support/testing/tests/package/sample_python_questionary.py b/support/testing/tests/package/sample_python_questionary.py
new file mode 100644
index 0000000000..de707f1ec3
--- /dev/null
+++ b/support/testing/tests/package/sample_python_questionary.py
@@ -0,0 +1,16 @@
+# questionary is tricky to test as there seems to be no option to pass in stdin.
+# Therefore the ask is going to time out on purpose so the test can check if the ask
+# was successfully written to stdout.
+
+import questionary
+import asyncio
+
+async def main():
+    try:
+        async with asyncio.timeout(5):
+            await questionary.press_any_key_to_continue().ask_async()
+    except:
+        raise
+
+if __name__ == '__main__':
+    asyncio.run(main())
diff --git a/support/testing/tests/package/test_python_questionary.py b/support/testing/tests/package/test_python_questionary.py
new file mode 100644
index 0000000000..3050259296
--- /dev/null
+++ b/support/testing/tests/package/test_python_questionary.py
@@ -0,0 +1,20 @@
+from tests.package.test_python import TestPythonPackageBase
+
+
+class TestPythonQuestionary(TestPythonPackageBase):
+    sample_scripts = ["tests/package/sample_python_questionary.py"]
+
+    def run_sample_scripts(self):
+        cmd = self.interpreter + " sample_python_questionary.py"
+        output, exit_code = self.emulator.run(cmd, timeout=10)
+        self.assertIn("Press any key to continue...", output[0])
+        self.assertEqual(exit_code, 1)
+
+
+class TestPythonPy3Questionary(TestPythonQuestionary):
+    __test__ = True
+    config = TestPythonQuestionary.config + \
+        """
+        BR2_PACKAGE_PYTHON3=y
+        BR2_PACKAGE_PYTHON_QUESTIONARY=y
+        """
-- 
2.55.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH v3] package/python-questionary: new package
  2026-08-28  9:02 ` [Buildroot] [PATCH v2] " Manuel Diener
@ 2026-08-28  9:07   ` Manuel Diener
  0 siblings, 0 replies; 4+ messages in thread
From: Manuel Diener @ 2026-08-28  9:07 UTC (permalink / raw)
  To: buildroot; +Cc: James Hilliard, Manuel Diener, Thomas Petazzoni

Signed-off-by: Manuel Diener <manuel.diener@oss.othermo.de>
---
 DEVELOPERS                                    |  2 ++
 package/Config.in                             |  1 +
 package/python-questionary/Config.in          |  8 ++++++++
 .../python-questionary.hash                   |  5 +++++
 .../python-questionary/python-questionary.mk  | 14 +++++++++++++
 .../package/sample_python_questionary.py      | 16 +++++++++++++++
 .../tests/package/test_python_questionary.py  | 20 +++++++++++++++++++
 7 files changed, 66 insertions(+)
 create mode 100644 package/python-questionary/Config.in
 create mode 100644 package/python-questionary/python-questionary.hash
 create mode 100644 package/python-questionary/python-questionary.mk
 create mode 100644 support/testing/tests/package/sample_python_questionary.py
 create mode 100644 support/testing/tests/package/test_python_questionary.py

diff --git a/DEVELOPERS b/DEVELOPERS
index 49a72bb69a..edd2e46117 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2252,6 +2252,7 @@ F:	package/python-log-rate-limit/
 F:	package/python-pydantic/
 F:	package/python-pydantic-core/
 F:	package/python-pydantic-settings/
+F:	package/python-questionary/
 F:	package/python-typing-inspection/
 F:	package/python-tzlocal/
 F:	package/python-sdbus-modemmanager/
@@ -2259,6 +2260,7 @@ F:	package/python-sdbus-systemd/
 F:	package/python-varlink/
 F:	package/python-waitress/
 F:	package/python-whitenoise/
+F:	support/testing/tests/package/test_python_questionary.py
 
 N:	Marcin Bis <marcin@bis.org.pl>
 F:	package/bluez5_utils/
diff --git a/package/Config.in b/package/Config.in
index 6058800682..f363e16069 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1377,6 +1377,7 @@ menu "External python modules"
 	source "package/python-pyyaml/Config.in"
 	source "package/python-pyzmq/Config.in"
 	source "package/python-qrcode/Config.in"
+	source "package/python-questionary/Config.in"
 	source "package/python-raven/Config.in"
 	source "package/python-redis/Config.in"
 	source "package/python-reedsolo/Config.in"
diff --git a/package/python-questionary/Config.in b/package/python-questionary/Config.in
new file mode 100644
index 0000000000..06bc269b4a
--- /dev/null
+++ b/package/python-questionary/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_PYTHON_QUESTIONARY
+	bool "python-questionary"
+	select BR2_PACKAGE_PYTHON_PROMPT_TOOLKIT
+	help
+	  Python library for effortlessly building pretty
+	  command line interfaces.
+
+	  https://github.com/tmbo/questionary
diff --git a/package/python-questionary/python-questionary.hash b/package/python-questionary/python-questionary.hash
new file mode 100644
index 0000000000..c350e024ff
--- /dev/null
+++ b/package/python-questionary/python-questionary.hash
@@ -0,0 +1,5 @@
+# md5, sha256 from https://pypi.org/pypi/questionary/json
+md5  0c7b9d9ba6c6b4ba94f5e705850cd0c3  questionary-2.1.1.tar.gz
+sha256  3d7e980292bb0107abaa79c68dd3eee3c561b83a0f89ae482860b181c8bd412d  questionary-2.1.1.tar.gz
+# Locally computed sha256 checksums
+sha256  3a492ab6d436c5e75f54a9a556de91c4322c8ad408fe849c7da1f7352721c63a  LICENSE
diff --git a/package/python-questionary/python-questionary.mk b/package/python-questionary/python-questionary.mk
new file mode 100644
index 0000000000..803735d5e5
--- /dev/null
+++ b/package/python-questionary/python-questionary.mk
@@ -0,0 +1,14 @@
+################################################################################
+#
+# python-questionary
+#
+################################################################################
+
+PYTHON_QUESTIONARY_VERSION = 2.1.1
+PYTHON_QUESTIONARY_SOURCE = questionary-$(PYTHON_QUESTIONARY_VERSION).tar.gz
+PYTHON_QUESTIONARY_SITE = https://files.pythonhosted.org/packages/f6/45/eafb0bba0f9988f6a2520f9ca2df2c82ddfa8d67c95d6625452e97b204a5
+PYTHON_QUESTIONARY_SETUP_TYPE = poetry
+PYTHON_QUESTIONARY_LICENSE = MIT
+PYTHON_QUESTIONARY_LICENSE_FILES = LICENSE
+
+$(eval $(python-package))
diff --git a/support/testing/tests/package/sample_python_questionary.py b/support/testing/tests/package/sample_python_questionary.py
new file mode 100644
index 0000000000..de707f1ec3
--- /dev/null
+++ b/support/testing/tests/package/sample_python_questionary.py
@@ -0,0 +1,16 @@
+# questionary is tricky to test as there seems to be no option to pass in stdin.
+# Therefore the ask is going to time out on purpose so the test can check if the ask
+# was successfully written to stdout.
+
+import questionary
+import asyncio
+
+async def main():
+    try:
+        async with asyncio.timeout(5):
+            await questionary.press_any_key_to_continue().ask_async()
+    except:
+        raise
+
+if __name__ == '__main__':
+    asyncio.run(main())
diff --git a/support/testing/tests/package/test_python_questionary.py b/support/testing/tests/package/test_python_questionary.py
new file mode 100644
index 0000000000..3050259296
--- /dev/null
+++ b/support/testing/tests/package/test_python_questionary.py
@@ -0,0 +1,20 @@
+from tests.package.test_python import TestPythonPackageBase
+
+
+class TestPythonQuestionary(TestPythonPackageBase):
+    sample_scripts = ["tests/package/sample_python_questionary.py"]
+
+    def run_sample_scripts(self):
+        cmd = self.interpreter + " sample_python_questionary.py"
+        output, exit_code = self.emulator.run(cmd, timeout=10)
+        self.assertIn("Press any key to continue...", output[0])
+        self.assertEqual(exit_code, 1)
+
+
+class TestPythonPy3Questionary(TestPythonQuestionary):
+    __test__ = True
+    config = TestPythonQuestionary.config + \
+        """
+        BR2_PACKAGE_PYTHON3=y
+        BR2_PACKAGE_PYTHON_QUESTIONARY=y
+        """
-- 
2.55.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-08-28  9:08 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-26  9:18 [Buildroot] [PATCH] package/python-questionary: new package Manuel Diener
2026-08-26  9:54 ` Thomas Petazzoni via buildroot
2026-08-28  9:02 ` [Buildroot] [PATCH v2] " Manuel Diener
2026-08-28  9:07   ` [Buildroot] [PATCH v3] " Manuel Diener

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox