* [Buildroot] [PATCH 0/7] Add package/python-memray and dependencies
@ 2025-08-09 22:32 Fiona Klute via buildroot
2025-08-09 22:32 ` [Buildroot] [PATCH 1/7] package/elfutils: enable libdebuginfod for target if requirements are met Fiona Klute via buildroot
` (7 more replies)
0 siblings, 8 replies; 12+ messages in thread
From: Fiona Klute via buildroot @ 2025-08-09 22:32 UTC (permalink / raw)
To: buildroot; +Cc: James Hilliard, Fiona Klute, Thomas Petazzoni
From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de>
This series adds the Memray memory profiler for Python [1] and its
dependencies. I needed it to help reduce memory usage of some custom
tools, and figure it might be useful to others for
debugging/optimization, too.
The individual patches are fairly simple, just a bunch of new Python
packages. Memray itself includes a binary module that needs to be
cross-compiled.
One thing I'm not sure about is whether there should be a separate
option to enable building libdebuginfod in package/elfutils, instead
of enabling it if the dependencies are met. Having an option would
allow people who need package/json-c and package/libcurl, but don't
build anything that links against libdebuginfod to save a few kB (in
my arm64 build /usr/lib/libdebuginfod-0.192.so is about 38 kB), at the
price of slightly more complexity in the config system. I'm happy to
add the option if that's preferred.
Best regards,
Fiona
[1] https://github.com/bloomberg/memray
Fiona Klute (WIWA) (7):
package/elfutils: enable libdebuginfod for target if requirements are
met
package/python-mdurl: new package
package/python-markdown-it-py: new package
package/python-platformdirs: new package
package/python-rich: new package
package/python-textual: new package
package/python-memray: new package
DEVELOPERS | 6 +++++
package/Config.in | 6 +++++
package/elfutils/elfutils.mk | 9 +++++--
package/python-markdown-it-py/Config.in | 7 ++++++
.../python-markdown-it-py.hash | 6 +++++
.../python-markdown-it-py.mk | 14 +++++++++++
package/python-mdurl/Config.in | 7 ++++++
package/python-mdurl/python-mdurl.hash | 5 ++++
package/python-mdurl/python-mdurl.mk | 14 +++++++++++
package/python-memray/Config.in | 19 +++++++++++++++
package/python-memray/python-memray.hash | 6 +++++
package/python-memray/python-memray.mk | 24 +++++++++++++++++++
package/python-platformdirs/Config.in | 7 ++++++
.../python-platformdirs.hash | 5 ++++
.../python-platformdirs.mk | 14 +++++++++++
package/python-rich/Config.in | 9 +++++++
package/python-rich/python-rich.hash | 5 ++++
package/python-rich/python-rich.mk | 14 +++++++++++
package/python-textual/Config.in | 11 +++++++++
package/python-textual/python-textual.hash | 5 ++++
package/python-textual/python-textual.mk | 14 +++++++++++
21 files changed, 205 insertions(+), 2 deletions(-)
create mode 100644 package/python-markdown-it-py/Config.in
create mode 100644 package/python-markdown-it-py/python-markdown-it-py.hash
create mode 100644 package/python-markdown-it-py/python-markdown-it-py.mk
create mode 100644 package/python-mdurl/Config.in
create mode 100644 package/python-mdurl/python-mdurl.hash
create mode 100644 package/python-mdurl/python-mdurl.mk
create mode 100644 package/python-memray/Config.in
create mode 100644 package/python-memray/python-memray.hash
create mode 100644 package/python-memray/python-memray.mk
create mode 100644 package/python-platformdirs/Config.in
create mode 100644 package/python-platformdirs/python-platformdirs.hash
create mode 100644 package/python-platformdirs/python-platformdirs.mk
create mode 100644 package/python-rich/Config.in
create mode 100644 package/python-rich/python-rich.hash
create mode 100644 package/python-rich/python-rich.mk
create mode 100644 package/python-textual/Config.in
create mode 100644 package/python-textual/python-textual.hash
create mode 100644 package/python-textual/python-textual.mk
--
2.50.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH 1/7] package/elfutils: enable libdebuginfod for target if requirements are met
2025-08-09 22:32 [Buildroot] [PATCH 0/7] Add package/python-memray and dependencies Fiona Klute via buildroot
@ 2025-08-09 22:32 ` Fiona Klute via buildroot
2025-08-09 22:32 ` [Buildroot] [PATCH 2/7] package/python-mdurl: new package Fiona Klute via buildroot
` (6 subsequent siblings)
7 siblings, 0 replies; 12+ messages in thread
From: Fiona Klute via buildroot @ 2025-08-09 22:32 UTC (permalink / raw)
To: buildroot; +Cc: James Hilliard, Fiona Klute, Thomas Petazzoni
From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de>
This does not make debug info available, but allows programs to build
that link against libdebuginfod.
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
---
package/elfutils/elfutils.mk | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/package/elfutils/elfutils.mk b/package/elfutils/elfutils.mk
index 39d6607cdf..624c40203e 100644
--- a/package/elfutils/elfutils.mk
+++ b/package/elfutils/elfutils.mk
@@ -49,8 +49,13 @@ ifeq ($(BR2_microblaze),y)
ELFUTILS_CONF_OPTS += --disable-symbol-versioning
endif
-# disable for now, needs "distro" support
-ELFUTILS_CONF_OPTS += --disable-libdebuginfod --disable-debuginfod
+ifeq ($(BR2_PACKAGE_JSON_C)$(BR2_PACKAGE_LIBCURL),yy)
+ELFUTILS_CONF_OPTS += --enable-libdebuginfod
+ELFUTILS_DEPENDENCIES += json-c libcurl
+else
+ELFUTILS_CONF_OPTS += --disable-libdebuginfod
+endif
+ELFUTILS_CONF_OPTS += --disable-debuginfod
HOST_ELFUTILS_CONF_OPTS += --disable-libdebuginfod --disable-debuginfod
ELFUTILS_CONF_ENV += \
--
2.50.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH 2/7] package/python-mdurl: new package
2025-08-09 22:32 [Buildroot] [PATCH 0/7] Add package/python-memray and dependencies Fiona Klute via buildroot
2025-08-09 22:32 ` [Buildroot] [PATCH 1/7] package/elfutils: enable libdebuginfod for target if requirements are met Fiona Klute via buildroot
@ 2025-08-09 22:32 ` Fiona Klute via buildroot
2025-08-09 22:32 ` [Buildroot] [PATCH 3/7] package/python-markdown-it-py: " Fiona Klute via buildroot
` (5 subsequent siblings)
7 siblings, 0 replies; 12+ messages in thread
From: Fiona Klute via buildroot @ 2025-08-09 22:32 UTC (permalink / raw)
To: buildroot; +Cc: James Hilliard, Fiona Klute, Thomas Petazzoni
From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de>
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/python-mdurl/Config.in | 7 +++++++
package/python-mdurl/python-mdurl.hash | 5 +++++
package/python-mdurl/python-mdurl.mk | 14 ++++++++++++++
5 files changed, 28 insertions(+)
create mode 100644 package/python-mdurl/Config.in
create mode 100644 package/python-mdurl/python-mdurl.hash
create mode 100644 package/python-mdurl/python-mdurl.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index 12a41597af..7325e0c5ba 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1120,6 +1120,7 @@ N: Fiona Klute <fiona.klute@gmx.de>
F: package/*/S*
F: package/panel-mipi-dbi-firmware/
F: package/python-aiomqtt/
+F: package/python-mdurl/
F: package/python-pyasynchat/
F: package/python-pyasyncore/
F: support/testing/tests/package/sample_python_networkmanager_goi.py
diff --git a/package/Config.in b/package/Config.in
index 137f74ed82..e9ce49e2df 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1235,6 +1235,7 @@ menu "External python modules"
source "package/python-matplotlib/Config.in"
source "package/python-matplotlib-inline/Config.in"
source "package/python-mbstrdecoder/Config.in"
+ source "package/python-mdurl/Config.in"
source "package/python-memory-profiler/Config.in"
source "package/python-midiutil/Config.in"
source "package/python-mimeparse/Config.in"
diff --git a/package/python-mdurl/Config.in b/package/python-mdurl/Config.in
new file mode 100644
index 0000000000..6daf4d39c4
--- /dev/null
+++ b/package/python-mdurl/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_PYTHON_MDURL
+ bool "python-mdurl"
+ help
+ This is a Python port of the JavaScript mdurl package, used by
+ markdown-it-py.
+
+ https://github.com/executablebooks/mdurl
diff --git a/package/python-mdurl/python-mdurl.hash b/package/python-mdurl/python-mdurl.hash
new file mode 100644
index 0000000000..932813e9f6
--- /dev/null
+++ b/package/python-mdurl/python-mdurl.hash
@@ -0,0 +1,5 @@
+# md5, sha256 from https://pypi.org/pypi/mdurl/json
+md5 f18eca6522b438354be2378f216a5a94 mdurl-0.1.2.tar.gz
+sha256 bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba mdurl-0.1.2.tar.gz
+# Locally computed sha256 checksums
+sha256 7c605df6e28667a9603118e98274f64a49ce3eed0d26fccce9534a345e0ef955 LICENSE
diff --git a/package/python-mdurl/python-mdurl.mk b/package/python-mdurl/python-mdurl.mk
new file mode 100644
index 0000000000..c6ed397438
--- /dev/null
+++ b/package/python-mdurl/python-mdurl.mk
@@ -0,0 +1,14 @@
+################################################################################
+#
+# python-mdurl
+#
+################################################################################
+
+PYTHON_MDURL_VERSION = 0.1.2
+PYTHON_MDURL_SOURCE = mdurl-$(PYTHON_MDURL_VERSION).tar.gz
+PYTHON_MDURL_SITE = https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90
+PYTHON_MDURL_SETUP_TYPE = flit
+PYTHON_MDURL_LICENSE = MIT
+PYTHON_MDURL_LICENSE_FILES = LICENSE
+
+$(eval $(python-package))
--
2.50.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH 3/7] package/python-markdown-it-py: new package
2025-08-09 22:32 [Buildroot] [PATCH 0/7] Add package/python-memray and dependencies Fiona Klute via buildroot
2025-08-09 22:32 ` [Buildroot] [PATCH 1/7] package/elfutils: enable libdebuginfod for target if requirements are met Fiona Klute via buildroot
2025-08-09 22:32 ` [Buildroot] [PATCH 2/7] package/python-mdurl: new package Fiona Klute via buildroot
@ 2025-08-09 22:32 ` Fiona Klute via buildroot
2025-08-09 22:32 ` [Buildroot] [PATCH 4/7] package/python-platformdirs: " Fiona Klute via buildroot
` (4 subsequent siblings)
7 siblings, 0 replies; 12+ messages in thread
From: Fiona Klute via buildroot @ 2025-08-09 22:32 UTC (permalink / raw)
To: buildroot; +Cc: James Hilliard, Fiona Klute, Thomas Petazzoni
From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de>
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/python-markdown-it-py/Config.in | 7 +++++++
.../python-markdown-it-py.hash | 6 ++++++
.../python-markdown-it-py/python-markdown-it-py.mk | 14 ++++++++++++++
5 files changed, 29 insertions(+)
create mode 100644 package/python-markdown-it-py/Config.in
create mode 100644 package/python-markdown-it-py/python-markdown-it-py.hash
create mode 100644 package/python-markdown-it-py/python-markdown-it-py.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index 7325e0c5ba..50a02d2171 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1120,6 +1120,7 @@ N: Fiona Klute <fiona.klute@gmx.de>
F: package/*/S*
F: package/panel-mipi-dbi-firmware/
F: package/python-aiomqtt/
+F: package/python-markdown-it-py/
F: package/python-mdurl/
F: package/python-pyasynchat/
F: package/python-pyasyncore/
diff --git a/package/Config.in b/package/Config.in
index e9ce49e2df..04041b11f2 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1228,6 +1228,7 @@ menu "External python modules"
source "package/python-magic-wormhole-transit-relay/Config.in"
source "package/python-mako/Config.in"
source "package/python-markdown/Config.in"
+ source "package/python-markdown-it-py/Config.in"
source "package/python-markdown2/Config.in"
source "package/python-markupsafe/Config.in"
source "package/python-marshmallow/Config.in"
diff --git a/package/python-markdown-it-py/Config.in b/package/python-markdown-it-py/Config.in
new file mode 100644
index 0000000000..b05a875bc9
--- /dev/null
+++ b/package/python-markdown-it-py/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_PYTHON_MARKDOWN_IT_PY
+ bool "python-markdown-it-py"
+ select BR2_PACKAGE_PYTHON_MDURL # runtime
+ help
+ Python port of markdown-it. Markdown parsing, done right!
+
+ https://github.com/executablebooks/markdown-it-py
diff --git a/package/python-markdown-it-py/python-markdown-it-py.hash b/package/python-markdown-it-py/python-markdown-it-py.hash
new file mode 100644
index 0000000000..bc28feea7d
--- /dev/null
+++ b/package/python-markdown-it-py/python-markdown-it-py.hash
@@ -0,0 +1,6 @@
+# md5, sha256 from https://pypi.org/pypi/markdown-it-py/json
+md5 a00d59ed2704f6590fdde0e9bad04c7c markdown-it-py-3.0.0.tar.gz
+sha256 e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb markdown-it-py-3.0.0.tar.gz
+# Locally computed sha256 checksums
+sha256 4a2260d6e2cd0f5a151a1e86dbfe7d3ed552b1e2beabf9941c1ba5c49cbce484 LICENSE
+sha256 792c48c5a849a15fdf9e37e8bcf9e6d1dd13b32b46c642a748a0a46a9919d473 LICENSE.markdown-it
diff --git a/package/python-markdown-it-py/python-markdown-it-py.mk b/package/python-markdown-it-py/python-markdown-it-py.mk
new file mode 100644
index 0000000000..aac0845185
--- /dev/null
+++ b/package/python-markdown-it-py/python-markdown-it-py.mk
@@ -0,0 +1,14 @@
+################################################################################
+#
+# python-markdown-it-py
+#
+################################################################################
+
+PYTHON_MARKDOWN_IT_PY_VERSION = 3.0.0
+PYTHON_MARKDOWN_IT_PY_SOURCE = markdown-it-py-$(PYTHON_MARKDOWN_IT_PY_VERSION).tar.gz
+PYTHON_MARKDOWN_IT_PY_SITE = https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0
+PYTHON_MARKDOWN_IT_PY_SETUP_TYPE = flit
+PYTHON_MARKDOWN_IT_PY_LICENSE = MIT
+PYTHON_MARKDOWN_IT_PY_LICENSE_FILES = LICENSE LICENSE.markdown-it
+
+$(eval $(python-package))
--
2.50.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH 4/7] package/python-platformdirs: new package
2025-08-09 22:32 [Buildroot] [PATCH 0/7] Add package/python-memray and dependencies Fiona Klute via buildroot
` (2 preceding siblings ...)
2025-08-09 22:32 ` [Buildroot] [PATCH 3/7] package/python-markdown-it-py: " Fiona Klute via buildroot
@ 2025-08-09 22:32 ` Fiona Klute via buildroot
2025-08-09 22:32 ` [Buildroot] [PATCH 5/7] package/python-rich: " Fiona Klute via buildroot
` (3 subsequent siblings)
7 siblings, 0 replies; 12+ messages in thread
From: Fiona Klute via buildroot @ 2025-08-09 22:32 UTC (permalink / raw)
To: buildroot; +Cc: James Hilliard, Fiona Klute, Thomas Petazzoni
From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de>
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/python-platformdirs/Config.in | 7 +++++++
.../python-platformdirs/python-platformdirs.hash | 5 +++++
package/python-platformdirs/python-platformdirs.mk | 14 ++++++++++++++
5 files changed, 28 insertions(+)
create mode 100644 package/python-platformdirs/Config.in
create mode 100644 package/python-platformdirs/python-platformdirs.hash
create mode 100644 package/python-platformdirs/python-platformdirs.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index 50a02d2171..361703b34b 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1122,6 +1122,7 @@ F: package/panel-mipi-dbi-firmware/
F: package/python-aiomqtt/
F: package/python-markdown-it-py/
F: package/python-mdurl/
+F: package/python-platformdirs/
F: package/python-pyasynchat/
F: package/python-pyasyncore/
F: support/testing/tests/package/sample_python_networkmanager_goi.py
diff --git a/package/Config.in b/package/Config.in
index 04041b11f2..3d343c3c91 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1285,6 +1285,7 @@ menu "External python modules"
source "package/python-pigpio/Config.in"
source "package/python-pillow/Config.in"
source "package/python-pip/Config.in"
+ source "package/python-platformdirs/Config.in"
source "package/python-pluggy/Config.in"
source "package/python-ply/Config.in"
source "package/python-portend/Config.in"
diff --git a/package/python-platformdirs/Config.in b/package/python-platformdirs/Config.in
new file mode 100644
index 0000000000..b0cde72585
--- /dev/null
+++ b/package/python-platformdirs/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_PYTHON_PLATFORMDIRS
+ bool "python-platformdirs"
+ help
+ A small Python package for determining appropriate
+ platform-specific dirs, e.g. a "user data dir".
+
+ https://github.com/tox-dev/platformdirs
diff --git a/package/python-platformdirs/python-platformdirs.hash b/package/python-platformdirs/python-platformdirs.hash
new file mode 100644
index 0000000000..b35d10dba1
--- /dev/null
+++ b/package/python-platformdirs/python-platformdirs.hash
@@ -0,0 +1,5 @@
+# md5, sha256 from https://pypi.org/pypi/platformdirs/json
+md5 90aef8202386996ce2e4b560a9f1d3e6 platformdirs-4.3.8.tar.gz
+sha256 3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc platformdirs-4.3.8.tar.gz
+# Locally computed sha256 checksums
+sha256 29e0fd62e929850e86eb28c3fdccf0cefdf4fa94879011cffb3d0d4bed6d4db6 LICENSE
diff --git a/package/python-platformdirs/python-platformdirs.mk b/package/python-platformdirs/python-platformdirs.mk
new file mode 100644
index 0000000000..fde3b3636c
--- /dev/null
+++ b/package/python-platformdirs/python-platformdirs.mk
@@ -0,0 +1,14 @@
+################################################################################
+#
+# python-platformdirs
+#
+################################################################################
+
+PYTHON_PLATFORMDIRS_VERSION = 4.3.8
+PYTHON_PLATFORMDIRS_SOURCE = platformdirs-$(PYTHON_PLATFORMDIRS_VERSION).tar.gz
+PYTHON_PLATFORMDIRS_SITE = https://files.pythonhosted.org/packages/fe/8b/3c73abc9c759ecd3f1f7ceff6685840859e8070c4d947c93fae71f6a0bf2
+PYTHON_PLATFORMDIRS_SETUP_TYPE = hatch
+PYTHON_PLATFORMDIRS_LICENSE = MIT
+PYTHON_PLATFORMDIRS_LICENSE_FILES = LICENSE
+
+$(eval $(python-package))
--
2.50.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH 5/7] package/python-rich: new package
2025-08-09 22:32 [Buildroot] [PATCH 0/7] Add package/python-memray and dependencies Fiona Klute via buildroot
` (3 preceding siblings ...)
2025-08-09 22:32 ` [Buildroot] [PATCH 4/7] package/python-platformdirs: " Fiona Klute via buildroot
@ 2025-08-09 22:32 ` Fiona Klute via buildroot
2025-08-09 22:32 ` [Buildroot] [PATCH 6/7] package/python-textual: " Fiona Klute via buildroot
` (2 subsequent siblings)
7 siblings, 0 replies; 12+ messages in thread
From: Fiona Klute via buildroot @ 2025-08-09 22:32 UTC (permalink / raw)
To: buildroot; +Cc: James Hilliard, Fiona Klute, Thomas Petazzoni
From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de>
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/python-rich/Config.in | 9 +++++++++
package/python-rich/python-rich.hash | 5 +++++
package/python-rich/python-rich.mk | 14 ++++++++++++++
5 files changed, 30 insertions(+)
create mode 100644 package/python-rich/Config.in
create mode 100644 package/python-rich/python-rich.hash
create mode 100644 package/python-rich/python-rich.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index 361703b34b..60ce3274aa 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1125,6 +1125,7 @@ F: package/python-mdurl/
F: package/python-platformdirs/
F: package/python-pyasynchat/
F: package/python-pyasyncore/
+F: package/python-rich/
F: support/testing/tests/package/sample_python_networkmanager_goi.py
F: support/testing/tests/package/test_nftables.py
F: support/testing/tests/package/test_python_networkmanager_goi.py
diff --git a/package/Config.in b/package/Config.in
index 3d343c3c91..14aab8ad3e 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1384,6 +1384,7 @@ menu "External python modules"
source "package/python-requests-toolbelt/Config.in"
source "package/python-rfc3987/Config.in"
source "package/python-rgbmatrix/Config.in"
+ source "package/python-rich/Config.in"
source "package/python-rpds-py/Config.in"
source "package/python-rpi-gpio/Config.in"
source "package/python-rpi-ws281x/Config.in"
diff --git a/package/python-rich/Config.in b/package/python-rich/Config.in
new file mode 100644
index 0000000000..d7f3cdf54a
--- /dev/null
+++ b/package/python-rich/Config.in
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_PYTHON_RICH
+ bool "python-rich"
+ select BR2_PACKAGE_PYTHON_MARKDOWN_IT_PY # runtime
+ select BR2_PACKAGE_PYTHON_PYGMENTS # runtime
+ help
+ Render rich text, tables, progress bars, syntax
+ highlighting, markdown and more to the terminal.
+
+ https://github.com/Textualize/rich
diff --git a/package/python-rich/python-rich.hash b/package/python-rich/python-rich.hash
new file mode 100644
index 0000000000..87c58f42e3
--- /dev/null
+++ b/package/python-rich/python-rich.hash
@@ -0,0 +1,5 @@
+# md5, sha256 from https://pypi.org/pypi/rich/json
+md5 38baf395e7860be314c6c29fcac8637d rich-14.1.0.tar.gz
+sha256 e497a48b844b0320d45007cdebfeaeed8db2a4f4bcf49f15e455cfc4af11eaa8 rich-14.1.0.tar.gz
+# Locally computed sha256 checksums
+sha256 deed7c17a4318158190a3ea239cc879a5a50271cebb98ae7025f48fbe58dca15 LICENSE
diff --git a/package/python-rich/python-rich.mk b/package/python-rich/python-rich.mk
new file mode 100644
index 0000000000..e6564347a5
--- /dev/null
+++ b/package/python-rich/python-rich.mk
@@ -0,0 +1,14 @@
+################################################################################
+#
+# python-rich
+#
+################################################################################
+
+PYTHON_RICH_VERSION = 14.1.0
+PYTHON_RICH_SOURCE = rich-$(PYTHON_RICH_VERSION).tar.gz
+PYTHON_RICH_SITE = https://files.pythonhosted.org/packages/fe/75/af448d8e52bf1d8fa6a9d089ca6c07ff4453d86c65c145d0a300bb073b9b
+PYTHON_RICH_SETUP_TYPE = poetry
+PYTHON_RICH_LICENSE = MIT
+PYTHON_RICH_LICENSE_FILES = LICENSE
+
+$(eval $(python-package))
--
2.50.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH 6/7] package/python-textual: new package
2025-08-09 22:32 [Buildroot] [PATCH 0/7] Add package/python-memray and dependencies Fiona Klute via buildroot
` (4 preceding siblings ...)
2025-08-09 22:32 ` [Buildroot] [PATCH 5/7] package/python-rich: " Fiona Klute via buildroot
@ 2025-08-09 22:32 ` Fiona Klute via buildroot
2025-08-09 22:32 ` [Buildroot] [PATCH 7/7] package/python-memray: " Fiona Klute via buildroot
2025-08-10 10:47 ` [Buildroot] [PATCH 0/7] Add package/python-memray and dependencies Thomas Petazzoni via buildroot
7 siblings, 0 replies; 12+ messages in thread
From: Fiona Klute via buildroot @ 2025-08-09 22:32 UTC (permalink / raw)
To: buildroot; +Cc: James Hilliard, Fiona Klute, Thomas Petazzoni
From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de>
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/python-textual/Config.in | 11 +++++++++++
package/python-textual/python-textual.hash | 5 +++++
package/python-textual/python-textual.mk | 14 ++++++++++++++
5 files changed, 32 insertions(+)
create mode 100644 package/python-textual/Config.in
create mode 100644 package/python-textual/python-textual.hash
create mode 100644 package/python-textual/python-textual.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index 60ce3274aa..aeb4206543 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1126,6 +1126,7 @@ F: package/python-platformdirs/
F: package/python-pyasynchat/
F: package/python-pyasyncore/
F: package/python-rich/
+F: package/python-textual/
F: support/testing/tests/package/sample_python_networkmanager_goi.py
F: support/testing/tests/package/test_nftables.py
F: support/testing/tests/package/test_python_networkmanager_goi.py
diff --git a/package/Config.in b/package/Config.in
index 14aab8ad3e..dfaa2486a5 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1451,6 +1451,7 @@ menu "External python modules"
source "package/python-termcolor/Config.in"
source "package/python-terminaltables/Config.in"
source "package/python-texttable/Config.in"
+ source "package/python-textual/Config.in"
source "package/python-tftpy/Config.in"
source "package/python-thrift/Config.in"
source "package/python-tinycss2/Config.in"
diff --git a/package/python-textual/Config.in b/package/python-textual/Config.in
new file mode 100644
index 0000000000..aecf050ec9
--- /dev/null
+++ b/package/python-textual/Config.in
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_PYTHON_TEXTUAL
+ bool "python-textual"
+ select BR2_PACKAGE_PYTHON_MARKDOWN_IT_PY # runtime
+ select BR2_PACKAGE_PYTHON_PLATFORMDIRS # runtime
+ select BR2_PACKAGE_PYTHON_PYGMENTS # runtime
+ select BR2_PACKAGE_PYTHON_RICH # runtime
+ select BR2_PACKAGE_PYTHON_TYPING_EXTENSIONS # runtime
+ help
+ Modern Text User Interface framework.
+
+ https://github.com/Textualize/textual
diff --git a/package/python-textual/python-textual.hash b/package/python-textual/python-textual.hash
new file mode 100644
index 0000000000..692e0d757b
--- /dev/null
+++ b/package/python-textual/python-textual.hash
@@ -0,0 +1,5 @@
+# md5, sha256 from https://pypi.org/pypi/textual/json
+md5 cb43b8d6d3903ca171330a626cfa05e5 textual-5.3.0.tar.gz
+sha256 1b6128b339adef2e298cc23ab4777180443240ece5c232f29b22960efd658d4d textual-5.3.0.tar.gz
+# Locally computed sha256 checksums
+sha256 94f290a762376dfdb7768e42070618b0abfd2a2799eab1b1c097816c3a39eb57 LICENSE
diff --git a/package/python-textual/python-textual.mk b/package/python-textual/python-textual.mk
new file mode 100644
index 0000000000..49cccc299d
--- /dev/null
+++ b/package/python-textual/python-textual.mk
@@ -0,0 +1,14 @@
+################################################################################
+#
+# python-textual
+#
+################################################################################
+
+PYTHON_TEXTUAL_VERSION = 5.3.0
+PYTHON_TEXTUAL_SOURCE = textual-$(PYTHON_TEXTUAL_VERSION).tar.gz
+PYTHON_TEXTUAL_SITE = https://files.pythonhosted.org/packages/ba/ce/f0f938d33d9bebbf8629e0020be00c560ddfa90a23ebe727c2e5aa3f30cf
+PYTHON_TEXTUAL_SETUP_TYPE = poetry
+PYTHON_TEXTUAL_LICENSE = MIT
+PYTHON_TEXTUAL_LICENSE_FILES = LICENSE
+
+$(eval $(python-package))
--
2.50.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH 7/7] package/python-memray: new package
2025-08-09 22:32 [Buildroot] [PATCH 0/7] Add package/python-memray and dependencies Fiona Klute via buildroot
` (5 preceding siblings ...)
2025-08-09 22:32 ` [Buildroot] [PATCH 6/7] package/python-textual: " Fiona Klute via buildroot
@ 2025-08-09 22:32 ` Fiona Klute via buildroot
2025-08-10 10:47 ` [Buildroot] [PATCH 0/7] Add package/python-memray and dependencies Thomas Petazzoni via buildroot
7 siblings, 0 replies; 12+ messages in thread
From: Fiona Klute via buildroot @ 2025-08-09 22:32 UTC (permalink / raw)
To: buildroot; +Cc: James Hilliard, Fiona Klute, Thomas Petazzoni
From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de>
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/python-memray/Config.in | 19 +++++++++++++++++++
package/python-memray/python-memray.hash | 6 ++++++
package/python-memray/python-memray.mk | 24 ++++++++++++++++++++++++
5 files changed, 51 insertions(+)
create mode 100644 package/python-memray/Config.in
create mode 100644 package/python-memray/python-memray.hash
create mode 100644 package/python-memray/python-memray.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index aeb4206543..9d4d3846ab 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1122,6 +1122,7 @@ F: package/panel-mipi-dbi-firmware/
F: package/python-aiomqtt/
F: package/python-markdown-it-py/
F: package/python-mdurl/
+F: package/python-memray/
F: package/python-platformdirs/
F: package/python-pyasynchat/
F: package/python-pyasyncore/
diff --git a/package/Config.in b/package/Config.in
index dfaa2486a5..e99205db4a 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1238,6 +1238,7 @@ menu "External python modules"
source "package/python-mbstrdecoder/Config.in"
source "package/python-mdurl/Config.in"
source "package/python-memory-profiler/Config.in"
+ source "package/python-memray/Config.in"
source "package/python-midiutil/Config.in"
source "package/python-mimeparse/Config.in"
source "package/python-minimalmodbus/Config.in"
diff --git a/package/python-memray/Config.in b/package/python-memray/Config.in
new file mode 100644
index 0000000000..4711705768
--- /dev/null
+++ b/package/python-memray/Config.in
@@ -0,0 +1,19 @@
+config BR2_PACKAGE_PYTHON_MEMRAY
+ bool "python-memray"
+ depends on BR2_USE_WCHAR # required for elfutils
+ depends on !BR2_STATIC_LIBS # required for elfutils
+ depends on BR2_TOOLCHAIN_HAS_THREADS # required for elfutils
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4 # required for json-c
+ depends on BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS
+ select BR2_PACKAGE_ELFUTILS
+ select BR2_PACKAGE_JSON_C # required for libdebuginfod in elfutils
+ select BR2_PACKAGE_LIBCURL # required for libdebuginfod in elfutils
+ select BR2_PACKAGE_LIBUNWIND
+ select BR2_PACKAGE_LZ4
+ select BR2_PACKAGE_PYTHON_JINJA2 # runtime
+ select BR2_PACKAGE_PYTHON_RICH # runtime
+ select BR2_PACKAGE_PYTHON_TEXTUAL # runtime
+ help
+ A memory profiler for Python applications.
+
+ https://github.com/bloomberg/memray
diff --git a/package/python-memray/python-memray.hash b/package/python-memray/python-memray.hash
new file mode 100644
index 0000000000..bde66a24d9
--- /dev/null
+++ b/package/python-memray/python-memray.hash
@@ -0,0 +1,6 @@
+# md5, sha256 from https://pypi.org/pypi/memray/json
+md5 b48d378a5e5ca043a210781a2023dbe6 memray-1.17.2.tar.gz
+sha256 eb75c075874a6eccddf361513d9d4a9223dd940580c6370a6ba5339bae5d0ba2 memray-1.17.2.tar.gz
+# Locally computed sha256 checksums
+sha256 c973dd08e49022a4017ffd457116b046ebe07fc71a644fd760d64183869ca97f LICENSE
+sha256 ef8a9b3247488f8901ca60de9b17b745d7bd67e5ec1e622f80d62364572200d8 src/vendor/libbacktrace/LICENSE
diff --git a/package/python-memray/python-memray.mk b/package/python-memray/python-memray.mk
new file mode 100644
index 0000000000..517efeb85a
--- /dev/null
+++ b/package/python-memray/python-memray.mk
@@ -0,0 +1,24 @@
+################################################################################
+#
+# python-memray
+#
+################################################################################
+
+PYTHON_MEMRAY_VERSION = 1.17.2
+PYTHON_MEMRAY_SOURCE = memray-$(PYTHON_MEMRAY_VERSION).tar.gz
+PYTHON_MEMRAY_SITE = https://files.pythonhosted.org/packages/df/40/66e6ae86c0a22b8b998779fa8d6c0ab9ee63f0943198adcf714934286cbf
+PYTHON_MEMRAY_SETUP_TYPE = setuptools
+PYTHON_MEMRAY_LICENSE = Apache-2.0
+PYTHON_MEMRAY_LICENSE_FILES = LICENSE src/vendor/libbacktrace/LICENSE
+PYTHON_MEMRAY_DEPENDENCIES = host-python-cython host-python-pkgconfig lz4 elfutils libunwind
+
+# Define cross-compile target for bundled & patched libbacktrace.
+PYTHON_MEMRAY_ENV = MEMRAY_LIBBACKTRACE_TARGET=$(GNU_TARGET_NAME)
+
+ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y)
+# Sources must be compiled with -fPIC, otherwise linking with -flto
+# (which memray sets by default) fails.
+PYTHON_MEMRAY_ENV += CPPFLAGS="$(TARGET_CPPFLAGS) -fPIC"
+endif
+
+$(eval $(python-package))
--
2.50.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [Buildroot] [PATCH 0/7] Add package/python-memray and dependencies
2025-08-09 22:32 [Buildroot] [PATCH 0/7] Add package/python-memray and dependencies Fiona Klute via buildroot
` (6 preceding siblings ...)
2025-08-09 22:32 ` [Buildroot] [PATCH 7/7] package/python-memray: " Fiona Klute via buildroot
@ 2025-08-10 10:47 ` Thomas Petazzoni via buildroot
2025-08-11 10:53 ` Fiona Klute via buildroot
7 siblings, 1 reply; 12+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-08-10 10:47 UTC (permalink / raw)
To: Fiona Klute; +Cc: James Hilliard, buildroot
Hello Fiona,
On Sun, 10 Aug 2025 00:32:22 +0200
Fiona Klute <fiona.klute@gmx.de> wrote:
> This series adds the Memray memory profiler for Python [1] and its
> dependencies. I needed it to help reduce memory usage of some custom
> tools, and figure it might be useful to others for
> debugging/optimization, too.
>
> The individual patches are fairly simple, just a bunch of new Python
> packages. Memray itself includes a binary module that needs to be
> cross-compiled.
Thanks for the patch series! Since it's mostly made if Python packages,
it would be nice to have some tests in support/testing/ for those
packages, or at least for the "top-level" Memray package.
> One thing I'm not sure about is whether there should be a separate
> option to enable building libdebuginfod in package/elfutils, instead
> of enabling it if the dependencies are met. Having an option would
> allow people who need package/json-c and package/libcurl, but don't
> build anything that links against libdebuginfod to save a few kB (in
> my arm64 build /usr/lib/libdebuginfod-0.192.so is about 38 kB), at the
> price of slightly more complexity in the config system. I'm happy to
> add the option if that's preferred.
In this particular case, I believe I would create an explicit
sub-option. Not because 38 KiB matters, but because it's rather
impossible to "guess" that json-c and libcurl are needed to get
libdebuginfod to be built.
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] 12+ messages in thread
* Re: [Buildroot] [PATCH 0/7] Add package/python-memray and dependencies
2025-08-10 10:47 ` [Buildroot] [PATCH 0/7] Add package/python-memray and dependencies Thomas Petazzoni via buildroot
@ 2025-08-11 10:53 ` Fiona Klute via buildroot
2025-08-11 20:28 ` Thomas Petazzoni via buildroot
2025-08-11 20:52 ` Thomas Petazzoni via buildroot
0 siblings, 2 replies; 12+ messages in thread
From: Fiona Klute via buildroot @ 2025-08-11 10:53 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: James Hilliard, buildroot
Hi Thomas!
Am 10.08.25 um 12:47 schrieb Thomas Petazzoni:
> Hello Fiona,
>
> On Sun, 10 Aug 2025 00:32:22 +0200
> Fiona Klute <fiona.klute@gmx.de> wrote:
>
>> This series adds the Memray memory profiler for Python [1] and its
>> dependencies. I needed it to help reduce memory usage of some custom
>> tools, and figure it might be useful to others for
>> debugging/optimization, too.
>>
>> The individual patches are fairly simple, just a bunch of new Python
>> packages. Memray itself includes a binary module that needs to be
>> cross-compiled.
>
> Thanks for the patch series! Since it's mostly made if Python packages,
> it would be nice to have some tests in support/testing/ for those
> packages, or at least for the "top-level" Memray package.
Something like "record a trace and process it into
statistics/flamegraph" should be simple enough to do, checking if the
output makes sense would be hard to automate though. Would just "doesn't
crash in the process" and maybe a grep for expected items be enough?
>> One thing I'm not sure about is whether there should be a separate
>> option to enable building libdebuginfod in package/elfutils, instead
>> of enabling it if the dependencies are met. Having an option would
>> allow people who need package/json-c and package/libcurl, but don't
>> build anything that links against libdebuginfod to save a few kB (in
>> my arm64 build /usr/lib/libdebuginfod-0.192.so is about 38 kB), at the
>> price of slightly more complexity in the config system. I'm happy to
>> add the option if that's preferred.
>
> In this particular case, I believe I would create an explicit
> sub-option. Not because 38 KiB matters, but because it's rather
> impossible to "guess" that json-c and libcurl are needed to get
> libdebuginfod to be built.
I'll add it then. Would it make sense to use "depends on" the new option
in package/python-memray then, to simplify the forwarded requirements
(instead of copying all the "depends on" for elfutils and json-c), even
if it's a little less convenient to enable?
Best regards,
Fiona
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Buildroot] [PATCH 0/7] Add package/python-memray and dependencies
2025-08-11 10:53 ` Fiona Klute via buildroot
@ 2025-08-11 20:28 ` Thomas Petazzoni via buildroot
2025-08-11 20:52 ` Thomas Petazzoni via buildroot
1 sibling, 0 replies; 12+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-08-11 20:28 UTC (permalink / raw)
To: Fiona Klute; +Cc: James Hilliard, buildroot
Hello,
On Mon, 11 Aug 2025 12:53:52 +0200
Fiona Klute <fiona.klute@gmx.de> wrote:
> Something like "record a trace and process it into
> statistics/flamegraph" should be simple enough to do, checking if the
> output makes sense would be hard to automate though. Would just "doesn't
> crash in the process" and maybe a grep for expected items be enough?
Something simple is good enough. Verifying that the output "makes
sense" is IMO too complicated. Just make sure that it does generate
something vaguely reasonable :-)
> I'll add it then. Would it make sense to use "depends on" the new option
> in package/python-memray then, to simplify the forwarded requirements
> (instead of copying all the "depends on" for elfutils and json-c), even
> if it's a little less convenient to enable?
I saw you v2, and you went for "select", and it was the right thing to
do. 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] 12+ messages in thread
* Re: [Buildroot] [PATCH 0/7] Add package/python-memray and dependencies
2025-08-11 10:53 ` Fiona Klute via buildroot
2025-08-11 20:28 ` Thomas Petazzoni via buildroot
@ 2025-08-11 20:52 ` Thomas Petazzoni via buildroot
1 sibling, 0 replies; 12+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-08-11 20:52 UTC (permalink / raw)
To: Fiona Klute; +Cc: James Hilliard, buildroot
On Mon, 11 Aug 2025 12:53:52 +0200
Fiona Klute <fiona.klute@gmx.de> wrote:
> Something like "record a trace and process it into
> statistics/flamegraph" should be simple enough to do, checking if the
> output makes sense would be hard to automate though. Would just "doesn't
> crash in the process" and maybe a grep for expected items be enough?
Something simple is enough. As you say, ensuring that the output makes
sense is too complicated.
> I'll add it then. Would it make sense to use "depends on" the new option
> in package/python-memray then, to simplify the forwarded requirements
> (instead of copying all the "depends on" for elfutils and json-c), even
> if it's a little less convenient to enable?
I saw you v2, and it uses "select", and it was the right thing to do.
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] 12+ messages in thread
end of thread, other threads:[~2025-08-11 20:52 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-09 22:32 [Buildroot] [PATCH 0/7] Add package/python-memray and dependencies Fiona Klute via buildroot
2025-08-09 22:32 ` [Buildroot] [PATCH 1/7] package/elfutils: enable libdebuginfod for target if requirements are met Fiona Klute via buildroot
2025-08-09 22:32 ` [Buildroot] [PATCH 2/7] package/python-mdurl: new package Fiona Klute via buildroot
2025-08-09 22:32 ` [Buildroot] [PATCH 3/7] package/python-markdown-it-py: " Fiona Klute via buildroot
2025-08-09 22:32 ` [Buildroot] [PATCH 4/7] package/python-platformdirs: " Fiona Klute via buildroot
2025-08-09 22:32 ` [Buildroot] [PATCH 5/7] package/python-rich: " Fiona Klute via buildroot
2025-08-09 22:32 ` [Buildroot] [PATCH 6/7] package/python-textual: " Fiona Klute via buildroot
2025-08-09 22:32 ` [Buildroot] [PATCH 7/7] package/python-memray: " Fiona Klute via buildroot
2025-08-10 10:47 ` [Buildroot] [PATCH 0/7] Add package/python-memray and dependencies Thomas Petazzoni via buildroot
2025-08-11 10:53 ` Fiona Klute via buildroot
2025-08-11 20:28 ` Thomas Petazzoni via buildroot
2025-08-11 20:52 ` Thomas Petazzoni via buildroot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox