Öffentliches Register
Software-GesundheitsberichtSchema 0.26.0 · Metriken 1.13.0 · 2026-07-21 23:59 UTC

typhoeus / typhoeus

Typhoeus wraps libcurl in order to make fast and reliable requests.

RubyMIT★ 4.141 Sterne⑂ 441 Forksseit Feb. 2009Auf GitHub ansehen ↗

typhoeus/typhoeus erreicht einen Gesundheitsindex von 59 von 100 und liegt damit im Bereich Mittel. Am stärksten schneidet es bei Community & Adoption (86/100) ab, am schwächsten bei AI Readiness (30/100). Zuletzt vor 133 Tagen aktualisiert. 2 Mitwirkende tragen den Großteil der jüngsten Arbeit.

59
gesamt / 100
Mittel

Software-Gesundheitsindex

Metriken werden auf einer Skala von 1–100 in gewichtete Kategorien gruppiert. Der Gesamtwert beginnt als ihr Mittel; sobald öffentliche Evidenz die Richtlinie für Hochrisikojurisdiktionen auslöst, wird die Bewertung angepasst und erhält die Obergrenze 49 (Gefährdet). AI Readiness liegt außerhalb.

59
Exzellent85-100Vorbildlich; erfüllt im Wesentlichen alle geprüften Kriterien
Gut70-84Gesund; geringfügige Lücken
Mittel50-69Akzeptabel mit deutlichen Lücken; Überprüfung empfohlen
Gefährdet30-49Erhebliche Schwächen; eine Übernahme erfordert Vorsicht
Kritisch1-29Schwerwiegende Probleme (aufgegeben, nur ein Maintainer, keine Hygiene)
VitalitätCommunity &VerbreitungNachhaltigkeit &GovernanceEngineering-QualitätSicherheitAI Readiness

Bewertungsprofil

Jede Achse ist eine Kategorie. Die Form zählt mehr als der Durchschnitt — ein gesundes Projekt füllt die gesamte Fläche, während ein Profil aus Spitzen und Kratern bedeutet, dass Stärke in einer Dimension Risiken in einer anderen verdeckt.

Eigentümerschaft

TyphoeusOrganisation
6 Follower4 öffentliche Reposseit Mai 2012

Dieses Repository wird von einer Organisation getragen — geteilte, rechenschaftspflichtige Trägerschaft, die jeden einzelnen Maintainer überdauern kann.

Paket-Ökosysteme

RegistryPaketVersionDownloads / MonatVersionenZuletzt veröffentlicht
RubyGemstyphoeus1.6.0-77vor 133 Tagen

Metriken nach Kategorie

Vitalität

Lebt das Projekt — wird Code geschrieben und werden Releases ausgeliefert?

38Gefährdet · 22 % des Gesamtindex
Wie die Bewertung erfolgt
9.9/36Push-Aktualität — letzter Push vor 133 Tagen
4.2/36Commit-Rhythmus — 6/52 Wochen mit Commits
13.1/18Commit-Volumen — 28 Commits im letzten Jahr
0/10OpenSSF Scorecard: Maintained — 0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Verwendete Eingangsdaten
commits_last_year28
human_commit_share1
days_since_last_push133
active_weeks_last_year6
Wie die Bewertung erfolgt
16.2/27Liefert Releases aus — 42 Versions-Tags (keine GitHub-Releases)
27/36Release-Aktualität — letztes Release vor 133 Tagen
5.4/27Release-Rhythmus — ein Release etwa alle 400,4 Tage
0/10OpenSSF Scorecard: Signed-Releases — keine Daten
Verwendete Eingangsdaten
releases_count42
latest_release_tagv1.6.0
releases_from_tagsja
days_since_latest_release133
mean_days_between_releases400,4
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): OpenSSF Scorecard: Signed-Releases. Die verbleibenden Gewichte wurden renormalisiert.

Community & Verbreitung

Hat das Projekt Nutzer, Downloads, Aufmerksamkeit und ein einladendes Umfeld für Beitragende?

86Exzellent · 18 % des Gesamtindex
Wie die Bewertung erfolgt
58.7/60Stars — 4.141 Stars
22/25Forks — 441 Forks
9.4/15Watcher — 51 Watcher
Verwendete Eingangsdaten
forks441
stars4.141
watchers51
growth_stateorganic
growth_factor_pct100
Wie die Bewertung erfolgt
22.5/22.5README
22.5/22.5Lizenz — anerkannte Lizenz (MIT)
18/18CONTRIBUTING-Leitfaden
0/13.5Verhaltenskodex
0/7.2Issue-Vorlage
0/6.3PR-Vorlage
Verwendete Eingangsdaten
has_readmeja
has_licenseja
has_contributingja
has_issue_templatenein
has_code_of_conductnein
has_pull_request_templatenein
Wie die Bewertung erfolgt
80/80Downloads gesamt — 280.145.725 Downloads insgesamt über rubygems
0/20Abhängige in der Registry — von diesem Ökosystem nicht ausgewiesen
Verwendete Eingangsdaten
packagestyphoeus
dependents
ecosystemsrubygems
total_downloads280.145.725
monthly_downloads
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Abhängige in der Registry. Die verbleibenden Gewichte wurden renormalisiert.

Nachhaltigkeit & Governance

Überdauert das Projekt die Menschen, die es tragen — Bus-Faktor, Reaktionsfähigkeit, Trägerschaft und Paketpflege?

71Gut · 24 % des Gesamtindex
Wie die Bewertung erfolgt
25.2/54Bus-Faktor — 2 Beitragende decken die Hälfte aller Commits ab
12.1/22.5Commit-Verteilung — wichtigste beitragende Person verfasste 46 % der Commits
13.5/13.5Breite der Beitragenden — 100 Beitragende
10/10OpenSSF Scorecard: Contributors — project has 36 contributing companies or organizations
Verwendete Eingangsdaten
bus_factor2
contributors_sampled100
top_contributor_share0,463
Wie die Bewertung erfolgt
42.9/46.8Issue-Lösungsquote — 92 % der Issues geschlossen
29.8/38.3PR-Annahme — 200/257 entschiedene PRs gemergt
4.5/15OpenSSF Scorecard: Code-Review — Found 4/12 approved changesets -- score normalized to 3
Verwendete Eingangsdaten
merged_prs200
open_issues39
closed_issues435
issue_closed_ratio0,918
closed_unmerged_prs57
Wie die Bewertung erfolgt
30/30Organisatorische Trägerschaft — im Besitz einer Organisation
0/20Verifizierte Domain
6.1/25Reichweite des Inhabers — 6 Follower von typhoeus
17.1/25Kontohistorie — 4 öffentliche Repos, Kontoalter ca. 14 Jahre
Verwendete Eingangsdaten
followers6
owner_typeOrganization
is_verified
owner_logintyphoeus
public_repos4
account_age_days5.179

Paketpflege

100Exzellent
Wie die Bewertung erfolgt
25/25Veröffentlicht & auflösbar — 1 Paket(e) auf rubygems
35/35Veröffentlichungsaktualität — letzte Veröffentlichung vor 133 Tagen
20/20Versionshistorie — 77 veröffentlichte Versionen
20/20Nicht veraltet — aktiv, nicht veraltet oder zurückgezogen
Verwendete Eingangsdaten
packagestyphoeus
ecosystemsrubygems
any_deprecatednein
min_days_since_publish133

Engineering-Qualität

Sind grundlegende Engineering- und Dokumentationspraktiken vorhanden?

60Mittel · 20 % des Gesamtindex
Wie die Bewertung erfolgt
24/24CI-Workflows — 2 Workflow(s)
24/24Tests vorhanden
0/16Linter-Konfiguration
0/9.6Pre-Commit-Hooks
0/6.4.editorconfig
16/20OpenSSF Scorecard: CI-Tests — 8 out of 10 merged PRs checked by a CI test -- score normalized to 8
Verwendete Eingangsdaten
has_cija
has_testsja
has_editorconfignein
has_linter_confignein
has_precommit_confignein
Wie die Bewertung erfolgt
30/30README
0/25Dokumentationsverzeichnis
15/15Dokumentations-/Homepage-Site — http://rubydoc.info/github/typhoeus/typhoeus
10/10Repository-Beschreibung
0/10Topics
0/10Wiki
Verwendete Eingangsdaten
topics
has_wikinein
homepagehttp://rubydoc.info/github/typhoeus/typhoeus
has_readmeja
has_docs_dirnein
has_descriptionja

Sicherheit

Sind die sichtbaren Sicherheits- und Lieferkettenpraktiken belastbar, ohne ungeklärte Exposition gegenüber Hochrisikojurisdiktionen?

37Gefährdet · 16 % des Gesamtindex

Sicherheitslage

37Gefährdet
Wie die Bewertung erfolgt
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
2/2.5CI-Tests — 8 out of 10 merged PRs checked by a CI test -- score normalized to 8
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
2.2/7.5Code-Review — Found 4/12 approved changesets -- score normalized to 3
2.5/2.5Contributors — project has 36 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Lizenz — license file detected
0/7.5Maintained — 0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
0/5Packaging — keine Daten
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — keine Daten
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Verwendete Eingangsdaten
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate3,7
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): packaging, signed_releases. Die verbleibenden Gewichte wurden renormalisiert.

AI Readiness

Wie gut ist das Repository dafür ausgestattet, mit KI-Coding-Agenten entwickelt und gepflegt zu werden? Ein unabhängiges, experimentelles Badge — Gewicht 0,0, es wird eigenständig ausgewiesen und verändert den Gesamt-Gesundheitswert nicht.

30Gefährdet · 0 % des Gesamtindex
Wie die Bewertung erfolgt
0/45Agentenanweisungen — keine CLAUDE.md / AGENTS.md / Editor-Regeln
0/15Maschinenlesbare Doku (llms.txt)
28.3/40Lesbare Commit-Historie — 53 von 100 menschlichen Commits benennen ihre Absicht (strukturierter Betreff oder erläuternder Text)
Verwendete Eingangsdaten
has_llms_txtnein
legible_history_share0,53
agent_instruction_files
agent_instruction_max_bytes
Wie die Bewertung erfolgt
0/18Bootstrap mit einem Befehl
22/22Automatisierte Tests
0/11Lint-/Format-Konfiguration
0/11Statische Typprüfung
0/10Reproduzierbare Umgebung
0/10Belegte Agentenpraxis — keine von Agenten verfassten Commits unter den letzten 100
0/8Automatisierte Wartung — keine automatisierten Abhängigkeits-Updates beobachtet
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Verwendete Eingangsdaten
has_nixnein
has_testsja
lockfiles
has_dockerfilenein
typed_languagenein
bootstrap_files
has_devcontainernein
has_linter_confignein
typecheck_configs
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0
Wie die Bewertung erfolgt
0/45Typprüfbarer Code — Ruby ohne Typprüfungs-Konfiguration
55/55Handhabbare Dateigrößen — 0/84 Quelldateien über 60 KB
Verwendete Eingangsdaten
primary_languageRuby
largest_source_bytes9.470
source_files_sampled84
oversized_source_files0

Eckdaten

4.141GitHub-Sterne
100Mitwirkende
28Commits, letzte 12 Monate
133Tage seit letztem Push
42Releases
2Bus-Faktor
39offene Issues
RubyGemsPaket-Ökosysteme

Warnungen zur Datenerhebung

  • No resolved dependencies carried a version and a supported ecosystem

Weitere Details

Stern- und Fork-Verlauf 4.141 ★ / 441 ⇿
4.141Sterne
441Forks
42Releases

Wann jeder Stern und Fork hinzugefügt wurde, von GitHub erfasst und nach Tagen gruppiert. Das kumulierte Wachstum steht direkt über den täglichen Zugängen, aus denen es besteht, sodass beide gegeneinander lesbar sind: stetiger organischer Zuwachs sieht ganz anders aus als ein abrupter, kurzlebiger Ausschlag. Wo dieser Unterschied messbar ist, wird er als Wachstumsauthentizität ausgewiesen.

Es wird nur die jüngste Historie angezeigt — dieses Repository überschreitet das Erfassungsfenster, sodass die früheste Historie nicht erfasst wird.

01.0002.0003.0004.0005.0004.141422312009-032017-112026-07
Major 1Minor 11Patch 30

Jeder Punkt umfasst 16 Tage.

OpenSSF Scorecard 3.7 / 10
3.7Gesamtwert

Unabhängige, werkzeugneutrale Sicherheitsbewertung durch das quelloffene OpenSSF Scorecard. Jede Prüfung honoriert eine Sicherheits-Praxis, nicht das Werkzeug eines bestimmten Anbieters. Prüfungen, die Scorecard nicht ermitteln konnte, sind mit k. A. markiert und vom Sicherheitswert ausgeschlossen (nie als null gezählt).Scorecard v5.5.0 · 2026-07-21 23:59 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
8CI-Tests8 out of 10 merged PRs checked by a CI test -- score normalized to 8
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
3Code-ReviewFound 4/12 approved changesets -- score normalized to 3
10Contributorsproject has 36 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
0Maintained0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
k. A.Packagingpackaging workflow not detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
k. A.Signed-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
10Vulnerabilities0 existing vulnerabilities detected
Direkte Abhängigkeiten 4
RegistryPaketVersionsvorgabeManifest
RubyGemsjsonGemfile
RubyGemsrakeGemfile
RubyGemsguard-rspec~> 0.7Gemfile
RubyGemsrb-fsevent~> 0.9.1Gemfile
Alle Abhängigkeiten 14

Vollständig aufgelöster Abhängigkeitssatz aus dem GitHub-Abhängigkeitsgraphen: 4 direkte und 10 indirekte (transitive) Pakete. Die transitive Hülle ist vollständig, wenn das Repository eine Lockfile eincheckt.

RegistryPaketVersionBeziehung
RubyGemsguard-rspecdirekt
RubyGemsjsondirekt
RubyGemsrakedirekt
RubyGemsrb-fseventdirekt
RubyGemsdalliindirekt
RubyGemsethonindirekt
RubyGemsfaradayindirekt
RubyGemsloggerindirekt
RubyGemsostructindirekt
RubyGemsredisindirekt
RubyGemsrspecindirekt
RubyGemssinatraindirekt
RubyGemsspoonindirekt
RubyGemswebrickindirekt
Abhängigkeits-Advisories nicht bewertet

Der Advisory-Abgleich konnte für diesen Bericht nicht ausgeführt werden: No resolved dependencies carried a version and a supported ecosystem

JSON-Rohbericht maschinenlesbar
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 1547,
      "has_wiki": false,
      "homepage": "http://rubydoc.info/github/typhoeus/typhoeus",
      "languages": {
        "Ruby": 189414
      },
      "pushed_at": "2026-03-10T14:37:41Z",
      "created_at": "2009-02-18T23:14:50Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-21T17:05:29Z",
      "description": " Typhoeus wraps libcurl in order to make fast and reliable requests.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "master",
      "license_spdx_raw": "MIT",
      "primary_language": "Ruby",
      "significant_languages": [
        "Ruby"
      ]
    },
    "owner": {
      "blog": null,
      "name": "Typhoeus",
      "type": "Organization",
      "login": "typhoeus",
      "company": null,
      "location": "Berlin",
      "followers": 6,
      "avatar_url": "https://avatars.githubusercontent.com/u/1745513?v=4",
      "created_at": "2012-05-16T12:09:26Z",
      "is_verified": null,
      "public_repos": 4,
      "account_age_days": 5179
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v1.6.0",
          "kind": "minor",
          "published_at": "2026-03-10T12:55:07Z"
        },
        {
          "tag": "v1.5.0",
          "kind": "minor",
          "published_at": "2025-08-26T16:46:48Z"
        },
        {
          "tag": "v1.4.1",
          "kind": "patch",
          "published_at": "2023-11-17T09:01:02Z"
        },
        {
          "tag": "v1.4.0",
          "kind": "minor",
          "published_at": "2020-01-15T16:24:17Z"
        },
        {
          "tag": "v1.3.1",
          "kind": "patch",
          "published_at": "2018-11-06T08:58:34Z"
        },
        {
          "tag": "v1.3.0",
          "kind": "minor",
          "published_at": "2017-08-21T09:47:17Z"
        },
        {
          "tag": "v1.1.2",
          "kind": "patch",
          "published_at": "2016-12-02T18:00:01Z"
        },
        {
          "tag": "v1.1.1",
          "kind": "patch",
          "published_at": "2016-12-02T12:50:42Z"
        },
        {
          "tag": "v1.1.0",
          "kind": "minor",
          "published_at": "2016-07-21T09:51:50Z"
        },
        {
          "tag": "v1.0.2",
          "kind": "patch",
          "published_at": "2016-04-28T07:35:18Z"
        },
        {
          "tag": "v1.0.1",
          "kind": "patch",
          "published_at": "2016-01-11T06:06:42Z"
        },
        {
          "tag": "v1.0.0",
          "kind": "major",
          "published_at": "2016-01-10T17:34:33Z"
        },
        {
          "tag": "v0.8.0",
          "kind": "minor",
          "published_at": "2015-09-17T18:23:22Z"
        },
        {
          "tag": "v0.7.3",
          "kind": "patch",
          "published_at": "2015-08-08T06:52:30Z"
        },
        {
          "tag": "v0.7.2",
          "kind": "patch",
          "published_at": "2015-06-19T18:39:17Z"
        },
        {
          "tag": "v0.7.1",
          "kind": "patch",
          "published_at": "2015-01-29T21:25:16Z"
        },
        {
          "tag": "v0.7.0",
          "kind": "minor",
          "published_at": "2015-01-08T08:02:01Z"
        },
        {
          "tag": "v0.6.9",
          "kind": "patch",
          "published_at": "2014-07-01T08:20:06Z"
        },
        {
          "tag": "v0.6.8",
          "kind": "patch",
          "published_at": "2014-03-19T23:01:52Z"
        },
        {
          "tag": "v0.6.7",
          "kind": "patch",
          "published_at": "2013-12-19T15:51:05Z"
        },
        {
          "tag": "v0.6.6",
          "kind": "patch",
          "published_at": "2013-10-31T08:26:30Z"
        },
        {
          "tag": "v0.6.5",
          "kind": "patch",
          "published_at": "2013-08-22T21:43:24Z"
        },
        {
          "tag": "v0.6.4",
          "kind": "patch",
          "published_at": "2013-08-11T22:27:38Z"
        },
        {
          "tag": "v0.6.3",
          "kind": "patch",
          "published_at": "2013-04-09T21:07:58Z"
        },
        {
          "tag": "v0.6.2",
          "kind": "patch",
          "published_at": "2013-03-03T22:21:30Z"
        },
        {
          "tag": "v0.6.1",
          "kind": "patch",
          "published_at": "2013-02-11T22:41:52Z"
        },
        {
          "tag": "v0.6.0",
          "kind": "minor",
          "published_at": "2013-02-11T21:57:19Z"
        },
        {
          "tag": "v0.5.4",
          "kind": "patch",
          "published_at": "2013-01-11T23:07:44Z"
        },
        {
          "tag": "v0.5.3",
          "kind": "patch",
          "published_at": "2012-11-21T09:39:43Z"
        },
        {
          "tag": "v0.5.2",
          "kind": "patch",
          "published_at": "2012-11-20T15:10:23Z"
        },
        {
          "tag": "v0.5.1",
          "kind": "patch",
          "published_at": "2012-11-09T20:00:15Z"
        },
        {
          "tag": "v0.5.0",
          "kind": "minor",
          "published_at": "2012-10-30T14:55:29Z"
        },
        {
          "tag": "v0.4.2",
          "kind": "patch",
          "published_at": "2012-06-11T09:09:59Z"
        },
        {
          "tag": "v0.4.1",
          "kind": "patch",
          "published_at": "2012-06-09T22:05:15Z"
        },
        {
          "tag": "v0.4.0",
          "kind": "minor",
          "published_at": "2012-06-08T11:57:00Z"
        },
        {
          "tag": "v0.3.3",
          "kind": "patch",
          "published_at": "2011-11-17T23:53:51Z"
        },
        {
          "tag": "v0.3.2",
          "kind": "patch",
          "published_at": "2011-10-18T16:30:13Z"
        },
        {
          "tag": "v0.3.1",
          "kind": "patch",
          "published_at": "2011-10-18T16:23:19Z"
        },
        {
          "tag": "v0.3.0",
          "kind": "minor",
          "published_at": "2011-10-18T16:21:23Z"
        },
        {
          "tag": "v0.1.28",
          "kind": "patch",
          "published_at": "2010-06-29T23:13:54Z"
        },
        {
          "tag": "v0.1.26",
          "kind": "patch",
          "published_at": "2010-05-15T18:12:54Z"
        },
        {
          "tag": "v0.1.25",
          "kind": "patch",
          "published_at": "2010-05-13T07:35:17Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "e4f62786fbd6d7ea4dcb9510488ea9320e86478c",
          "body": "Enable Frozen String Literals",
          "is_bot": false,
          "headline": "Merge pull request #738 from tagliala/feature/fsl",
          "author_name": "Felipe Mesquita",
          "author_login": "felipedmesquita",
          "committed_at": "2026-03-10T14:37:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "af1dba8e6d37968edbcdb6c355eef3ace1d5e785",
          "body": "```\nrubocop --only Style/Encoding,Style/FrozenStringLiteralComment,Layout/EmptyLineAfterMagicComment,Style/RedundantFreeze -A\n```\n\n`--enable=frozen-string-literal` and `--debug=frozen-string-literal` are\nMRI-specific flags. TruffleRuby (and other non-MRI engines) do not\nsupport them and error out with \"Invalid argument\". Use `RUBY_ENGINE` at\nruntime to guard the export so the flags are only set when running\nunder MRI.\n\nRef: https://gist.github.com/fxn/bf4eed2505c76f4fca03ab48c43adc72",
          "is_bot": false,
          "headline": "Enable Frozen String Literals",
          "author_name": "Geremia Taglialatela",
          "author_login": "tagliala",
          "committed_at": "2026-03-10T13:11:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d7aba1bbfa8d965c1efd0c71866b7b5e16749b3f",
          "body": null,
          "is_bot": false,
          "headline": "Update changelog to include tagliala's ci update",
          "author_name": "Felipe Mesquita",
          "author_login": "felipedmesquita",
          "committed_at": "2026-03-10T12:55:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "31798caa79843fac1a213bd2a0d335eb7ba33142",
          "body": "Test against Ruby 4.0",
          "is_bot": false,
          "headline": "Merge pull request #744 from tagliala/chore/ci-ruby4",
          "author_name": "Felipe Mesquita",
          "author_login": "felipedmesquita",
          "committed_at": "2026-03-10T12:52:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "10c353078bff8d3c327016e931eb892c9c93fe5a",
          "body": "Minor version bump to be extra careful about the ethon dep change.",
          "is_bot": false,
          "headline": "Prepare for 1.6.0 release",
          "author_name": "Felipe Mesquita",
          "author_login": "felipedmesquita",
          "committed_at": "2026-03-10T12:37:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7d2e7ee6cc7181ee42a15097b6488732936c950b",
          "body": "Require Ethon >= 0.18.0",
          "is_bot": false,
          "headline": "Merge pull request #742 from tagliala/feature/739-ethon-0180",
          "author_name": "Felipe Mesquita",
          "author_login": "felipedmesquita",
          "committed_at": "2026-03-10T12:28:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0e05c4a8f78ea4a44176ef3569c01ed204fc8c71",
          "body": "Additionally, update checkout action",
          "is_bot": false,
          "headline": "Test against Ruby 4.0",
          "author_name": "Geremia Taglialatela",
          "author_login": "tagliala",
          "committed_at": "2026-02-18T22:23:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fd55b543a7aaaeb054fd99d54f395dcd160cb5ef",
          "body": "Close #739",
          "is_bot": false,
          "headline": "Require Ethon >= 0.18.0",
          "author_name": "Geremia Taglialatela",
          "author_login": "tagliala",
          "committed_at": "2025-11-03T10:42:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2c834013e6fbfb757f76e8f8ba9466c2b3108fae",
          "body": "Update RubyDoc link",
          "is_bot": false,
          "headline": "Merge pull request #737 from typhoeus/Update-RubyDoc-link",
          "author_name": "Felipe Mesquita",
          "author_login": "felipedmesquita",
          "committed_at": "2025-08-26T19:21:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "65b7fddcc24d5ec7364900ccd91233a74b1b4e80",
          "body": null,
          "is_bot": false,
          "headline": "Update RubyDoc link",
          "author_name": "Felipe Mesquita",
          "author_login": "felipedmesquita",
          "committed_at": "2025-08-26T19:18:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "02d85899db7089bf2678a98b0cf14068c67ab5eb",
          "body": "Update badge and remove code climate",
          "is_bot": false,
          "headline": "Merge pull request #736 from typhoeus/Update-gem-version-badge",
          "author_name": "Felipe Mesquita",
          "author_login": "felipedmesquita",
          "committed_at": "2025-08-26T17:07:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "863a6d24454185342b757a5e1a65109ed8392c4e",
          "body": null,
          "is_bot": false,
          "headline": "Update badge and remove code climate",
          "author_name": "Felipe Mesquita",
          "author_login": "felipedmesquita",
          "committed_at": "2025-08-26T17:06:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a529f7eb4b11af88963922b16a0038a049986b4c",
          "body": "Prepare for v1.5.0 release and add retroactive changelog entry for v1.4.1",
          "is_bot": false,
          "headline": "Merge pull request #735 from typhoeus/prepare-for-v1.5.0-release",
          "author_name": "Felipe Mesquita",
          "author_login": "felipedmesquita",
          "committed_at": "2025-08-26T16:46:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1e2dd5449519b7e5095cf6384356d52ae878d860",
          "body": null,
          "is_bot": false,
          "headline": "update changelog",
          "author_name": "Felipe Mesquita",
          "author_login": null,
          "committed_at": "2025-08-26T16:29:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "db9cddbe73d46aee80744610c02538256056dec2",
          "body": null,
          "is_bot": false,
          "headline": "bump version",
          "author_name": "Felipe Mesquita",
          "author_login": null,
          "committed_at": "2025-08-26T16:29:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4d18f16a484b5a904fc4bdeb7c6f247324ba17b3",
          "body": "Update gemspec",
          "is_bot": false,
          "headline": "Merge pull request #734 from felipedmesquita/update-gemspec",
          "author_name": "Felipe Mesquita",
          "author_login": "felipedmesquita",
          "committed_at": "2025-08-26T16:11:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "51bbd3d2c307a1ad6ddb3cdd65c8ff4f542ee538",
          "body": null,
          "is_bot": false,
          "headline": "add gem metadata",
          "author_name": "Felipe Mesquita",
          "author_login": null,
          "committed_at": "2025-08-26T16:07:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "225da041c8228366c52565460a3803c46aa58997",
          "body": null,
          "is_bot": false,
          "headline": "remove extra files from the bundled gem",
          "author_name": "Felipe Mesquita",
          "author_login": null,
          "committed_at": "2025-08-26T15:55:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa76dc537c77d0c1ac209aa6c5f0ddb0be7d2185",
          "body": "Require ruby 2.6+",
          "is_bot": false,
          "headline": "Merge pull request #733 from felipedmesquita/require-ruby-26",
          "author_name": "Felipe Mesquita",
          "author_login": "felipedmesquita",
          "committed_at": "2025-08-26T15:38:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3891e62b5323cfb9d3b88e2eaa16bd370c640aa0",
          "body": null,
          "is_bot": false,
          "headline": "simplify gemfile for ruby 2.6+ requirement",
          "author_name": "Felipe Mesquita",
          "author_login": null,
          "committed_at": "2025-08-26T15:28:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a4a90582178b316167014e2dcb31c0566d363586",
          "body": null,
          "is_bot": false,
          "headline": "require ruby 2.6",
          "author_name": "Felipe Mesquita",
          "author_login": null,
          "committed_at": "2025-08-26T15:28:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "05ab7894d2082ded0e06fd2043f9d8e85c977695",
          "body": "fix #662: handle URI object in Expectation::url_match?",
          "is_bot": false,
          "headline": "Merge pull request #732 from slowbro/issue-662",
          "author_name": "Felipe Mesquita",
          "author_login": "felipedmesquita",
          "committed_at": "2025-08-20T21:46:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "65714a4f8bccf92fdea62e6a5c352f59b3f6ff8b",
          "body": null,
          "is_bot": false,
          "headline": "changelog entry",
          "author_name": "Felipe Mesquita",
          "author_login": null,
          "committed_at": "2025-08-20T20:30:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5a43dfb9430945076934864d9931e2ec2c81f513",
          "body": null,
          "is_bot": false,
          "headline": "add a test to typhoeus spec demonstrating the use case for this",
          "author_name": "Felipe Mesquita",
          "author_login": null,
          "committed_at": "2025-08-20T20:22:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "daf2ab014e84d3e5d8f686cececc4ed92165073e",
          "body": "… and vice versa",
          "is_bot": false,
          "headline": "handle when the stub is denfined with a string and requested with uri…",
          "author_name": "Felipe Mesquita",
          "author_login": null,
          "committed_at": "2025-08-20T20:21:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5d9e1cc9b286081cfe1eb35b7461619d7963b83c",
          "body": null,
          "is_bot": false,
          "headline": "no need to test nil request_url",
          "author_name": "Felipe Mesquita",
          "author_login": null,
          "committed_at": "2025-08-20T20:20:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a0dc59f94166b20c1735ad813be12d0ccb0437e6",
          "body": null,
          "is_bot": false,
          "headline": "add spec tests for URI base_url",
          "author_name": "Katelyn Schiesser",
          "author_login": null,
          "committed_at": "2025-08-18T21:12:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f54cc0ee33587adcf4c30320e49dc55257a23f6a",
          "body": null,
          "is_bot": false,
          "headline": "fix #662: handle URI object in Expectation::url_match?",
          "author_name": "Katelyn Schiesser",
          "author_login": null,
          "committed_at": "2025-08-18T20:53:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3a60a039cd305d4584a0cb30b90cc06fc1a482fc",
          "body": "…ct-explicitly-in-the-Gemfile\n\nlogger and ostruct are no longer part of the standard library from ruby 3.5.0 onward",
          "is_bot": false,
          "headline": "Merge pull request #729 from felipedmesquita/require-logger-and-ostru…",
          "author_name": "Felipe Mesquita",
          "author_login": "felipedmesquita",
          "committed_at": "2025-03-12T17:13:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4e92939b63ed57ae6b557893c5e8422a0e9e1227",
          "body": "Since I'm already modifying the Gemfile, made double quotes consistent for all gems.",
          "is_bot": false,
          "headline": "logger and ostruct are no longer part of the standard library",
          "author_name": "Felipe Mesquita",
          "author_login": "felipedmesquita",
          "committed_at": "2025-03-12T16:44:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c072e253ea5cfb6c272551143bb4c3811bb174f7",
          "body": "TEST: support curl 8.9 error message",
          "is_bot": false,
          "headline": "Merge pull request #724 from mtasaka/test-fix-with-curl-8_9",
          "author_name": "Felipe Mesquita",
          "author_login": "felipedmesquita",
          "committed_at": "2025-03-12T16:06:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "41fdede9cbfd6686a6fc50f753b12c9dbedb7b22",
          "body": "Fix typo in comment",
          "is_bot": false,
          "headline": "Merge pull request #700 from georgebrock/patch-1",
          "author_name": "Felipe Mesquita",
          "author_login": "felipedmesquita",
          "committed_at": "2025-03-12T15:30:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f86d9cc6abf61f1221f128cc3f48aa6ca82f2049",
          "body": "CI against Ruby 3.4",
          "is_bot": false,
          "headline": "Merge pull request #728 from y-yagi/ci_against_ruby34",
          "author_name": "Hans Hasselberg",
          "author_login": "hanshasselberg",
          "committed_at": "2025-03-12T10:32:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0f05b5d092901c27d0fb6c0448d349e14c64b9bb",
          "body": null,
          "is_bot": false,
          "headline": "CI against Ruby 3.4",
          "author_name": "Yuji Yaginuma",
          "author_login": "y-yagi",
          "committed_at": "2025-03-12T09:00:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2671f5e8da83539e3a1c11cd506a27b78c4d74b7",
          "body": "CI against latest Rubies",
          "is_bot": false,
          "headline": "Merge pull request #716 from y-yagi/ci-against-ruby32",
          "author_name": "Hans Hasselberg",
          "author_login": "hanshasselberg",
          "committed_at": "2025-03-12T07:47:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a29ff8a77bafeb35d95ebddeb959c4129a783d06",
          "body": "With\nhttps://github.com/curl/curl/commit/c074ba64a86c36bbb697b89e1b3509fd14d12af3\ncurl changes the error message with CURLE_COULDNT_CONNECT and\nso on. Modify typheous side test code to support this curl\nchange.\n\nCloses #723 .",
          "is_bot": false,
          "headline": "TEST: support curl 8.9 error message",
          "author_name": "Mamoru TASAKA",
          "author_login": "mtasaka",
          "committed_at": "2024-08-02T02:46:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f992f668e878ea31d80750b8ee129cfec9910453",
          "body": "ruby-build doesn't provide v2.5(2.5.9) on macos 13.\nhttps://github.com/y-yagi/typhoeus/actions/runs/9183698809/job/25254830322?pr=1#step:4:16\n\nI think v2.5 is too old to keep support.",
          "is_bot": false,
          "headline": "Drop Ruby 2.5 from test matrix",
          "author_name": "Yuji Yaginuma",
          "author_login": "y-yagi",
          "committed_at": "2024-05-22T01:14:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "72794c5f74a990ab323f8532b4a922eef08572a5",
          "body": null,
          "is_bot": false,
          "headline": "CI against Ruby 3.3",
          "author_name": "Yuji Yaginuma",
          "author_login": "y-yagi",
          "committed_at": "2024-05-22T01:04:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3cba218b35f13d28f77f7c2c08e869433e7cadd4",
          "body": "Ref: #710",
          "is_bot": false,
          "headline": "Lock `ethon` `< 0.16.0`",
          "author_name": "Yuji Yaginuma",
          "author_login": "y-yagi",
          "committed_at": "2023-06-15T05:56:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8758787cc267dbbc4ee300ffd481245c24370e68",
          "body": null,
          "is_bot": false,
          "headline": "CI against Ruby 3.2",
          "author_name": "Yuji Yaginuma",
          "author_login": "y-yagi",
          "committed_at": "2023-06-15T01:28:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "82870aad1f08d42f4e4b17da1adba095435c909c",
          "body": "reponse => response",
          "is_bot": false,
          "headline": "Fix typo in comment",
          "author_name": "George Brocklehurst",
          "author_login": "georgebrock",
          "committed_at": "2022-08-01T10:55:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f5c5751df49089da89fc2683a23df04850a45604",
          "body": "Fix to run CI with Ruby 3.0",
          "is_bot": false,
          "headline": "Merge pull request #699 from mishina2228/improve-gh-actions",
          "author_name": "Holger Arndt",
          "author_login": "Kjarrigan",
          "committed_at": "2022-08-01T07:26:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ec0e633f448cdae0f46cb02318578ac8031595a9",
          "body": "Replace CI status badge from Travis to GH Actions",
          "is_bot": false,
          "headline": "Merge pull request #698 from mishina2228/replace-badge",
          "author_name": "Holger Arndt",
          "author_login": "Kjarrigan",
          "committed_at": "2022-08-01T07:25:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3f0e4b4b58a14f724d81fa0b58b4a0d90c1ee469",
          "body": "Bump actions/checkout from v2 to v3 also",
          "is_bot": false,
          "headline": "Fix to run CI with Ruby 3.0",
          "author_name": "mishina",
          "author_login": "mishina2228",
          "committed_at": "2022-07-21T14:26:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "43de5cb02a4204a52573efafbb7a0978369d51fc",
          "body": null,
          "is_bot": false,
          "headline": "Replace CI status badge from Travis to GH Actions",
          "author_name": "mishina",
          "author_login": "mishina2228",
          "committed_at": "2022-07-21T13:49:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "13d9c9c6f27696d287b694f59a6416fbaa4f00a2",
          "body": "Added getter for `redirect_url` attribute",
          "is_bot": false,
          "headline": "Merge pull request #697 from jarthod/redirect_url",
          "author_name": "Holger Arndt",
          "author_login": "Kjarrigan",
          "committed_at": "2022-05-25T10:59:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0188972815a90ad34f980f16029adadf76818a90",
          "body": null,
          "is_bot": false,
          "headline": "Add redirect_url attribute",
          "author_name": "Adrien Rey-Jarthon",
          "author_login": "jarthod",
          "committed_at": "2022-05-25T08:55:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "224caacc87863a09d1ec5095c115eca078960d73",
          "body": "Closes #693 Allow performing `curl --upload-file`",
          "is_bot": false,
          "headline": "Merge pull request #695 from arianf/bring-upload-support",
          "author_name": "Holger Arndt",
          "author_login": "Kjarrigan",
          "committed_at": "2022-05-13T13:41:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bcedf25c8aa1a6e6b3e1b8c263f70e412dcf8fd5",
          "body": null,
          "is_bot": false,
          "headline": "Fixes #693 Allow performing `curl --upload-file`",
          "author_name": "Arian Faurtosh",
          "author_login": "arianf",
          "committed_at": "2022-05-12T20:16:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f106f15c108154149bdab71a6ebed16dc6969ab6",
          "body": "CI: Adjust ruby versions and MacOS runs",
          "is_bot": false,
          "headline": "Merge pull request #696 from typhoeus/ci-adjustments",
          "author_name": "Holger Arndt",
          "author_login": "Kjarrigan",
          "committed_at": "2022-05-10T08:01:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8eac36b2e04b42275fde2f1530b0fe03ffafae65",
          "body": null,
          "is_bot": false,
          "headline": "CI: Adjust ruby versions and MacOS runs",
          "author_name": "Holger Arndt",
          "author_login": "Kjarrigan",
          "committed_at": "2022-05-10T07:54:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "71f9fcb0789ba2582ac10e714e6755dd4036a97a",
          "body": "CI: Travis -> GitHub Actions",
          "is_bot": false,
          "headline": "Merge pull request #689 from jmortlock/ghactions",
          "author_name": "Holger Arndt",
          "author_login": "Kjarrigan",
          "committed_at": "2022-04-20T07:53:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c51bb9b3cd587af713c181b9e8a2bcaa97205826",
          "body": "Use bundle add instead",
          "is_bot": false,
          "headline": "Merge pull request #691 from glaucocustodio/patch-1",
          "author_name": "Holger Arndt",
          "author_login": "Kjarrigan",
          "committed_at": "2022-04-20T07:53:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a1878bed19e1b0d22a9a0c447d41d4002c54cb24",
          "body": "Add getter for size_upload, size_download, speed_upload, speed_download values",
          "is_bot": false,
          "headline": "Merge pull request #692 from ryonkn/add_getter_to_informations",
          "author_name": "Holger Arndt",
          "author_login": "Kjarrigan",
          "committed_at": "2022-04-20T07:52:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c5353ecc8f7eb28b013b603e1edb8ee478480988",
          "body": "…ad values",
          "is_bot": false,
          "headline": "Add getter for size_upload, size_download, speed_upload, speed_downlo…",
          "author_name": "Ryo Nakano",
          "author_login": "ryonkn",
          "committed_at": "2022-04-14T13:52:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2a87377c701dff05d4d9954d8822858cbd142e3d",
          "body": "As per https://github.com/rubygems/rubygems/pull/5337, we can simplify the steps of adding a gem.",
          "is_bot": false,
          "headline": "Use bundle add instead",
          "author_name": "Glauco Custódio",
          "author_login": "glaucocustodio",
          "committed_at": "2022-03-21T12:07:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4d075d9e0d1cdccfc8bb581a8454ba5647a73f87",
          "body": null,
          "is_bot": false,
          "headline": "Remove travis.yml configuration",
          "author_name": "john.mortlock",
          "author_login": "jmortlock",
          "committed_at": "2022-01-11T06:54:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4df90dea5413824295f700ef630f7172e5d4db55",
          "body": null,
          "is_bot": false,
          "headline": "Use github actions for CI build",
          "author_name": "john.mortlock",
          "author_login": "jmortlock",
          "committed_at": "2022-01-11T06:53:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4a664e295b65ccb12fba0174b00e10065dfc1524",
          "body": "Add global timeout and connecttimeout to config",
          "is_bot": false,
          "headline": "Merge pull request #685 from klaxit/add-global-timeout",
          "author_name": "Holger Arndt",
          "author_login": "Kjarrigan",
          "committed_at": "2021-11-05T12:28:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ac5981f7c5602493afb631b9446b2025a6ea93eb",
          "body": "Co-authored-by: mkaplan9 <mkaplan9@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add global timeout and connecttimeout to config",
          "author_name": "teckwan",
          "author_login": "teckwan",
          "committed_at": "2021-10-29T14:05:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d12276f2c7b228fdf090010b70b9b28463ab72af",
          "body": "Update README.md",
          "is_bot": false,
          "headline": "Merge pull request #677 from hussainakram/patch-1",
          "author_name": "Holger Arndt",
          "author_login": "Kjarrigan",
          "committed_at": "2021-06-29T11:14:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e2b9f17d34a40372f853c8d040d792d8fcf28ea1",
          "body": "require relevant caching file before using to avoid \"uninitialized constant Typhoeus::Cache\"",
          "is_bot": false,
          "headline": "Update README.md",
          "author_name": "Hussain Akram",
          "author_login": "hussainakram",
          "committed_at": "2021-06-18T12:07:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3544111b76b95d13da7cc6bfe4eb07921d771d93",
          "body": "Add Truffleruby head to CI",
          "is_bot": false,
          "headline": "Merge pull request #665 from gogainda/patch-1",
          "author_name": "Holger Arndt",
          "author_login": "Kjarrigan",
          "committed_at": "2021-01-15T13:13:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7a51c2dc753805eee10e75fdd6cb14941b5e77fa",
          "body": null,
          "is_bot": false,
          "headline": "Update .travis.yml",
          "author_name": "Igor Victor",
          "author_login": "gogainda",
          "committed_at": "2020-10-02T14:32:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a345545e5e4ac0522b883fe0cf19e5e2e807b4b0",
          "body": "README: Drop mention of mailing list",
          "is_bot": false,
          "headline": "Merge pull request #649 from olleolleolle/patch-1",
          "author_name": "Hans Hasselberg",
          "author_login": "hanshasselberg",
          "committed_at": "2020-05-17T19:33:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "abc332a8154c09e387fe895b826c9cf43c88ea7e",
          "body": "The last email in 2014 asks the public to use the GitHub Issue tracker for questions.",
          "is_bot": false,
          "headline": "README: Drop mention of mailing list",
          "author_name": "Olle Jonsson",
          "author_login": "olleolleolle",
          "committed_at": "2020-02-29T14:34:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "da478030a750475a63570432f444e3d782a135d0",
          "body": "Update README",
          "is_bot": false,
          "headline": "Merge pull request #643 from ruslankhaertdinov/update_readme",
          "author_name": "Pericles Theodorou",
          "author_login": "PericlesTheo",
          "committed_at": "2020-01-15T16:24:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e7d9156125c3074ce0bbd5d6c9d2f7901829755c",
          "body": null,
          "is_bot": false,
          "headline": "Update README",
          "author_name": "Ruslan Khaertdinov",
          "author_login": "ruslankhaertdinov",
          "committed_at": "2020-01-15T13:55:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "15e2a9f8dc7a81a5b2c396e434a4bb2b38d53ae5",
          "body": "Use Request caching mechanism in Hydra when specified instead of the global cache setting",
          "is_bot": false,
          "headline": "Merge pull request #633 from tors/patch-1",
          "author_name": "Pericles Theodorou",
          "author_login": "PericlesTheo",
          "committed_at": "2019-10-04T12:49:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "99ff7aeabc1a7eccabfec86d4a133828ba280e7e",
          "body": "… made when there’s a cache hit.",
          "is_bot": false,
          "headline": "Test if the call is made when cache is not present. No new request is…",
          "author_name": "Tors Dalid",
          "author_login": "tors",
          "committed_at": "2019-10-04T09:02:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0c66e4e310c9c3f5879997caa5a16d873417caf0",
          "body": null,
          "is_bot": false,
          "headline": "Bump to v1.4.0",
          "author_name": "Pericles Theodorou",
          "author_login": "PericlesTheo",
          "committed_at": "2019-10-03T13:18:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "035347d05de19ad9e26862182ec1e21a249c7b74",
          "body": null,
          "is_bot": false,
          "headline": "Correct  version",
          "author_name": "Pericles Theodorou",
          "author_login": "PericlesTheo",
          "committed_at": "2019-10-03T13:06:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "53cf3486763ff7bcbc2a936451257fa2a6d7505f",
          "body": null,
          "is_bot": false,
          "headline": "Bump to v1.4.1",
          "author_name": "Pericles Theodorou",
          "author_login": "PericlesTheo",
          "committed_at": "2019-10-02T12:07:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d803a64fe57efcc8f949f003b7be3a9badec7c95",
          "body": "Fix using an argument in `EasyFactory#sanitize`",
          "is_bot": false,
          "headline": "Merge pull request #625 from v-kolesnikov/patch-1",
          "author_name": "Pericles Theodorou",
          "author_login": "PericlesTheo",
          "committed_at": "2019-10-02T07:25:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4e362dfc630ddb9d36cabcf54fe04395d46bb977",
          "body": null,
          "is_bot": false,
          "headline": "Fix using an argument in `EasyFactory#sanitize`",
          "author_name": "Vasily Kolesnikov",
          "author_login": "v-kolesnikov",
          "committed_at": "2019-10-01T14:58:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d88224427e4995b95931a9fa0c7e3ca3b2b5dc93",
          "body": "Avoid YARD warnings",
          "is_bot": false,
          "headline": "Merge pull request #622 from olleolleolle/fix/yard-warnings",
          "author_name": "Pericles Theodorou",
          "author_login": "PericlesTheo",
          "committed_at": "2019-10-01T13:50:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c6c6e706d61be310a3cecc23cb3447a488434fa4",
          "body": "CI: Extend and update matrix",
          "is_bot": false,
          "headline": "Merge pull request #623 from olleolleolle/patch-1",
          "author_name": "Pericles Theodorou",
          "author_login": "PericlesTheo",
          "committed_at": "2019-10-01T13:50:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b0adc860326642af2a11ddc1c290ec2e3aaaec06",
          "body": null,
          "is_bot": false,
          "headline": "Fix YARD mis-annotation",
          "author_name": "Olle Jonsson",
          "author_login": "olleolleolle",
          "committed_at": "2019-10-01T12:32:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7f2c5d19eef322687faedce24bc067a6cac57969",
          "body": null,
          "is_bot": false,
          "headline": "Avoid YARD warnings",
          "author_name": "Olle Jonsson",
          "author_login": "olleolleolle",
          "committed_at": "2019-10-01T12:32:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "23e676c37c96fb4120bf33fe61dd7c19c5450ce1",
          "body": "This is related to https://github.com/typhoeus/typhoeus/pull/601 but applied in Hydra queued requests.",
          "is_bot": false,
          "headline": "Use Request caching mechanism in Hydra",
          "author_name": "Tors Dalid",
          "author_login": "tors",
          "committed_at": "2019-10-01T11:11:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a4e62a3b3ca1a2e7dd1289d76667785933034a2c",
          "body": null,
          "is_bot": false,
          "headline": "CI: Extend and update matrix",
          "author_name": "Olle Jonsson",
          "author_login": "olleolleolle",
          "committed_at": "2019-10-01T10:31:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cf3a7804f3736a57f21c74bd4d2fc0a56203cb11",
          "body": "Expect correct error to be raised",
          "is_bot": false,
          "headline": "Merge pull request #636 from typhoeus/fix-master-build",
          "author_name": "Pericles Theodorou",
          "author_login": "PericlesTheo",
          "committed_at": "2019-10-01T09:43:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6ea322583e6a71eb4124a6e34b2d33614ea9fb05",
          "body": null,
          "is_bot": false,
          "headline": "Expect correct error to be raised",
          "author_name": "Pericles Theodorou",
          "author_login": "PericlesTheo",
          "committed_at": "2019-10-01T08:33:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7c2b329567e35897a3cbfc2c6d70dc2e9da55f1a",
          "body": "Call `Request#cache_key` to set the key for Rails cache store",
          "is_bot": false,
          "headline": "Merge pull request #635 from typhoeus/use-cache-key-for-rails-store",
          "author_name": "Pericles Theodorou",
          "author_login": "PericlesTheo",
          "committed_at": "2019-10-01T08:25:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3bffaa02f380243cff694c9333d3a1b12f3a276a",
          "body": "Add CodeTriage badge to typhoeus/typhoeus",
          "is_bot": false,
          "headline": "Merge pull request #630 from codetriage-readme-bot/codetriage-badge",
          "author_name": "Pericles Theodorou",
          "author_login": "PericlesTheo",
          "committed_at": "2019-08-25T08:35:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c2520cef218b7e07ffff5e4ab1ffb0a2729c0e14",
          "body": "JRuby was failing because the Array used in the spec is not threadsafe. Switched to Queue.",
          "is_bot": false,
          "headline": "Use Queue to avoid concurrency issues",
          "author_name": "Pericles Theodorou",
          "author_login": "PericlesTheo",
          "committed_at": "2019-08-25T08:27:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a882e60b913af5f9413753d0aa6d287a3acadc74",
          "body": "See issue: https://github.com/travis-ci/travis-ci/issues/4984",
          "is_bot": false,
          "headline": "Use different platforms for older Rubies",
          "author_name": "Pericles Theodorou",
          "author_login": "PericlesTheo",
          "committed_at": "2019-08-25T08:27:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8ed4299eaccb72bda9313b8d2ba7bfb523a6e989",
          "body": "Rails under the hood will call `#cache_key` but it is better to be\nexplicit since all other cache stores in the project are calling\n`cache_key`",
          "is_bot": false,
          "headline": "Call `Request#cache_key` to set the key for Rails cache store",
          "author_name": "Pericles Theodorou",
          "author_login": "PericlesTheo",
          "committed_at": "2019-08-24T16:03:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c8171fb64d5cef37badb7c9d43c2e4089689013b",
          "body": "Adds a badge showing the number of people helping this repo on CodeTriage.\n\n[![Open Source Helpers](https://www.codetriage.com/typhoeus/typhoeus/badges/users.svg)](https://www.codetriage.com/typhoeus/typhoeus)\n\n## What is CodeTriage?\n\nCodeTriage is an Open Source app that is designed to make contrib\n[…]\nnswered by @schneems. If you do not want a badge right now, no worries, close the PR, you will not hear from me again.\n\nThanks for making your project Open Source! Any feedback is greatly appreciated.",
          "is_bot": false,
          "headline": "Add CodeTriage badge to typhoeus/typhoeus",
          "author_name": "codetriage-readme-bot",
          "author_login": "codetriage-readme-bot",
          "committed_at": "2019-06-05T20:02:10Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5f41c2665c0f3a45d2e1c53e3420f3c445bd13e5",
          "body": null,
          "is_bot": false,
          "headline": "Update codeclimate maintainability badge",
          "author_name": "Pericles Theodorou",
          "author_login": "PericlesTheo",
          "committed_at": "2019-05-23T10:21:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d072aaf6edcf46d54d6a6bce45286629bf4e5af6",
          "body": "Makes faraday adapter compatible with Faraday 1.0",
          "is_bot": false,
          "headline": "Merge pull request #616 from iMacTia/patch-1",
          "author_name": "André Medeiros",
          "author_login": null,
          "committed_at": "2019-02-04T16:43:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cbab8c9f39167e1ae78ed65e5baeb1dbb53cfbdc",
          "body": "As of https://github.com/lostisland/faraday/pull/841, we've changed the exceptions namespace.\r\nThis change needs to be reflected on exceptions raised by this adapter.\r\nThis change is required in order to support Faraday 1.0, and should be fully backwards-compatible with older versions of Faraday.",
          "is_bot": false,
          "headline": "Makes faraday adapter compatible with Faraday 1.0",
          "author_name": "Mattia",
          "author_login": "iMacTia",
          "committed_at": "2019-01-04T11:49:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7e2233f167fca0499e9ffbfdb8c8d3dcc87c071c",
          "body": null,
          "is_bot": false,
          "headline": "bump version to the correct number.",
          "author_name": "Hans Hasselberg",
          "author_login": "hanshasselberg",
          "committed_at": "2018-11-06T08:58:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e46e95a04acdf4789707265217af2fd36777f3a3",
          "body": "Update status.rb",
          "is_bot": false,
          "headline": "Merge pull request #602 from baweaver/patch-1",
          "author_name": "André Medeiros",
          "author_login": null,
          "committed_at": "2018-10-11T21:49:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b56a7bbabbc70d18ba6953fc932815b404da996b",
          "body": "Making Parallel Requests with Faraday + Typhoeus DOCS",
          "is_bot": false,
          "headline": "Merge pull request #608 from gabifiolek/update-docs",
          "author_name": "Hans Hasselberg",
          "author_login": "hanshasselberg",
          "committed_at": "2018-10-11T09:35:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6de4c1844ce482082906520d24651d6fc49991e2",
          "body": null,
          "is_bot": false,
          "headline": "Making Parallel Requests with Faraday + Typhoeus DOCS",
          "author_name": "Gabi",
          "author_login": "gabifija",
          "committed_at": "2018-10-10T14:12:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5b8983c7b849dfafd437cc2259afa58572d48ca1",
          "body": "Change get to new because otherwise Request.get already returns a response.",
          "is_bot": false,
          "headline": "Merge pull request #603 from najamelan/bugfix/doc_response_request",
          "author_name": "Hans Hasselberg",
          "author_login": "hanshasselberg",
          "committed_at": "2018-08-26T17:39:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3a07e7dfd3c2a1caed90c5b966050f555c774538",
          "body": "The order of the parameters is wrong in the documentation for on_body",
          "is_bot": false,
          "headline": "Merge pull request #606 from najamelan/bugfix/doc_on_body_parameters-1",
          "author_name": "Hans Hasselberg",
          "author_login": "hanshasselberg",
          "committed_at": "2018-08-26T17:38:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e774c57dccbdd4c4ae5e5196f27fe601b41668d6",
          "body": null,
          "is_bot": false,
          "headline": "The order of the parameters is wrong in the documentation for on_body",
          "author_name": "Naja Melan",
          "author_login": "najamelan",
          "committed_at": "2018-08-24T17:35:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d6ccbc2c0d42b482edcaf0692b887f3b033ea393",
          "body": "…ponse.",
          "is_bot": false,
          "headline": "Change get to new because otherwise Request.get already returns a res…",
          "author_name": "Naja Melan",
          "author_login": "najamelan",
          "committed_at": "2018-08-24T14:36:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 42,
      "commits_last_year": 28,
      "latest_release_at": "2026-03-10T12:55:07Z",
      "latest_release_tag": "v1.6.0",
      "releases_from_tags": true,
      "days_since_last_push": 133,
      "active_weeks_last_year": 6,
      "days_since_latest_release": 133,
      "mean_days_between_releases": 400.4
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 50,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "typhoeus",
          "exists": true,
          "license": "MIT",
          "keywords": [],
          "ecosystem": "rubygems",
          "matches_repo": true,
          "registry_url": "https://rubygems.org/gems/typhoeus",
          "is_deprecated": false,
          "latest_version": "1.6.0",
          "repository_url": "https://github.com/typhoeus/typhoeus/tree/v1.6.0",
          "versions_count": 77,
          "total_downloads": 280145725,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": "2009-10-06T00:08:16.443000Z",
          "latest_published_at": "2026-03-10T12:58:26.135000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 133
        }
      ]
    },
    "popularity": {
      "forks": 441,
      "stars": 4141,
      "watchers": 51,
      "fork_history": {
        "days": [
          {
            "date": "2009-03-09",
            "count": 1
          },
          {
            "date": "2009-03-21",
            "count": 1
          },
          {
            "date": "2009-05-06",
            "count": 1
          },
          {
            "date": "2009-05-13",
            "count": 1
          },
          {
            "date": "2009-06-12",
            "count": 1
          },
          {
            "date": "2009-06-16",
            "count": 1
          },
          {
            "date": "2009-07-06",
            "count": 1
          },
          {
            "date": "2009-08-13",
            "count": 1
          },
          {
            "date": "2009-10-21",
            "count": 1
          },
          {
            "date": "2009-11-01",
            "count": 1
          },
          {
            "date": "2009-11-07",
            "count": 1
          },
          {
            "date": "2010-01-09",
            "count": 1
          },
          {
            "date": "2010-01-13",
            "count": 1
          },
          {
            "date": "2010-01-22",
            "count": 1
          },
          {
            "date": "2010-02-26",
            "count": 1
          },
          {
            "date": "2010-03-12",
            "count": 1
          },
          {
            "date": "2010-04-15",
            "count": 1
          },
          {
            "date": "2010-05-18",
            "count": 1
          },
          {
            "date": "2010-05-19",
            "count": 1
          },
          {
            "date": "2010-06-03",
            "count": 1
          },
          {
            "date": "2010-07-02",
            "count": 1
          },
          {
            "date": "2010-07-19",
            "count": 1
          },
          {
            "date": "2010-08-02",
            "count": 1
          },
          {
            "date": "2010-08-04",
            "count": 1
          },
          {
            "date": "2010-09-08",
            "count": 1
          },
          {
            "date": "2010-09-15",
            "count": 1
          },
          {
            "date": "2010-10-07",
            "count": 1
          },
          {
            "date": "2010-10-30",
            "count": 1
          },
          {
            "date": "2010-11-04",
            "count": 1
          },
          {
            "date": "2010-11-08",
            "count": 1
          },
          {
            "date": "2010-11-25",
            "count": 1
          },
          {
            "date": "2010-11-30",
            "count": 1
          },
          {
            "date": "2010-12-08",
            "count": 1
          },
          {
            "date": "2010-12-17",
            "count": 1
          },
          {
            "date": "2010-12-31",
            "count": 1
          },
          {
            "date": "2011-01-04",
            "count": 1
          },
          {
            "date": "2011-01-13",
            "count": 1
          },
          {
            "date": "2011-03-07",
            "count": 1
          },
          {
            "date": "2011-03-11",
            "count": 1
          },
          {
            "date": "2011-03-21",
            "count": 1
          },
          {
            "date": "2011-03-28",
            "count": 1
          },
          {
            "date": "2011-04-04",
            "count": 1
          },
          {
            "date": "2011-04-11",
            "count": 1
          },
          {
            "date": "2011-04-15",
            "count": 1
          },
          {
            "date": "2011-04-18",
            "count": 1
          },
          {
            "date": "2011-04-27",
            "count": 1
          },
          {
            "date": "2011-05-04",
            "count": 1
          },
          {
            "date": "2011-05-16",
            "count": 1
          },
          {
            "date": "2011-05-19",
            "count": 1
          },
          {
            "date": "2011-05-30",
            "count": 1
          },
          {
            "date": "2011-06-02",
            "count": 1
          },
          {
            "date": "2011-06-18",
            "count": 1
          },
          {
            "date": "2011-07-16",
            "count": 1
          },
          {
            "date": "2011-07-18",
            "count": 1
          },
          {
            "date": "2011-08-02",
            "count": 2
          },
          {
            "date": "2011-08-03",
            "count": 1
          },
          {
            "date": "2011-08-16",
            "count": 1
          },
          {
            "date": "2011-08-19",
            "count": 1
          },
          {
            "date": "2011-08-27",
            "count": 1
          },
          {
            "date": "2011-09-01",
            "count": 1
          },
          {
            "date": "2011-09-11",
            "count": 1
          },
          {
            "date": "2011-09-27",
            "count": 1
          },
          {
            "date": "2011-10-12",
            "count": 1
          },
          {
            "date": "2011-10-13",
            "count": 1
          },
          {
            "date": "2011-10-23",
            "count": 1
          },
          {
            "date": "2011-11-04",
            "count": 1
          },
          {
            "date": "2011-11-06",
            "count": 2
          },
          {
            "date": "2011-11-16",
            "count": 1
          },
          {
            "date": "2011-12-06",
            "count": 1
          },
          {
            "date": "2012-01-18",
            "count": 1
          },
          {
            "date": "2012-02-02",
            "count": 1
          },
          {
            "date": "2012-02-14",
            "count": 1
          },
          {
            "date": "2012-02-15",
            "count": 1
          },
          {
            "date": "2012-03-01",
            "count": 1
          },
          {
            "date": "2012-03-02",
            "count": 2
          },
          {
            "date": "2012-03-05",
            "count": 1
          },
          {
            "date": "2012-03-06",
            "count": 1
          },
          {
            "date": "2012-03-07",
            "count": 1
          },
          {
            "date": "2012-03-10",
            "count": 1
          },
          {
            "date": "2012-03-16",
            "count": 1
          },
          {
            "date": "2012-03-19",
            "count": 2
          },
          {
            "date": "2012-03-22",
            "count": 1
          },
          {
            "date": "2012-03-27",
            "count": 1
          },
          {
            "date": "2012-04-17",
            "count": 1
          },
          {
            "date": "2012-05-02",
            "count": 1
          },
          {
            "date": "2012-05-11",
            "count": 1
          },
          {
            "date": "2012-05-16",
            "count": 1
          },
          {
            "date": "2012-05-25",
            "count": 1
          },
          {
            "date": "2012-05-31",
            "count": 1
          },
          {
            "date": "2012-06-04",
            "count": 1
          },
          {
            "date": "2012-06-05",
            "count": 1
          },
          {
            "date": "2012-06-06",
            "count": 1
          },
          {
            "date": "2012-06-12",
            "count": 2
          },
          {
            "date": "2012-06-13",
            "count": 1
          },
          {
            "date": "2012-06-14",
            "count": 1
          },
          {
            "date": "2012-07-04",
            "count": 1
          },
          {
            "date": "2012-07-13",
            "count": 1
          },
          {
            "date": "2012-07-16",
            "count": 1
          },
          {
            "date": "2012-07-21",
            "count": 1
          },
          {
            "date": "2012-08-01",
            "count": 1
          },
          {
            "date": "2012-08-04",
            "count": 1
          },
          {
            "date": "2012-08-29",
            "count": 2
          },
          {
            "date": "2012-09-15",
            "count": 1
          },
          {
            "date": "2012-10-01",
            "count": 1
          },
          {
            "date": "2012-10-23",
            "count": 1
          },
          {
            "date": "2012-10-24",
            "count": 1
          },
          {
            "date": "2012-10-30",
            "count": 1
          },
          {
            "date": "2012-11-06",
            "count": 1
          },
          {
            "date": "2012-11-07",
            "count": 1
          },
          {
            "date": "2012-11-12",
            "count": 1
          },
          {
            "date": "2012-11-26",
            "count": 1
          },
          {
            "date": "2012-11-29",
            "count": 1
          },
          {
            "date": "2012-12-01",
            "count": 1
          },
          {
            "date": "2012-12-05",
            "count": 1
          },
          {
            "date": "2012-12-21",
            "count": 1
          },
          {
            "date": "2012-12-25",
            "count": 1
          },
          {
            "date": "2013-01-02",
            "count": 2
          },
          {
            "date": "2013-01-10",
            "count": 1
          },
          {
            "date": "2013-01-16",
            "count": 1
          },
          {
            "date": "2013-01-29",
            "count": 1
          },
          {
            "date": "2013-01-30",
            "count": 1
          },
          {
            "date": "2013-02-05",
            "count": 1
          },
          {
            "date": "2013-02-14",
            "count": 1
          },
          {
            "date": "2013-02-18",
            "count": 1
          },
          {
            "date": "2013-03-29",
            "count": 1
          },
          {
            "date": "2013-04-15",
            "count": 1
          },
          {
            "date": "2013-04-28",
            "count": 1
          },
          {
            "date": "2013-05-18",
            "count": 1
          },
          {
            "date": "2013-06-20",
            "count": 1
          },
          {
            "date": "2013-06-28",
            "count": 1
          },
          {
            "date": "2013-07-08",
            "count": 1
          },
          {
            "date": "2013-07-23",
            "count": 1
          },
          {
            "date": "2013-08-07",
            "count": 1
          },
          {
            "date": "2013-08-11",
            "count": 1
          },
          {
            "date": "2013-08-12",
            "count": 1
          },
          {
            "date": "2013-08-17",
            "count": 1
          },
          {
            "date": "2013-09-06",
            "count": 1
          },
          {
            "date": "2013-09-17",
            "count": 1
          },
          {
            "date": "2013-09-20",
            "count": 1
          },
          {
            "date": "2013-10-05",
            "count": 2
          },
          {
            "date": "2013-10-08",
            "count": 1
          },
          {
            "date": "2013-10-25",
            "count": 1
          },
          {
            "date": "2013-10-29",
            "count": 1
          },
          {
            "date": "2013-11-04",
            "count": 1
          },
          {
            "date": "2013-11-07",
            "count": 1
          },
          {
            "date": "2013-12-01",
            "count": 1
          },
          {
            "date": "2013-12-05",
            "count": 1
          },
          {
            "date": "2013-12-06",
            "count": 1
          },
          {
            "date": "2013-12-12",
            "count": 1
          },
          {
            "date": "2014-01-28",
            "count": 1
          },
          {
            "date": "2014-02-07",
            "count": 1
          },
          {
            "date": "2014-02-15",
            "count": 1
          },
          {
            "date": "2014-02-18",
            "count": 1
          },
          {
            "date": "2014-02-20",
            "count": 1
          },
          {
            "date": "2014-03-06",
            "count": 1
          },
          {
            "date": "2014-03-19",
            "count": 2
          },
          {
            "date": "2014-03-24",
            "count": 1
          },
          {
            "date": "2014-03-27",
            "count": 1
          },
          {
            "date": "2014-04-11",
            "count": 2
          },
          {
            "date": "2014-04-18",
            "count": 1
          },
          {
            "date": "2014-05-06",
            "count": 1
          },
          {
            "date": "2014-05-07",
            "count": 1
          },
          {
            "date": "2014-05-12",
            "count": 2
          },
          {
            "date": "2014-05-15",
            "count": 1
          },
          {
            "date": "2014-05-16",
            "count": 1
          },
          {
            "date": "2014-06-04",
            "count": 1
          },
          {
            "date": "2014-06-11",
            "count": 1
          },
          {
            "date": "2014-06-26",
            "count": 1
          },
          {
            "date": "2014-07-08",
            "count": 2
          },
          {
            "date": "2014-07-11",
            "count": 1
          },
          {
            "date": "2014-07-14",
            "count": 1
          },
          {
            "date": "2014-08-06",
            "count": 1
          },
          {
            "date": "2014-08-27",
            "count": 1
          },
          {
            "date": "2014-08-29",
            "count": 1
          },
          {
            "date": "2014-08-30",
            "count": 1
          },
          {
            "date": "2014-10-10",
            "count": 1
          },
          {
            "date": "2014-11-05",
            "count": 1
          },
          {
            "date": "2014-11-11",
            "count": 1
          },
          {
            "date": "2014-12-01",
            "count": 1
          },
          {
            "date": "2014-12-09",
            "count": 1
          },
          {
            "date": "2014-12-14",
            "count": 1
          },
          {
            "date": "2014-12-17",
            "count": 1
          },
          {
            "date": "2015-01-18",
            "count": 1
          },
          {
            "date": "2015-01-28",
            "count": 1
          },
          {
            "date": "2015-02-11",
            "count": 2
          },
          {
            "date": "2015-02-20",
            "count": 1
          },
          {
            "date": "2015-03-04",
            "count": 1
          },
          {
            "date": "2015-03-10",
            "count": 1
          },
          {
            "date": "2015-03-17",
            "count": 1
          },
          {
            "date": "2015-03-26",
            "count": 1
          },
          {
            "date": "2015-03-31",
            "count": 1
          },
          {
            "date": "2015-04-02",
            "count": 1
          },
          {
            "date": "2015-04-05",
            "count": 1
          },
          {
            "date": "2015-04-10",
            "count": 1
          },
          {
            "date": "2015-04-13",
            "count": 1
          },
          {
            "date": "2015-05-04",
            "count": 1
          },
          {
            "date": "2015-06-10",
            "count": 1
          },
          {
            "date": "2015-06-13",
            "count": 1
          },
          {
            "date": "2015-06-26",
            "count": 1
          },
          {
            "date": "2015-07-22",
            "count": 1
          },
          {
            "date": "2015-07-23",
            "count": 1
          },
          {
            "date": "2015-08-03",
            "count": 2
          },
          {
            "date": "2015-08-10",
            "count": 1
          },
          {
            "date": "2015-08-30",
            "count": 1
          },
          {
            "date": "2015-08-31",
            "count": 1
          },
          {
            "date": "2015-09-01",
            "count": 2
          },
          {
            "date": "2015-09-06",
            "count": 2
          },
          {
            "date": "2015-09-07",
            "count": 1
          },
          {
            "date": "2015-09-10",
            "count": 1
          },
          {
            "date": "2015-09-18",
            "count": 2
          },
          {
            "date": "2015-09-21",
            "count": 1
          },
          {
            "date": "2015-10-09",
            "count": 1
          },
          {
            "date": "2015-10-13",
            "count": 1
          },
          {
            "date": "2015-10-15",
            "count": 1
          },
          {
            "date": "2015-11-02",
            "count": 1
          },
          {
            "date": "2015-11-04",
            "count": 1
          },
          {
            "date": "2015-12-09",
            "count": 1
          },
          {
            "date": "2015-12-16",
            "count": 1
          },
          {
            "date": "2015-12-28",
            "count": 2
          },
          {
            "date": "2016-01-08",
            "count": 1
          },
          {
            "date": "2016-01-18",
            "count": 1
          },
          {
            "date": "2016-01-20",
            "count": 1
          },
          {
            "date": "2016-01-28",
            "count": 1
          },
          {
            "date": "2016-02-05",
            "count": 1
          },
          {
            "date": "2016-02-09",
            "count": 1
          },
          {
            "date": "2016-02-17",
            "count": 1
          },
          {
            "date": "2016-03-15",
            "count": 1
          },
          {
            "date": "2016-03-16",
            "count": 1
          },
          {
            "date": "2016-03-22",
            "count": 1
          },
          {
            "date": "2016-04-11",
            "count": 1
          },
          {
            "date": "2016-04-12",
            "count": 1
          },
          {
            "date": "2016-04-25",
            "count": 1
          },
          {
            "date": "2016-06-13",
            "count": 1
          },
          {
            "date": "2016-06-28",
            "count": 1
          },
          {
            "date": "2016-06-29",
            "count": 1
          },
          {
            "date": "2016-07-02",
            "count": 1
          },
          {
            "date": "2016-07-04",
            "count": 1
          },
          {
            "date": "2016-07-06",
            "count": 1
          },
          {
            "date": "2016-07-16",
            "count": 1
          },
          {
            "date": "2016-08-12",
            "count": 1
          },
          {
            "date": "2016-09-15",
            "count": 1
          },
          {
            "date": "2016-10-03",
            "count": 1
          },
          {
            "date": "2016-10-24",
            "count": 1
          },
          {
            "date": "2016-11-07",
            "count": 1
          },
          {
            "date": "2016-11-28",
            "count": 1
          },
          {
            "date": "2016-11-29",
            "count": 1
          },
          {
            "date": "2016-12-02",
            "count": 1
          },
          {
            "date": "2016-12-09",
            "count": 1
          },
          {
            "date": "2017-01-02",
            "count": 1
          },
          {
            "date": "2017-01-10",
            "count": 1
          },
          {
            "date": "2017-01-12",
            "count": 1
          },
          {
            "date": "2017-01-26",
            "count": 1
          },
          {
            "date": "2017-01-30",
            "count": 1
          },
          {
            "date": "2017-01-31",
            "count": 1
          },
          {
            "date": "2017-03-04",
            "count": 1
          },
          {
            "date": "2017-03-06",
            "count": 1
          },
          {
            "date": "2017-03-13",
            "count": 1
          },
          {
            "date": "2017-03-14",
            "count": 1
          },
          {
            "date": "2017-03-15",
            "count": 1
          },
          {
            "date": "2017-04-05",
            "count": 1
          },
          {
            "date": "2017-04-06",
            "count": 1
          },
          {
            "date": "2017-04-20",
            "count": 1
          },
          {
            "date": "2017-06-09",
            "count": 1
          },
          {
            "date": "2017-06-11",
            "count": 1
          },
          {
            "date": "2017-06-30",
            "count": 1
          },
          {
            "date": "2017-07-17",
            "count": 2
          },
          {
            "date": "2017-08-11",
            "count": 1
          },
          {
            "date": "2017-08-22",
            "count": 1
          },
          {
            "date": "2017-09-22",
            "count": 1
          },
          {
            "date": "2017-10-06",
            "count": 1
          },
          {
            "date": "2017-12-04",
            "count": 1
          },
          {
            "date": "2017-12-19",
            "count": 1
          },
          {
            "date": "2018-01-11",
            "count": 1
          },
          {
            "date": "2018-01-20",
            "count": 1
          },
          {
            "date": "2018-02-02",
            "count": 1
          },
          {
            "date": "2018-02-21",
            "count": 1
          },
          {
            "date": "2018-03-04",
            "count": 1
          },
          {
            "date": "2018-03-18",
            "count": 1
          },
          {
            "date": "2018-04-18",
            "count": 1
          },
          {
            "date": "2018-05-30",
            "count": 1
          },
          {
            "date": "2018-06-27",
            "count": 1
          },
          {
            "date": "2018-07-03",
            "count": 1
          },
          {
            "date": "2018-07-04",
            "count": 1
          },
          {
            "date": "2018-07-16",
            "count": 1
          },
          {
            "date": "2018-08-08",
            "count": 1
          },
          {
            "date": "2018-08-20",
            "count": 1
          },
          {
            "date": "2018-08-22",
            "count": 1
          },
          {
            "date": "2018-09-03",
            "count": 1
          },
          {
            "date": "2018-11-07",
            "count": 1
          },
          {
            "date": "2018-11-21",
            "count": 1
          },
          {
            "date": "2019-01-04",
            "count": 2
          },
          {
            "date": "2019-01-07",
            "count": 1
          },
          {
            "date": "2019-01-21",
            "count": 1
          },
          {
            "date": "2019-01-22",
            "count": 1
          },
          {
            "date": "2019-01-28",
            "count": 1
          },
          {
            "date": "2019-02-15",
            "count": 1
          },
          {
            "date": "2019-02-16",
            "count": 1
          },
          {
            "date": "2019-02-25",
            "count": 1
          },
          {
            "date": "2019-03-01",
            "count": 1
          },
          {
            "date": "2019-03-29",
            "count": 1
          },
          {
            "date": "2019-04-17",
            "count": 1
          },
          {
            "date": "2019-04-25",
            "count": 1
          },
          {
            "date": "2019-05-14",
            "count": 1
          },
          {
            "date": "2019-05-19",
            "count": 1
          },
          {
            "date": "2019-05-20",
            "count": 1
          },
          {
            "date": "2019-05-23",
            "count": 1
          },
          {
            "date": "2019-05-29",
            "count": 1
          },
          {
            "date": "2019-06-05",
            "count": 1
          },
          {
            "date": "2019-07-02",
            "count": 1
          },
          {
            "date": "2019-07-09",
            "count": 1
          },
          {
            "date": "2019-07-16",
            "count": 1
          },
          {
            "date": "2019-10-12",
            "count": 1
          },
          {
            "date": "2019-10-31",
            "count": 1
          },
          {
            "date": "2019-11-08",
            "count": 2
          },
          {
            "date": "2019-11-28",
            "count": 1
          },
          {
            "date": "2019-12-03",
            "count": 2
          },
          {
            "date": "2019-12-15",
            "count": 1
          },
          {
            "date": "2020-01-07",
            "count": 1
          },
          {
            "date": "2020-01-15",
            "count": 1
          },
          {
            "date": "2020-01-17",
            "count": 1
          },
          {
            "date": "2020-01-30",
            "count": 1
          },
          {
            "date": "2020-02-20",
            "count": 1
          },
          {
            "date": "2020-02-25",
            "count": 1
          },
          {
            "date": "2020-02-28",
            "count": 1
          },
          {
            "date": "2020-04-05",
            "count": 1
          },
          {
            "date": "2020-04-14",
            "count": 1
          },
          {
            "date": "2020-04-18",
            "count": 2
          },
          {
            "date": "2020-06-18",
            "count": 1
          },
          {
            "date": "2020-06-22",
            "count": 1
          },
          {
            "date": "2020-07-11",
            "count": 1
          },
          {
            "date": "2020-07-15",
            "count": 1
          },
          {
            "date": "2020-07-28",
            "count": 1
          },
          {
            "date": "2020-09-01",
            "count": 1
          },
          {
            "date": "2020-10-02",
            "count": 1
          },
          {
            "date": "2020-11-05",
            "count": 1
          },
          {
            "date": "2020-12-03",
            "count": 1
          },
          {
            "date": "2021-01-14",
            "count": 1
          },
          {
            "date": "2021-02-15",
            "count": 1
          },
          {
            "date": "2021-02-22",
            "count": 1
          },
          {
            "date": "2021-03-16",
            "count": 1
          },
          {
            "date": "2021-04-09",
            "count": 1
          },
          {
            "date": "2021-04-15",
            "count": 1
          },
          {
            "date": "2021-04-26",
            "count": 1
          },
          {
            "date": "2021-05-16",
            "count": 1
          },
          {
            "date": "2021-06-18",
            "count": 1
          },
          {
            "date": "2021-08-03",
            "count": 1
          },
          {
            "date": "2021-08-07",
            "count": 2
          },
          {
            "date": "2021-09-17",
            "count": 1
          },
          {
            "date": "2021-09-23",
            "count": 1
          },
          {
            "date": "2021-10-29",
            "count": 1
          },
          {
            "date": "2021-11-10",
            "count": 1
          },
          {
            "date": "2022-01-11",
            "count": 1
          },
          {
            "date": "2022-01-12",
            "count": 1
          },
          {
            "date": "2022-01-24",
            "count": 1
          },
          {
            "date": "2022-02-07",
            "count": 1
          },
          {
            "date": "2022-02-08",
            "count": 1
          },
          {
            "date": "2022-03-04",
            "count": 1
          },
          {
            "date": "2022-03-17",
            "count": 1
          },
          {
            "date": "2022-03-25",
            "count": 1
          },
          {
            "date": "2022-03-31",
            "count": 1
          },
          {
            "date": "2022-04-02",
            "count": 1
          },
          {
            "date": "2022-04-23",
            "count": 1
          },
          {
            "date": "2022-06-03",
            "count": 1
          },
          {
            "date": "2022-06-21",
            "count": 1
          },
          {
            "date": "2022-07-21",
            "count": 1
          },
          {
            "date": "2022-08-01",
            "count": 1
          },
          {
            "date": "2022-08-27",
            "count": 1
          },
          {
            "date": "2022-10-30",
            "count": 1
          },
          {
            "date": "2023-04-03",
            "count": 1
          },
          {
            "date": "2023-04-12",
            "count": 1
          },
          {
            "date": "2023-05-07",
            "count": 1
          },
          {
            "date": "2023-06-15",
            "count": 1
          },
          {
            "date": "2023-08-30",
            "count": 1
          },
          {
            "date": "2024-01-28",
            "count": 1
          },
          {
            "date": "2024-02-02",
            "count": 1
          },
          {
            "date": "2024-04-14",
            "count": 1
          },
          {
            "date": "2024-07-11",
            "count": 1
          },
          {
            "date": "2024-07-15",
            "count": 1
          },
          {
            "date": "2024-07-31",
            "count": 1
          },
          {
            "date": "2024-08-02",
            "count": 1
          },
          {
            "date": "2024-08-09",
            "count": 1
          },
          {
            "date": "2024-11-17",
            "count": 1
          },
          {
            "date": "2025-02-25",
            "count": 1
          },
          {
            "date": "2025-03-12",
            "count": 1
          },
          {
            "date": "2025-08-10",
            "count": 1
          },
          {
            "date": "2025-08-18",
            "count": 1
          },
          {
            "date": "2025-09-01",
            "count": 1
          },
          {
            "date": "2025-09-23",
            "count": 1
          },
          {
            "date": "2025-10-07",
            "count": 1
          },
          {
            "date": "2025-12-02",
            "count": 2
          },
          {
            "date": "2026-01-21",
            "count": 1
          },
          {
            "date": "2026-02-09",
            "count": 1
          },
          {
            "date": "2026-03-03",
            "count": 1
          },
          {
            "date": "2026-07-10",
            "count": 1
          },
          {
            "date": "2026-07-19",
            "count": 3
          }
        ],
        "complete": true,
        "collected": 422,
        "total_forks": 441
      },
      "star_history": {
        "days": [
          {
            "date": "2018-05-31",
            "count": 2
          },
          {
            "date": "2018-06-06",
            "count": 1
          },
          {
            "date": "2018-06-08",
            "count": 1
          },
          {
            "date": "2018-06-11",
            "count": 1
          },
          {
            "date": "2018-06-18",
            "count": 1
          },
          {
            "date": "2018-06-21",
            "count": 1
          },
          {
            "date": "2018-06-22",
            "count": 1
          },
          {
            "date": "2018-06-25",
            "count": 1
          },
          {
            "date": "2018-06-27",
            "count": 1
          },
          {
            "date": "2018-06-29",
            "count": 1
          },
          {
            "date": "2018-07-01",
            "count": 1
          },
          {
            "date": "2018-07-02",
            "count": 1
          },
          {
            "date": "2018-07-08",
            "count": 1
          },
          {
            "date": "2018-07-09",
            "count": 3
          },
          {
            "date": "2018-07-10",
            "count": 1
          },
          {
            "date": "2018-07-11",
            "count": 1
          },
          {
            "date": "2018-07-13",
            "count": 1
          },
          {
            "date": "2018-07-15",
            "count": 1
          },
          {
            "date": "2018-07-16",
            "count": 1
          },
          {
            "date": "2018-07-17",
            "count": 1
          },
          {
            "date": "2018-07-20",
            "count": 1
          },
          {
            "date": "2018-07-23",
            "count": 1
          },
          {
            "date": "2018-07-25",
            "count": 1
          },
          {
            "date": "2018-07-26",
            "count": 1
          },
          {
            "date": "2018-07-27",
            "count": 1
          },
          {
            "date": "2018-07-28",
            "count": 1
          },
          {
            "date": "2018-08-01",
            "count": 2
          },
          {
            "date": "2018-08-05",
            "count": 1
          },
          {
            "date": "2018-08-06",
            "count": 2
          },
          {
            "date": "2018-08-09",
            "count": 5
          },
          {
            "date": "2018-08-12",
            "count": 1
          },
          {
            "date": "2018-08-13",
            "count": 1
          },
          {
            "date": "2018-08-14",
            "count": 2
          },
          {
            "date": "2018-08-15",
            "count": 3
          },
          {
            "date": "2018-08-16",
            "count": 3
          },
          {
            "date": "2018-08-17",
            "count": 1
          },
          {
            "date": "2018-08-20",
            "count": 1
          },
          {
            "date": "2018-08-22",
            "count": 2
          },
          {
            "date": "2018-08-23",
            "count": 2
          },
          {
            "date": "2018-08-24",
            "count": 1
          },
          {
            "date": "2018-08-27",
            "count": 1
          },
          {
            "date": "2018-08-28",
            "count": 1
          },
          {
            "date": "2018-08-30",
            "count": 2
          },
          {
            "date": "2018-09-02",
            "count": 2
          },
          {
            "date": "2018-09-03",
            "count": 2
          },
          {
            "date": "2018-09-04",
            "count": 4
          },
          {
            "date": "2018-09-05",
            "count": 1
          },
          {
            "date": "2018-09-11",
            "count": 1
          },
          {
            "date": "2018-09-12",
            "count": 2
          },
          {
            "date": "2018-09-14",
            "count": 2
          },
          {
            "date": "2018-09-16",
            "count": 1
          },
          {
            "date": "2018-09-17",
            "count": 3
          },
          {
            "date": "2018-09-18",
            "count": 1
          },
          {
            "date": "2018-09-19",
            "count": 2
          },
          {
            "date": "2018-09-20",
            "count": 1
          },
          {
            "date": "2018-09-21",
            "count": 1
          },
          {
            "date": "2018-09-22",
            "count": 2
          },
          {
            "date": "2018-09-24",
            "count": 1
          },
          {
            "date": "2018-09-25",
            "count": 1
          },
          {
            "date": "2018-09-28",
            "count": 1
          },
          {
            "date": "2018-10-03",
            "count": 1
          },
          {
            "date": "2018-10-04",
            "count": 2
          },
          {
            "date": "2018-10-05",
            "count": 1
          },
          {
            "date": "2018-10-08",
            "count": 2
          },
          {
            "date": "2018-10-09",
            "count": 2
          },
          {
            "date": "2018-10-16",
            "count": 1
          },
          {
            "date": "2018-10-17",
            "count": 1
          },
          {
            "date": "2018-10-25",
            "count": 1
          },
          {
            "date": "2018-10-28",
            "count": 1
          },
          {
            "date": "2018-11-01",
            "count": 1
          },
          {
            "date": "2018-11-02",
            "count": 1
          },
          {
            "date": "2018-11-03",
            "count": 1
          },
          {
            "date": "2018-11-04",
            "count": 1
          },
          {
            "date": "2018-11-05",
            "count": 1
          },
          {
            "date": "2018-11-06",
            "count": 2
          },
          {
            "date": "2018-11-07",
            "count": 3
          },
          {
            "date": "2018-11-08",
            "count": 1
          },
          {
            "date": "2018-11-13",
            "count": 1
          },
          {
            "date": "2018-11-15",
            "count": 1
          },
          {
            "date": "2018-11-16",
            "count": 2
          },
          {
            "date": "2018-11-17",
            "count": 2
          },
          {
            "date": "2018-11-18",
            "count": 1
          },
          {
            "date": "2018-11-21",
            "count": 1
          },
          {
            "date": "2018-11-22",
            "count": 1
          },
          {
            "date": "2018-11-26",
            "count": 3
          },
          {
            "date": "2018-11-28",
            "count": 2
          },
          {
            "date": "2018-12-05",
            "count": 1
          },
          {
            "date": "2018-12-07",
            "count": 1
          },
          {
            "date": "2018-12-08",
            "count": 1
          },
          {
            "date": "2018-12-11",
            "count": 2
          },
          {
            "date": "2018-12-12",
            "count": 2
          },
          {
            "date": "2018-12-13",
            "count": 1
          },
          {
            "date": "2018-12-14",
            "count": 1
          },
          {
            "date": "2018-12-24",
            "count": 1
          },
          {
            "date": "2018-12-27",
            "count": 2
          },
          {
            "date": "2018-12-31",
            "count": 1
          },
          {
            "date": "2019-01-02",
            "count": 1
          },
          {
            "date": "2019-01-03",
            "count": 1
          },
          {
            "date": "2019-01-07",
            "count": 2
          },
          {
            "date": "2019-01-08",
            "count": 1
          },
          {
            "date": "2019-01-09",
            "count": 3
          },
          {
            "date": "2019-01-11",
            "count": 1
          },
          {
            "date": "2019-01-15",
            "count": 1
          },
          {
            "date": "2019-01-16",
            "count": 2
          },
          {
            "date": "2019-01-17",
            "count": 2
          },
          {
            "date": "2019-01-18",
            "count": 2
          },
          {
            "date": "2019-01-22",
            "count": 2
          },
          {
            "date": "2019-01-23",
            "count": 1
          },
          {
            "date": "2019-01-24",
            "count": 2
          },
          {
            "date": "2019-01-28",
            "count": 1
          },
          {
            "date": "2019-01-30",
            "count": 2
          },
          {
            "date": "2019-02-03",
            "count": 3
          },
          {
            "date": "2019-02-08",
            "count": 2
          },
          {
            "date": "2019-02-09",
            "count": 1
          },
          {
            "date": "2019-02-10",
            "count": 1
          },
          {
            "date": "2019-02-13",
            "count": 1
          },
          {
            "date": "2019-02-14",
            "count": 1
          },
          {
            "date": "2019-02-19",
            "count": 1
          },
          {
            "date": "2019-02-25",
            "count": 1
          },
          {
            "date": "2019-02-26",
            "count": 1
          },
          {
            "date": "2019-02-27",
            "count": 1
          },
          {
            "date": "2019-02-28",
            "count": 2
          },
          {
            "date": "2019-03-01",
            "count": 2
          },
          {
            "date": "2019-03-02",
            "count": 1
          },
          {
            "date": "2019-03-04",
            "count": 1
          },
          {
            "date": "2019-03-05",
            "count": 1
          },
          {
            "date": "2019-03-06",
            "count": 2
          },
          {
            "date": "2019-03-08",
            "count": 2
          },
          {
            "date": "2019-03-10",
            "count": 1
          },
          {
            "date": "2019-03-12",
            "count": 1
          },
          {
            "date": "2019-03-13",
            "count": 1
          },
          {
            "date": "2019-03-14",
            "count": 1
          },
          {
            "date": "2019-03-16",
            "count": 2
          },
          {
            "date": "2019-03-18",
            "count": 1
          },
          {
            "date": "2019-03-19",
            "count": 2
          },
          {
            "date": "2019-03-20",
            "count": 2
          },
          {
            "date": "2019-03-21",
            "count": 1
          },
          {
            "date": "2019-03-25",
            "count": 1
          },
          {
            "date": "2019-03-26",
            "count": 1
          },
          {
            "date": "2019-03-27",
            "count": 1
          },
          {
            "date": "2019-03-30",
            "count": 2
          },
          {
            "date": "2019-04-04",
            "count": 1
          },
          {
            "date": "2019-04-06",
            "count": 1
          },
          {
            "date": "2019-04-07",
            "count": 2
          },
          {
            "date": "2019-04-08",
            "count": 2
          },
          {
            "date": "2019-04-11",
            "count": 1
          },
          {
            "date": "2019-04-12",
            "count": 2
          },
          {
            "date": "2019-04-13",
            "count": 1
          },
          {
            "date": "2019-04-14",
            "count": 1
          },
          {
            "date": "2019-04-16",
            "count": 1
          },
          {
            "date": "2019-04-17",
            "count": 2
          },
          {
            "date": "2019-04-18",
            "count": 1
          },
          {
            "date": "2019-04-22",
            "count": 1
          },
          {
            "date": "2019-04-23",
            "count": 1
          },
          {
            "date": "2019-04-25",
            "count": 1
          },
          {
            "date": "2019-05-04",
            "count": 1
          },
          {
            "date": "2019-05-09",
            "count": 1
          },
          {
            "date": "2019-05-12",
            "count": 1
          },
          {
            "date": "2019-05-13",
            "count": 1
          },
          {
            "date": "2019-05-15",
            "count": 2
          },
          {
            "date": "2019-05-16",
            "count": 2
          },
          {
            "date": "2019-05-17",
            "count": 1
          },
          {
            "date": "2019-05-18",
            "count": 1
          },
          {
            "date": "2019-05-20",
            "count": 1
          },
          {
            "date": "2019-05-22",
            "count": 2
          },
          {
            "date": "2019-05-24",
            "count": 3
          },
          {
            "date": "2019-05-28",
            "count": 2
          },
          {
            "date": "2019-05-31",
            "count": 1
          },
          {
            "date": "2019-06-06",
            "count": 1
          },
          {
            "date": "2019-06-12",
            "count": 3
          },
          {
            "date": "2019-06-13",
            "count": 1
          },
          {
            "date": "2019-06-17",
            "count": 1
          },
          {
            "date": "2019-06-18",
            "count": 1
          },
          {
            "date": "2019-06-19",
            "count": 1
          },
          {
            "date": "2019-06-21",
            "count": 1
          },
          {
            "date": "2019-06-25",
            "count": 1
          },
          {
            "date": "2019-06-26",
            "count": 1
          },
          {
            "date": "2019-06-27",
            "count": 2
          },
          {
            "date": "2019-06-29",
            "count": 1
          },
          {
            "date": "2019-07-02",
            "count": 1
          },
          {
            "date": "2019-07-04",
            "count": 2
          },
          {
            "date": "2019-07-05",
            "count": 2
          },
          {
            "date": "2019-07-08",
            "count": 1
          },
          {
            "date": "2019-07-09",
            "count": 2
          },
          {
            "date": "2019-07-11",
            "count": 1
          },
          {
            "date": "2019-07-12",
            "count": 1
          },
          {
            "date": "2019-07-16",
            "count": 1
          },
          {
            "date": "2019-07-17",
            "count": 1
          },
          {
            "date": "2019-07-19",
            "count": 1
          },
          {
            "date": "2019-07-23",
            "count": 3
          },
          {
            "date": "2019-07-24",
            "count": 1
          },
          {
            "date": "2019-07-25",
            "count": 2
          },
          {
            "date": "2019-08-07",
            "count": 2
          },
          {
            "date": "2019-08-11",
            "count": 1
          },
          {
            "date": "2019-08-12",
            "count": 1
          },
          {
            "date": "2019-08-15",
            "count": 1
          },
          {
            "date": "2019-08-16",
            "count": 1
          },
          {
            "date": "2019-08-19",
            "count": 1
          },
          {
            "date": "2019-08-20",
            "count": 2
          },
          {
            "date": "2019-08-23",
            "count": 2
          },
          {
            "date": "2019-08-24",
            "count": 2
          },
          {
            "date": "2019-08-28",
            "count": 1
          },
          {
            "date": "2019-08-29",
            "count": 1
          },
          {
            "date": "2019-08-30",
            "count": 2
          },
          {
            "date": "2019-09-03",
            "count": 1
          },
          {
            "date": "2019-09-04",
            "count": 1
          },
          {
            "date": "2019-09-06",
            "count": 1
          },
          {
            "date": "2019-09-09",
            "count": 2
          },
          {
            "date": "2019-09-10",
            "count": 2
          },
          {
            "date": "2019-09-11",
            "count": 2
          },
          {
            "date": "2019-09-12",
            "count": 1
          },
          {
            "date": "2019-09-16",
            "count": 2
          },
          {
            "date": "2019-09-19",
            "count": 2
          },
          {
            "date": "2019-09-27",
            "count": 1
          },
          {
            "date": "2019-10-03",
            "count": 1
          },
          {
            "date": "2019-10-04",
            "count": 1
          },
          {
            "date": "2019-10-09",
            "count": 1
          },
          {
            "date": "2019-10-11",
            "count": 1
          },
          {
            "date": "2019-10-13",
            "count": 2
          },
          {
            "date": "2019-10-15",
            "count": 1
          },
          {
            "date": "2019-10-16",
            "count": 1
          },
          {
            "date": "2019-10-17",
            "count": 1
          },
          {
            "date": "2019-10-22",
            "count": 1
          },
          {
            "date": "2019-10-23",
            "count": 1
          },
          {
            "date": "2019-10-28",
            "count": 1
          },
          {
            "date": "2019-10-30",
            "count": 5
          },
          {
            "date": "2019-10-31",
            "count": 2
          },
          {
            "date": "2019-11-05",
            "count": 2
          },
          {
            "date": "2019-11-07",
            "count": 1
          },
          {
            "date": "2019-11-10",
            "count": 2
          },
          {
            "date": "2019-11-11",
            "count": 1
          },
          {
            "date": "2019-11-14",
            "count": 2
          },
          {
            "date": "2019-11-16",
            "count": 1
          },
          {
            "date": "2019-11-22",
            "count": 1
          },
          {
            "date": "2019-11-23",
            "count": 1
          },
          {
            "date": "2019-11-24",
            "count": 1
          },
          {
            "date": "2019-11-25",
            "count": 1
          },
          {
            "date": "2019-11-26",
            "count": 1
          },
          {
            "date": "2019-11-27",
            "count": 1
          },
          {
            "date": "2019-11-30",
            "count": 1
          },
          {
            "date": "2019-12-03",
            "count": 2
          },
          {
            "date": "2019-12-08",
            "count": 1
          },
          {
            "date": "2019-12-11",
            "count": 1
          },
          {
            "date": "2019-12-13",
            "count": 1
          },
          {
            "date": "2019-12-14",
            "count": 2
          },
          {
            "date": "2019-12-15",
            "count": 1
          },
          {
            "date": "2019-12-17",
            "count": 1
          },
          {
            "date": "2019-12-19",
            "count": 1
          },
          {
            "date": "2019-12-20",
            "count": 1
          },
          {
            "date": "2019-12-22",
            "count": 1
          },
          {
            "date": "2019-12-25",
            "count": 1
          },
          {
            "date": "2019-12-26",
            "count": 1
          },
          {
            "date": "2019-12-29",
            "count": 1
          },
          {
            "date": "2019-12-30",
            "count": 1
          },
          {
            "date": "2020-01-02",
            "count": 1
          },
          {
            "date": "2020-01-03",
            "count": 1
          },
          {
            "date": "2020-01-04",
            "count": 1
          },
          {
            "date": "2020-01-07",
            "count": 1
          },
          {
            "date": "2020-01-16",
            "count": 1
          },
          {
            "date": "2020-01-20",
            "count": 1
          },
          {
            "date": "2020-01-22",
            "count": 1
          },
          {
            "date": "2020-01-23",
            "count": 1
          },
          {
            "date": "2020-01-28",
            "count": 1
          },
          {
            "date": "2020-01-29",
            "count": 3
          },
          {
            "date": "2020-01-30",
            "count": 5
          },
          {
            "date": "2020-01-31",
            "count": 11
          },
          {
            "date": "2020-02-01",
            "count": 3
          },
          {
            "date": "2020-02-02",
            "count": 2
          },
          {
            "date": "2020-02-03",
            "count": 3
          },
          {
            "date": "2020-02-04",
            "count": 2
          },
          {
            "date": "2020-02-05",
            "count": 1
          },
          {
            "date": "2020-02-06",
            "count": 1
          },
          {
            "date": "2020-02-07",
            "count": 1
          },
          {
            "date": "2020-02-08",
            "count": 3
          },
          {
            "date": "2020-02-10",
            "count": 4
          },
          {
            "date": "2020-02-11",
            "count": 1
          },
          {
            "date": "2020-02-13",
            "count": 1
          },
          {
            "date": "2020-02-15",
            "count": 1
          },
          {
            "date": "2020-02-16",
            "count": 1
          },
          {
            "date": "2020-02-21",
            "count": 3
          },
          {
            "date": "2020-02-22",
            "count": 2
          },
          {
            "date": "2020-02-25",
            "count": 1
          },
          {
            "date": "2020-02-27",
            "count": 1
          },
          {
            "date": "2020-03-01",
            "count": 1
          },
          {
            "date": "2020-03-03",
            "count": 1
          },
          {
            "date": "2020-03-04",
            "count": 1
          },
          {
            "date": "2020-03-06",
            "count": 2
          },
          {
            "date": "2020-03-08",
            "count": 1
          },
          {
            "date": "2020-03-10",
            "count": 2
          },
          {
            "date": "2020-03-11",
            "count": 2
          },
          {
            "date": "2020-03-12",
            "count": 2
          },
          {
            "date": "2020-03-13",
            "count": 1
          },
          {
            "date": "2020-03-17",
            "count": 1
          },
          {
            "date": "2020-03-26",
            "count": 1
          },
          {
            "date": "2020-03-28",
            "count": 1
          },
          {
            "date": "2020-03-30",
            "count": 1
          },
          {
            "date": "2020-03-31",
            "count": 3
          },
          {
            "date": "2020-04-02",
            "count": 1
          },
          {
            "date": "2020-04-03",
            "count": 2
          },
          {
            "date": "2020-04-04",
            "count": 1
          },
          {
            "date": "2020-04-05",
            "count": 2
          },
          {
            "date": "2020-04-10",
            "count": 1
          },
          {
            "date": "2020-04-13",
            "count": 1
          },
          {
            "date": "2020-04-16",
            "count": 1
          },
          {
            "date": "2020-04-17",
            "count": 1
          },
          {
            "date": "2020-04-20",
            "count": 1
          },
          {
            "date": "2020-04-21",
            "count": 1
          },
          {
            "date": "2020-04-22",
            "count": 1
          },
          {
            "date": "2020-04-28",
            "count": 1
          },
          {
            "date": "2020-04-29",
            "count": 1
          },
          {
            "date": "2020-05-08",
            "count": 1
          },
          {
            "date": "2020-05-10",
            "count": 2
          },
          {
            "date": "2020-05-11",
            "count": 3
          },
          {
            "date": "2020-05-13",
            "count": 2
          },
          {
            "date": "2020-05-15",
            "count": 1
          },
          {
            "date": "2020-05-16",
            "count": 1
          },
          {
            "date": "2020-05-21",
            "count": 1
          },
          {
            "date": "2020-05-22",
            "count": 1
          },
          {
            "date": "2020-05-26",
            "count": 2
          },
          {
            "date": "2020-06-09",
            "count": 3
          },
          {
            "date": "2020-06-10",
            "count": 1
          },
          {
            "date": "2020-06-17",
            "count": 1
          },
          {
            "date": "2020-06-18",
            "count": 1
          },
          {
            "date": "2020-06-30",
            "count": 2
          },
          {
            "date": "2020-07-02",
            "count": 2
          },
          {
            "date": "2020-07-03",
            "count": 1
          },
          {
            "date": "2020-07-06",
            "count": 1
          },
          {
            "date": "2020-07-12",
            "count": 1
          },
          {
            "date": "2020-07-14",
            "count": 1
          },
          {
            "date": "2020-07-15",
            "count": 3
          },
          {
            "date": "2020-07-17",
            "count": 1
          },
          {
            "date": "2020-07-20",
            "count": 1
          },
          {
            "date": "2020-07-21",
            "count": 3
          },
          {
            "date": "2020-07-22",
            "count": 1
          },
          {
            "date": "2020-07-23",
            "count": 1
          },
          {
            "date": "2020-07-28",
            "count": 2
          },
          {
            "date": "2020-08-06",
            "count": 1
          },
          {
            "date": "2020-08-07",
            "count": 1
          },
          {
            "date": "2020-08-09",
            "count": 1
          },
          {
            "date": "2020-08-13",
            "count": 1
          },
          {
            "date": "2020-08-14",
            "count": 1
          },
          {
            "date": "2020-08-17",
            "count": 1
          },
          {
            "date": "2020-08-28",
            "count": 2
          },
          {
            "date": "2020-08-31",
            "count": 1
          },
          {
            "date": "2020-09-02",
            "count": 1
          },
          {
            "date": "2020-09-07",
            "count": 1
          },
          {
            "date": "2020-09-09",
            "count": 1
          },
          {
            "date": "2020-09-17",
            "count": 1
          },
          {
            "date": "2020-09-20",
            "count": 1
          },
          {
            "date": "2020-09-25",
            "count": 1
          },
          {
            "date": "2020-09-30",
            "count": 1
          },
          {
            "date": "2020-10-01",
            "count": 1
          },
          {
            "date": "2020-10-05",
            "count": 1
          },
          {
            "date": "2020-10-07",
            "count": 1
          },
          {
            "date": "2020-10-09",
            "count": 1
          },
          {
            "date": "2020-10-15",
            "count": 1
          },
          {
            "date": "2020-10-16",
            "count": 1
          },
          {
            "date": "2020-10-19",
            "count": 1
          },
          {
            "date": "2020-10-20",
            "count": 2
          },
          {
            "date": "2020-10-22",
            "count": 1
          },
          {
            "date": "2020-10-27",
            "count": 2
          },
          {
            "date": "2020-10-28",
            "count": 1
          },
          {
            "date": "2020-10-31",
            "count": 1
          },
          {
            "date": "2020-11-01",
            "count": 1
          },
          {
            "date": "2020-11-02",
            "count": 1
          },
          {
            "date": "2020-11-03",
            "count": 1
          },
          {
            "date": "2020-11-04",
            "count": 2
          },
          {
            "date": "2020-11-05",
            "count": 1
          },
          {
            "date": "2020-11-07",
            "count": 1
          },
          {
            "date": "2020-11-08",
            "count": 1
          },
          {
            "date": "2020-11-09",
            "count": 2
          },
          {
            "date": "2020-11-12",
            "count": 1
          },
          {
            "date": "2020-11-21",
            "count": 1
          },
          {
            "date": "2020-11-22",
            "count": 1
          },
          {
            "date": "2020-11-24",
            "count": 1
          },
          {
            "date": "2020-11-25",
            "count": 3
          },
          {
            "date": "2020-11-29",
            "count": 1
          },
          {
            "date": "2020-12-02",
            "count": 1
          },
          {
            "date": "2020-12-04",
            "count": 1
          },
          {
            "date": "2020-12-05",
            "count": 1
          },
          {
            "date": "2020-12-06",
            "count": 1
          },
          {
            "date": "2020-12-14",
            "count": 1
          },
          {
            "date": "2020-12-15",
            "count": 2
          },
          {
            "date": "2020-12-19",
            "count": 1
          },
          {
            "date": "2020-12-21",
            "count": 1
          },
          {
            "date": "2020-12-30",
            "count": 3
          },
          {
            "date": "2021-01-01",
            "count": 1
          },
          {
            "date": "2021-01-13",
            "count": 1
          },
          {
            "date": "2021-01-18",
            "count": 1
          },
          {
            "date": "2021-01-21",
            "count": 1
          },
          {
            "date": "2021-01-22",
            "count": 1
          },
          {
            "date": "2021-01-23",
            "count": 1
          },
          {
            "date": "2021-01-28",
            "count": 1
          },
          {
            "date": "2021-02-05",
            "count": 2
          },
          {
            "date": "2021-02-08",
            "count": 1
          },
          {
            "date": "2021-02-12",
            "count": 3
          },
          {
            "date": "2021-02-17",
            "count": 1
          },
          {
            "date": "2021-02-19",
            "count": 1
          },
          {
            "date": "2021-02-24",
            "count": 1
          },
          {
            "date": "2021-02-25",
            "count": 1
          },
          {
            "date": "2021-03-03",
            "count": 1
          },
          {
            "date": "2021-03-07",
            "count": 1
          },
          {
            "date": "2021-03-10",
            "count": 1
          },
          {
            "date": "2021-03-11",
            "count": 1
          },
          {
            "date": "2021-03-16",
            "count": 1
          },
          {
            "date": "2021-03-19",
            "count": 2
          },
          {
            "date": "2021-03-20",
            "count": 1
          },
          {
            "date": "2021-03-24",
            "count": 1
          },
          {
            "date": "2021-03-25",
            "count": 2
          },
          {
            "date": "2021-03-26",
            "count": 1
          },
          {
            "date": "2021-03-29",
            "count": 1
          },
          {
            "date": "2021-04-09",
            "count": 1
          },
          {
            "date": "2021-04-28",
            "count": 1
          },
          {
            "date": "2021-04-29",
            "count": 1
          },
          {
            "date": "2021-05-02",
            "count": 1
          },
          {
            "date": "2021-05-03",
            "count": 2
          },
          {
            "date": "2021-05-07",
            "count": 1
          },
          {
            "date": "2021-05-15",
            "count": 1
          },
          {
            "date": "2021-05-16",
            "count": 1
          },
          {
            "date": "2021-05-17",
            "count": 1
          },
          {
            "date": "2021-05-19",
            "count": 2
          },
          {
            "date": "2021-05-20",
            "count": 1
          },
          {
            "date": "2021-05-21",
            "count": 1
          },
          {
            "date": "2021-05-23",
            "count": 1
          },
          {
            "date": "2021-05-24",
            "count": 1
          },
          {
            "date": "2021-05-27",
            "count": 1
          },
          {
            "date": "2021-05-28",
            "count": 1
          },
          {
            "date": "2021-06-01",
            "count": 1
          },
          {
            "date": "2021-06-03",
            "count": 1
          },
          {
            "date": "2021-06-11",
            "count": 1
          },
          {
            "date": "2021-06-15",
            "count": 1
          },
          {
            "date": "2021-06-17",
            "count": 2
          },
          {
            "date": "2021-06-22",
            "count": 4
          },
          {
            "date": "2021-06-29",
            "count": 1
          },
          {
            "date": "2021-07-03",
            "count": 1
          },
          {
            "date": "2021-07-06",
            "count": 1
          },
          {
            "date": "2021-07-11",
            "count": 1
          },
          {
            "date": "2021-07-13",
            "count": 1
          },
          {
            "date": "2021-07-15",
            "count": 1
          },
          {
            "date": "2021-07-16",
            "count": 1
          },
          {
            "date": "2021-07-19",
            "count": 3
          },
          {
            "date": "2021-07-30",
            "count": 1
          },
          {
            "date": "2021-08-03",
            "count": 1
          },
          {
            "date": "2021-08-05",
            "count": 1
          },
          {
            "date": "2021-08-06",
            "count": 1
          },
          {
            "date": "2021-08-10",
            "count": 1
          },
          {
            "date": "2021-08-16",
            "count": 1
          },
          {
            "date": "2021-08-27",
            "count": 1
          },
          {
            "date": "2021-08-31",
            "count": 1
          },
          {
            "date": "2021-09-02",
            "count": 1
          },
          {
            "date": "2021-09-04",
            "count": 1
          },
          {
            "date": "2021-09-12",
            "count": 1
          },
          {
            "date": "2021-09-13",
            "count": 1
          },
          {
            "date": "2021-09-15",
            "count": 1
          },
          {
            "date": "2021-09-17",
            "count": 1
          },
          {
            "date": "2021-09-18",
            "count": 1
          },
          {
            "date": "2021-09-19",
            "count": 1
          },
          {
            "date": "2021-09-20",
            "count": 1
          },
          {
            "date": "2021-09-29",
            "count": 1
          },
          {
            "date": "2021-09-30",
            "count": 1
          },
          {
            "date": "2021-10-03",
            "count": 1
          },
          {
            "date": "2021-10-04",
            "count": 2
          },
          {
            "date": "2021-10-06",
            "count": 2
          },
          {
            "date": "2021-10-11",
            "count": 3
          },
          {
            "date": "2021-10-18",
            "count": 1
          },
          {
            "date": "2021-10-19",
            "count": 1
          },
          {
            "date": "2021-10-23",
            "count": 1
          },
          {
            "date": "2021-10-25",
            "count": 1
          },
          {
            "date": "2021-10-28",
            "count": 1
          },
          {
            "date": "2021-11-03",
            "count": 2
          },
          {
            "date": "2021-11-05",
            "count": 1
          },
          {
            "date": "2021-11-10",
            "count": 1
          },
          {
            "date": "2021-11-15",
            "count": 1
          },
          {
            "date": "2021-11-17",
            "count": 1
          },
          {
            "date": "2021-11-19",
            "count": 2
          },
          {
            "date": "2021-11-27",
            "count": 2
          },
          {
            "date": "2021-11-28",
            "count": 1
          },
          {
            "date": "2021-11-30",
            "count": 2
          },
          {
            "date": "2021-12-05",
            "count": 2
          },
          {
            "date": "2021-12-06",
            "count": 1
          },
          {
            "date": "2021-12-12",
            "count": 1
          },
          {
            "date": "2021-12-28",
            "count": 2
          },
          {
            "date": "2021-12-30",
            "count": 1
          },
          {
            "date": "2022-01-07",
            "count": 1
          },
          {
            "date": "2022-01-08",
            "count": 2
          },
          {
            "date": "2022-01-11",
            "count": 1
          },
          {
            "date": "2022-01-12",
            "count": 1
          },
          {
            "date": "2022-01-13",
            "count": 1
          },
          {
            "date": "2022-01-16",
            "count": 1
          },
          {
            "date": "2022-01-18",
            "count": 1
          },
          {
            "date": "2022-01-30",
            "count": 1
          },
          {
            "date": "2022-02-04",
            "count": 2
          },
          {
            "date": "2022-02-06",
            "count": 1
          },
          {
            "date": "2022-02-23",
            "count": 2
          },
          {
            "date": "2022-02-26",
            "count": 1
          },
          {
            "date": "2022-03-03",
            "count": 1
          },
          {
            "date": "2022-03-04",
            "count": 1
          },
          {
            "date": "2022-03-09",
            "count": 2
          },
          {
            "date": "2022-03-10",
            "count": 1
          },
          {
            "date": "2022-03-12",
            "count": 1
          },
          {
            "date": "2022-03-14",
            "count": 1
          },
          {
            "date": "2022-03-18",
            "count": 1
          },
          {
            "date": "2022-03-27",
            "count": 1
          },
          {
            "date": "2022-03-28",
            "count": 1
          },
          {
            "date": "2022-03-30",
            "count": 1
          },
          {
            "date": "2022-04-02",
            "count": 1
          },
          {
            "date": "2022-04-13",
            "count": 1
          },
          {
            "date": "2022-04-20",
            "count": 1
          },
          {
            "date": "2022-04-24",
            "count": 1
          },
          {
            "date": "2022-05-03",
            "count": 1
          },
          {
            "date": "2022-05-17",
            "count": 1
          },
          {
            "date": "2022-05-19",
            "count": 1
          },
          {
            "date": "2022-05-24",
            "count": 1
          },
          {
            "date": "2022-05-27",
            "count": 1
          },
          {
            "date": "2022-05-28",
            "count": 1
          },
          {
            "date": "2022-05-30",
            "count": 1
          },
          {
            "date": "2022-06-02",
            "count": 1
          },
          {
            "date": "2022-06-07",
            "count": 3
          },
          {
            "date": "2022-06-08",
            "count": 2
          },
          {
            "date": "2022-06-20",
            "count": 1
          },
          {
            "date": "2022-06-22",
            "count": 1
          },
          {
            "date": "2022-06-24",
            "count": 2
          },
          {
            "date": "2022-06-29",
            "count": 3
          },
          {
            "date": "2022-07-01",
            "count": 1
          },
          {
            "date": "2022-07-04",
            "count": 1
          },
          {
            "date": "2022-07-15",
            "count": 1
          },
          {
            "date": "2022-07-16",
            "count": 1
          },
          {
            "date": "2022-07-21",
            "count": 2
          },
          {
            "date": "2022-07-30",
            "count": 1
          },
          {
            "date": "2022-08-04",
            "count": 1
          },
          {
            "date": "2022-08-11",
            "count": 1
          },
          {
            "date": "2022-08-21",
            "count": 1
          },
          {
            "date": "2022-08-26",
            "count": 1
          },
          {
            "date": "2022-08-29",
            "count": 1
          },
          {
            "date": "2022-08-30",
            "count": 1
          },
          {
            "date": "2022-08-31",
            "count": 1
          },
          {
            "date": "2022-09-03",
            "count": 1
          },
          {
            "date": "2022-09-05",
            "count": 1
          },
          {
            "date": "2022-09-07",
            "count": 1
          },
          {
            "date": "2022-09-08",
            "count": 1
          },
          {
            "date": "2022-09-10",
            "count": 1
          },
          {
            "date": "2022-09-12",
            "count": 2
          },
          {
            "date": "2022-09-13",
            "count": 1
          },
          {
            "date": "2022-09-14",
            "count": 2
          },
          {
            "date": "2022-09-15",
            "count": 1
          },
          {
            "date": "2022-09-21",
            "count": 1
          },
          {
            "date": "2022-10-04",
            "count": 2
          },
          {
            "date": "2022-10-12",
            "count": 1
          },
          {
            "date": "2022-10-13",
            "count": 3
          },
          {
            "date": "2022-10-19",
            "count": 1
          },
          {
            "date": "2022-10-21",
            "count": 1
          },
          {
            "date": "2022-10-27",
            "count": 2
          },
          {
            "date": "2022-10-30",
            "count": 1
          },
          {
            "date": "2022-11-02",
            "count": 1
          },
          {
            "date": "2022-11-03",
            "count": 2
          },
          {
            "date": "2022-11-04",
            "count": 1
          },
          {
            "date": "2022-11-05",
            "count": 1
          },
          {
            "date": "2022-11-14",
            "count": 1
          },
          {
            "date": "2022-11-16",
            "count": 2
          },
          {
            "date": "2022-11-23",
            "count": 1
          },
          {
            "date": "2022-11-26",
            "count": 1
          },
          {
            "date": "2022-12-03",
            "count": 1
          },
          {
            "date": "2022-12-11",
            "count": 1
          },
          {
            "date": "2022-12-12",
            "count": 1
          },
          {
            "date": "2022-12-14",
            "count": 2
          },
          {
            "date": "2022-12-27",
            "count": 1
          },
          {
            "date": "2022-12-28",
            "count": 1
          },
          {
            "date": "2022-12-30",
            "count": 1
          },
          {
            "date": "2023-01-05",
            "count": 1
          },
          {
            "date": "2023-01-11",
            "count": 1
          },
          {
            "date": "2023-01-21",
            "count": 1
          },
          {
            "date": "2023-01-26",
            "count": 1
          },
          {
            "date": "2023-01-29",
            "count": 1
          },
          {
            "date": "2023-02-08",
            "count": 1
          },
          {
            "date": "2023-02-10",
            "count": 1
          },
          {
            "date": "2023-02-13",
            "count": 1
          },
          {
            "date": "2023-02-19",
            "count": 1
          },
          {
            "date": "2023-02-25",
            "count": 1
          },
          {
            "date": "2023-02-28",
            "count": 1
          },
          {
            "date": "2023-03-06",
            "count": 1
          },
          {
            "date": "2023-03-07",
            "count": 1
          },
          {
            "date": "2023-03-11",
            "count": 2
          },
          {
            "date": "2023-03-13",
            "count": 1
          },
          {
            "date": "2023-03-14",
            "count": 1
          },
          {
            "date": "2023-03-15",
            "count": 1
          },
          {
            "date": "2023-03-19",
            "count": 1
          },
          {
            "date": "2023-03-20",
            "count": 1
          },
          {
            "date": "2023-03-21",
            "count": 1
          },
          {
            "date": "2023-03-22",
            "count": 1
          },
          {
            "date": "2023-03-28",
            "count": 1
          },
          {
            "date": "2023-03-30",
            "count": 1
          },
          {
            "date": "2023-04-04",
            "count": 1
          },
          {
            "date": "2023-04-10",
            "count": 1
          },
          {
            "date": "2023-04-11",
            "count": 2
          },
          {
            "date": "2023-04-12",
            "count": 1
          },
          {
            "date": "2023-04-20",
            "count": 1
          },
          {
            "date": "2023-05-02",
            "count": 1
          },
          {
            "date": "2023-05-11",
            "count": 1
          },
          {
            "date": "2023-05-15",
            "count": 1
          },
          {
            "date": "2023-05-25",
            "count": 1
          },
          {
            "date": "2023-05-29",
            "count": 1
          },
          {
            "date": "2023-05-30",
            "count": 1
          },
          {
            "date": "2023-05-31",
            "count": 1
          },
          {
            "date": "2023-06-12",
            "count": 2
          },
          {
            "date": "2023-06-14",
            "count": 1
          },
          {
            "date": "2023-06-15",
            "count": 1
          },
          {
            "date": "2023-07-09",
            "count": 1
          },
          {
            "date": "2023-07-14",
            "count": 1
          },
          {
            "date": "2023-07-23",
            "count": 3
          },
          {
            "date": "2023-07-24",
            "count": 1
          },
          {
            "date": "2023-07-26",
            "count": 1
          },
          {
            "date": "2023-08-09",
            "count": 1
          },
          {
            "date": "2023-08-12",
            "count": 1
          },
          {
            "date": "2023-08-13",
            "count": 1
          },
          {
            "date": "2023-08-23",
            "count": 1
          },
          {
            "date": "2023-08-29",
            "count": 1
          },
          {
            "date": "2023-08-31",
            "count": 1
          },
          {
            "date": "2023-09-04",
            "count": 1
          },
          {
            "date": "2023-09-05",
            "count": 1
          },
          {
            "date": "2023-09-06",
            "count": 1
          },
          {
            "date": "2023-09-07",
            "count": 1
          },
          {
            "date": "2023-09-16",
            "count": 1
          },
          {
            "date": "2023-09-17",
            "count": 1
          },
          {
            "date": "2023-10-04",
            "count": 1
          },
          {
            "date": "2023-10-05",
            "count": 1
          },
          {
            "date": "2023-10-16",
            "count": 1
          },
          {
            "date": "2023-10-23",
            "count": 1
          },
          {
            "date": "2023-10-24",
            "count": 1
          },
          {
            "date": "2023-10-28",
            "count": 1
          },
          {
            "date": "2023-11-03",
            "count": 1
          },
          {
            "date": "2023-11-13",
            "count": 1
          },
          {
            "date": "2023-11-14",
            "count": 1
          },
          {
            "date": "2023-11-16",
            "count": 1
          },
          {
            "date": "2023-11-17",
            "count": 1
          },
          {
            "date": "2023-11-19",
            "count": 1
          },
          {
            "date": "2023-12-11",
            "count": 1
          },
          {
            "date": "2023-12-13",
            "count": 1
          },
          {
            "date": "2023-12-14",
            "count": 1
          },
          {
            "date": "2023-12-21",
            "count": 1
          },
          {
            "date": "2024-01-10",
            "count": 1
          },
          {
            "date": "2024-01-12",
            "count": 1
          },
          {
            "date": "2024-01-14",
            "count": 1
          },
          {
            "date": "2024-01-18",
            "count": 1
          },
          {
            "date": "2024-01-22",
            "count": 1
          },
          {
            "date": "2024-01-25",
            "count": 1
          },
          {
            "date": "2024-01-26",
            "count": 2
          },
          {
            "date": "2024-01-29",
            "count": 1
          },
          {
            "date": "2024-02-08",
            "count": 1
          },
          {
            "date": "2024-02-15",
            "count": 1
          },
          {
            "date": "2024-02-22",
            "count": 1
          },
          {
            "date": "2024-02-23",
            "count": 1
          },
          {
            "date": "2024-02-27",
            "count": 1
          },
          {
            "date": "2024-03-07",
            "count": 1
          },
          {
            "date": "2024-03-11",
            "count": 2
          },
          {
            "date": "2024-03-13",
            "count": 1
          },
          {
            "date": "2024-04-05",
            "count": 1
          },
          {
            "date": "2024-04-20",
            "count": 1
          },
          {
            "date": "2024-04-25",
            "count": 1
          },
          {
            "date": "2024-04-26",
            "count": 1
          },
          {
            "date": "2024-04-28",
            "count": 1
          },
          {
            "date": "2024-05-03",
            "count": 2
          },
          {
            "date": "2024-05-08",
            "count": 2
          },
          {
            "date": "2024-05-12",
            "count": 1
          },
          {
            "date": "2024-05-17",
            "count": 1
          },
          {
            "date": "2024-05-25",
            "count": 1
          },
          {
            "date": "2024-05-27",
            "count": 1
          },
          {
            "date": "2024-05-28",
            "count": 1
          },
          {
            "date": "2024-05-31",
            "count": 1
          },
          {
            "date": "2024-06-01",
            "count": 1
          },
          {
            "date": "2024-06-20",
            "count": 2
          },
          {
            "date": "2024-06-22",
            "count": 1
          },
          {
            "date": "2024-06-27",
            "count": 2
          },
          {
            "date": "2024-07-15",
            "count": 1
          },
          {
            "date": "2024-08-06",
            "count": 1
          },
          {
            "date": "2024-08-20",
            "count": 1
          },
          {
            "date": "2024-08-26",
            "count": 1
          },
          {
            "date": "2024-08-30",
            "count": 1
          },
          {
            "date": "2024-09-03",
            "count": 1
          },
          {
            "date": "2024-09-15",
            "count": 1
          },
          {
            "date": "2024-09-19",
            "count": 1
          },
          {
            "date": "2024-10-02",
            "count": 1
          },
          {
            "date": "2024-10-16",
            "count": 1
          },
          {
            "date": "2024-10-21",
            "count": 3
          },
          {
            "date": "2024-10-22",
            "count": 1
          },
          {
            "date": "2024-10-25",
            "count": 1
          },
          {
            "date": "2024-10-30",
            "count": 1
          },
          {
            "date": "2024-11-20",
            "count": 1
          },
          {
            "date": "2024-12-02",
            "count": 1
          },
          {
            "date": "2024-12-05",
            "count": 1
          },
          {
            "date": "2024-12-13",
            "count": 1
          },
          {
            "date": "2024-12-26",
            "count": 1
          },
          {
            "date": "2025-01-27",
            "count": 1
          },
          {
            "date": "2025-01-29",
            "count": 1
          },
          {
            "date": "2025-01-30",
            "count": 1
          },
          {
            "date": "2025-02-02",
            "count": 1
          },
          {
            "date": "2025-02-03",
            "count": 1
          },
          {
            "date": "2025-02-06",
            "count": 1
          },
          {
            "date": "2025-02-21",
            "count": 1
          },
          {
            "date": "2025-02-22",
            "count": 1
          },
          {
            "date": "2025-02-23",
            "count": 1
          },
          {
            "date": "2025-03-03",
            "count": 1
          },
          {
            "date": "2025-03-07",
            "count": 1
          },
          {
            "date": "2025-03-14",
            "count": 1
          },
          {
            "date": "2025-03-18",
            "count": 1
          },
          {
            "date": "2025-03-23",
            "count": 1
          },
          {
            "date": "2025-04-12",
            "count": 1
          },
          {
            "date": "2025-04-13",
            "count": 1
          },
          {
            "date": "2025-04-15",
            "count": 1
          },
          {
            "date": "2025-04-17",
            "count": 1
          },
          {
            "date": "2025-04-21",
            "count": 1
          },
          {
            "date": "2025-05-17",
            "count": 1
          },
          {
            "date": "2025-05-21",
            "count": 1
          },
          {
            "date": "2025-06-02",
            "count": 1
          },
          {
            "date": "2025-06-10",
            "count": 1
          },
          {
            "date": "2025-06-11",
            "count": 1
          },
          {
            "date": "2025-06-14",
            "count": 1
          },
          {
            "date": "2025-06-15",
            "count": 1
          },
          {
            "date": "2025-06-17",
            "count": 1
          },
          {
            "date": "2025-06-18",
            "count": 1
          },
          {
            "date": "2025-07-13",
            "count": 1
          },
          {
            "date": "2025-07-24",
            "count": 1
          },
          {
            "date": "2025-07-25",
            "count": 1
          },
          {
            "date": "2025-08-09",
            "count": 2
          },
          {
            "date": "2025-08-18",
            "count": 1
          },
          {
            "date": "2025-08-28",
            "count": 3
          },
          {
            "date": "2025-08-29",
            "count": 1
          },
          {
            "date": "2025-09-03",
            "count": 2
          },
          {
            "date": "2025-09-09",
            "count": 1
          },
          {
            "date": "2025-09-18",
            "count": 1
          },
          {
            "date": "2025-09-27",
            "count": 1
          },
          {
            "date": "2025-10-07",
            "count": 1
          },
          {
            "date": "2025-10-12",
            "count": 1
          },
          {
            "date": "2025-10-23",
            "count": 1
          },
          {
            "date": "2025-11-04",
            "count": 1
          },
          {
            "date": "2025-11-09",
            "count": 1
          },
          {
            "date": "2025-11-10",
            "count": 1
          },
          {
            "date": "2025-11-11",
            "count": 1
          },
          {
            "date": "2025-11-27",
            "count": 1
          },
          {
            "date": "2025-12-09",
            "count": 1
          },
          {
            "date": "2025-12-20",
            "count": 1
          },
          {
            "date": "2025-12-24",
            "count": 1
          },
          {
            "date": "2025-12-30",
            "count": 1
          },
          {
            "date": "2026-01-07",
            "count": 1
          },
          {
            "date": "2026-01-09",
            "count": 1
          },
          {
            "date": "2026-01-14",
            "count": 1
          },
          {
            "date": "2026-01-15",
            "count": 2
          },
          {
            "date": "2026-02-03",
            "count": 1
          },
          {
            "date": "2026-02-05",
            "count": 2
          },
          {
            "date": "2026-02-12",
            "count": 1
          },
          {
            "date": "2026-02-14",
            "count": 1
          },
          {
            "date": "2026-02-19",
            "count": 1
          },
          {
            "date": "2026-02-23",
            "count": 1
          },
          {
            "date": "2026-02-24",
            "count": 1
          },
          {
            "date": "2026-03-19",
            "count": 1
          },
          {
            "date": "2026-03-20",
            "count": 1
          },
          {
            "date": "2026-03-29",
            "count": 1
          },
          {
            "date": "2026-04-04",
            "count": 1
          },
          {
            "date": "2026-04-07",
            "count": 1
          },
          {
            "date": "2026-04-16",
            "count": 1
          },
          {
            "date": "2026-04-20",
            "count": 1
          },
          {
            "date": "2026-05-04",
            "count": 1
          },
          {
            "date": "2026-05-22",
            "count": 1
          },
          {
            "date": "2026-05-23",
            "count": 1
          },
          {
            "date": "2026-05-24",
            "count": 1
          },
          {
            "date": "2026-05-25",
            "count": 7
          },
          {
            "date": "2026-05-30",
            "count": 1
          },
          {
            "date": "2026-06-29",
            "count": 1
          },
          {
            "date": "2026-07-07",
            "count": 1
          }
        ],
        "complete": false,
        "collected": 1000,
        "total_stars": 4141
      },
      "open_issues_and_prs": 54
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [],
      "largest_source_bytes": 9470,
      "source_files_sampled": 84,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "Gemfile"
      ],
      "advisories": {
        "error": "No resolved dependencies carried a version and a supported ecosystem",
        "scope": "repository_graph",
        "source": null,
        "findings": [],
        "collected": false,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 0,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 14,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "rubygems"
      ],
      "dependencies": [
        {
          "name": "json",
          "manifest": "Gemfile",
          "ecosystem": "rubygems",
          "version_constraint": null
        },
        {
          "name": "rake",
          "manifest": "Gemfile",
          "ecosystem": "rubygems",
          "version_constraint": null
        },
        {
          "name": "guard-rspec",
          "manifest": "Gemfile",
          "ecosystem": "rubygems",
          "version_constraint": "~> 0.7"
        },
        {
          "name": "rb-fsevent",
          "manifest": "Gemfile",
          "ecosystem": "rubygems",
          "version_constraint": "~> 0.9.1"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "guard-rspec",
            "direct": true,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "json",
            "direct": true,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "rake",
            "direct": true,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "rb-fsevent",
            "direct": true,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "dalli",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "ethon",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "faraday",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "logger",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "ostruct",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "redis",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "rspec",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "sinatra",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "spoon",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "webrick",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 14,
        "direct_count": 4,
        "indirect_count": 10
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 15,
        "merged_prs": 200,
        "open_issues": 39,
        "closed_ratio": 0.918,
        "closed_issues": 435,
        "closed_unmerged_prs": 57
      },
      "bus_factor": 2,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "hanshasselberg",
          "commits": 614,
          "avatar_url": "https://avatars.githubusercontent.com/u/38218?v=4"
        },
        {
          "type": "User",
          "login": "dbalatero",
          "commits": 178,
          "avatar_url": "https://avatars.githubusercontent.com/u/59429?v=4"
        },
        {
          "type": "User",
          "login": "pauldix",
          "commits": 157,
          "avatar_url": "https://avatars.githubusercontent.com/u/4331?v=4"
        },
        {
          "type": "User",
          "login": "gravis",
          "commits": 24,
          "avatar_url": "https://avatars.githubusercontent.com/u/12752?v=4"
        },
        {
          "type": "User",
          "login": "myronmarston",
          "commits": 20,
          "avatar_url": "https://avatars.githubusercontent.com/u/49391?v=4"
        },
        {
          "type": "User",
          "login": "danielcavanagh",
          "commits": 19,
          "avatar_url": "https://avatars.githubusercontent.com/u/1421887?v=4"
        },
        {
          "type": "User",
          "login": "PericlesTheo",
          "commits": 17,
          "avatar_url": "https://avatars.githubusercontent.com/u/1856436?v=4"
        },
        {
          "type": "User",
          "login": "felipedmesquita",
          "commits": 17,
          "avatar_url": "https://avatars.githubusercontent.com/u/16197684?v=4"
        },
        {
          "type": "User",
          "login": "Zapotek",
          "commits": 16,
          "avatar_url": "https://avatars.githubusercontent.com/u/375743?v=4"
        },
        {
          "type": "User",
          "login": "spraints",
          "commits": 15,
          "avatar_url": "https://avatars.githubusercontent.com/u/20158?v=4"
        }
      ],
      "contributors_sampled": 100,
      "top_contributor_share": 0.463
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "ci.yml",
        "experimental.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 8,
            "reason": "8 out of 10 merged PRs checked by a CI test -- score normalized to 8",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 3,
            "reason": "Found 4/12 approved changesets -- score normalized to 3",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 36 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 0,
            "reason": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 10,
            "reason": "0 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "e4f62786fbd6d7ea4dcb9510488ea9320e86478c",
        "ran_at": "2026-07-21T23:59:01Z",
        "aggregate_score": 3.7,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-03-10T14:39:02Z",
      "oldest_open_prs": [
        {
          "number": 409,
          "created_at": "2014-09-24T19:33:27Z",
          "last_comment_at": "2014-09-24T19:56:13Z",
          "last_comment_author": "simi"
        },
        {
          "number": 582,
          "created_at": "2017-11-15T21:37:47Z",
          "last_comment_at": "2022-08-18T12:56:52Z",
          "last_comment_author": "hanshasselberg"
        },
        {
          "number": 583,
          "created_at": "2017-11-15T21:39:49Z",
          "last_comment_at": "2018-03-26T20:24:37Z",
          "last_comment_author": "philsturgeon"
        },
        {
          "number": 619,
          "created_at": "2019-02-17T16:15:24Z",
          "last_comment_at": "2019-02-17T17:58:57Z",
          "last_comment_author": "marcheiligers"
        },
        {
          "number": 642,
          "created_at": "2019-12-03T16:41:33Z",
          "last_comment_at": "2019-12-04T19:35:49Z",
          "last_comment_author": "doccaz"
        },
        {
          "number": 646,
          "created_at": "2020-01-30T18:59:54Z",
          "last_comment_at": "2020-01-30T21:05:56Z",
          "last_comment_author": "reginaldojunior"
        },
        {
          "number": 650,
          "created_at": "2020-03-05T20:30:58Z",
          "last_comment_at": "2020-03-29T16:10:57Z",
          "last_comment_author": "Sharpie"
        },
        {
          "number": 653,
          "created_at": "2020-04-18T13:18:44Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 656,
          "created_at": "2020-05-14T23:24:51Z",
          "last_comment_at": "2020-11-11T23:30:19Z",
          "last_comment_author": "kmcclellan"
        },
        {
          "number": 664,
          "created_at": "2020-09-01T22:19:48Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 688,
          "created_at": "2021-11-06T23:54:52Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 708,
          "created_at": "2022-12-09T11:49:11Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 714,
          "created_at": "2023-04-03T03:16:13Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 731,
          "created_at": "2025-06-18T10:33:30Z",
          "last_comment_at": "2025-06-18T10:34:57Z",
          "last_comment_author": "voxik"
        },
        {
          "number": 741,
          "created_at": "2025-09-23T04:00:00Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-03-10T14:37:41Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 182,
          "created_at": "2012-06-11T11:36:41Z",
          "last_comment_at": "2023-05-08T14:20:07Z",
          "last_comment_author": "luis30n"
        },
        {
          "number": 389,
          "created_at": "2014-07-18T19:36:30Z",
          "last_comment_at": "2025-08-14T01:41:54Z",
          "last_comment_author": "felipedmesquita"
        },
        {
          "number": 427,
          "created_at": "2015-01-29T18:21:38Z",
          "last_comment_at": "2017-08-22T06:01:47Z",
          "last_comment_author": "hanshasselberg"
        },
        {
          "number": 452,
          "created_at": "2015-05-05T00:03:49Z",
          "last_comment_at": "2025-03-13T08:42:10Z",
          "last_comment_author": "felipedmesquita"
        },
        {
          "number": 465,
          "created_at": "2015-07-22T20:27:48Z",
          "last_comment_at": "2024-04-23T08:03:39Z",
          "last_comment_author": "alexeyr-ci"
        },
        {
          "number": 492,
          "created_at": "2015-11-23T06:39:41Z",
          "last_comment_at": "2020-08-08T12:57:55Z",
          "last_comment_author": "ericcj"
        },
        {
          "number": 494,
          "created_at": "2015-12-15T20:26:39Z",
          "last_comment_at": "2017-10-17T07:36:00Z",
          "last_comment_author": "janneh"
        },
        {
          "number": 507,
          "created_at": "2016-02-05T21:10:31Z",
          "last_comment_at": "2016-02-06T04:07:56Z",
          "last_comment_author": "samwoods1"
        },
        {
          "number": 512,
          "created_at": "2016-03-06T06:16:47Z",
          "last_comment_at": "2025-03-13T16:38:22Z",
          "last_comment_author": "felipedmesquita"
        },
        {
          "number": 528,
          "created_at": "2016-06-15T17:17:38Z",
          "last_comment_at": "2016-06-15T18:32:31Z",
          "last_comment_author": "jalberto"
        },
        {
          "number": 539,
          "created_at": "2016-09-12T16:27:10Z",
          "last_comment_at": "2016-12-22T13:24:22Z",
          "last_comment_author": "hanshasselberg"
        },
        {
          "number": 557,
          "created_at": "2017-01-23T20:49:32Z",
          "last_comment_at": "2018-04-20T11:12:19Z",
          "last_comment_author": "mbystryantsev"
        },
        {
          "number": 572,
          "created_at": "2017-07-27T09:44:12Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 580,
          "created_at": "2017-10-30T11:38:22Z",
          "last_comment_at": "2022-11-11T13:34:58Z",
          "last_comment_author": "semaperepelitsa"
        },
        {
          "number": 581,
          "created_at": "2017-11-15T09:22:11Z",
          "last_comment_at": "2023-05-29T20:51:04Z",
          "last_comment_author": "eruizc-dev"
        },
        {
          "number": 584,
          "created_at": "2017-11-16T17:54:21Z",
          "last_comment_at": "2021-05-28T10:56:50Z",
          "last_comment_author": "iMacTia"
        },
        {
          "number": 592,
          "created_at": "2018-02-24T05:34:20Z",
          "last_comment_at": "2018-04-06T00:28:47Z",
          "last_comment_author": "drpump"
        },
        {
          "number": 594,
          "created_at": "2018-04-06T01:06:32Z",
          "last_comment_at": "2020-05-15T21:34:11Z",
          "last_comment_author": "kmcclellan"
        },
        {
          "number": 609,
          "created_at": "2018-10-12T14:41:47Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 610,
          "created_at": "2018-10-21T15:27:04Z",
          "last_comment_at": "2019-06-26T12:40:39Z",
          "last_comment_author": "reneklacan"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/typhoeus/typhoeus",
    "host": "github.com",
    "name": "typhoeus",
    "owner": "typhoeus"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 59,
      "inputs": {
        "security": 37,
        "vitality": 38,
        "community": 86,
        "governance": 71,
        "engineering": 60
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "at_risk",
        "name": "Vitality",
        "value": 38,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "critical",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 27,
            "inputs": {
              "commits_last_year": 28,
              "human_commit_share": 1,
              "days_since_last_push": 133,
              "active_weeks_last_year": 6
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 133 days ago",
                "points": 9.9,
                "status": "partial",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 133
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "6/52 weeks with commits",
                "points": 4.2,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 6
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "28 commits in the last year",
                "points": 13.1,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 28
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "moderate",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 54,
            "inputs": {
              "releases_count": 42,
              "latest_release_tag": "v1.6.0",
              "releases_from_tags": true,
              "days_since_latest_release": 133,
              "mean_days_between_releases": 400.4
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "42 version tags (no GitHub releases)",
                "points": 16.2,
                "status": "partial",
                "details": [
                  {
                    "code": "version_tags_no_releases",
                    "params": {
                      "count": 42
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 133 days ago",
                "points": 27,
                "status": "partial",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 133
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~400.4 days",
                "points": 5.4,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 400.4
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 133,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 133 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 133
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "excellent",
        "name": "Community & Adoption",
        "value": 86,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "excellent",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "forks": 441,
              "stars": 4141,
              "watchers": 51,
              "growth_state": "organic",
              "growth_factor_pct": 100
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "4,141 stars",
                "points": 58.7,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 4141
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "441 forks",
                "points": 22,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 441
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "51 watchers",
                "points": 9.4,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 51
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "good",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 70,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "excellent",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "packages": [
                "typhoeus"
              ],
              "dependents": null,
              "ecosystems": "rubygems",
              "total_downloads": 280145725,
              "monthly_downloads": null
            },
            "components": [
              {
                "key": "total_downloads",
                "name": "Total downloads",
                "detail": "280,145,725 downloads all-time across rubygems",
                "points": 80,
                "status": "met",
                "details": [
                  {
                    "code": "downloads_total",
                    "params": {
                      "count": 280145725,
                      "ecosystems": "rubygems"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "good",
        "name": "Sustainability & Governance",
        "value": 71,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "moderate",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 61,
            "inputs": {
              "bus_factor": 2,
              "contributors_sampled": 100,
              "top_contributor_share": 0.463
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "2 contributor(s) cover half of all commits",
                "points": 25.2,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 46% of commits",
                "points": 12.1,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 46
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "100 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 36 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 77,
            "inputs": {
              "merged_prs": 200,
              "open_issues": 39,
              "closed_issues": 435,
              "issue_closed_ratio": 0.918,
              "closed_unmerged_prs": 57
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "92% of issues closed",
                "points": 42.9,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 92
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "200/257 decided PRs merged",
                "points": 29.8,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 200,
                      "decided": 257
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 4/12 approved changesets -- score normalized to 3",
                "points": 4.5,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 53,
            "inputs": {
              "followers": 6,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "typhoeus",
              "public_repos": 4,
              "account_age_days": 5179
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "6 followers of typhoeus",
                "points": 6.1,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 6,
                      "login": "typhoeus"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "4 public repos, account ~14 yr old",
                "points": 17.1,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 4
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 14
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "typhoeus"
              ],
              "ecosystems": "rubygems",
              "any_deprecated": false,
              "min_days_since_publish": 133
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on rubygems",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "rubygems"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 133 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 133
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "77 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 77
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "moderate",
        "name": "Engineering Quality",
        "value": 60,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 64,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "2 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "8 out of 10 merged PRs checked by a CI test -- score normalized to 8",
                "points": 16,
                "status": "partial",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "topics": [],
              "has_wiki": false,
              "homepage": "http://rubydoc.info/github/typhoeus/typhoeus",
              "has_readme": true,
              "has_docs_dir": false,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "http://rubydoc.info/github/typhoeus/typhoeus",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 37,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "packaging",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 37,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 3.7
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "8 out of 10 merged PRs checked by a CI test -- score normalized to 8",
                "points": 2,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 4/12 approved changesets -- score normalized to 3",
                "points": 2.2,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 36 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "0 existing vulnerabilities detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 21
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "at_risk",
        "name": "AI Readiness",
        "value": 30,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "critical",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 28,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.53,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "53 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 28.3,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 53,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "critical",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 22,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [],
              "has_dockerfile": false,
              "typed_language": false,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": 0,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "moderate",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "primary_language": "Ruby",
              "largest_source_bytes": 9470,
              "source_files_sampled": 84,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Ruby without a type-check config",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_typecheck_config_language",
                    "params": {
                      "language": "Ruby"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/84 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 84,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "No resolved dependencies carried a version and a supported ecosystem"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-21T23:59:26.598713Z",
  "schema_version": "0.26.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/t/typhoeus/typhoeus.svg",
  "full_name": "typhoeus/typhoeus",
  "license_state": "standard",
  "license_spdx": "MIT"
}

Bewertungen sind Signale, keine Garantien. Sie spiegeln öffentlich sichtbare Praxis auf GitHub wider — kein Code-Audit und keine Sicherheitsgarantie.

Fehlende Daten werden ausgeschlossen und die Gewichte neu normiert, nie als null bewertet. Die Methodik ist versioniert und offen: Metriken v1.13.0, Schema v0.26.0 — vollständige Methodik · Metriken-Wiki.

Wie ein einzelnes Ergebnis im Gesamtregister steht: aggregierte StatistikenRubyGems.