summaryrefslogtreecommitdiffstats
path: root/examples/columns.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-14 20:18:28 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-14 20:18:28 +0000
commitf8363b456f1ab31ee56abad579b215af195093d5 (patch)
treeb1500c675c2e0a55fb75721a854e1510acf7c862 /examples/columns.py
parentInitial commit. (diff)
downloadrich-f8363b456f1ab31ee56abad579b215af195093d5.tar.xz
rich-f8363b456f1ab31ee56abad579b215af195093d5.zip
Adding upstream version 9.11.0.upstream/9.11.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--examples/columns.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/examples/columns.py b/examples/columns.py
new file mode 100644
index 0000000..96962b0
--- /dev/null
+++ b/examples/columns.py
@@ -0,0 +1,28 @@
+"""
+This example shows how to display content in columns.
+
+The data is pulled from https://randomuser.me
+"""
+
+import json
+from urllib.request import urlopen
+
+from rich.console import Console
+from rich.columns import Columns
+from rich.panel import Panel
+
+
+def get_content(user):
+ """Extract text from user dict."""
+ country = user["location"]["country"]
+ name = f"{user['name']['first']} {user['name']['last']}"
+ return f"[b]{name}[/b]\n[yellow]{country}"
+
+
+console = Console()
+
+
+users = json.loads(urlopen("https://randomuser.me/api/?results=30").read())["results"]
+console.print(users, overflow="ignore", crop=False)
+user_renderables = [Panel(get_content(user), expand=True) for user in users]
+console.print(Columns(user_renderables))