josephdadams / TallyArbiter

The flexible and customizable camera tally light system
http://www.tallyarbiter.com
MIT License
286 stars 101 forks source link

Feature: stats #106

Open josephdadams opened 3 years ago

josephdadams commented 3 years ago

A way to track daily users, or daily boot ups, monthly downloads, something so we can have an idea of active user count.

@hrueger any thoughts?

MatteoGheza commented 3 years ago

We can develop a simple program that aggregates download stats from Github, Docker etc. I'm trying to get this data using public APIs, and i found that:

// https://api.github.com/repos/josephdadams/TallyArbiter/releases

[
  {
    "url": "https://api.github.com/repos/josephdadams/TallyArbiter/releases/45905157",
    "assets_url": "https://api.github.com/repos/josephdadams/TallyArbiter/releases/45905157/assets",
    "upload_url": "https://uploads.github.com/repos/josephdadams/TallyArbiter/releases/45905157/assets{?name,label}",
    "html_url": "https://github.com/josephdadams/TallyArbiter/releases/tag/v2.0.0",
    "id": 45905157,
    "author": {
      "login": "github-actions[bot]",
      "id": 41898282,
      "node_id": "MDM6Qm90NDE4OTgyODI=",
      "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/github-actions%5Bbot%5D",
      "html_url": "https://github.com/apps/github-actions",
      "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers",
      "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}",
      "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions",
      "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs",
      "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos",
      "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}",
      "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events",
      "type": "Bot",
      "site_admin": false
    },
    "node_id": "MDc6UmVsZWFzZTQ1OTA1MTU3",
    "tag_name": "v2.0.0",
    "target_commitish": "master",
    "name": "2.0.0",
    "draft": false,
    "prerelease": false,
    "created_at": "2021-07-08T13:01:42Z",
    "published_at": "2021-07-08T13:55:22Z",
    "assets": [
      {
        "url": "https://api.github.com/repos/josephdadams/TallyArbiter/releases/assets/39937863",
        "id": 39937863,
        "node_id": "MDEyOlJlbGVhc2VBc3NldDM5OTM3ODYz",
        "name": "latest-linux.yml",
        "label": "",
        "uploader": {
          "login": "github-actions[bot]",
          "id": 41898282,
          "node_id": "MDM6Qm90NDE4OTgyODI=",
          "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4",
          "gravatar_id": "",
          "url": "https://api.github.com/users/github-actions%5Bbot%5D",
          "html_url": "https://github.com/apps/github-actions",
          "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers",
          "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}",
          "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}",
          "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}",
          "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions",
          "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs",
          "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos",
          "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}",
          "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events",
          "type": "Bot",
          "site_admin": false
        },
        "content_type": "text/yaml",
        "state": "uploaded",
        "size": 374,
        "download_count": 5,
        "created_at": "2021-07-08T13:20:10Z",
        "updated_at": "2021-07-08T13:20:10Z",
        "browser_download_url": "https://github.com/josephdadams/TallyArbiter/releases/download/v2.0.0/latest-linux.yml"
      },
      {
        "url": "https://api.github.com/repos/josephdadams/TallyArbiter/releases/assets/39937953",
        "id": 39937953,
        "node_id": "MDEyOlJlbGVhc2VBc3NldDM5OTM3OTUz",
        "name": "latest-mac.yml",
        "label": "",
        "uploader": {
          "login": "github-actions[bot]",
          "id": 41898282,
          "node_id": "MDM6Qm90NDE4OTgyODI=",
          "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4",
          "gravatar_id": "",
          "url": "https://api.github.com/users/github-actions%5Bbot%5D",
          "html_url": "https://github.com/apps/github-actions",
          "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers",
          "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}",
          "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}",
          "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}",
          "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions",
          "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs",
          "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos",
          "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}",
          "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events",
          "type": "Bot",
          "site_admin": false
        },
        "content_type": "text/yaml",
        "state": "uploaded",
        "size": 340,
        "download_count": 2,
        "created_at": "2021-07-08T13:22:56Z",
        "updated_at": "2021-07-08T13:22:56Z",
        "browser_download_url": "https://github.com/josephdadams/TallyArbiter/releases/download/v2.0.0/latest-mac.yml"
      },
      {
        "url": "https://api.github.com/repos/josephdadams/TallyArbiter/releases/assets/39937920",
        "id": 39937920,
        "node_id": "MDEyOlJlbGVhc2VBc3NldDM5OTM3OTIw",
        "name": "latest.yml",
        "label": "",
        "uploader": {
          "login": "github-actions[bot]",
          "id": 41898282,
          "node_id": "MDM6Qm90NDE4OTgyODI=",
          "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4",
          "gravatar_id": "",
          "url": "https://api.github.com/users/github-actions%5Bbot%5D",
          "html_url": "https://github.com/apps/github-actions",
          "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers",
          "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}",
          "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}",
          "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}",
          "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions",
          "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs",
          "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos",
          "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}",
          "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events",
          "type": "Bot",
          "site_admin": false
        },
        "content_type": "text/yaml",
        "state": "uploaded",
        "size": 352,
        "download_count": 4,
        "created_at": "2021-07-08T13:21:52Z",
        "updated_at": "2021-07-08T13:21:52Z",
        "browser_download_url": "https://github.com/josephdadams/TallyArbiter/releases/download/v2.0.0/latest.yml"
      },
      {
        "url": "https://api.github.com/repos/josephdadams/TallyArbiter/releases/assets/39937857",
        "id": 39937857,
        "node_id": "MDEyOlJlbGVhc2VBc3NldDM5OTM3ODU3",
        "name": "TallyArbiter-2.0.0.AppImage",
        "label": "",
        "uploader": {
          "login": "github-actions[bot]",
          "id": 41898282,
          "node_id": "MDM6Qm90NDE4OTgyODI=",
          "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4",
          "gravatar_id": "",
          "url": "https://api.github.com/users/github-actions%5Bbot%5D",
          "html_url": "https://github.com/apps/github-actions",
          "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers",
          "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}",
          "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}",
          "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}",
          "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions",
          "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs",
          "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos",
          "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}",
          "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events",
          "type": "Bot",
          "site_admin": false
        },
        "content_type": "application/octet-stream",
        "state": "uploaded",
        "size": 85623290,
        "download_count": 7,
        "created_at": "2021-07-08T13:20:08Z",
        "updated_at": "2021-07-08T13:20:10Z",
        "browser_download_url": "https://github.com/josephdadams/TallyArbiter/releases/download/v2.0.0/TallyArbiter-2.0.0.AppImage"
      },
      {
        "url": "https://api.github.com/repos/josephdadams/TallyArbiter/releases/assets/39937950",
        "id": 39937950,
        "node_id": "MDEyOlJlbGVhc2VBc3NldDM5OTM3OTUw",
        "name": "TallyArbiter-2.0.0.dmg",
        "label": "",
        "uploader": {
          "login": "github-actions[bot]",
          "id": 41898282,
          "node_id": "MDM6Qm90NDE4OTgyODI=",
          "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4",
          "gravatar_id": "",
          "url": "https://api.github.com/users/github-actions%5Bbot%5D",
          "html_url": "https://github.com/apps/github-actions",
          "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers",
          "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}",
          "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}",
          "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}",
          "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions",
          "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs",
          "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos",
          "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}",
          "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events",
          "type": "Bot",
          "site_admin": false
        },
        "content_type": "application/octet-stream",
        "state": "uploaded",
        "size": 83961626,
        "download_count": 13,
        "created_at": "2021-07-08T13:22:54Z",
        "updated_at": "2021-07-08T13:22:56Z",
        "browser_download_url": "https://github.com/josephdadams/TallyArbiter/releases/download/v2.0.0/TallyArbiter-2.0.0.dmg"
      },
      {
        "url": "https://api.github.com/repos/josephdadams/TallyArbiter/releases/assets/39937951",
        "id": 39937951,
        "node_id": "MDEyOlJlbGVhc2VBc3NldDM5OTM3OTUx",
        "name": "TallyArbiter-2.0.0.dmg.blockmap",
        "label": "",
        "uploader": {
          "login": "github-actions[bot]",
          "id": 41898282,
          "node_id": "MDM6Qm90NDE4OTgyODI=",
          "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4",
          "gravatar_id": "",
          "url": "https://api.github.com/users/github-actions%5Bbot%5D",
          "html_url": "https://github.com/apps/github-actions",
          "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers",
          "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}",
          "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}",
          "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}",
          "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions",
          "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs",
          "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos",
          "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}",
          "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events",
          "type": "Bot",
          "site_admin": false
        },
        "content_type": "application/octet-stream",
        "state": "uploaded",
        "size": 89340,
        "download_count": 1,
        "created_at": "2021-07-08T13:22:54Z",
        "updated_at": "2021-07-08T13:22:54Z",
        "browser_download_url": "https://github.com/josephdadams/TallyArbiter/releases/download/v2.0.0/TallyArbiter-2.0.0.dmg.blockmap"
      },
      {
        "url": "https://api.github.com/repos/josephdadams/TallyArbiter/releases/assets/39937916",
        "id": 39937916,
        "node_id": "MDEyOlJlbGVhc2VBc3NldDM5OTM3OTE2",
        "name": "TallyArbiter-Setup-2.0.0.exe",
        "label": "",
        "uploader": {
          "login": "github-actions[bot]",
          "id": 41898282,
          "node_id": "MDM6Qm90NDE4OTgyODI=",
          "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4",
          "gravatar_id": "",
          "url": "https://api.github.com/users/github-actions%5Bbot%5D",
          "html_url": "https://github.com/apps/github-actions",
          "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers",
          "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}",
          "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}",
          "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}",
          "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions",
          "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs",
          "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos",
          "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}",
          "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events",
          "type": "Bot",
          "site_admin": false
        },
        "content_type": "application/octet-stream",
        "state": "uploaded",
        "size": 62063649,
        "download_count": 27,
        "created_at": "2021-07-08T13:21:49Z",
        "updated_at": "2021-07-08T13:21:52Z",
        "browser_download_url": "https://github.com/josephdadams/TallyArbiter/releases/download/v2.0.0/TallyArbiter-Setup-2.0.0.exe"
      },
      {
        "url": "https://api.github.com/repos/josephdadams/TallyArbiter/releases/assets/39937917",
        "id": 39937917,
        "node_id": "MDEyOlJlbGVhc2VBc3NldDM5OTM3OTE3",
        "name": "TallyArbiter-Setup-2.0.0.exe.blockmap",
        "label": "",
        "uploader": {
          "login": "github-actions[bot]",
          "id": 41898282,
          "node_id": "MDM6Qm90NDE4OTgyODI=",
          "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4",
          "gravatar_id": "",
          "url": "https://api.github.com/users/github-actions%5Bbot%5D",
          "html_url": "https://github.com/apps/github-actions",
          "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers",
          "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}",
          "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}",
          "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}",
          "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions",
          "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs",
          "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos",
          "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}",
          "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events",
          "type": "Bot",
          "site_admin": false
        },
        "content_type": "application/octet-stream",
        "state": "uploaded",
        "size": 66385,
        "download_count": 2,
        "created_at": "2021-07-08T13:21:49Z",
        "updated_at": "2021-07-08T13:21:49Z",
        "browser_download_url": "https://github.com/josephdadams/TallyArbiter/releases/download/v2.0.0/TallyArbiter-Setup-2.0.0.exe.blockmap"
      }
    ],
    "tarball_url": "https://api.github.com/repos/josephdadams/TallyArbiter/tarball/v2.0.0",
    "zipball_url": "https://api.github.com/repos/josephdadams/TallyArbiter/zipball/v2.0.0",
    "body": "Lots to look at here in this new release! Major hat tip to @hrueger for the Angular rewrite and beginnings of typescript conversion as well as setting up all of the Github actions to automate releases. Thanks!\r\n\r\nA few things to note since version 1.5:\r\n\r\n1-second updates function for TSL Clients (provides compatibility with certain tally products like Cuebi)\r\nRecording/Streaming statuses for OBS and VMix now available for tally states\r\nGeneric TCP Device Action improvements\r\nTSL 5.0 support\r\nNew Ross Carbonite source type to monitor any bus regardless of the \"on air\" settings\r\nWeb tally page can now be loaded directly by Device Id, and chat can be disabled\r\nPimoroni Blinkt! Listener Client\r\nTTGO_T Display Listener Client\r\nImproved Outgoing Webhooks - support for https and content-type selections\r\nRoland Smart Tally emulation for use with STAC\r\nPanasonic AV-HS10 support\r\nSupport for ATEM super sources in tally states\r\nBug fixes and performance imnprovements\r\nAs always, submit bug reports and feature requests, or better yet, submit a pull request that adds the feature you want!"
  },
  {
    "url": "https://api.github.com/repos/josephdadams/TallyArbiter/releases/45904829",
    "assets_url": "https://api.github.com/repos/josephdadams/TallyArbiter/releases/45904829/assets",
    "upload_url": "https://uploads.github.com/repos/josephdadams/TallyArbiter/releases/45904829/assets{?name,label}",
    "html_url": "https://github.com/josephdadams/TallyArbiter/releases/tag/v2.0",
    "id": 45904829,
    "author": {
      "login": "josephdadams",
      "id": 2559091,
      "node_id": "MDQ6VXNlcjI1NTkwOTE=",
      "avatar_url": "https://avatars.githubusercontent.com/u/2559091?v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/josephdadams",
      "html_url": "https://github.com/josephdadams",
      "followers_url": "https://api.github.com/users/josephdadams/followers",
      "following_url": "https://api.github.com/users/josephdadams/following{/other_user}",
      "gists_url": "https://api.github.com/users/josephdadams/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/josephdadams/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/josephdadams/subscriptions",
      "organizations_url": "https://api.github.com/users/josephdadams/orgs",
      "repos_url": "https://api.github.com/users/josephdadams/repos",
      "events_url": "https://api.github.com/users/josephdadams/events{/privacy}",
      "received_events_url": "https://api.github.com/users/josephdadams/received_events",
      "type": "User",
      "site_admin": false
    },
    "node_id": "MDc6UmVsZWFzZTQ1OTA0ODI5",
    "tag_name": "v2.0",
    "target_commitish": "master",
    "name": "Version 2.0",
    "draft": false,
    "prerelease": false,
    "created_at": "2021-07-08T13:01:42Z",
    "published_at": "2021-07-08T13:15:38Z",
    "assets": [

    ],
    "tarball_url": "https://api.github.com/repos/josephdadams/TallyArbiter/tarball/v2.0",
    "zipball_url": "https://api.github.com/repos/josephdadams/TallyArbiter/zipball/v2.0",
    "body": "Lots to look at here in this new release! Major hat tip to @hrueger for the Angular rewrite and beginnings of typescript conversion as well as setting up all of the Github actions to automate releases. Thanks!\r\n\r\nA few things to note since version 1.5:\r\n- 1-second updates function for TSL Clients (provides compatibility with certain tally products like Cuebi)\r\n- Recording/Streaming statuses for OBS and VMix now available for tally states\r\n- Generic TCP Device Action improvements\r\n- TSL 5.0 support\r\n- New Ross Carbonite source type to monitor any bus regardless of the \"on air\" settings\r\n- Web tally page can now be loaded directly by Device Id, and chat can be disabled\r\n- Pimoroni Blinkt! Listener Client\r\n- TTGO_T Display Listener Client\r\n- Improved Outgoing Webhooks - support for https and content-type selections\r\n- Roland Smart Tally emulation for use with STAC\r\n- Panasonic AV-HS10 support\r\n- Support for ATEM super sources in tally states\r\n- Bug fixes and performance imnprovements\r\n\r\nAs always, submit bug reports and feature requests, or better yet, submit a pull request that adds the feature you want!",
    "reactions": {
      "url": "https://api.github.com/repos/josephdadams/TallyArbiter/releases/45904829/reactions",
      "total_count": 5,
      "+1": 4,
      "-1": 0,
      "laugh": 0,
      "hooray": 1,
      "confused": 0,
      "heart": 0,
      "rocket": 0,
      "eyes": 0
    }
  }
]

Example Docker Hub API call ```json { "user": "josephdadams", "name": "tallyarbiter", "namespace": "josephdadams", "repository_type": null, "status": 0, "description": "The flexible and customizable community-developed camera tally solution", "is_private": false, "is_automated": false, "can_edit": false, "star_count": 0, "pull_count": 0, "last_updated": null, "is_migrated": false, "collaborator_count": 1, "affiliation": "collaborator", "hub_user": "josephdadams", "has_starred": false, "full_description": "", "permissions": { "read": true, "write": true, "admin": false } } ```
Example npm API call ```json { "analyzedAt": "2021-07-03T01:35:56.869Z", "collected": { "metadata": { "name": "tallyarbiter", "scope": "unscoped", "version": "2.0.0", "description": "The flexible and customizable tally system", "keywords": [ "util", "functional", "server", "client", "browser", "tsl", "tally", "carbonite", "graphite", "blackmagic", "atem", "ross", "obs", "vmix", "panasonic", "AV-HS410", "analogway", "blink1", "roland", "tricaster", "gpio" ], "date": "2021-07-03T00:43:27.708Z", "author": { "name": "Joseph Adams" }, "publisher": { "username": "josephdadams", "email": "josephdadams@gmail.com" }, "maintainers": [ { "username": "josephdadams", "email": "josephdadams@gmail.com" } ], "contributors": [ { "name": "Andreas H. Thomsen", "email": "mc-hauge@hotmail.com" }, { "name": "Hannes Rüger", "email": "hannesrueger@gmx.de" } ], "links": { "npm": "https://www.npmjs.com/package/tallyarbiter" }, "license": "MIT", "dependencies": { "atem-connection": "3.0.0-nightly-latest-20210530-132658-16c3cdd.0", "axios": "^0.21.1", "cli-color": "^2.0.0", "detect-rpi": "^1.4.0", "esm": "^3.2.25", "express": "^4.17.1", "jquery": "^3.6.0", "jspack": "^0.0.4", "obs-websocket-js": "^4.0.2", "osc": "^2.4.1", "packet": "0.0.7", "socket.io": "4.1.2", "socket.io-client": "4.1.2", "tsl-umd": "^1.1.2", "xml2js": "^0.4.23" }, "devDependencies": { "electron": "^12.0.9", "electron-builder": "^22.10.5" }, "releases": [ { "from": "2021-06-03T00:00:00.000Z", "to": "2021-07-03T00:00:00.000Z", "count": 0 }, { "from": "2021-04-04T00:00:00.000Z", "to": "2021-07-03T00:00:00.000Z", "count": 0 }, { "from": "2021-01-04T00:00:00.000Z", "to": "2021-07-03T00:00:00.000Z", "count": 0 }, { "from": "2020-07-03T00:00:00.000Z", "to": "2021-07-03T00:00:00.000Z", "count": 0 }, { "from": "2019-07-04T00:00:00.000Z", "to": "2021-07-03T00:00:00.000Z", "count": 0 } ], "hasSelectiveFiles": true, "readme": "# Tally Arbiter\n> A camera tally lights project capable of listening/fetching tally data from multiple sources or video switchers and arbitrating whether an end device is considered to be in Preview or Program. Supports many different switcher types and protocols as well as many types of tally output. \n\n## Installation\nInstallation instructions can be found [here](https://josephdadams.github.io/TallyArbiter/docs/installation/desktop-app).\n\n## Documentation\nAll documentation can be found [here](https://josephdadams.github.io/TallyArbiter/docs/intro).\n\n## Contributing\nContributions are always welcome. Here's a quick guide on how to setup your local development environment:\n1. Clone this repository (or your fork): `git clone https://github.com/josephdadams/TallyArbiter`\n1. Run `npm install` in the project's root folder\n1. Start the main server with `npm start`\n1. Make any code changes desired\n1. Submit your work as a pull request\n\n### UI\nThe UI lives in the `UI` folder and is written using Angular.\n\nIf you want to make changes to the UI, you need to do the following:\n1. Navigate to the `UI` directory with `cd UI`\n1. Install its dependencies with `npm install`\n1. Start the local UI development server by running `npm start`.\n1. Open a browser and navigate to `http://localhost:4200`. \n\nWhen you make changes to the source code, the page in your browser will automatically reload. \n\nThe socket.io / REST API requests the UI makes are automatically proxied to `http://localhost:4455`. That's the reason why the main server (see above) needs to be running.\n\nRunning `npm install` in the project's root folder (not in the UI directory) the UI is built automatically. As the UI's bundled dist files are excluded from the git repository in the `.gitignore` file, this is needed to ensure users which install TallyArbiter from source also have bundled UI dist. This dist is also served by the main server using `express.static()`.\n\n### Desktop App\nThe Desktop App is made with Electron. The main file is called [`main.js`](./main.js) (not to be confused with the [`index.js`](./index.js), which is the server's entrypoint.)\n\nThe Electron App can be started with `npm run desktop`. It will always show the generated UI dist, so in order to see changes made to the UI in the desktop app, you need to build the UI (see above).\n\nThe installer can be generated by running `npm run build-desktop`.\n\n## License\nTally Arbiter was written by Joseph Adams and is distributed under the MIT License.\n\nIt is not sold, authorized, or associated with any other company or product.\n\nTo contact the author or for more information, please visit [www.techministry.blog](http://www.techministry.blog)." }, "npm": { "downloads": [ { "from": "2021-07-02T00:00:00.000Z", "to": "2021-07-03T00:00:00.000Z", "count": 0 }, { "from": "2021-06-26T00:00:00.000Z", "to": "2021-07-03T00:00:00.000Z", "count": 0 }, { "from": "2021-06-03T00:00:00.000Z", "to": "2021-07-03T00:00:00.000Z", "count": 0 }, { "from": "2021-04-04T00:00:00.000Z", "to": "2021-07-03T00:00:00.000Z", "count": 0 }, { "from": "2021-01-04T00:00:00.000Z", "to": "2021-07-03T00:00:00.000Z", "count": 0 }, { "from": "2020-07-03T00:00:00.000Z", "to": "2021-07-03T00:00:00.000Z", "count": 0 } ], "dependentsCount": 0, "starsCount": 0 }, "source": { "files": { "readmeSize": 2695, "testsSize": 0 } } }, "evaluation": { "quality": { "carefulness": 0.7899999999999999, "tests": 0, "health": 1, "branding": 0 }, "popularity": { "communityInterest": 0, "downloadsCount": 0, "downloadsAcceleration": 0, "dependentsCount": 0 }, "maintenance": { "releasesFrequency": 0, "commitsFrequency": 0, "openIssues": 0, "issuesDistribution": 0 } }, "score": { "final": 0.15690354543927437, "detail": { "quality": 0.5230118181309146, "popularity": 0, "maintenance": 0 } } } ```
hrueger commented 3 years ago

We could get the total pull count of the docker image like so: https://stackoverflow.com/a/53180123/13485777

Then, we could build a GitHub Actiom which is run periodically maybe once a week (scheduled). It fetches all the data and modifies a md dokument of the docs.

MatteoGheza commented 3 years ago

I just updated my comment with example API calls for Github, Docker and npmjs

josephdadams commented 3 years ago

Love this idea. Let’s do it.