Skip to content

Instantly share code, notes, and snippets.

@ahmadawais
Forked from kentcdodds/README.md
Created December 5, 2020 01:05
Show Gist options
  • Save ahmadawais/d0c3ac78ebdae72f53e8c7f4fcbf75c5 to your computer and use it in GitHub Desktop.
Save ahmadawais/d0c3ac78ebdae72f53e8c7f4fcbf75c5 to your computer and use it in GitHub Desktop.

Revisions

  1. @kentcdodds kentcdodds revised this gist Dec 4, 2020. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions bin.js
    Original file line number Diff line number Diff line change
    @@ -36,6 +36,7 @@ async function go() {
    `
    Stats for ${username}:
    - Total Packages: ${stats.pkgStats.length}
    - First Downloaded Package: ${stats.firstDownload.pkg}
    - First Download Day: ${stats.firstDownload.day}
    - Total Downloads: ${stats.totalDownloads}
    - Top ${topPackages.length} Packages:
  2. @kentcdodds kentcdodds revised this gist Dec 4, 2020. 1 changed file with 0 additions and 3 deletions.
    3 changes: 0 additions & 3 deletions bin.js
    Original file line number Diff line number Diff line change
    @@ -6,7 +6,6 @@ const getUserDownloadStats = require('./get-download-stats')
    const table = new Table({
    head: [
    'Package',
    'First Downloaded Package',
    'First Download Count',
    'First Download Day',
    'Total Downloads',
    @@ -23,12 +22,10 @@ async function go() {
    const {
    stats: {package, firstDownload, totalDownloads, averageDailyDownloads},
    } = pkg
    const firstPackage = firstDownload ? firstDownload.pkg : 'Unknown' ?? 'Unknown'
    const firstCount = firstDownload ? firstDownload.downloads : 'unknown'
    const firstDay = firstDownload ? firstDownload.day : 'Unknown'
    table.push([
    package,
    firstPackage,
    firstCount,
    firstDay,
    totalDownloads,
  3. @kentcdodds kentcdodds revised this gist Dec 4, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion bin.js
    Original file line number Diff line number Diff line change
    @@ -23,7 +23,7 @@ async function go() {
    const {
    stats: {package, firstDownload, totalDownloads, averageDailyDownloads},
    } = pkg
    const firstPackage = firstDownload ? firstDownload.pkg : 'Unknown'
    const firstPackage = firstDownload ? firstDownload.pkg : 'Unknown' ?? 'Unknown'
    const firstCount = firstDownload ? firstDownload.downloads : 'unknown'
    const firstDay = firstDownload ? firstDownload.day : 'Unknown'
    table.push([
  4. @kentcdodds kentcdodds revised this gist Dec 4, 2020. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions bin.js
    Original file line number Diff line number Diff line change
    @@ -6,6 +6,7 @@ const getUserDownloadStats = require('./get-download-stats')
    const table = new Table({
    head: [
    'Package',
    'First Downloaded Package',
    'First Download Count',
    'First Download Day',
    'Total Downloads',
    @@ -22,10 +23,12 @@ async function go() {
    const {
    stats: {package, firstDownload, totalDownloads, averageDailyDownloads},
    } = pkg
    const firstPackage = firstDownload ? firstDownload.pkg : 'Unknown'
    const firstCount = firstDownload ? firstDownload.downloads : 'unknown'
    const firstDay = firstDownload ? firstDownload.day : 'Unknown'
    table.push([
    package,
    firstPackage,
    firstCount,
    firstDay,
    totalDownloads,
  5. @kentcdodds kentcdodds revised this gist Dec 4, 2020. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions README.md
    Original file line number Diff line number Diff line change
    @@ -11,3 +11,5 @@ You can use it with `npx` like so:
    ```
    npx https://gist.github.com/kentcdodds/8eea6d7365f46ddd2f2760bb44d164c0 kentcdodds
    ```

    It may take a moment...
  6. @kentcdodds kentcdodds revised this gist Dec 4, 2020. 1 changed file with 6 additions and 0 deletions.
    6 changes: 6 additions & 0 deletions README.md
    Original file line number Diff line number Diff line change
    @@ -5,3 +5,9 @@ I was poking around trying to figure out all the packages I have access to publi
    Feel free to try it yourself. Just change the username passed to `getUserDownloadStats`.

    By default, the stats are sorted by their average daily downloads (descending). That should give you an idea of the most "popular" package of a given user relative to how long that package has been around.

    You can use it with `npx` like so:

    ```
    npx https://gist.github.com/kentcdodds/8eea6d7365f46ddd2f2760bb44d164c0 kentcdodds
    ```
  7. @kentcdodds kentcdodds revised this gist Dec 4, 2020. No changes.
  8. @kentcdodds kentcdodds revised this gist Dec 4, 2020. 4 changed files with 60 additions and 12 deletions.
    47 changes: 47 additions & 0 deletions bin.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,47 @@
    #!/usr/bin/env node

    const Table = require('cli-table')
    const getUserDownloadStats = require('./get-download-stats')

    const table = new Table({
    head: [
    'Package',
    'First Download Count',
    'First Download Day',
    'Total Downloads',
    'Average Daily Downloads',
    ],
    })

    const username = process.argv[2]

    async function go() {
    const stats = await getUserDownloadStats(username)
    const topPackages = stats.pkgStats.slice(0, 10)
    for (const pkg of topPackages) {
    const {
    stats: {package, firstDownload, totalDownloads, averageDailyDownloads},
    } = pkg
    const firstCount = firstDownload ? firstDownload.downloads : 'unknown'
    const firstDay = firstDownload ? firstDownload.day : 'Unknown'
    table.push([
    package,
    firstCount,
    firstDay,
    totalDownloads,
    averageDailyDownloads,
    ])
    }
    console.log(
    `
    Stats for ${username}:
    - Total Packages: ${stats.pkgStats.length}
    - First Download Day: ${stats.firstDownload.day}
    - Total Downloads: ${stats.totalDownloads}
    - Top ${topPackages.length} Packages:
    ${table.toString()}
    `.trim(),
    )
    }

    go()
    9 changes: 9 additions & 0 deletions example.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,9 @@
    const fs = require('fs/promises')
    const getUserDownloadStats = require('./get-download-stats')

    async function go() {
    const stats = await getUserDownloadStats('kentcdodds')
    await fs.writeFile('./stats.json', JSON.stringify(stats, null, 2))
    }

    go()
    11 changes: 2 additions & 9 deletions index.js → get-download-stats.js
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,3 @@
    const fs = require('fs/promises')
    const access = require('libnpmaccess')
    const {add, sub, format} = require('date-fns')
    const fetch = require('make-fetch-happen').defaults({
    @@ -80,7 +79,7 @@ async function getAllDownloadStats(pkg) {
    start: results[0].start,
    end: results[results.length - 1].end,
    package: pkg,
    // downloads: allDownloads, (uncomment if you want a silly amount of data in your output...)
    // downloads: allDownloads, (uncomment this if you want a silly amount of data...)
    firstDownload,
    downloadDaysCount,
    averageDailyDownloads,
    @@ -90,10 +89,4 @@ async function getAllDownloadStats(pkg) {
    return combinedResult
    }

    async function go() {
    const stats = await getUserDownloadStats('kentcdodds')
    await fs.writeFile('./stats.json', JSON.stringify(stats, null, 2))
    }

    go()
    // getAllDownloadStats('@testing-library/dom').then(r => console.log(r))
    module.exports = getUserDownloadStats
    5 changes: 2 additions & 3 deletions package.json
    Original file line number Diff line number Diff line change
    @@ -1,16 +1,15 @@
    {
    "name": "user-package-stats",
    "bin": "./bin.js",
    "version": "1.0.0",
    "description": "",
    "main": "index.js",
    "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
    },
    "keywords": [],
    "author": "Kent C. Dodds <[email protected]> (https://kentcdodds.com/)",
    "license": "MIT",
    "dependencies": {
    "date-fns": "^2.16.1",
    "cli-table": "^0.3.1",
    "libnpmaccess": "^4.0.1",
    "make-fetch-happen": "^8.0.10"
    }
  9. @kentcdodds kentcdodds revised this gist Dec 4, 2020. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions README.md
    Original file line number Diff line number Diff line change
    @@ -3,3 +3,5 @@
    I was poking around trying to figure out all the packages I have access to publish and got curious. So I write this little script to determine the download stats for all the packages I have publish access to.

    Feel free to try it yourself. Just change the username passed to `getUserDownloadStats`.

    By default, the stats are sorted by their average daily downloads (descending). That should give you an idea of the most "popular" package of a given user relative to how long that package has been around.
  10. @kentcdodds kentcdodds created this gist Dec 4, 2020.
    5 changes: 5 additions & 0 deletions README.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,5 @@
    # user-package-stats

    I was poking around trying to figure out all the packages I have access to publish and got curious. So I write this little script to determine the download stats for all the packages I have publish access to.

    Feel free to try it yourself. Just change the username passed to `getUserDownloadStats`.
    99 changes: 99 additions & 0 deletions index.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,99 @@
    const fs = require('fs/promises')
    const access = require('libnpmaccess')
    const {add, sub, format} = require('date-fns')
    const fetch = require('make-fetch-happen').defaults({
    cacheManager: './node_modules/.cache/make-fetch-happen',
    })

    const sortBy = (getProp, dir = 'asc') => (a, z) => {
    const aP = getProp(a)
    const zP = getProp(z)
    const aBigger = dir === 'asc' ? 1 : -1
    const zBigger = dir === 'asc' ? -1 : 1
    return aP > zP ? aBigger : aP < zP ? zBigger : 0
    }

    async function getUserDownloadStats(user) {
    const pkgs = Object.keys(await access.lsPackages(user))
    const pkgStats = []
    for (const pkg of pkgs) {
    try {
    pkgStats.push({pkg, stats: await getAllDownloadStats(pkg)})
    } catch (error) {
    console.error(`Error processing ${pkg}`)
    throw error
    }
    }
    const totalDownloads = pkgStats.reduce(
    (sum, d) => d.stats.totalDownloads + sum,
    0,
    )
    const firstDownload = pkgStats.reduce(
    (oldest, data) => {
    if (
    data.stats.firstDownload &&
    new Date(data.stats.firstDownload.day) < new Date(oldest.day)
    ) {
    return {pkg: data.pkg, ...data.stats.firstDownload}
    }
    return oldest
    },
    {pkg: '[Unknown]', downloads: 0, day: format(new Date(), 'yyyy-MM-dd')},
    )
    pkgStats.sort(sortBy(a => a.stats.averageDailyDownloads, 'desc'))
    return {user, totalDownloads, firstDownload, pkgStats}
    }

    async function getAllDownloadStats(pkg) {
    const npmLimitDays = 540
    const today = new Date()
    const npmDataStart = new Date('2015-01-10 00:00:00 UTC')
    const groups = []
    let currentStart
    let currentEnd = sub(npmDataStart, {days: 1})
    const requests = []
    do {
    currentStart = add(currentEnd, {days: 1})
    currentEnd = add(currentStart, {days: npmLimitDays})
    const start = format(currentStart, 'yyyy-MM-dd')
    const end = format(currentEnd, 'yyyy-MM-dd')
    requests.push(
    fetch(
    `https://api.npmjs.org/downloads/range/${start}:${end}/${pkg}`,
    ).then(response => {
    return response.json()
    }),
    )
    groups.push({start: currentStart, end: currentEnd})
    } while (currentEnd < today)

    const results = await Promise.all(requests)
    const allDownloads = results.flatMap(r => (r.error ? [] : r.downloads))
    const firstDownloadIndex = allDownloads.findIndex(d => d.downloads > 0)
    const firstDownload = allDownloads[firstDownloadIndex]
    const totalDownloads = allDownloads.reduce((sum, d) => sum + d.downloads, 0)
    const downloadDaysCount = allDownloads.length - (1 + firstDownloadIndex)
    const averageDailyDownloads = Number(
    (totalDownloads / (downloadDaysCount || 1)).toFixed(4),
    )
    const combinedResult = {
    start: results[0].start,
    end: results[results.length - 1].end,
    package: pkg,
    // downloads: allDownloads, (uncomment if you want a silly amount of data in your output...)
    firstDownload,
    downloadDaysCount,
    averageDailyDownloads,
    totalDownloads,
    }

    return combinedResult
    }

    async function go() {
    const stats = await getUserDownloadStats('kentcdodds')
    await fs.writeFile('./stats.json', JSON.stringify(stats, null, 2))
    }

    go()
    // getAllDownloadStats('@testing-library/dom').then(r => console.log(r))
    17 changes: 17 additions & 0 deletions package.json
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,17 @@
    {
    "name": "user-package-stats",
    "version": "1.0.0",
    "description": "",
    "main": "index.js",
    "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
    },
    "keywords": [],
    "author": "Kent C. Dodds <[email protected]> (https://kentcdodds.com/)",
    "license": "MIT",
    "dependencies": {
    "date-fns": "^2.16.1",
    "libnpmaccess": "^4.0.1",
    "make-fetch-happen": "^8.0.10"
    }
    }
    2,000 changes: 2,000 additions & 0 deletions stats.json
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,2000 @@
    {
    "user": "kentcdodds",
    "totalDownloads": 1367457648,
    "firstDownload": {
    "pkg": "ux-genie",
    "downloads": 2,
    "day": "2015-02-27"
    },
    "pkgStats": [
    {
    "pkg": "@testing-library/dom",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@testing-library/dom",
    "firstDownload": {
    "downloads": 420,
    "day": "2019-05-30"
    },
    "downloadDaysCount": 555,
    "averageDailyDownloads": 219551.7622,
    "totalDownloads": 121851228
    }
    },
    {
    "pkg": "babel-plugin-macros",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "babel-plugin-macros",
    "firstDownload": {
    "downloads": 25,
    "day": "2015-05-14"
    },
    "downloadDaysCount": 2032,
    "averageDailyDownloads": 191312.1973,
    "totalDownloads": 388746385
    }
    },
    {
    "pkg": "@testing-library/react",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@testing-library/react",
    "firstDownload": {
    "downloads": 403,
    "day": "2019-05-30"
    },
    "downloadDaysCount": 555,
    "averageDailyDownloads": 178592.3892,
    "totalDownloads": 99118776
    }
    },
    {
    "pkg": "@testing-library/jest-dom",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@testing-library/jest-dom",
    "firstDownload": {
    "downloads": 490,
    "day": "2019-07-08"
    },
    "downloadDaysCount": 516,
    "averageDailyDownloads": 150802.593,
    "totalDownloads": 77814138
    }
    },
    {
    "pkg": "cross-env",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "cross-env",
    "firstDownload": {
    "downloads": 25,
    "day": "2015-10-01"
    },
    "downloadDaysCount": 1892,
    "averageDailyDownloads": 134836.4852,
    "totalDownloads": 255110630
    }
    },
    {
    "pkg": "@testing-library/user-event",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@testing-library/user-event",
    "firstDownload": {
    "downloads": 82,
    "day": "2019-06-06"
    },
    "downloadDaysCount": 548,
    "averageDailyDownloads": 78181.2956,
    "totalDownloads": 42843350
    }
    },
    {
    "pkg": "@testing-library/react-hooks",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@testing-library/react-hooks",
    "firstDownload": {
    "downloads": 36,
    "day": "2019-06-19"
    },
    "downloadDaysCount": 535,
    "averageDailyDownloads": 57267.7421,
    "totalDownloads": 30638242
    }
    },
    {
    "pkg": "downshift",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "downshift",
    "firstDownload": {
    "downloads": 53,
    "day": "2017-08-03"
    },
    "downloadDaysCount": 1220,
    "averageDailyDownloads": 28596.532,
    "totalDownloads": 34887769
    }
    },
    {
    "pkg": "prettier-eslint",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "prettier-eslint",
    "firstDownload": {
    "downloads": 83,
    "day": "2017-01-13"
    },
    "downloadDaysCount": 1422,
    "averageDailyDownloads": 23294.2968,
    "totalDownloads": 33124490
    }
    },
    {
    "pkg": "loglevel-colored-level-prefix",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "loglevel-colored-level-prefix",
    "firstDownload": {
    "downloads": 37,
    "day": "2017-02-27"
    },
    "downloadDaysCount": 1377,
    "averageDailyDownloads": 22358.0959,
    "totalDownloads": 30787098
    }
    },
    {
    "pkg": "dom-testing-library",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "dom-testing-library",
    "firstDownload": {
    "downloads": 50,
    "day": "2018-04-06"
    },
    "downloadDaysCount": 974,
    "averageDailyDownloads": 20821.0308,
    "totalDownloads": 20279684
    }
    },
    {
    "pkg": "glamorous",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "glamorous",
    "firstDownload": {
    "downloads": 17,
    "day": "2017-04-03"
    },
    "downloadDaysCount": 1342,
    "averageDailyDownloads": 19722.8159,
    "totalDownloads": 26468019
    }
    },
    {
    "pkg": "react-testing-library",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "react-testing-library",
    "firstDownload": {
    "downloads": 11,
    "day": "2018-03-18"
    },
    "downloadDaysCount": 993,
    "averageDailyDownloads": 18197.8409,
    "totalDownloads": 18070456
    }
    },
    {
    "pkg": "cz-conventional-changelog",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "cz-conventional-changelog",
    "firstDownload": {
    "downloads": 23,
    "day": "2015-04-20"
    },
    "downloadDaysCount": 2056,
    "averageDailyDownloads": 16527.3658,
    "totalDownloads": 33980264
    }
    },
    {
    "pkg": "jest-dom",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "jest-dom",
    "firstDownload": {
    "downloads": 12,
    "day": "2018-04-09"
    },
    "downloadDaysCount": 971,
    "averageDailyDownloads": 15614.654,
    "totalDownloads": 15161829
    }
    },
    {
    "pkg": "@testing-library/cypress",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@testing-library/cypress",
    "firstDownload": {
    "downloads": 19,
    "day": "2019-05-30"
    },
    "downloadDaysCount": 555,
    "averageDailyDownloads": 12631.7748,
    "totalDownloads": 7010635
    }
    },
    {
    "pkg": "prettier-eslint-cli",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "prettier-eslint-cli",
    "firstDownload": {
    "downloads": 11,
    "day": "2017-01-13"
    },
    "downloadDaysCount": 1422,
    "averageDailyDownloads": 12327.879,
    "totalDownloads": 17530244
    }
    },
    {
    "pkg": "commitizen",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "commitizen",
    "firstDownload": {
    "downloads": 70,
    "day": "2015-04-20"
    },
    "downloadDaysCount": 2056,
    "averageDailyDownloads": 10075.7218,
    "totalDownloads": 20715684
    }
    },
    {
    "pkg": "match-sorter",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "match-sorter",
    "firstDownload": {
    "downloads": 24,
    "day": "2016-08-25"
    },
    "downloadDaysCount": 1563,
    "averageDailyDownloads": 9655.9635,
    "totalDownloads": 15092271
    }
    },
    {
    "pkg": "rtl-css-js",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "rtl-css-js",
    "firstDownload": {
    "downloads": 44,
    "day": "2016-11-16"
    },
    "downloadDaysCount": 1480,
    "averageDailyDownloads": 9495.1851,
    "totalDownloads": 14052874
    }
    },
    {
    "pkg": "@testing-library/react-native",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@testing-library/react-native",
    "firstDownload": {
    "downloads": 32,
    "day": "2019-05-30"
    },
    "downloadDaysCount": 555,
    "averageDailyDownloads": 4043.4901,
    "totalDownloads": 2244137
    }
    },
    {
    "pkg": "use-deep-compare-effect",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "use-deep-compare-effect",
    "firstDownload": {
    "downloads": 111,
    "day": "2019-03-07"
    },
    "downloadDaysCount": 639,
    "averageDailyDownloads": 3913.0188,
    "totalDownloads": 2500419
    }
    },
    {
    "pkg": "react-error-boundary",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "react-error-boundary",
    "firstDownload": {
    "downloads": 231,
    "day": "2017-07-18"
    },
    "downloadDaysCount": 1236,
    "averageDailyDownloads": 3871.7476,
    "totalDownloads": 4785480
    }
    },
    {
    "pkg": "manage-path",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "manage-path",
    "firstDownload": {
    "downloads": 39,
    "day": "2015-10-21"
    },
    "downloadDaysCount": 1872,
    "averageDailyDownloads": 3326.4471,
    "totalDownloads": 6227109
    }
    },
    {
    "pkg": "react-toggled",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "react-toggled",
    "firstDownload": {
    "downloads": 66,
    "day": "2017-08-31"
    },
    "downloadDaysCount": 1192,
    "averageDailyDownloads": 3005.0612,
    "totalDownloads": 3582033
    }
    },
    {
    "pkg": "babel-macros",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "babel-macros",
    "firstDownload": {
    "downloads": 81,
    "day": "2017-07-07"
    },
    "downloadDaysCount": 1247,
    "averageDailyDownloads": 2696.7586,
    "totalDownloads": 3362858
    }
    },
    {
    "pkg": "nps-utils",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "nps-utils",
    "firstDownload": {
    "downloads": 161,
    "day": "2017-03-02"
    },
    "downloadDaysCount": 1374,
    "averageDailyDownloads": 2386.7314,
    "totalDownloads": 3279369
    }
    },
    {
    "pkg": "babel-plugin-preval",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "babel-plugin-preval",
    "firstDownload": {
    "downloads": 45,
    "day": "2017-07-05"
    },
    "downloadDaysCount": 1249,
    "averageDailyDownloads": 2131.1249,
    "totalDownloads": 2661775
    }
    },
    {
    "pkg": "@testing-library/jest-native",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@testing-library/jest-native",
    "firstDownload": {
    "downloads": 35,
    "day": "2019-05-30"
    },
    "downloadDaysCount": 555,
    "averageDailyDownloads": 2110.245,
    "totalDownloads": 1171186
    }
    },
    {
    "pkg": "validate-commit-msg",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "validate-commit-msg",
    "firstDownload": {
    "downloads": 14,
    "day": "2015-09-04"
    },
    "downloadDaysCount": 1919,
    "averageDailyDownloads": 2052.5649,
    "totalDownloads": 3938872
    }
    },
    {
    "pkg": "webpack-validator",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "webpack-validator",
    "firstDownload": {
    "downloads": 20,
    "day": "2016-02-15"
    },
    "downloadDaysCount": 1755,
    "averageDailyDownloads": 1912.4519,
    "totalDownloads": 3356353
    }
    },
    {
    "pkg": "cypress-testing-library",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "cypress-testing-library",
    "firstDownload": {
    "downloads": 18,
    "day": "2018-04-10"
    },
    "downloadDaysCount": 970,
    "averageDailyDownloads": 1848.1196,
    "totalDownloads": 1792676
    }
    },
    {
    "pkg": "babel-plugin-tester",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "babel-plugin-tester",
    "firstDownload": {
    "downloads": 56,
    "day": "2017-05-16"
    },
    "downloadDaysCount": 1299,
    "averageDailyDownloads": 1609.9854,
    "totalDownloads": 2091371
    }
    },
    {
    "pkg": "spawn-command-with-kill",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "spawn-command-with-kill",
    "firstDownload": {
    "downloads": 25,
    "day": "2016-09-03"
    },
    "downloadDaysCount": 1554,
    "averageDailyDownloads": 1479.5013,
    "totalDownloads": 2299145
    }
    },
    {
    "pkg": "prefix-matches",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "prefix-matches",
    "firstDownload": {
    "downloads": 251,
    "day": "2016-05-02"
    },
    "downloadDaysCount": 1678,
    "averageDailyDownloads": 1368.919,
    "totalDownloads": 2297046
    }
    },
    {
    "pkg": "cloc",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "cloc",
    "firstDownload": {
    "downloads": 68,
    "day": "2015-06-30"
    },
    "downloadDaysCount": 1985,
    "averageDailyDownloads": 1360.2715,
    "totalDownloads": 2700139
    }
    },
    {
    "pkg": "@testing-library/vue",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@testing-library/vue",
    "firstDownload": {
    "downloads": 5,
    "day": "2019-05-31"
    },
    "downloadDaysCount": 554,
    "averageDailyDownloads": 1187.2527,
    "totalDownloads": 657738
    }
    },
    {
    "pkg": "webpack-config-utils",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "webpack-config-utils",
    "firstDownload": {
    "downloads": 16,
    "day": "2016-07-18"
    },
    "downloadDaysCount": 1601,
    "averageDailyDownloads": 1102.7008,
    "totalDownloads": 1765424
    }
    },
    {
    "pkg": "nps",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "nps",
    "firstDownload": {
    "downloads": 3,
    "day": "2015-02-28"
    },
    "downloadDaysCount": 2107,
    "averageDailyDownloads": 1048.6578,
    "totalDownloads": 2209522
    }
    },
    {
    "pkg": "all-contributors-cli",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "all-contributors-cli",
    "firstDownload": {
    "downloads": 78,
    "day": "2016-02-29"
    },
    "downloadDaysCount": 1741,
    "averageDailyDownloads": 890.0149,
    "totalDownloads": 1549516
    }
    },
    {
    "pkg": "stop-runaway-react-effects",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "stop-runaway-react-effects",
    "firstDownload": {
    "downloads": 11,
    "day": "2019-05-14"
    },
    "downloadDaysCount": 571,
    "averageDailyDownloads": 678.7163,
    "totalDownloads": 387547
    }
    },
    {
    "pkg": "@testing-library/angular",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@testing-library/angular",
    "firstDownload": {
    "downloads": 10,
    "day": "2019-05-31"
    },
    "downloadDaysCount": 554,
    "averageDailyDownloads": 668.8051,
    "totalDownloads": 370518
    }
    },
    {
    "pkg": "@testing-library/svelte",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@testing-library/svelte",
    "firstDownload": {
    "downloads": 12,
    "day": "2019-06-01"
    },
    "downloadDaysCount": 553,
    "averageDailyDownloads": 650.141,
    "totalDownloads": 359528
    }
    },
    {
    "pkg": "preval.macro",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "preval.macro",
    "firstDownload": {
    "downloads": 52,
    "day": "2017-07-14"
    },
    "downloadDaysCount": 1240,
    "averageDailyDownloads": 645.179,
    "totalDownloads": 800022
    }
    },
    {
    "pkg": "angular-formly",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "angular-formly",
    "firstDownload": {
    "downloads": 95,
    "day": "2015-02-27"
    },
    "downloadDaysCount": 2108,
    "averageDailyDownloads": 622.9725,
    "totalDownloads": 1313226
    }
    },
    {
    "pkg": "@testing-library/preact",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@testing-library/preact",
    "firstDownload": {
    "downloads": 9,
    "day": "2019-09-29"
    },
    "downloadDaysCount": 433,
    "averageDailyDownloads": 604.8499,
    "totalDownloads": 261900
    }
    },
    {
    "pkg": "api-check",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "api-check",
    "firstDownload": {
    "downloads": 21,
    "day": "2015-02-27"
    },
    "downloadDaysCount": 2108,
    "averageDailyDownloads": 603.1874,
    "totalDownloads": 1271519
    }
    },
    {
    "pkg": "jest-glamor-react",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "jest-glamor-react",
    "firstDownload": {
    "downloads": 35,
    "day": "2017-03-24"
    },
    "downloadDaysCount": 1352,
    "averageDailyDownloads": 504.0851,
    "totalDownloads": 681523
    }
    },
    {
    "pkg": "eslint-config-kentcdodds",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "eslint-config-kentcdodds",
    "firstDownload": {
    "downloads": 13,
    "day": "2015-09-04"
    },
    "downloadDaysCount": 1919,
    "averageDailyDownloads": 413.6738,
    "totalDownloads": 793840
    }
    },
    {
    "pkg": "import-all.macro",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "import-all.macro",
    "firstDownload": {
    "downloads": 14,
    "day": "2017-09-19"
    },
    "downloadDaysCount": 1173,
    "averageDailyDownloads": 309.3572,
    "totalDownloads": 362876
    }
    },
    {
    "pkg": "angular-formly-templates-bootstrap",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "angular-formly-templates-bootstrap",
    "firstDownload": {
    "downloads": 6,
    "day": "2015-02-27"
    },
    "downloadDaysCount": 2108,
    "averageDailyDownloads": 284.3672,
    "totalDownloads": 599446
    }
    },
    {
    "pkg": "@testing-library/testcafe",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@testing-library/testcafe",
    "firstDownload": {
    "downloads": 5,
    "day": "2019-05-31"
    },
    "downloadDaysCount": 554,
    "averageDailyDownloads": 281.6155,
    "totalDownloads": 156015
    }
    },
    {
    "pkg": "babel-plugin-codegen",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "babel-plugin-codegen",
    "firstDownload": {
    "downloads": 103,
    "day": "2017-08-14"
    },
    "downloadDaysCount": 1209,
    "averageDailyDownloads": 273.0447,
    "totalDownloads": 330111
    }
    },
    {
    "pkg": "react-test-context-provider",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "react-test-context-provider",
    "firstDownload": {
    "downloads": 142,
    "day": "2016-09-13"
    },
    "downloadDaysCount": 1544,
    "averageDailyDownloads": 185.6023,
    "totalDownloads": 286570
    }
    },
    {
    "pkg": "@testing-library/preact-hooks",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@testing-library/preact-hooks",
    "firstDownload": {
    "downloads": 32,
    "day": "2020-06-10"
    },
    "downloadDaysCount": 178,
    "averageDailyDownloads": 141.7865,
    "totalDownloads": 25238
    }
    },
    {
    "pkg": "kcd-scripts",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "kcd-scripts",
    "firstDownload": {
    "downloads": 25,
    "day": "2017-09-03"
    },
    "downloadDaysCount": 1189,
    "averageDailyDownloads": 131.7435,
    "totalDownloads": 156643
    }
    },
    {
    "pkg": "codegen.macro",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "codegen.macro",
    "firstDownload": {
    "downloads": 23,
    "day": "2017-08-14"
    },
    "downloadDaysCount": 1209,
    "averageDailyDownloads": 117.4069,
    "totalDownloads": 141945
    }
    },
    {
    "pkg": "babel-plugin-glamorous-displayname",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "babel-plugin-glamorous-displayname",
    "firstDownload": {
    "downloads": 115,
    "day": "2017-04-18"
    },
    "downloadDaysCount": 1327,
    "averageDailyDownloads": 107.8041,
    "totalDownloads": 143056
    }
    },
    {
    "pkg": "cz-jira-smart-commit",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "cz-jira-smart-commit",
    "firstDownload": {
    "downloads": 24,
    "day": "2015-08-07"
    },
    "downloadDaysCount": 1947,
    "averageDailyDownloads": 106.5532,
    "totalDownloads": 207459
    }
    },
    {
    "pkg": "@kentcdodds/react-workshop-app",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@kentcdodds/react-workshop-app",
    "firstDownload": {
    "downloads": 27,
    "day": "2020-02-26"
    },
    "downloadDaysCount": 283,
    "averageDailyDownloads": 99.212,
    "totalDownloads": 28077
    }
    },
    {
    "pkg": "p-s",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "p-s",
    "firstDownload": {
    "downloads": 195,
    "day": "2016-04-25"
    },
    "downloadDaysCount": 1685,
    "averageDailyDownloads": 86.6706,
    "totalDownloads": 146040
    }
    },
    {
    "pkg": "starwars-names",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "starwars-names",
    "firstDownload": {
    "downloads": 8,
    "day": "2015-08-05"
    },
    "downloadDaysCount": 1949,
    "averageDailyDownloads": 61.6398,
    "totalDownloads": 120136
    }
    },
    {
    "pkg": "hson-loader",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "hson-loader",
    "firstDownload": {
    "downloads": 43,
    "day": "2015-03-15"
    },
    "downloadDaysCount": 2092,
    "averageDailyDownloads": 56.7992,
    "totalDownloads": 118824
    }
    },
    {
    "pkg": "ng-stats",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "ng-stats",
    "firstDownload": {
    "downloads": 23,
    "day": "2015-02-27"
    },
    "downloadDaysCount": 2108,
    "averageDailyDownloads": 56.2429,
    "totalDownloads": 118560
    }
    },
    {
    "pkg": "npm-package-scripts",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "npm-package-scripts",
    "firstDownload": {
    "downloads": 18,
    "day": "2016-09-05"
    },
    "downloadDaysCount": 1552,
    "averageDailyDownloads": 31.7899,
    "totalDownloads": 49338
    }
    },
    {
    "pkg": "cross-spawn-with-kill",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "cross-spawn-with-kill",
    "firstDownload": {
    "downloads": 11,
    "day": "2016-09-02"
    },
    "downloadDaysCount": 1555,
    "averageDailyDownloads": 25.7415,
    "totalDownloads": 40028
    }
    },
    {
    "pkg": "@testing-library/nightwatch",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@testing-library/nightwatch",
    "firstDownload": {
    "downloads": 33,
    "day": "2019-10-17"
    },
    "downloadDaysCount": 415,
    "averageDailyDownloads": 23.1566,
    "totalDownloads": 9610
    }
    },
    {
    "pkg": "stack-overflow-copy-paste",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "stack-overflow-copy-paste",
    "firstDownload": {
    "downloads": 21,
    "day": "2016-01-20"
    },
    "downloadDaysCount": 1781,
    "averageDailyDownloads": 21.5452,
    "totalDownloads": 38372
    }
    },
    {
    "pkg": "watch-once",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "watch-once",
    "firstDownload": {
    "downloads": 1,
    "day": "2015-03-01"
    },
    "downloadDaysCount": 2106,
    "averageDailyDownloads": 16.9511,
    "totalDownloads": 35699
    }
    },
    {
    "pkg": "path-here",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "path-here",
    "firstDownload": {
    "downloads": 31,
    "day": "2015-08-20"
    },
    "downloadDaysCount": 1934,
    "averageDailyDownloads": 16.2291,
    "totalDownloads": 31387
    }
    },
    {
    "pkg": "argv-set-env",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "argv-set-env",
    "firstDownload": {
    "downloads": 15,
    "day": "2015-10-21"
    },
    "downloadDaysCount": 1872,
    "averageDailyDownloads": 13.5978,
    "totalDownloads": 25455
    }
    },
    {
    "pkg": "geniejs",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "geniejs",
    "firstDownload": {
    "downloads": 1,
    "day": "2015-03-01"
    },
    "downloadDaysCount": 2106,
    "averageDailyDownloads": 12.3352,
    "totalDownloads": 25978
    }
    },
    {
    "pkg": "generator-kcd-oss",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "generator-kcd-oss",
    "firstDownload": {
    "downloads": 29,
    "day": "2016-05-01"
    },
    "downloadDaysCount": 1679,
    "averageDailyDownloads": 11.5485,
    "totalDownloads": 19390
    }
    },
    {
    "pkg": "@testing-library/jasmine-dom",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@testing-library/jasmine-dom",
    "firstDownload": {
    "downloads": 37,
    "day": "2020-08-23"
    },
    "downloadDaysCount": 104,
    "averageDailyDownloads": 8.0962,
    "totalDownloads": 842
    }
    },
    {
    "pkg": "kcd-common-tools",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "kcd-common-tools",
    "firstDownload": {
    "downloads": 56,
    "day": "2015-06-13"
    },
    "downloadDaysCount": 2002,
    "averageDailyDownloads": 8.027,
    "totalDownloads": 16070
    }
    },
    {
    "pkg": "ng-toggle",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "ng-toggle",
    "firstDownload": {
    "downloads": 28,
    "day": "2015-06-26"
    },
    "downloadDaysCount": 1989,
    "averageDailyDownloads": 7.5239,
    "totalDownloads": 14965
    }
    },
    {
    "pkg": "angular-scope-types",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "angular-scope-types",
    "firstDownload": {
    "downloads": 74,
    "day": "2015-06-01"
    },
    "downloadDaysCount": 2014,
    "averageDailyDownloads": 7.0233,
    "totalDownloads": 14145
    }
    },
    {
    "pkg": "is-email-maybe",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "is-email-maybe",
    "firstDownload": {
    "downloads": 102,
    "day": "2016-05-23"
    },
    "downloadDaysCount": 1657,
    "averageDailyDownloads": 6.8835,
    "totalDownloads": 11406
    }
    },
    {
    "pkg": "publish-latest",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "publish-latest",
    "firstDownload": {
    "downloads": 45,
    "day": "2015-09-25"
    },
    "downloadDaysCount": 1898,
    "averageDailyDownloads": 6.6807,
    "totalDownloads": 12680
    }
    },
    {
    "pkg": "eslint-find-new-rules",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "eslint-find-new-rules",
    "firstDownload": {
    "downloads": 70,
    "day": "2016-03-16"
    },
    "downloadDaysCount": 1725,
    "averageDailyDownloads": 6.5548,
    "totalDownloads": 11307
    }
    },
    {
    "pkg": "@kentcdodds/podcastify-dir",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@kentcdodds/podcastify-dir",
    "firstDownload": {
    "downloads": 212,
    "day": "2020-07-07"
    },
    "downloadDaysCount": 151,
    "averageDailyDownloads": 6.2583,
    "totalDownloads": 945
    }
    },
    {
    "pkg": "invoke-filter",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "invoke-filter",
    "firstDownload": {
    "downloads": 13,
    "day": "2015-08-21"
    },
    "downloadDaysCount": 1933,
    "averageDailyDownloads": 5.9747,
    "totalDownloads": 11549
    }
    },
    {
    "pkg": "echo-logger",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "echo-logger",
    "firstDownload": {
    "downloads": 38,
    "day": "2015-03-10"
    },
    "downloadDaysCount": 2097,
    "averageDailyDownloads": 5.5351,
    "totalDownloads": 11607
    }
    },
    {
    "pkg": "all-contributors",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "all-contributors",
    "firstDownload": {
    "downloads": 25,
    "day": "2016-12-20"
    },
    "downloadDaysCount": 1446,
    "averageDailyDownloads": 5.0609,
    "totalDownloads": 7318
    }
    },
    {
    "pkg": "moxee",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "moxee",
    "firstDownload": {
    "downloads": 220,
    "day": "2015-03-22"
    },
    "downloadDaysCount": 2085,
    "averageDailyDownloads": 5.0561,
    "totalDownloads": 10542
    }
    },
    {
    "pkg": "split-guide",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "split-guide",
    "firstDownload": {
    "downloads": 54,
    "day": "2016-09-15"
    },
    "downloadDaysCount": 1542,
    "averageDailyDownloads": 4.9014,
    "totalDownloads": 7558
    }
    },
    {
    "pkg": "netlify-shortener",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "netlify-shortener",
    "firstDownload": {
    "downloads": 59,
    "day": "2018-12-07"
    },
    "downloadDaysCount": 729,
    "averageDailyDownloads": 4.8258,
    "totalDownloads": 3518
    }
    },
    {
    "pkg": "az-trust-filter",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "az-trust-filter",
    "firstDownload": {
    "downloads": 3,
    "day": "2015-08-03"
    },
    "downloadDaysCount": 1951,
    "averageDailyDownloads": 4.7499,
    "totalDownloads": 9267
    }
    },
    {
    "pkg": "az-search-sorter",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "az-search-sorter",
    "firstDownload": {
    "downloads": 16,
    "day": "2015-08-01"
    },
    "downloadDaysCount": 1953,
    "averageDailyDownloads": 4.5576,
    "totalDownloads": 8901
    }
    },
    {
    "pkg": "az-promise-show",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "az-promise-show",
    "firstDownload": {
    "downloads": 133,
    "day": "2015-06-16"
    },
    "downloadDaysCount": 1999,
    "averageDailyDownloads": 4.4672,
    "totalDownloads": 8930
    }
    },
    {
    "pkg": "az-dynamic-filter",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "az-dynamic-filter",
    "firstDownload": {
    "downloads": 30,
    "day": "2015-07-20"
    },
    "downloadDaysCount": 1965,
    "averageDailyDownloads": 4.199,
    "totalDownloads": 8251
    }
    },
    {
    "pkg": "add-to-path",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "add-to-path",
    "firstDownload": {
    "downloads": 40,
    "day": "2015-09-11"
    },
    "downloadDaysCount": 1912,
    "averageDailyDownloads": 4.0099,
    "totalDownloads": 7667
    }
    },
    {
    "pkg": "configuration-validator",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "configuration-validator",
    "firstDownload": {
    "downloads": 75,
    "day": "2016-02-16"
    },
    "downloadDaysCount": 1754,
    "averageDailyDownloads": 3.8883,
    "totalDownloads": 6820
    }
    },
    {
    "pkg": "az-highlight-search-sorter-match",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "az-highlight-search-sorter-match",
    "firstDownload": {
    "downloads": 2,
    "day": "2015-08-03"
    },
    "downloadDaysCount": 1951,
    "averageDailyDownloads": 3.5587,
    "totalDownloads": 6943
    }
    },
    {
    "pkg": "az-autofocus",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "az-autofocus",
    "firstDownload": {
    "downloads": 14,
    "day": "2015-08-04"
    },
    "downloadDaysCount": 1950,
    "averageDailyDownloads": 3.5585,
    "totalDownloads": 6939
    }
    },
    {
    "pkg": "react-autocompletely",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "react-autocompletely",
    "firstDownload": {
    "downloads": 24,
    "day": "2017-07-23"
    },
    "downloadDaysCount": 1231,
    "averageDailyDownloads": 2.9212,
    "totalDownloads": 3596
    }
    },
    {
    "pkg": "scope.macro",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "scope.macro",
    "firstDownload": {
    "downloads": 14,
    "day": "2018-01-31"
    },
    "downloadDaysCount": 1039,
    "averageDailyDownloads": 2.8017,
    "totalDownloads": 2911
    }
    },
    {
    "pkg": "clog-cli",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "clog-cli",
    "firstDownload": {
    "downloads": 10,
    "day": "2015-08-07"
    },
    "downloadDaysCount": 1947,
    "averageDailyDownloads": 2.7997,
    "totalDownloads": 5451
    }
    },
    {
    "pkg": "workshop-setup",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "workshop-setup",
    "firstDownload": {
    "downloads": 17,
    "day": "2017-03-13"
    },
    "downloadDaysCount": 1363,
    "averageDailyDownloads": 1.8826,
    "totalDownloads": 2566
    }
    },
    {
    "pkg": "react-formly",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "react-formly",
    "firstDownload": {
    "downloads": 1,
    "day": "2015-02-28"
    },
    "downloadDaysCount": 2107,
    "averageDailyDownloads": 1.5121,
    "totalDownloads": 3186
    }
    },
    {
    "pkg": "angular-formly-templates-vanilla",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "angular-formly-templates-vanilla",
    "firstDownload": {
    "downloads": 1,
    "day": "2015-03-01"
    },
    "downloadDaysCount": 2106,
    "averageDailyDownloads": 1.491,
    "totalDownloads": 3140
    }
    },
    {
    "pkg": "code-clock",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "code-clock",
    "firstDownload": {
    "downloads": 5,
    "day": "2015-02-28"
    },
    "downloadDaysCount": 2107,
    "averageDailyDownloads": 1.4775,
    "totalDownloads": 3113
    }
    },
    {
    "pkg": "github-names",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "github-names",
    "firstDownload": {
    "downloads": 111,
    "day": "2016-08-09"
    },
    "downloadDaysCount": 1579,
    "averageDailyDownloads": 1.1412,
    "totalDownloads": 1802
    }
    },
    {
    "pkg": "angular-formly-templates-foundation",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "angular-formly-templates-foundation",
    "firstDownload": {
    "downloads": 23,
    "day": "2015-05-04"
    },
    "downloadDaysCount": 2042,
    "averageDailyDownloads": 0.9324,
    "totalDownloads": 1904
    }
    },
    {
    "pkg": "az-page-objects",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "az-page-objects",
    "firstDownload": {
    "downloads": 27,
    "day": "2015-07-08"
    },
    "downloadDaysCount": 1977,
    "averageDailyDownloads": 0.8816,
    "totalDownloads": 1743
    }
    },
    {
    "pkg": "@kentcdodds/tmp-starwars-names",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@kentcdodds/tmp-starwars-names",
    "firstDownload": {
    "downloads": 7,
    "day": "2016-10-11"
    },
    "downloadDaysCount": 1516,
    "averageDailyDownloads": 0.8146,
    "totalDownloads": 1235
    }
    },
    {
    "pkg": "transformers-names",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "transformers-names",
    "firstDownload": {
    "downloads": 91,
    "day": "2016-06-27"
    },
    "downloadDaysCount": 1622,
    "averageDailyDownloads": 0.7466,
    "totalDownloads": 1211
    }
    },
    {
    "pkg": "@kentcdodds/tmp-random-number-2",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@kentcdodds/tmp-random-number-2",
    "firstDownload": {
    "downloads": 52,
    "day": "2018-04-13"
    },
    "downloadDaysCount": 967,
    "averageDailyDownloads": 0.726,
    "totalDownloads": 702
    }
    },
    {
    "pkg": "glamorous.macro",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "glamorous.macro",
    "firstDownload": {
    "downloads": 45,
    "day": "2018-01-31"
    },
    "downloadDaysCount": 1039,
    "averageDailyDownloads": 0.6805,
    "totalDownloads": 707
    }
    },
    {
    "pkg": "forms-js",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "forms-js",
    "firstDownload": {
    "downloads": 1,
    "day": "2015-02-27"
    },
    "downloadDaysCount": 2108,
    "averageDailyDownloads": 0.6319,
    "totalDownloads": 1332
    }
    },
    {
    "pkg": "angular-todo-escape",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "angular-todo-escape",
    "firstDownload": {
    "downloads": 19,
    "day": "2015-09-15"
    },
    "downloadDaysCount": 1908,
    "averageDailyDownloads": 0.6059,
    "totalDownloads": 1156
    }
    },
    {
    "pkg": "@kentcdodds/recoil-with-utils",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@kentcdodds/recoil-with-utils",
    "firstDownload": {
    "downloads": 38,
    "day": "2020-05-29"
    },
    "downloadDaysCount": 190,
    "averageDailyDownloads": 0.5737,
    "totalDownloads": 109
    }
    },
    {
    "pkg": "react-kadabra",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "react-kadabra",
    "firstDownload": {
    "downloads": 30,
    "day": "2017-08-03"
    },
    "downloadDaysCount": 1220,
    "averageDailyDownloads": 0.5369,
    "totalDownloads": 655
    }
    },
    {
    "pkg": "kentcdodds",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "kentcdodds",
    "firstDownload": {
    "downloads": 22,
    "day": "2016-03-16"
    },
    "downloadDaysCount": 1725,
    "averageDailyDownloads": 0.5159,
    "totalDownloads": 890
    }
    },
    {
    "pkg": "css-in-js-precompiler",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "css-in-js-precompiler",
    "firstDownload": {
    "downloads": 18,
    "day": "2017-04-27"
    },
    "downloadDaysCount": 1318,
    "averageDailyDownloads": 0.5083,
    "totalDownloads": 670
    }
    },
    {
    "pkg": "@kentcdodds/send-money-common",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@kentcdodds/send-money-common",
    "firstDownload": {
    "downloads": 5,
    "day": "2016-10-10"
    },
    "downloadDaysCount": 1517,
    "averageDailyDownloads": 0.5056,
    "totalDownloads": 767
    }
    },
    {
    "pkg": "ux-genie",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "ux-genie",
    "firstDownload": {
    "downloads": 2,
    "day": "2015-02-27"
    },
    "downloadDaysCount": 2108,
    "averageDailyDownloads": 0.4896,
    "totalDownloads": 1032
    }
    },
    {
    "pkg": "@kentcdodds/styled-system",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@kentcdodds/styled-system",
    "firstDownload": {
    "downloads": 28,
    "day": "2017-06-15"
    },
    "downloadDaysCount": 1269,
    "averageDailyDownloads": 0.4121,
    "totalDownloads": 523
    }
    },
    {
    "pkg": "angular-formly-example",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "angular-formly-example",
    "firstDownload": {
    "downloads": 26,
    "day": "2015-06-14"
    },
    "downloadDaysCount": 2001,
    "averageDailyDownloads": 0.3878,
    "totalDownloads": 776
    }
    },
    {
    "pkg": "angular-todo-escape-practice-01",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "angular-todo-escape-practice-01",
    "firstDownload": {
    "downloads": 21,
    "day": "2015-09-19"
    },
    "downloadDaysCount": 1904,
    "averageDailyDownloads": 0.3876,
    "totalDownloads": 738
    }
    },
    {
    "pkg": "eslint-plugin-kcd-egghead",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "eslint-plugin-kcd-egghead",
    "firstDownload": {
    "downloads": 34,
    "day": "2017-05-17"
    },
    "downloadDaysCount": 1298,
    "averageDailyDownloads": 0.3775,
    "totalDownloads": 490
    }
    },
    {
    "pkg": "angular-todo-escape-practice-02",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "angular-todo-escape-practice-02",
    "firstDownload": {
    "downloads": 14,
    "day": "2015-09-24"
    },
    "downloadDaysCount": 1899,
    "averageDailyDownloads": 0.3744,
    "totalDownloads": 711
    }
    },
    {
    "pkg": "npm-clog",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "npm-clog",
    "firstDownload": {
    "downloads": 11,
    "day": "2015-08-07"
    },
    "downloadDaysCount": 1947,
    "averageDailyDownloads": 0.3457,
    "totalDownloads": 673
    }
    },
    {
    "pkg": "@kentcdodds/temp-react-live",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@kentcdodds/temp-react-live",
    "firstDownload": {
    "downloads": 18,
    "day": "2017-08-03"
    },
    "downloadDaysCount": 1220,
    "averageDailyDownloads": 0.341,
    "totalDownloads": 416
    }
    },
    {
    "pkg": "slice-js",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "slice-js",
    "firstDownload": {
    "downloads": 22,
    "day": "2016-09-17"
    },
    "downloadDaysCount": 1540,
    "averageDailyDownloads": 0.3357,
    "totalDownloads": 517
    }
    },
    {
    "pkg": "rbb",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "rbb",
    "firstDownload": {
    "downloads": 1,
    "day": "2015-02-28"
    },
    "downloadDaysCount": 2107,
    "averageDailyDownloads": 0.3161,
    "totalDownloads": 666
    }
    },
    {
    "pkg": "unmaintained-react-scripts-babel-macros",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "unmaintained-react-scripts-babel-macros",
    "firstDownload": {
    "downloads": 19,
    "day": "2017-09-08"
    },
    "downloadDaysCount": 1184,
    "averageDailyDownloads": 0.277,
    "totalDownloads": 328
    }
    },
    {
    "pkg": "language-html-babel",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "language-html-babel",
    "firstDownload": {
    "downloads": 16,
    "day": "2017-11-03"
    },
    "downloadDaysCount": 1128,
    "averageDailyDownloads": 0.2695,
    "totalDownloads": 304
    }
    },
    {
    "pkg": "@kentcdodds/temp-react-loadable",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@kentcdodds/temp-react-loadable",
    "firstDownload": {
    "downloads": 11,
    "day": "2017-03-15"
    },
    "downloadDaysCount": 1361,
    "averageDailyDownloads": 0.2682,
    "totalDownloads": 365
    }
    },
    {
    "pkg": "@kentcdodds/react-stopwatch-practice-1",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@kentcdodds/react-stopwatch-practice-1",
    "firstDownload": {
    "downloads": 13,
    "day": "2016-10-26"
    },
    "downloadDaysCount": 1501,
    "averageDailyDownloads": 0.2592,
    "totalDownloads": 389
    }
    },
    {
    "pkg": "@kentcdodds/eslint-plugin-react",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@kentcdodds/eslint-plugin-react",
    "firstDownload": {
    "downloads": 8,
    "day": "2017-02-01"
    },
    "downloadDaysCount": 1403,
    "averageDailyDownloads": 0.2431,
    "totalDownloads": 341
    }
    },
    {
    "pkg": "@kentcdodds/react-stopwatch",
    "stats": {
    "start": "2015-01-10",
    "end": "2020-12-05",
    "package": "@kentcdodds/react-stopwatch",
    "firstDownload": {
    "downloads": 5,
    "day": "2016-10-27"
    },
    "downloadDaysCount": 1500,
    "averageDailyDownloads": 0.1687,
    "totalDownloads": 253
    }
    },
    {
    "pkg": "@kentcdodds/angular-todo-escape",
    "stats": {
    "package": "@kentcdodds/angular-todo-escape",
    "downloadDaysCount": 0,
    "averageDailyDownloads": 0,
    "totalDownloads": 0
    }
    }
    ]
    }