Skip to main content

magmacrunch

The terminal arcade. One command, a menu of every cabinet installed on the machine, and a way into one.

pip install magmacrunch
magmacrunch
                                                             __
 .--------.---.-.-----.--------.---.-.----.----.--.--.-----.----.|  |--.
 |        |  _  |  _  |        |  _  |  __|   _|  |  |     |  __||     |
 |__|__|__|___._|___  |__|__|__|___._|____|__| |_____|__|__|____||__|__|
                |_____|
                   EVERY CABINET ON THIS MACHINE
                            INSERT COIN


┌──────────────────────────────┐  ┌──────────────────────────────┐
│ George Boole Has Entered The │  │ Texas Hold'Em Lava Dome      │
│ Chat                         │  │                              │
│                              │  │ Solo hold'em against a       │
│ 2048 played with logic gates │  │ threshold that climbs every  │
│ — merge, invert, overflow.   │  │ round.                       │
│                              │  │                              │
│ ▶ ENTER_                     │  │ ▶ ENTER                      │
└──────────────────────────────┘  └──────────────────────────────┘

                ↑↓←→ CHOOSE    ENTER PLAY    Q QUIT
           © 2026 magmacrunch media  ·  magmacrunch.com

It is magmacrunch.com/arcade in a shell — the same palette, the same card grid, the same blinking cursor on the card you are about to start. The one thing that could not come across is the typography: arcade.css sets Press Start 2P on nearly every string, and a terminal program does not choose its font. Pixel lettering has to be drawn, out of block glyphs, which is what the narrow title variant does — and what the web page's own title art does too, in Courier Prime rather than Press Start 2P, for the same reason.

The title art stands down as the window grows or shrinks, and always before the cabinets have to — which is what keeps the floor as low as it is:

window banner
121×34 and up the full site wordmark, MAGMACRUNCH over ARCADE, 119×19
~73×30 the same two words in 71 columns instead of 119
80×24 MAGMACRUNCH alone, 71×5
~62–72 cols the ARCADE wordmark alone, 60×8
~50 cols a block-glyph MAGMACRUNCH, 48×2
36 cols spaced capitals

Art is measured rather than declared, so the 119-column piece can sit at the top of the list without ever bothering someone on an ordinary terminal — it is simply never the one that fits. Adding your own is one entry in VARIANTS in banner.py and nothing else.

Choosing a cabinet starts it on the terminal the arcade is already holding. Leaving the game brings you back here. Every game is also its own command (george-boole, lava-dome, moonlight-drift) and plays identically either way — the arcade is not a wrapper around them, it is the same host they run on.

What is installed

magmacrunch --list

Prints every cabinet found, what terminal size it wants, and how it wants input. If a game you installed is not in the menu, this says why — a game that fails to load is reported rather than silently skipped.

How games get here

Games are not bundled. Each one lives in its own repo alongside its browser and Wii versions, publishes its own wheel, and declares an entry point:

[project.entry-points."magmacrunch.games"]
george-boole = "boole.arcade:GAME"

pointing at an object with info: GameInfo and start(host) -> scene. The launcher enumerates that group at startup. Installing a game makes it appear here; uninstalling makes it vanish; neither needs a release of the arcade.

Nothing in this package imports a game, so the arcade runs with none installed and tells you how to get one. The contract lives in texastoast.arcade; the two cabinets above are worked examples of it.

Cabinets

magmacrunch-george-boole 2048 played with logic gates
magmacrunch-thld Solo hold'em against a climbing threshold
magmacrunch-moonlight-drift Thread the columns; hold to climb

Installing magmacrunch installs all three.

Requires

Python 3.10+, and a terminal at least 36×17. Individual cabinets ask for more (around 59×22); below that their card greys out, says the size it wants, and cannot be started. The arcade's own floor is deliberately lower than any game's, so getting to the floor is never the thing that fails.

Two cards sit side by side from 70 columns and stack into one below that. More cabinets than fit are paged, not scrolled.

Truecolor helps but is not required.

Licence

PolyForm Noncommercial 1.0.0 — see LICENSE and NOTICE. Noncommercial because the games it seats are. The engine underneath, texastoast, stays Apache-2.0.

Download files

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

Source Distribution

magmacrunch-0.1.0.tar.gz (28.2 kB view details)

Uploaded Source

Built Distribution

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

magmacrunch-0.1.0-py3-none-any.whl (22.5 kB view details)

Uploaded Python 3

File details

Details for the file magmacrunch-0.1.0.tar.gz.

File metadata

  • Download URL: magmacrunch-0.1.0.tar.gz
  • Upload date:
  • Size: 28.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for magmacrunch-0.1.0.tar.gz
Algorithm Hash digest
SHA256 febf787d0852ab76130e1ca689ca0ca0b91f39001c754ecbafe866dce3746688
MD5 b2479332e1d0ee4ad23ac6cd4f41656b
BLAKE2b-256 827b52266fae8dcd3edeec5ec1b76f1280ffe4f770dd9715dbb8ff4c2b74d841

See more details on using hashes here.

Provenance

The following attestation bundles were made for magmacrunch-0.1.0.tar.gz:

Publisher: release.yml on magmacrunchmedia/magmacrunch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file magmacrunch-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: magmacrunch-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 22.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for magmacrunch-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 766cbca7ea18b3ae611e220b49a75fb9d45f4f57f2922cebaaf1167e5cc43d81
MD5 92c76ca2c1e843b3ed8785349c872f58
BLAKE2b-256 891e13845cbff7b1c7bd2b935d8f07b62fbbd197703ef822091c387511a9fa66

See more details on using hashes here.

Provenance

The following attestation bundles were made for magmacrunch-0.1.0-py3-none-any.whl:

Publisher: release.yml on magmacrunchmedia/magmacrunch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.7.1

2 files

0.7.0

2 files

0.6.0

2 files

0.5.0

2 files

0.4.1

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.1.2

2 files

0.1.1

2 files

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page