cask "psychopy" do version "2025.1.1" sha256 "9e791fb5323b2ae56f470a37f2a47738282bf2e853b653f44ff793094f3402fc" url "https://github.com/psychopy/psychopy/releases/download/#{version.csv.first.major_minor_patch}/StandalonePsychoPy-#{version.csv.first}-macOS#{"_#{version.csv.second}" if version.csv.second}-py3.10.dmg", verified: "github.com/psychopy/psychopy/" name "PsychoPy" desc "Create experiments in behavioral science" homepage "https://www.psychopy.org/" livecheck do url :url regex(/StandalonePsychoPy[._-]v?(\d+(?:\.\d+)+)[._-]macOS[._-]?(\d+(?:[._-]\d+)+)?[._-](?:py)?3\.10\.dmg/i) strategy :github_releases do |json, regex| json.map do |release| next if release["draft"] || release["prerelease"] release["assets"]&.map do |asset| match = asset["name"]&.match(regex) next if match.blank? match[2].present? ? "#{match[1]},#{match[2]}" : match[1] end end.flatten end end app "PsychoPy.app" zap trash: [ "~/.psychopy3", "~/Library/Preferences/org.opensciencetools.psychopy.plist", "~/Library/Saved Application State/org.opensciencetools.psychopy.savedState", ] caveats do requires_rosetta end end