popup
Version, currently master branch1 version
- master branchlatestJul 17, 2026
github.com/poplanguage/popup
The Pop language toolchain installer.
Installation
# Add this to your shard.yml
dependencies:
popup:
github: poplanguage/popup
branch: mastermaster is a branch, not a release, so this tracks it rather than pinning a version.
Then run:
shards installshard.yml
- Crystal
>= 1.20.1- License
- MIT
- Author
- GalactHD
- Targets
amebafrom lib/ameba/bin/ameba.crpopupfrom src/popup.cr
Dependencies
Runtime Dependencies
- crest*github: mamantoha/crest
- term-prompt*github: crystal-term/prompt
- term-progress~> 1.0.0github: crystal-term/progress
- option_builder*github: naqvis/option_builder
Development Dependencies
README
popup
WARNING: This software is under active development and is unstable.
A toolchain manager for Pop Language. Downloads, installs, and manages Pop compiler and runtime distributions.
popup handles toolchain distribution independently from pop, the language and package command. It fetches verified release artifacts and detects the host platform to install the correct binary.
Installation
Build from source
git clone git@github.com:poplanguage/popup
cd popup
shards install
shards build
Bootstrap script (WIP)
curl -fsSL https://raw.githubusercontent.com/poplanguage/popup/master/scripts/bootstrap.sh | bash
Usage
popup install [version]
Install a Pop Lang toolchain. If no version is specified, the latest release is installed.
# Install the latest version
popup install
# Install a specific version
popup install v0.1.0-rc.3
The installer:
- detects the host platform (architecture and OS)
- selects the exact matching release artifact and
.sha256file from thepoplanguage/popGitHub repository - verifies the SHA-256 digest before extraction
- downloads the archive with progress bar, speed, and ETA
- rejects unsafe or incomplete archives and extracts transactionally to
~/.popup/toolchains/<version>/ - creates a
defaultsymlink to the active toolchain - writes
popandpop-language-servershims to~/.popup/bin/ - offers to add
~/.popup/binto your PATH
popup toolchains list
List installed toolchain versions.
Directory structure
~/.popup/
bin/
pop # shim that delegates to the active toolchain
pop-language-server
toolchains/
default -> v0.1.0-rc.3 # symlink to the active version
v0.1.0-rc.3/ # extracted toolchain files
Configuration
popup respects the POPUP_HOME environment variable. If unset, it defaults to ~/.popup.
The generated shim retains the selected installation root; custom roots do not
fall back to $HOME/.popup.
Uninstallation
Remove ~/.popup manually. Remove the PATH line from your shell profile if you added it.
Development
Prerequisites: Crystal >= 1.20.1
# Install dependencies
shards install
# Build
shards build
# Run tests
crystal spec
Contributing
- Fork it (https://github.com/poplanguage/popup/fork)
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request
Contributors
- GalactHD - creator and maintainer
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This branch
- Branch
master- Seen
- Jul 17, 2026
- Crystal
>= 1.20.1- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/poplanguage/popup
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 15, 2026
- Synced
- Aug 15, 2026
- Versions
- 1