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

mini-jtbl

v0.0.2

Published

Testing jtable

Readme

mini-jtbl

JTable is a dead-simple and intuitive format for tables, based on JSON.

mini-jtbl is a set of utilities for the JTable ecosystem, developed as a demonstration of its power.

For example:

$ jcsv  "https://datahub.io/core/country-list/r/data.csv" | jwhere "Code.slice(0,1)=='C'" | jlimit 5 | cat
{
    "source": "https://datahub.io/core/country-list/r/data.csv",
    "header": ["Name", "Code"],
    "rows": [
        ["Cameroon", "CM"],
        ["Canada", "CA"],
        ["Cape Verde", "CV"],
        ["Central African Republic", "CF"],
        ["Chile", "CL"]
    ]
}

Install

Download the repository in a local directory, and type:

npm install mini-jtbl

To install the following utilities: jcsv, jwhere, jcut, jlimit and jout on your system

npm link

It also provides a utility jschema to test compliance of a JTable file with the JTable schema.

Example

$ jcsv "https://datahub.io/world-bank/en.pop.dnst/r/data.csv" | jwhere "Year < 1964" | jlimit 5
Apply expression on each row: Year < 1964
Limit rows: 5
| Country Name           | Country Code | Year | Value            |
| ---------------------- | ------------ | ---- | ---------------- |
| Arab World             | ARB          | 1961 | 6.97623904408321 |
| Arab World             | ARB          | 1962 | 7.16985259355326 |
| Arab World             | ARB          | 1963 | 7.37014441614233 |
| Caribbean small states | CSS          | 1961 | 10.567692687747  |
| Caribbean small states | CSS          | 1962 | 10.7651828063241 |

Documentation

mini-jtbl has its own documentation page, which is part of the documentation on the JTable format.

All command-line utilities provide a help, accessible with the options -h or --help.

Limitations

The purpose of mini-jtbl is not to become a production tool. Its purpose is to provide a minimal model for the development of similar tools.

It is workable and sometimes suprisingly resilient, but do not expect that all corner cases will be covered or that it will be expanded to cover all cases.

Also, it was never developed with efficiency or large datasets in mind.

Should you find obvious errors, or better ways to do things, please create an issue.

You are invited to contibute to the JTable ecosystem!

The success of a table format depends on the creation of an ecosystem. The JTable ecosystem starts with a protocol for command lines interfaces, based on pipes.

Anyone can develop their own filters for the JTable ecosystem, in any language: Javascript, Python, compiled languages, etc..

For a command-line filter to be part of the CLI ecosystem, the following things are usually sufficient:

  1. Be able to read compliant JTable files from stdin.
  2. Perform whatever transformations.
  3. Be able to output compliant JTable files to stdout.
  4. When the output is a TTY, then output it by default in a human-readable format.