python-pyproject-metadata: update to 0.11.0
authorAlexandru Ardelean <redacted>
Thu, 9 Apr 2026 05:36:57 +0000 (08:36 +0300)
committerAlexandru Ardelean <redacted>
Thu, 16 Apr 2026 04:08:59 +0000 (07:08 +0300)
Update package to 0.11.0.

Changes since 0.9.1:

0.10.0:
- Added support for PEP 794 (METADATA 2.5) import-names and
  import-namespaces fields
- Dropped Python 3.7 support
- Fixed minimum required version of packaging dependency

0.11.0:
- Refactored internals to separate conversion and validation, yielding
  better error messages
- Added downstream project testing in CI
- Removed lingering PEP 621 terminology in favor of pyproject.toml
  terminology

Apply dos2unix

Signed-off-by: Alexandru Ardelean <redacted>
lang/python/pyproject-metadata/Makefile
lang/python/pyproject-metadata/test.sh [new file with mode: 0755]

index 7f234b4fb602e47d1904ef2c5186519915c43392..d95a5e16ae409f16ba0b678c33092c92cb4fc31d 100644 (file)
@@ -1,45 +1,45 @@
-include $(TOPDIR)/rules.mk\r
-\r
-PKG_NAME:=pyproject-metadata\r
-PKG_VERSION:=0.9.1\r
-PKG_RELEASE:=1\r
-\r
-PYPI_NAME:=pyproject-metadata\r
-PYPI_SOURCE_NAME:=pyproject_metadata\r
-PKG_HASH:=b8b2253dd1b7062b78cf949a115f02ba7fa4114aabe63fa10528e9e1a954a816\r
-\r
-PKG_MAINTAINER:=Andy Syam <privasisource@gmail.com>\r
-PKG_LICENSE:=MIT\r
-PKG_LICENSE_FILES:=LICENSE\r
-\r
-HOST_BUILD_DEPENDS:= \\r
-       python3/host \\r
-       python-setuptools/host \\r
-       python-build/host \\r
-       python-installer/host \\r
-       python-wheel/host\r
-\r
-include ../pypi.mk\r
-include $(INCLUDE_DIR)/package.mk\r
-include $(INCLUDE_DIR)/host-build.mk\r
-include ../python3-package.mk\r
-include ../python3-host-build.mk\r
-\r
-define Package/python3-pyproject-metadata\r
-  SUBMENU:=Python\r
-  SECTION:=lang\r
-  CATEGORY:=Languages\r
-  TITLE:=PEP 621 metadata parsing\r
-  URL:=https://github.com/FFY00/python-pyproject-metadata\r
-  DEPENDS:=+python3\r
-endef\r
-\r
-define Package/python3-pyproject-metadata/description\r
-This project does not implement the parsing of pyproject.toml containing PEP 621 metadata.\r
-Instead, given a Python data structure representing PEP 621 metadata (already parsed), it will validate this input and generate a PEP 643-compliant metadata file (e.g. PKG-INFO).\r
-endef\r
-\r
-$(eval $(call Py3Package,python3-pyproject-metadata))\r
-$(eval $(call BuildPackage,python3-pyproject-metadata))\r
-$(eval $(call BuildPackage,python3-pyproject-metadata-src))\r
-$(eval $(call HostBuild))\r
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=pyproject-metadata
+PKG_VERSION:=0.11.0
+PKG_RELEASE:=1
+
+PYPI_NAME:=pyproject-metadata
+PYPI_SOURCE_NAME:=pyproject_metadata
+PKG_HASH:=c72fa49418bb7c5a10f25e050c418009898d1c051721d19f98a6fb6da59a66cf
+
+PKG_MAINTAINER:=Andy Syam <privasisource@gmail.com>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+
+HOST_BUILD_DEPENDS:= \
+       python3/host \
+       python-setuptools/host \
+       python-build/host \
+       python-installer/host \
+       python-wheel/host
+
+include ../pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/host-build.mk
+include ../python3-package.mk
+include ../python3-host-build.mk
+
+define Package/python3-pyproject-metadata
+  SUBMENU:=Python
+  SECTION:=lang
+  CATEGORY:=Languages
+  TITLE:=PEP 621 metadata parsing
+  URL:=https://github.com/FFY00/python-pyproject-metadata
+  DEPENDS:=+python3 +python3-packaging
+endef
+
+define Package/python3-pyproject-metadata/description
+This project does not implement the parsing of pyproject.toml containing PEP 621 metadata.
+Instead, given a Python data structure representing PEP 621 metadata (already parsed), it will validate this input and generate a PEP 643-compliant metadata file (e.g. PKG-INFO).
+endef
+
+$(eval $(call Py3Package,python3-pyproject-metadata))
+$(eval $(call BuildPackage,python3-pyproject-metadata))
+$(eval $(call BuildPackage,python3-pyproject-metadata-src))
+$(eval $(call HostBuild))
diff --git a/lang/python/pyproject-metadata/test.sh b/lang/python/pyproject-metadata/test.sh
new file mode 100755 (executable)
index 0000000..9dfa7a2
--- /dev/null
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+[ "$1" = python3-pyproject-metadata ] || exit 0
+
+python3 - << 'EOF'
+from pyproject_metadata import StandardMetadata
+
+data = {
+    "project": {
+        "name": "test-pkg",
+        "version": "0.1.0",
+        "description": "A test package",
+        "requires-python": ">=3.8",
+    }
+}
+m = StandardMetadata.from_pyproject(data)
+assert m.name == "test-pkg"
+assert str(m.version) == "0.1.0"
+assert m.description == "A test package"
+
+data2 = {
+    "project": {
+        "name": "other-pkg",
+        "version": "2.0.0",
+        "dependencies": ["requests>=2.0"],
+    }
+}
+m2 = StandardMetadata.from_pyproject(data2)
+assert m2.name == "other-pkg"
+assert str(m2.version) == "2.0.0"
+assert len(m2.dependencies) == 1
+EOF
git clone https://git.99rst.org/PROJECT