* [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