npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

fox-girl-loader

v1.0.0

Published

A fox girl peeks over a ledge while your real work runs. Terminal loading animation, no dependencies.

Readme

fox-girl-loader

狐耳少女趴在台面上探头,你的真正任务在后台运行。适用于 Python 和 Node.js 的终端加载动画, 无依赖,一行调用。

preview

Python

pip install git+https://github.com/你的用户名/fox-girl-loader
from fox_girl_loader import Loader, run

with Loader("Installing"):        # 动画在前台,你的代码在后台
    install_things()              # 期间的 print 会被暂存,动画结束后再显示

run("pip install -r requirements.txt", text="Installing")   # 在动画后面跑一条命令

正常离开 with 显示 ✓ Done;抛出异常显示 ✗ Failed,异常照常向外传。

Node.js

npm install fox-girl-loader
const { withLoader, runCommand } = require('fox-girl-loader');

await withLoader({ text: 'Installing' }, async (loader) => {
  await install();
  loader.setText('Almost there');
});

const { code } = await runCommand('npm install', { text: 'Installing' });

命令行

fox-girl-loader --until "npm install" --text Installing    # 退出码 = 命令的退出码
fox-girl-loader                                            # 只播放;Ctrl+C 退出

注意

  • 动画运行时独占屏幕。通过 print / console.log 输出的内容会被暂存,结束后补显示;绕过它们的 输出(比如继承终端的子进程)会画花卡片,请用 run() / runCommand() 或自己捕获输出。
  • stdout 不是终端时(CI、管道)不画任何东西,你的代码照常运行。
  • glyphs: auto 在 Ghostty、WezTerm、kitty 里使用更细的 sextant 字符,其他终端用普通方块字符; 看到空方框就指定 quad。
  • 自动检测主题时会短暂让终端进入 raw 模式;如果你的程序此刻在读 stdin,请直接指定 theme。