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

emc-interactions

v0.1.0

Published

An upload tool for EMC interactions.

Readme

Overview

Format interactions (combine meta and data.js file content), check for duplicates in our database, and finally upload to AWS database for later consumption by Bookshelf and the EMC Interactions Editor.

Prerequisites

The EMC-Insteractions command line tool requires serveral libraries to be installed on your machine, so let's get those setup first!

Install Node and NPM on your machine.

  • Verify Node is installed by opening a Terminal window and running node -v
    • If your receive the message command not found, you'll need to download the Node installer package from the Node website (LTS version)
    • If you see a version number displayed, v8.11.3, that means Node is installed and you can proceed to the next step.
  • When you install Node, NPM is usually installed along with it, but let's verify NPM is installed by running npm -v in your Terminal window.
    • You should see a version number for npm 5.6.0, or something like that.
    • If you receive the message command not found, please reinstall Node by downloading the intaller from the Node website

Install Python and PIP on your machine

Mac
  • Python should already be installed! Run python --version to find which version you have installed.

  • Check for PIP (Python's package manager)

    • run pip --version in a Terminal to determine if Python is installed on your machine. If you see something like pip 9.0.1 from /usr/local/lib/python2.7/site-packages (python 2.7), then we're all good. But if you receive a command not found message, that means PIP is not installed on your machine. Please continue to the next bullet point.
    • Download PIP by running curl -O https://bootstrap.pypa.io/get-pip.py in a Terminal.
    • Then run python3 get-pip.py --user or python get-pip.py --user, depending on your python version.
Windows
  • ...coming soon

Install AWS-CLI tool

Install AWS-CLI with one PIP command in your Terminal: pip3 install awscli --upgrade --user

Run aws --version in a Terminal to determine if the AWS-CLI tool is installed correctly. If you'd like more detailed instructions, please reference the AWS Docs.

Trouble with PIP? Here's an alternative way to install the AWS-CLI tool:

Sequentially enter the following three commands into the Terminal.

  1. curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
  2. unzip awscli-bundle.zip
  3. sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

Setup

Decide which folder you will use for processing files. It should only contain the items that are processed or created by the emc-interactions tool.

  1. You'll need the meta.csv file containing the meta data for the interactions you'd like to process.

  2. You also need book folders, named the same as the book_Id you'd like to process so that all [page #].js files are in their respective folders.

Configure

Run aws configure in a terminal

>>AWS Access Key ID [********************]:
>>AWS Secret Access Key [********************]:
>>Default region name [us-east-1]:
>>Default output format [json]:

Install emc-interactions

Run npm install emc-interactions -g in a Terminal to install the library globally.

How to use emc-interactions

Using Terminal, cd into the folder with your meta.csv and folders titled with

There are four commands available:

emc-interactions --help

Display the emc-interaction options below.

emc-interactions --format

Read the [page #].js files in the current folder, combine it with the interaction meta data a .csv file named meta.csv.

emc-interactions --check

Check the database for duplicate extActivityIds. This command only checks the first and last extActivityId of each book. Must first run the format command.

emc-interactions --upload

Uploads the interactions in the AWSFILE.json Must first run the format command.