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

sprout-toolkit

v0.4.1

Published

Deterministic procedural 2D asset generation for Expo + react-native-skia — Python CLI wrapper

Readme

sprout-toolkit (npm)

npm wrapper for the sprout Python CLI — deterministic procedural 2D asset generation for Expo + react-native-skia. The sprout bin spawns python3 -m sprout and enforces a strict version pin: the wrapper's version must equal the installed CLI's version.

Requirements

  • Node 18+
  • Python 3.10+ available as python3 (or set SPROUT_PYTHON)
  • The pinned CLI: python3 -m pip install "sprout-toolkit==0.4.0"

Usage

npm install --save-dev sprout-toolkit

npx sprout --version                 # verifies the pin
npx sprout generate specs/demo.json --out ./assets/procgen
npx sprout batch specs/ --out ./assets/out    # -> assets/out/<spec name>/

Typical consumer wiring:

{
  "scripts": {
    "assets:gen": "sprout batch specs/ --out ./assets/out"
  }
}

Note the --out layout: batch gives every spec its own directory named after the spec's name, so one --out can hold a whole set of atlases that do not share a filename. That is not cosmetic — every bundled spec calls its atlas atlas.png, so writing them all into a single shared directory left one file holding whichever spec ran last while batch still reported 13/13 specs ok. Point generate at a single directory when you want the atlas flat.

If Python or the CLI is missing, the bin exits with the exact pip install "sprout-toolkit==<version>" command to run.

Version policy

package.json version == sprout-toolkit (PyPI) version == sprout --version. Both channels are released in lockstep; the wrapper refuses to run a CLI whose version differs from its own.

MIT