-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))
--- /dev/null
+#!/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