/installers / more
More installers
The same two scripts, with the knobs showing. Nothing here is required; the one-liners on /installers do the usual thing.
No bash?
install.sh is plain POSIX sh, so any sh runs it (dash, ash, busybox). With wget instead of curl:
curl, sh
curl -fsSL https://askphysics.vercel.app/install.sh | shwget, bash
wget -qO- https://askphysics.vercel.app/install.sh | bashwget, sh
wget -qO- https://askphysics.vercel.app/install.sh | shThe old paths, /installers/install.sh and /installers/install.ps1, serve the same files.
Pin a version, branch or commit
ASKPHYSICS_REF takes a git tag, branch or commit. The default is the latest release (or main when there is none). Put the variable on the right of the pipe, where the shell that runs the script sees it.
bash, a tag
curl -fsSL https://askphysics.vercel.app/install.sh | ASKPHYSICS_REF=v0.4.0 bashbash, a branch
curl -fsSL https://askphysics.vercel.app/install.sh | ASKPHYSICS_REF=main bashbash, a commit
curl -fsSL https://askphysics.vercel.app/install.sh | ASKPHYSICS_REF=0123abc bashPowerShell, a tag
$env:ASKPHYSICS_REF = "v0.4.0"; irm https://askphysics.vercel.app/install.ps1 | iexPowerShell, a branch
$env:ASKPHYSICS_REF = "main"; irm https://askphysics.vercel.app/install.ps1 | iexPowerShell, a commit
$env:ASKPHYSICS_REF = "0123abc"; irm https://askphysics.vercel.app/install.ps1 | iexReplace 0123abc with a real commit. Tags are listed below.
Environment variables
| Variable | Read by | Does |
|---|---|---|
| ASKPHYSICS_REF | install.sh, install.ps1 | Git tag, branch or commit to install. Default: the latest release. |
| ASKPHYSICS_SOURCE | install.sh, install.ps1 | Install from this local path or URL instead of GitHub. Overrides ASKPHYSICS_REF. |
| ASKPHYSICS_SKIP_MODELS | install.sh, install.ps1 | Set to 1 to skip downloading the Fermi models at install. |
| ASKPHYSICS_AUTO_PULL | askphysics | Set to 0 so the command never downloads models by itself. It then answers with the models already installed, or without them. |
| ASKPHYSICS_MODEL_DIR | askphysics | Where models live and are downloaded to. Default: ~/.cache/askphysics/models. |
Install from a local checkout, without models (bash)
ASKPHYSICS_SOURCE=. ASKPHYSICS_SKIP_MODELS=1 sh install.shInstall from a local checkout, without models (PowerShell)
$env:ASKPHYSICS_SOURCE = "."; $env:ASKPHYSICS_SKIP_MODELS = "1"; .\install.ps1Models somewhere else, never auto-downloaded (bash)
ASKPHYSICS_MODEL_DIR=/data/models ASKPHYSICS_AUTO_PULL=0 askphysics ask "..."Uninstall
Use the command for the channel you installed with.
curl, irm or source (uv)
uv tool uninstall askphysicsHomebrew
brew uninstall askphysicsWinGet
winget uninstall ShankarS.AskPhysicsDownloaded models stay in ~/.cache/askphysics/models (or ASKPHYSICS_MODEL_DIR); delete that folder to reclaim the space.
Install from source
For hacking on it. Python 3.11 or newer.
git clone https://github.com/shankar-sachin/ask-physics.git
cd ask-physics
python -m venv .venv && . .venv/bin/activate
pip install -e ".[dev]"
askphysics --helpContributing? CONTRIBUTING.md has the checks to run.
Verify a download
Each Windows installer in the table below has a .sha256 file next to it. Compare its hash with the file you downloaded (PowerShell).
Get-FileHash .\AskPhysicsSetup.exe -Algorithm SHA256
Get-Content .\AskPhysicsSetup.exe.sha256The two hashes should match (case aside). The scripts themselves are short: read install.sh before you pipe it.
All versions and their installers
Every GitHub release, newest first, read live from the GitHub API. Open a row's Install for the commands that pin that exact version.