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 🙏

© 2024 – Pkg Stats / Ryan Hefner

@pivotshare/avails

v1.2.0

Published

Tool for parsing and generating EMA Avails

Downloads

8

Readme

avails -- tool for manipulating EMA Avails

SYNOPSES

avails convert [-i type] [-o type]

avails merge [-i type] [-o type] file1 [file2 ...]

avails diff [-i type] [-o type] file1 file2

avails ids [-i type] [-o type]

DESCRIPTION

avails convert simply transforms avails from one format to another.

avails merge will accept one of more avails in chronological order and merge them into a single avails. Merge will treat avails as state so repeated entities with the same Entry Types will be ignored. A Full Extract followed by a Full Delete will result in no entry for that entity.

avails diff will accept two avails, A and B, and return a new avails containing entries unique to B, without entries that exist in both A and B, and with entries that are only in A as Full Delete entries.

avails ids accepts avails and outputs a list of Alt IDs found.

The following options are available:

  • -i, --input : Specify the format of input file: tsv, json, xlsx. Required. See FORMATS.

  • -o, --output : Specify the format of output file: tsv, json, xlsx. Required. See FORMATS.

  • -h: Display help avails or subcommands.

See BACKGROUND for more information regarding the Avails standard and this tool.

FORMATS

avails conforms to EMA Avails spreadsheet template Version 1.6e2.

avails supports the following formats:

  • Tab-separated values (tsv)
  • Microsoft Excel (xlsx)
  • JSON (json)

The official Avails XML format is not supported.

The TSV format should not supply headers, as the Entity Type field is used to determine that particular line's schema.

The JSON format is an unofficial format used both for representing Avails, and as an intermediary data structure within avails. It has a 1-1 mapping with the columns of the Excel-based standard. Keys (columns) are in snake_case. Values are always strings. See schema for header values and test/mock for examples. Excel was chosen over the XML standard for modeling since most vendors prefer that format.

BACKGROUND

Content Availability Metadata, or avails, is an Entertainment industry term for information about the time, location and business rules relating to offering a media asset, e.g. a movie or a television show.

avails document the transition between states, e.g. Full Extract, Full Delete, not states themselves, however, by manipulating initial and subsequent avails we can recreate the expected state of content on a given platform. This is the technique utilized by the merge and diff subcommands, and third-party tools that generate initial avails.

It is recommended to persist submitted avails and use avails, together with custom or third-party tools, to easily create new avails, or determine state of content on third-party platforms.

INSTALLATION

You can use avails as a CLI or a Node.JS module.

as CLI:

npm install -g avails
avails convert -i json -o xlsx <movies.json >movies.xlsx

as module:

// npm install avails
const Avails = require('@pivotshare/avails');
const obj = Avails.fromTSVLine('SomeFilmStudio\tEN\tUS\tMovie');

SEE ALSO

emavalidator, Content Availability Metadata, Sending Avails