summaryrefslogtreecommitdiffstats
path: root/examples/columns.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/columns.py')
-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))