
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
@tmustier/pi-weather
Advanced tools
Run the weathr terminal weather app inside Pi via /weather.
It opens in the main widget area above the input box (same interaction style as /snake), supports live weather + simulation flags, keeps controls inside Pi, and preserves ANSI colors.
The extension prefers a Rust N-API bridge (native/weathr-bridge) and falls back to a shell bridge if native isn't built.
Demo media is loaded from GitHub links and kept out of npm installs (package files whitelist + repo .npmignore).
pi install npm:@tmustier/pi-weather
pi install git:github.com/tmustier/pi-extensions
Then filter to just this extension in ~/.pi/agent/settings.json:
{
"packages": [
{
"source": "git:github.com/tmustier/pi-extensions",
"extensions": ["weather/index.ts"]
}
]
}
ln -s ~/pi-extensions/weather ~/.pi/agent/extensions/weather
Or add to ~/.pi/agent/settings.json:
{
"extensions": ["~/pi-extensions/weather"]
}
/weather — open live weather widget/weather rain — shortcut for --simulate rain/weather --simulate snow --night/weather-config — edit widget config (config.toml)While open:
Esc or Q closes the widgetR restarts the weather processweathr installed and available on PATH (or in ~/.cargo/bin/weathr)script command available (macOS default, util-linux on Linux)Install weathr:
cargo install weathr
Build the native Rust bridge locally (optional, for development):
cd ~/pi-extensions/weather
npm run build:native
Requires Rust + Node.
For npm users, the extension can load prebuilt optional packages (@tmustier/pi-weather-bridge-*) when published.
Troubleshooting:
NO_COLOR for the weather child process and sets COLORTERM=truecolor when missing.script stdin to /dev/null (avoids Bun socket tcgetattr issues while preserving ANSI color output and ESC handling in Pi).PI_WEATHER_NATIVE=0 pi
The extension uses an isolated config home:
~/.pi/weather-widget/weathr/config.tomlUse /weather-config to edit it.
If you set custom
latitude/longitude, also setlocation.auto = falseorweathrwill keep auto-detecting your location.
To ship weathr-bridge without requiring Rust at install time:
.github/workflows/weather-native-bridge.yml (manual workflow_dispatch)..node files per target, syncs them into native/weathr-bridge/npm/*, and publishes @tmustier/pi-weather-bridge-* platform packages.@tmustier/pi-weather (this extension) so consumers pick up the matching optional dependency versions.weather/package.json, native/weathr-bridge/package.json, and native/weathr-bridge/npm/*/package.json).Manual fallback (if not using the workflow):
cd ~/pi-extensions/weather
npm run native:prepare-packages
# build / download per-target pi_weather_bridge.<target>.node files into native/weathr-bridge/artifacts
npm run native:sync-artifacts
npm run native:publish-packages
See CHANGELOG.md.
FAQs
Weather widget for Pi (/weather)
We found that @tmustier/pi-weather demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.