Skip to main content

Render any input as a portico – a three-layer ASCII visualization.

Project description

portico
_ii^
portico

render any input as a portico -- a three-layer ASCII visualization

pypi · github · mit


install

pipx install portico-cli

try it

portico README.md
portico https://example.com/article
portico ./src --no-legend
echo "your text here" | portico -

what is a portico

An LLM reads your input, decides what kind of thing it is, and decomposes it into three layers. The renderer turns those layers into a fixed ASCII shape.

glyph layer meaning
^ roof the unifying idea
ii pillars the load-bearing components (2-9 of them)
_ base the foundation everything rests on

examples

short, medium, long.

hello world

echo "hello world" | portico -
── snippet: hello world ────────────────────────────────────────────────────────

                                      ***
                               __ ===  ◇  === __
                           ╔════════════════════════╗
                           ║       salutation       ║
                           ╚════════════════════════╝
                        //~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\
                         ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
                              ▀██▀            ▀██▀
                               ██              ██
                               ██              ██
                             hello           world
                               ██              ██
                               ██              ██
                              ▄██▄            ▄██▄
                         ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                      ╔══════════════════════════════════╗
                      ║        coding convention         ║
                      ╚══════════════════════════════════╝

legend:
  ^  salutation: a greeting addressed at the world.
  ii hello: the act of greeting.
  ii world: the recipient.
  _  coding convention: the canonical first program in any toolchain.

───────────────────────────────────────────────────────────── built with _ii^ ──

a github repo

portico https://github.com/binwiederhier/ntfy
── software README: ntfy ───────────────────────────────────────────────────────

                                      ***
                               __ ===  ◇  === __
           ╔════════════════════════════════════════════════════════╗
           ║                Scriptable Notifications                ║
           ╚════════════════════════════════════════════════════════╝
        //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\
         ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
              ▀██▀            ▀██▀            ▀██▀            ▀██▀
               ██              ██              ██              ██
               ██              ██              ██              ██
         Service Access  Apps & Clients   Community &    Contributions
               ██              ██           Support            ██
               ██              ██              ██              ██
               ██              ██              ██              ██
              ▄██▄            ▄██▄            ▄██▄            ▄██▄
         ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      ╔══════════════════════════════════════════════════════════════════╗
      ║          Open-source licensing | Third-party libraries           ║
      ╚══════════════════════════════════════════════════════════════════╝

legend:
  ^  Scriptable Notifications: Send phone or desktop notifications from any script via a simple HTTP pub-sub service, with no sign-up required.
  ii Service Access: ntfy is available as a hosted free tier at ntfy.sh, a paid ntfy Pro plan, or a self-hosted open-source instance.
  ii Apps & Clients: Native Android and iOS apps, plus a web app, let users subscribe to and receive notifications across platforms.
  ii Community & Support: Discord, Matrix, and GitHub Issues provide channels for chat, bug reports, feature requests, and beta announcements.
  ii Contributions: Code PRs, issue reports, and Weblate translations are welcomed, with larger features discussed on Discord or Matrix first.
  _  Open-source licensing | Third-party libraries: The project is dual-licensed under Apache 2.0 and GPLv2, and is built on a stack of open-source libraries covering the CLI, web app, database, push delivery, and more.

───────────────────────────────────────────────────────────── built with _ii^ ──

a long-form essay

portico https://www.wiisfi.com/
── technical guide: Wi-Fi Upgrade Guide ────────────────────────────────────────

                                      ***
                               __ ===  ◇  === __
        ╔══════════════════════════════════════════════════════════════╗
        ║                     Client-Limited Wi-Fi                     ║
        ╚══════════════════════════════════════════════════════════════╝
     //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\
      ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
          ▀██▀          ▀██▀          ▀██▀          ▀██▀          ▀██▀
           ██            ██            ██            ██            ██
           ██            ██            ██            ██            ██
         Speed         Wi-Fi       Deployment   Alternative  Diagnostics &
      Fundamentals  Generations   Architecture    Backhaul       Config
           ██            ██            ██            ██            ██
           ██            ██            ██            ██            ██
          ▄██▄          ▄██▄          ▄██▄          ▄██▄          ▄██▄
      ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   ╔════════════════════════════════════════════════════════════════════════╗
   ║              Educational purpose | Empirical measurement               ║
   ╚════════════════════════════════════════════════════════════════════════╝

legend:
  ^  Client-Limited Wi-Fi: Real-world Wi-Fi performance is governed by client device constraints and physical distance, not by router marketing figures, and informed decisions require cutting through manufacturer hype.
  ii Speed Fundamentals: PHY speed is determined by channel width, MIMO level, and QAM modulation; the Throughput-to-PHY Ratio runs ~70%, and advertised aggregate speeds are fictional sums irrelevant to any real 2×2 client.
  ii Wi-Fi Generations: Wi-Fi 4 through Wi-Fi 7 each advanced primarily through wider channels and higher QAM rather than generation changes alone, with Wi-Fi 6's 160 MHz support and Wi-Fi 7's 320 MHz channels being the meaningful inflection points.
  ii Deployment Architecture: Wired access points on non-overlapping channels outperform range extenders and mesh systems; the preferred model is a 4×4 MIMO router plus Ethernet-connected APs following the 'Wi-Fi AIR' philosophy.
  ii Alternative Backhaul: When Ethernet cannot be run, MoCA 2.5 over coax, powerline adapters, buried fiber, and wireless bridges provide progressively capable substitutes, each with specific limitations and use conditions.
  ii Diagnostics & Config: PHY speed checks, channel analysis, DFS verification, router configuration best practices, and systematic troubleshooting steps enable readers to confirm whether any upgrade actually improved real-world throughput.
  _  Educational purpose | Empirical measurement: The guide is grounded in a commitment to ad-free reader education and in direct measurement—checking PHY speeds, running speed tests before and after changes, and verifying specs against FCC filings—rather than trusting manufacturer claims.

───────────────────────────────────────────────────────────── built with _ii^ ──

inputs

  • raw text or stdin
  • local files and directories
  • URLs (page content is extracted)
  • git repositories

When an input doesn't fit a three-layer shape -- poems, flat lists, gibberish -- portico refuses honestly rather than fake one.

customization

flag what it does
--no-legend hide the per-layer summary (legend renders by default)
--color {auto,always,never} colorize roof / pillars / base. default: never
--reapex[=N] roll a random apex ornament; pin seed N to reproduce
--json emit the analyzer's JSON instead of rendering
--diagnose print a pipeline report (input type, model, fit quality) and exit

Run portico --help for the full list.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

portico_cli-0.1.2.tar.gz (24.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

portico_cli-0.1.2-py3-none-any.whl (32.3 kB view details)

Uploaded Python 3

File details

Details for the file portico_cli-0.1.2.tar.gz.

File metadata

  • Download URL: portico_cli-0.1.2.tar.gz
  • Upload date:
  • Size: 24.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for portico_cli-0.1.2.tar.gz
Algorithm Hash digest
SHA256 d749876a98b3d844fd49ee4ae2104b191c0efb560f8456c7ef8d46e7254948a0
MD5 7ce4566253619bac9189f9cce3d39582
BLAKE2b-256 13c6d2b91f2994fdfcc153d31461be15da3df7dc4ec57410863e9683a15340b8

See more details on using hashes here.

File details

Details for the file portico_cli-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: portico_cli-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 32.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for portico_cli-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 48aea45e1c10d3a31347b223cb673dd0326e4588d90f98530498ca8956d3f068
MD5 95caf1afb16ee9a305c74336326a820b
BLAKE2b-256 1cb094c42fe4003ee9934061cf19baa7530b13f26ae1e4804c3f4b4c21ab1aea

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page