For use in Rich TUI applications, welcome banners, and CLI output.
Import via from rich.text import Text or from rich.panel import Panel.
╔══╗
╔╝ ╚╗
═╣ aX ╠═
╚╗ ╔╝
╚══╝
○───○───○
│ ╲ ╱ │
○──►♛◄──○
│ │
○ ○
╭─▲─╮
╭┤ ◉ ├╮
●─┤ ╱╲├─●
╰┤▂▂▂├╯
╰─┬─╯
●
╭───╮
╱ ┌─┐ ╲
│ │●│ │
╲ └─┘ ╱
╰───╯
╱ ╲
╱╲
╱ ╲
╱ ◉ ╲
╲ ╱
╲ ╱
╲╱
┌──────────┐
│ ▂▅█▇▃ │
│▕█████▏╱ │
│▕█████▏ │
└──────────┘
╱╲
╱ ╲
╱ )) ╲
╱ )) ╲
▔▔▔▔▔▔▔▔
██
◯
║
══╬══
║
╱ ╲
◯ ◯
◄── ╭───╮ ──►
│ ● │
◄── ╰───╯ ──►
▲
┌───┼───┐
│ │ │
╱╲ │ ╱╲
╱__╲ │ ╱__╲
║
═╩═
╭──►
│
◄─╯ $
╭──►
│
◄─╯
●╲
●─◉──●
●╱ ╲●
from rich.panel import Panel
from rich.text import Text
from rich import print as rprint
PRODUCT_ART = {
"AXION": '''
[purple]╔══╗[/]
[purple]╔╝ ╚╗[/]
[purple]═╣[/] [bold]aX[/] [purple]╠═[/]
[purple]╚╗ ╔╝[/]
[purple]╚══╝[/]''',
"HEGEMON": '''
[purple]○───○───○[/]
[purple]│ ╲ ╱ │[/]
[purple]○──►[yellow]♛[/][purple]◄──○[/]
[purple]│ │[/]
[purple]○ ○[/]''',
"SHRIKE": '''
[purple]╭─▲─╮[/]
[purple]╭┤[/] [blue]◉[/] [purple]├╮[/]
[blue]●[/][purple]─┤ ╱╲├─[/][blue]●[/]
[purple]╰┤▂▂▂├╯[/]
[purple]╰─┬─╯[/]
[blue]●[/]''',
"DATASPHERE": '''
[purple]╭───╮[/]
[purple]╱[/] [blue]┌─┐[/] [purple]╲[/]
[purple]│[/] [blue]│●│[/] [purple]│[/]
[purple]╲[/] [blue]└─┘[/] [purple]╱[/]
[purple]╰───╯[/]''',
"SENTINEL": '''
[purple]╱╲[/]
[purple]╱ ╲[/]
[purple]╱[/] [blue]◉[/] [purple]╲[/]
[purple]╲ ╱[/]
[purple]╲ ╱[/]
[purple]╲╱[/]''',
"CONSUL": '''
[purple]┌──────────┐[/]
[purple]│[/] [blue]▂▅█▇▃[/] [purple]│[/]
[purple]│[blue]▕█████▏[/][purple]╱ │[/]
[purple]│[blue]▕█████▏[/] [purple]│[/]
[purple]└──────────┘[/]''',
"FATLINE": '''
[purple]╱╲[/]
[purple]╱ ╲[/]
[purple]╱[/] [yellow]))[/] [purple]╲[/]
[purple]╱[/] [yellow]))[/] [purple]╲[/]
[purple]▔▔▔▔▔▔▔▔[/]
[blue]██[/]''',
"ANCHOR": '''
[purple]◯[/]
[purple]║[/]
[purple]══╬══[/]
[purple]║[/]
[purple]╱ ╲[/]
[blue]◯[/] [blue]◯[/]''',
"FARCASTER": '''
[blue]◄──[/] [purple]╭───╮[/] [blue]──►[/]
[purple]│[/] [blue]●[/] [purple]│[/]
[blue]◄──[/] [purple]╰───╯[/] [blue]──►[/]''',
"ARBITER": '''
[purple]▲[/]
[purple]┌───┼───┐[/]
[purple]│ │ │[/]
[blue]╱╲[/] [purple]│[/] [blue]╱╲[/]
[blue]╱__╲[/] [purple]│[/] [blue]╱__╲[/]
[purple]║[/]
[purple]═╩═[/]''',
"RECLAIM": '''
[purple]╭──►[/]
[purple]│[/]
[purple]◄─╯[/] [green]$[/]
[purple]╭──►[/]
[purple]│[/]
[purple]◄─╯[/]''',
"NEURON": '''
[blue]●[/][purple]╲[/]
[blue]●[/][purple]─[/][blue]◉[/][purple]──[/][blue]●[/]
[blue]●[/][purple]╱[/] [purple]╲[/][blue]●[/]''',
}
PRODUCT_NAMES = {
"AXION": ("Axion", "Core Platform"),
"HEGEMON": ("Hegemon", "DAG Workflow Engine"),
"SHRIKE": ("Shrike", "AI Engine"),
"DATASPHERE": ("DataSphere", "Data Layer"),
"SENTINEL": ("Sentinel", "Security & Monitoring"),
"CONSUL": ("Consul", "Reports & Dashboards"),
"FATLINE": ("FatLine", "Alerts & Notifications"),
"ANCHOR": ("Anchor", "API Gateway"),
"FARCASTER": ("FarCaster", "Data Transport"),
"ARBITER": ("Arbiter", "Decisioning & Scoring"),
"RECLAIM": ("ReClaim", "Collections"),
"NEURON": ("Neuron", "Analytics"),
}
def product_panel(code: str) -> Panel:
"""Render a product as a Rich Panel."""
art = PRODUCT_ART.get(code, "")
name, subtitle = PRODUCT_NAMES.get(
code, (code, "")
)
content = (
f"{art}\n\n"
f" [bold purple]{name}[/]\n"
f" [dim]{subtitle}[/]"
)
return Panel(
content,
border_style="purple",
width=24,
)
def print_all_products():
"""Print all products in a grid."""
from rich.columns import Columns
panels = [
product_panel(code)
for code in PRODUCT_ART
]
rprint(Columns(panels, equal=True, expand=True))
def welcome_banner():
"""Print the Axion welcome banner."""
banner = '''
[bold purple] ╔══╗[/]
[bold purple] ╔╝ ╚╗[/]
[bold purple] ═╣[/] [bold white]aX[/] [bold purple]╠═[/] [bold]aXion Automate[/]
[bold purple] ╚╗ ╔╝[/] [dim]TechnoCore[/]
[bold purple] ╚══╝[/]
'''
rprint(Panel(
banner,
border_style="purple",
title="[bold]TechnoCore[/]",
subtitle="[dim]Powered by Axion[/]",
))
if __name__ == "__main__":
welcome_banner()
print_all_products()
| Product | FA Icon | ASCII Symbol |
|---|---|---|
| Axion | fa-microchip |
═╣ aX ╠═ |
| Hegemon | fa-diagram-project |
○──►♛◄──○ |
| Shrike | fa-brain |
◉ ╱╲ |
| DataSphere | fa-database |
╭───╮ │●│ |
| Sentinel | fa-shield-halved |
╱╲ ◉ ╲╱ |
| Consul | fa-chart-line |
▂▅█▇▃ |
| FatLine | fa-tower-broadcast |
)) )) |
| Anchor | fa-anchor |
◯ ═╬═ ╱╲ |
| FarCaster | fa-right-left |
◄── ● ──► |
| Arbiter | fa-scale-balanced |
╱╲ ┼ ╱╲ |
| ReClaim | fa-rotate |
╭──► ◄─╯ |
| Neuron | fa-wave-square |
●─◉──● |