include $(TOPDIR)/rules.mk
PKG_NAME:=python-tabulate
-PKG_VERSION:=0.9.0
+PKG_VERSION:=0.10.0
PKG_RELEASE:=1
PYPI_NAME:=tabulate
-PKG_HASH:=0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c
+PKG_HASH:=e2cfde8f79420f6deeffdeda9aaec3b6bc5abce947655d17ac662b126e48a60d
PKG_MAINTAINER:=Austin Lane <vidplace7@gmail.com>
PKG_LICENSE:=MIT
SUBMENU:=Python
TITLE:=Pretty-print tabular data
URL:=https://pypi.org/project/tabulate
- DEPENDS:=+python3-light
+ DEPENDS:=+python3-light +python3-email
endef
define Package/python3-tabulate/description
--- /dev/null
+#!/bin/sh
+
+[ "$1" = "python3-tabulate" ] || exit 0
+
+python3 - << EOF
+import sys
+import tabulate as tab_mod
+
+if tab_mod.__version__ != "$2":
+ print("Wrong version: " + tab_mod.__version__)
+ sys.exit(1)
+
+from tabulate import tabulate
+
+# Basic table rendering
+data = [["Alice", 30], ["Bob", 25]]
+headers = ["Name", "Age"]
+
+out = tabulate(data, headers=headers)
+assert "Alice" in out, "Alice not in output"
+assert "Bob" in out, "Bob not in output"
+assert "Name" in out, "header Name not in output"
+assert "Age" in out, "header Age not in output"
+
+# Grid format
+out = tabulate(data, headers=headers, tablefmt="grid")
+assert "+" in out, "grid format should contain +"
+
+# Plain format (no borders)
+out = tabulate(data, tablefmt="plain")
+assert "Alice" in out
+
+# Column alignment: numbers right-aligned
+out = tabulate([[1, 1000], [2, 20]], headers=["id", "val"])
+lines = out.splitlines()
+assert len(lines) >= 3, "expected at least 3 lines"
+
+sys.exit(0)
+EOF