Звіт у форматі JSON машиночитний
{
"data": {
"repo": {
"topics": [
"httparty",
"ruby",
"http"
],
"is_fork": false,
"size_kb": 1597,
"has_wiki": false,
"homepage": null,
"languages": {
"CSS": 2284,
"HTML": 2612,
"Ruby": 298867,
"Shell": 865,
"Gherkin": 15510
},
"pushed_at": "2026-03-04T15:48:24Z",
"created_at": "2008-07-28T20:55:11Z",
"owner_type": "User",
"updated_at": "2026-07-16T16:05:26Z",
"description": ":tada: Makes http fun again!",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "main",
"license_spdx_raw": "MIT",
"primary_language": "Ruby",
"significant_languages": [
"Ruby"
]
},
"owner": {
"blog": "https://www.johnnunemaker.com",
"name": "John Nunemaker",
"type": "User",
"login": "jnunemaker",
"company": "@verygoodsoftwarellc and @boxoutsports ",
"location": "US",
"followers": 2046,
"avatar_url": "https://avatars.githubusercontent.com/u/235?v=4",
"created_at": "2008-02-13T18:00:42Z",
"is_verified": null,
"public_repos": 77,
"account_age_days": 6733
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v0.24.2",
"kind": "patch",
"published_at": "2026-01-14T22:56:40Z"
},
{
"tag": "v0.24.1",
"kind": "patch",
"published_at": "2026-01-14T22:44:45Z"
},
{
"tag": "v0.24.0",
"kind": "minor",
"published_at": "2025-12-29T13:57:58Z"
},
{
"tag": "v0.23.2",
"kind": "patch",
"published_at": "2025-10-07T21:54:25Z"
},
{
"tag": "v0.23.1",
"kind": "patch",
"published_at": "2025-03-28T18:29:51Z"
},
{
"tag": "v0.23.0",
"kind": "minor",
"published_at": "2025-03-27T14:49:43Z"
},
{
"tag": "v0.22.0",
"kind": "minor",
"published_at": "2024-04-29T12:26:58Z"
},
{
"tag": "v0.17.3",
"kind": "patch",
"published_at": "2019-12-16T14:42:52Z"
},
{
"tag": "v0.17.2",
"kind": "patch",
"published_at": "2019-12-16T11:35:00Z"
}
],
"recent_commits": [
{
"oid": "2daba91bf3f61de2676a2e906f4d3181ebadea83",
"body": "fix undefined method `get_fields'",
"is_bot": false,
"headline": "Merge pull request #837 from zed-0xff/patch-1",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2026-03-04T15:48:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "37799836fa0f864962acc7afbdd723b92e3b9d07",
"body": "```\r\nin `parse_cookie': undefined method `get_fields' for \"...\":String (NoMethodError)\r\n```",
"is_bot": false,
"headline": "fix undefined method `get_fields'",
"author_name": "Andrey \"Zed\" Zaikin",
"author_login": "zed-0xff",
"committed_at": "2026-03-04T14:28:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a04b65353453140f1f5cc0f9b118bd7b9182b842",
"body": "…xample\n\nUpdate README StackExchange API example",
"is_bot": false,
"headline": "Merge pull request #836 from harland-davis/docs/https-stackexchange-e…",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2026-02-21T04:42:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cb12f5ff663c46fe76d19ad000154032e607d989",
"body": null,
"is_bot": false,
"headline": "Update README StackExchange API example",
"author_name": "Kyle Davis",
"author_login": "harland-davis",
"committed_at": "2026-02-20T22:54:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9c89e55ce3578b393e17b2928acab5b5f941e808",
"body": "Streaming multipart uploads (introduced in 0.24.0) caused 400 errors\nwith some servers that don't handle chunked transfer encoding well.\n\nThis changes streaming from opt-out (stream_body: false) to opt-in\n(stream_body: true) to preserve backwards compatibility.\n\nUsers who want memory-efficient large\n[…]\nile uploads can explicitly\nenable streaming with stream_body: true.\n\nFixes #832\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: make streaming uploads opt-in for backwards compatibility",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2026-01-14T22:53:56Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "906aab0de3d41129c0003f582f57fd30b970056a",
"body": "🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Release 0.24.1",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2026-01-14T22:44:07Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "06d436383ca50aeee7621ed186427b2b6d59cefb",
"body": "…le-header\n\nAdd trailing clrf when building header for non-file parts.",
"is_bot": false,
"headline": "Merge pull request #833 from serixscorpio/fix-stream-multipart-non-fi…",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2026-01-06T16:47:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "51cc6b9073fb174f1d36d9e9925440bd362d9ef1",
"body": "The test was comparing timestamps captured at different moments,\ncausing intermittent failures when a second boundary was crossed.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: freeze time in logstash formatter test to prevent flaky failures",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2026-01-06T16:42:33Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "bbc4658b8f517969891026365a6434bdfdfe53ae",
"body": "When building a `StreamingMultipartBody`, the following example shows the\nheader for the `first_name` part should be followed by a clrf before the\npart's content starts.\n\n==== Before ====\n--test-boundary-123\nContent-Disposition: form-data; name=\"avatar\"; filename=\"tiny.gif\"\nContent-Type: image/gif\n\n\n[…]\n123\nContent-Disposition: form-data; name=\"avatar\"; filename=\"tiny.gif\"\nContent-Type: image/gif\n\nGIF89a,;\n--test-boundary-123\nContent-Disposition: form-data; name=\"first_name\"\n\nJohn\n--test-boundary-123",
"is_bot": false,
"headline": "Add trailing clrf when building header for non-file parts.",
"author_name": "Eric Chiang",
"author_login": "serixscorpio",
"committed_at": "2025-12-31T14:26:24Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "55ec76e8d1df7903eab3f7c2367991400d3cf65e",
"body": null,
"is_bot": false,
"headline": "Release 0.24.0",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2025-12-28T21:37:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ddfbc8ddfca03d4f4026b01763ee906071ca558b",
"body": "fix: prevent SSRF via absolute URL bypassing base_uri",
"is_bot": false,
"headline": "Merge pull request #830 from jnunemaker/fix-ssrf-base-uri-bypass",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2025-12-23T18:23:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0529bcd6309c9fd9bfdd50ae211843b10054c240",
"body": "…-38w4)\n\nWhen base_uri is configured and a path argument contains an absolute URL\nwith a different host, HTTParty now raises UnsafeURIError instead of\nsending the request (and any configured headers/credentials) to the\nunintended host.\n\nThis prevents Server-Side Request Forgery (SSRF) attacks where \n[…]\ngitimate use cases. Redirects are not validated to allow normal\nredirect flows.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: prevent SSRF via absolute URL bypassing base_uri (GHSA-hm5p-x4rq…",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2025-12-23T18:14:26Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "05f38fd35d8088b9770513c2eaecce671f0940ec",
"body": "feat: stream multipart file uploads to reduce memory usage",
"is_bot": false,
"headline": "Merge pull request #829 from jnunemaker/memory",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2025-12-23T15:37:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8901c238c00d0aca8920271314c4c5d7dd2701fb",
"body": "Previously, uploading a 10 MB file consumed ~40 MB of memory because\nthe entire file was read into memory and concatenated into a single\nmultipart body string.\n\nThis change introduces StreamingMultipartBody, which implements an\nIO-like interface that Net::HTTP can use via body_stream. Files are\nnow \n[…]\nsue reported in:\nhttps://gist.github.com/janko/238bbcc78b369ce3438365e5507bc671\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: stream multipart file uploads to reduce memory usage",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2025-12-23T14:59:14Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "091bd6aa909e38822b72f8ce2383385cf8eeb302",
"body": "set Content-Type for Hash body in requests",
"is_bot": false,
"headline": "Merge pull request #828 from jnunemaker/issue-826",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2025-12-23T03:23:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "59c0ac5f3d906fb6be2133c1b89d75329755af8f",
"body": "Added logic to automatically set the Content-Type to 'application/x-www-form-urlencoded' when the request body is a Hash and no Content-Type is specified. Updated tests to verify this behavior and ensure that provided Content-Types are not overwritten.\n\nrefs [Informative] net-http 0.7.0 indirectly breaks HTTParty - default content-type removed.\nFixes #826",
"is_bot": false,
"headline": "feat: set Content-Type for Hash body in requests",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2025-12-18T14:59:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5c8b45e6297d181d99a56f5297dade3e358cc6f9",
"body": "Force binary encoding throughout",
"is_bot": false,
"headline": "Merge pull request #823 from jnunemaker/mixed-encodings",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2025-10-08T12:54:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6419cb307dd435572963e4ab40cd96b41389efcf",
"body": "Should get rid of mixed encoding issues that could lead to segfaults.\n\nref #814",
"is_bot": false,
"headline": "Force binary encoding throughout",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2025-10-08T12:52:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c74571f7925c8e142d02c2b7d6ebeedf923b1dd1",
"body": null,
"is_bot": false,
"headline": "Release 0.23.2",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2025-10-07T21:53:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6e1e86956039cc84eb2ec5bffd8750e46309373d",
"body": "Fix multipart with files in binary mode and fields including non-ASCII characters",
"is_bot": false,
"headline": "Merge pull request #822 from rdimartino/rd/fix-821",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2025-10-07T21:50:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4dcc0db2a3588860e6cc64c53497a38a70da8022",
"body": null,
"is_bot": false,
"headline": "fix: force_encoding for file data",
"author_name": "Robert DiMartino",
"author_login": "rdimartino",
"committed_at": "2025-10-07T21:26:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "48b417194be645e1fddc8add67d7cd861ce1a957",
"body": null,
"is_bot": false,
"headline": "chore: add failing spec for binmode file + non-ASCII field",
"author_name": "Robert DiMartino",
"author_login": "rdimartino",
"committed_at": "2025-10-07T21:23:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bcc3e50c0a0b0259a201caa390875081b6c72a89",
"body": "Add changelog_uri metadata to gemspec",
"is_bot": false,
"headline": "Merge pull request #817 from baraidrissa/add-changelog-uri",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2025-07-19T16:09:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5c300a0fac679e4576bbd47a59561d7963343458",
"body": null,
"is_bot": false,
"headline": "Add changelog_uri metadata to gemspec",
"author_name": "Idrissa Bara",
"author_login": "idrissa-bara-wg",
"committed_at": "2025-07-15T08:40:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9417ce158d732fecc753c656accb59c470cfb6f8",
"body": null,
"is_bot": false,
"headline": "Release 0.23.1",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2025-03-28T18:28:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d2683879c902b278a0776620dd7510c99a9db670",
"body": null,
"is_bot": false,
"headline": "Add foul to class level",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2025-03-28T18:26:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "891a4a8093afd4cacecab2719223e3170d07f1c0",
"body": null,
"is_bot": false,
"headline": "Release 0.23 with foul mode",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2025-03-27T14:45:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "894649d7c6fb3416f32ac260e4dc7ce3a0682f19",
"body": null,
"is_bot": false,
"headline": "Plural typo",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2025-03-27T14:44:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6efd004b63aa05178862869010e6b6628817f32f",
"body": null,
"is_bot": false,
"headline": "Fix example",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2025-03-27T13:44:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "848616db1d24a6f71fd1cd11997eb217f88f7cf0",
"body": null,
"is_bot": false,
"headline": "Fix missing base64 error on ruby 3.4",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2025-03-27T13:42:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2ed53ae08962851e7a26691505509647325ada9e",
"body": null,
"is_bot": false,
"headline": "Regex match to fix 3.4 failure",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2025-03-27T13:42:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c30b0e91e46eaea66d58d0dec990644841db4502",
"body": null,
"is_bot": false,
"headline": "Add ruby 3.4 to matrix",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2025-03-27T13:42:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e47c7f9ca0ada90798d78931f2f18ba1bfabf37e",
"body": null,
"is_bot": false,
"headline": "Tweak readme/examples",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2025-03-27T13:42:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8e67078844c364dd32c789a734eae784e39978f4",
"body": null,
"is_bot": false,
"headline": "Inject foul higher up the exception stack",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2025-03-27T13:42:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "25b9bf84c7e63d4c65b6176939b8cb48cd0ead8c",
"body": "No point in a second file with just that.",
"is_bot": false,
"headline": "Move foul errors into exceptions.rb",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2025-03-27T13:42:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "072e681e5eb533b4e13ea005696875c70963f333",
"body": null,
"is_bot": false,
"headline": "Handle original error via ruby's cause",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2025-03-27T13:42:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "63369f42e355a38741c47bcd5fd0b96d494fd6a3",
"body": "- Update README with the new `foul` option and add examples\n- Update specs",
"is_bot": false,
"headline": "Change:",
"author_name": "Ashish Rao",
"author_login": "ashishra0",
"committed_at": "2025-03-27T13:42:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "824eba91cf6a9147596ef0aacfc258f520e1d205",
"body": null,
"is_bot": false,
"headline": "Add :foul option to wrap common net/http errors in HTTParty::Foul",
"author_name": "Ashish Rao",
"author_login": "ashishra0",
"committed_at": "2025-03-27T13:42:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "295a2d4842c0a4351b2fa2187c5bc56f65256e72",
"body": "Update README.md",
"is_bot": false,
"headline": "Merge pull request #811 from tradesmanhelix/patch-1",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2025-03-27T12:25:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "edd5d3bde4539df4348a15b6bbbd814fb64e116a",
"body": "- Add note re. required format when using the PEM SSL option.\r\n- Add note re. non-password protected certs.",
"is_bot": false,
"headline": "Update README.md",
"author_name": "Alex Smith",
"author_login": "tradesmanhelix",
"committed_at": "2025-03-12T18:14:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "348a22ba3fc3d873bb2b9ee6b9886f5a648024c2",
"body": "docs: replace master branch to main for better view",
"is_bot": false,
"headline": "Merge pull request #803 from bestony/patch-1",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2024-12-17T18:13:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ee89905238ac877a9ba15cd965d030291d170ad6",
"body": null,
"is_bot": false,
"headline": "docs: replace master branch to main for better view",
"author_name": "白宦成",
"author_login": "bestony",
"committed_at": "2024-07-21T07:43:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f0c42a7198c9357f0d95633e46512c92769f6476",
"body": null,
"is_bot": false,
"headline": "Update requirements",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2024-04-29T12:37:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6e1f154309a6076208ba9bec8e4183ec619541e0",
"body": null,
"is_bot": false,
"headline": "master => main",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2024-04-29T12:26:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "15c1b4b81ddc764e8101149c8c5f0605cf0b59b9",
"body": null,
"is_bot": false,
"headline": "Release 0.22.0",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2024-04-29T12:25:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3155f486103a443cbdab74ba055f3dbd8f141a13",
"body": null,
"is_bot": false,
"headline": "Update changelog to point at github releases",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2024-04-29T12:24:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e516b11c773587aed96ca58001d4fbe52198db8a",
"body": "Drop old ruby support",
"is_bot": false,
"headline": "Merge pull request #799 from jnunemaker/drop-old-rubies",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2024-03-20T13:15:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "322785d6fbdb8f5e0017c4aaf97e1f9d2ef613fe",
"body": "Keeping 2.7 even though its EOL because kind john is kind.",
"is_bot": false,
"headline": "Drop old ruby support",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2024-03-20T13:08:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ca47360fbf3a6f4be674ea374be68f4cf1a94294",
"body": "…jasonheecs-master",
"is_bot": false,
"headline": "Merge branch 'master' of https://github.com/jasonheecs/httparty into …",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2024-03-20T12:58:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b9bd421ec5cf14b4df03a744257e40d38b79a6ae",
"body": "Lazy load some gems",
"is_bot": false,
"headline": "Merge pull request #760 from orgads/lazy-require",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2024-03-20T12:42:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5b25ae9fa119b8c76c62a92d79e6b9dc52a51498",
"body": "Avoid anonymous eval",
"is_bot": false,
"headline": "Merge pull request #776 from Shopify/avoid-anonymous-eval",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2024-03-20T12:37:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8773af1e5fb05f66b32dc51fe8b8d0102f2ee009",
"body": null,
"is_bot": false,
"headline": "Fix regex specs",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2024-03-20T12:35:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "baa5e16dc85ba08c44735ff2a47f0aae727d855f",
"body": "…party into ryanfox1985-raise_on_regexpr",
"is_bot": false,
"headline": "Merge branch 'raise_on_regexpr' of https://github.com/ryanfox1985/htt…",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2024-03-20T12:18:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1aa552f8d85dc12d56d0cce167d12b29c5113538",
"body": "…ions/checkout-4\n\nBump actions/checkout from 3 to 4",
"is_bot": false,
"headline": "Merge pull request #792 from jnunemaker/dependabot/github_actions/act…",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2024-03-20T12:13:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7e13fd8e04d5da903496d31d752d51a32ea5900f",
"body": "CI against Ruby 3.3",
"is_bot": false,
"headline": "Merge pull request #798 from y-yagi/ci-against-ruby33",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2024-03-20T12:12:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "725808015fec86d0be195e8fcbe8efe93fbb545c",
"body": null,
"is_bot": false,
"headline": "CI against Ruby 3.3",
"author_name": "yuuji.yaginuma",
"author_login": "y-yagi",
"committed_at": "2024-03-20T08:57:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cdae411689baec0c40d312b6f0ac2153de03ab56",
"body": "Clear body when redirecting to a GET",
"is_bot": false,
"headline": "Merge pull request #783 from rhett-inbox/clear-body-on-redirect",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2024-03-11T12:27:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "36c31e050d0e8329ab7ce996420725cda7294ac2",
"body": "Add CSV gem as a dependency for Ruby 3.4",
"is_bot": false,
"headline": "Merge pull request #796 from ngan/add-csv-gem",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2024-02-17T22:23:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "46c27bff40a989fffc68fa387515332e463c7efb",
"body": null,
"is_bot": false,
"headline": "Add CSV gem as a dependency for Ruby 3.4",
"author_name": "Ngan Pham",
"author_login": "ngan",
"committed_at": "2024-02-14T15:52:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a878ecde55bff31d28d7d23aeed4078b221bfe18",
"body": "Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/v3...v4)\n\n---\nupdated-dependencies:\n- dependency-name: actions/checkout\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump actions/checkout from 3 to 4",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2023-12-14T13:03:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1e607fa45cf7ec16e6f138a85aa4962e92e139b2",
"body": "CI: Tell dependabot to update GH Actions",
"is_bot": false,
"headline": "Merge pull request #791 from olleolleolle/patch-1",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2023-12-14T13:02:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "af5d797afc78f931fb995071b269bae123cd4082",
"body": null,
"is_bot": false,
"headline": "CI: Tell dependabot to update GH Actions",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2023-12-13T08:10:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2116595ab4afc85f592f258c171f2ab2ef39ee80",
"body": "Only load them when they are used.",
"is_bot": false,
"headline": "Lazy load some gems",
"author_name": "Orgad Shaneh",
"author_login": "orgads",
"committed_at": "2023-10-21T17:00:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "67cbfbd7c6eb31a212a72d16d20680f131d8de42",
"body": "…thod\n\nExtract request building method",
"is_bot": false,
"headline": "Merge pull request #786 from aliismayilov/extract-request-building-me…",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2023-08-31T18:28:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a8b77b06580de84b190e7c4b1fc51d6e3cb9140c",
"body": null,
"is_bot": false,
"headline": "Extract request building method",
"author_name": "Ali Ismayilov",
"author_login": "aliismayilov",
"committed_at": "2023-08-19T19:09:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b4f6dff05b0f6e8d8742a8c6bcb15af82324382c",
"body": null,
"is_bot": false,
"headline": "spacing",
"author_name": "rhett-inbox",
"author_login": "rhett-inbox",
"committed_at": "2023-05-02T21:23:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d7a65997fdb7084180029827ce820a8dae3fcd7f",
"body": "… getting lengthy. introduce logic to clear the body when redirecting to a GET",
"is_bot": false,
"headline": "extract core redirection logic from handle_response as the method was…",
"author_name": "rhett-inbox",
"author_login": "rhett-inbox",
"committed_at": "2023-05-02T21:07:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "30f2ec15917ef75934e7e7b139d9c92c22141093",
"body": "Fix typo in example name",
"is_bot": false,
"headline": "Merge pull request #780 from xymbol/typo",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2023-03-30T12:55:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b0f93965face334a8821ddc5bdae7a71818a0854",
"body": null,
"is_bot": false,
"headline": "Fix typo in example name",
"author_name": "Adrián Mugnolo",
"author_login": "xymbol",
"committed_at": "2023-03-29T09:59:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c630a95ba1482858f016861a571b7f78f447216f",
"body": null,
"is_bot": false,
"headline": "Allow regexpr on raise errors.",
"author_name": "Guillermo Guerrero",
"author_login": "ryanfox1985",
"committed_at": "2023-02-07T18:21:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fc39eddbca5adaa5f323fb21fbd5b829e4cffdd7",
"body": "This makes it hard to track down code when profiling etc.",
"is_bot": false,
"headline": "Avoid anonymous eval",
"author_name": "Jean Boussier",
"author_login": "byroot",
"committed_at": "2023-01-11T12:09:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e731057ebc297eb8a750e866b7762e869dea3087",
"body": null,
"is_bot": false,
"headline": "Update version",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2022-12-30T21:05:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a2038f2b877be2dfb3add43d4f48f2c565b8c61c",
"body": null,
"is_bot": false,
"headline": "Add security notice in changelog",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2022-12-30T21:04:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "455c222a4d81dc9e8cda131f61f215cef192aac0",
"body": null,
"is_bot": false,
"headline": "Ignore asdf tool-versions",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2022-12-30T21:04:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cdb45a678c43e44570b4e73f84b1abeb5ec22b8e",
"body": "escape filename in the multipart/form-data Content-Disposition header",
"is_bot": false,
"headline": "Merge pull request from GHSA-5pq7-52mg-hr42",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2022-12-30T20:59:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "243a215430d00e0950d2bc6c2cda995cada543d1",
"body": "Suggestion: Replace `mime-types` with `mini_mime` for content type lookup",
"is_bot": false,
"headline": "Merge pull request #769 from carlosantoniodasilva/ca-mini-mime",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2022-12-30T20:49:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a577acad1515743f2c0c45d40dad7a8a0e9c1554",
"body": "Adds Ruby 3.2 to the CI matrix",
"is_bot": false,
"headline": "Merge pull request #773 from petergoldstein/feature/add_ruby_3_2_to_ci",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2022-12-30T20:48:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7bb1f940abc5d51c76bd41af6d62aea05f920b15",
"body": null,
"is_bot": false,
"headline": "Adds Ruby 3.2 to the CI matrix. Updates checkout action version.",
"author_name": "Peter Goldstein",
"author_login": "petergoldstein",
"committed_at": "2022-12-29T21:27:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "31d3d9d016361d6b4a313400202b618afb81ca15",
"body": null,
"is_bot": false,
"headline": "Merge pull request #771 from mishina2228/update-ci-status-badge",
"author_name": "Nikita Misharin",
"author_login": "TheSmartnik",
"committed_at": "2022-12-22T22:53:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7737a77ea94745f971084f38b05bb55ed3faccb7",
"body": null,
"is_bot": false,
"headline": "Update CI status badge",
"author_name": "mishina",
"author_login": "mishina2228",
"committed_at": "2022-12-22T14:26:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "051c181ef436bcd85871226cc01382e08b495954",
"body": null,
"is_bot": false,
"headline": "escape filename in the multipart/form-data Content-Disposition header",
"author_name": "motoyasu-saburi",
"author_login": "motoyasu-saburi",
"committed_at": "2022-11-27T05:04:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "366745b13460d6b20a167a5dce64d59deafabf68",
"body": "`mini_mime` is a minimal mime type library that's more performant and\nless memory hungry.\nhttps://github.com/discourse/mini_mime\n\nIt has replaced `mime-types` in the `mail` gem: (which is a dependency\nof `actionmailer`, and by extension, `rails`)\nhttps://github.com/mikel/mail/pull/1059\n\nAs well as `\n[…]\nhould be already available in most Rails\napps, instead of pulling in an extra `mime-types` dependency.\n\nThe change in code is pretty straightforward, the same one made by the\ncapybara PR linked above.",
"is_bot": false,
"headline": "Replace `mime-types` with `mini_mime` for content type lookup",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2022-11-10T14:22:19Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c27adec455bc6f3e8556b51d711d99ab37c49468",
"body": null,
"is_bot": false,
"headline": "Update Changelog.md",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2022-11-04T12:36:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fbeafe0cc24f4b0cfd21cd938903ffcad3e75c9b",
"body": "Request marshal fix",
"is_bot": false,
"headline": "Merge pull request #767 from jnunemaker/request-marshal-fix",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2022-11-04T12:35:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "34e9606708c92613e8e554de7b52263c0047cc1a",
"body": "Marshalling should really make the object as exactly the same as possible. I really need to just do all ivars that are not procs but this fixes the problem for now and I don't think it breaks anything for others.",
"is_bot": false,
"headline": "Fix request marshalling",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2022-11-03T21:05:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d40d1dfa5be1c4d0bacaef40761a1eadc57d40ac",
"body": null,
"is_bot": false,
"headline": "Add json and rexml for ruby 3.1",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2022-11-03T21:04:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2ad280386219a03cf070226ad10562515ca3ab99",
"body": null,
"is_bot": false,
"headline": "Fix guardfile",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2022-11-03T21:04:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0f705e64c30e97b807bd83166ac117c57d34809b",
"body": "Add docs on JSON post, put and patch requests",
"is_bot": false,
"headline": "Merge pull request #765 from JonMidhir/add_docs_on_post_json",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2022-11-03T20:03:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5d16912a35a163ba661741883118f4b130cd37f5",
"body": null,
"is_bot": false,
"headline": "Add docs on JSON post, put and patch requests",
"author_name": "John Hope",
"author_login": "JonMidhir",
"committed_at": "2022-10-07T23:14:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "45233c1d1572679c7feeecdd6f3b5348c5ffbee2",
"body": null,
"is_bot": false,
"headline": "Merge pull request #759 from orgads/no-https-require",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2022-08-18T13:35:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "30bd6fa764b89d266c3bd0b469b49f24e1b58739",
"body": "net/https is no longer needed since Ruby 2, according to the docs.\n\nhttps://docs.ruby-lang.org/en/2.0.0/Net/HTTP.html#class-Net::HTTP-label-HTTPS",
"is_bot": false,
"headline": "Remove redundant require",
"author_name": "Orgad Shaneh",
"author_login": "orgads",
"committed_at": "2022-08-18T13:27:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "86b4d0ce789014d779b744ab4390a4442bfd64d8",
"body": "Support zstd decompression",
"is_bot": false,
"headline": "Merge pull request #752 from tablecheck/zstd-encoding",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2022-07-25T00:53:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "404975758b885006c1a3eb1c3a5b40c91e0a3dea",
"body": "fixes #738",
"is_bot": false,
"headline": "Update quoting of newlines for curl formatter",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2022-07-25T00:47:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "66f0ecc74e91280663cd0512d35395633bf6f2ef",
"body": "Fixes memory leak on download",
"is_bot": false,
"headline": "Do not dup nonfrozen string on download (#754)",
"author_name": "Nikita Misharin",
"author_login": "TheSmartnik",
"committed_at": "2022-07-05T18:39:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c0e418ebfe82a63eb7b6e1ce35a4210d8002300c",
"body": null,
"is_bot": false,
"headline": "Update README.md",
"author_name": "Johnny Shields",
"author_login": "johnnyshields",
"committed_at": "2022-06-26T07:25:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "715f971c0337a812dd2053c79be0214c911f70c5",
"body": null,
"is_bot": false,
"headline": "Support zstd decompression",
"author_name": "shields",
"author_login": "johnnyshields",
"committed_at": "2022-06-26T07:24:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "907accf4d25e11251679eb9f02bebe3a23ab37e6",
"body": "Adds Ruby 3.1 to CI",
"is_bot": false,
"headline": "Merge pull request #747 from petergoldstein/feature/add_ruby_3_1",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2022-01-27T13:14:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "781dfed0b0644d8cc574007a22759e0ac41e815a",
"body": "This PR adds Ruby 3.1 to the CI matrix. It includes two other changes:\n\n1. Removes the .simplecov file, which causes an error on Ruby 3.1 (coverage attempts to start twice)\n2. Removes the require \"pry\", as pry is not going to be the Ruby debugger going forward",
"is_bot": false,
"headline": "Adds Ruby 3.1 to CI",
"author_name": "Peter Goldstein",
"author_login": "petergoldstein",
"committed_at": "2022-01-25T18:06:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0b3e3384e0195c011772fe4f264c4b8c201585ea",
"body": null,
"is_bot": false,
"headline": "Merge pull request #737 from olleolleolle/patch-1",
"author_name": "John Nunemaker",
"author_login": "jnunemaker",
"committed_at": "2021-09-29T19:39:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1a782b9e0bc5fbfdd008726b59da180430b1714b",
"body": null,
"is_bot": false,
"headline": "CI: Add \"3.0\" to build matrix",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2021-09-29T13:15:52Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 9,
"commits_last_year": 22,
"latest_release_at": "2026-01-14T22:56:40Z",
"latest_release_tag": "v0.24.2",
"releases_from_tags": false,
"days_since_last_push": 139,
"active_weeks_last_year": 8,
"days_since_latest_release": 188,
"mean_days_between_releases": 277.7
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 57,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "httparty",
"exists": true,
"license": "MIT",
"keywords": [],
"ecosystem": "rubygems",
"matches_repo": true,
"registry_url": "https://rubygems.org/gems/httparty",
"is_deprecated": false,
"latest_version": "0.24.2",
"repository_url": "https://github.com/jnunemaker/httparty",
"versions_count": 87,
"total_downloads": 469254904,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": "2009-07-25T18:14:00Z",
"latest_published_at": "2026-01-14T22:54:36.108000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 188
}
]
},
"popularity": {
"forks": 969,
"stars": 5896,
"watchers": 59,
"fork_history": {
"days": [
{
"date": "2008-08-14",
"count": 1
},
{
"date": "2008-08-27",
"count": 1
},
{
"date": "2008-09-12",
"count": 1
},
{
"date": "2008-09-29",
"count": 1
},
{
"date": "2008-11-19",
"count": 1
},
{
"date": "2008-12-07",
"count": 1
},
{
"date": "2008-12-17",
"count": 1
},
{
"date": "2008-12-22",
"count": 1
},
{
"date": "2009-01-03",
"count": 1
},
{
"date": "2009-01-05",
"count": 1
},
{
"date": "2009-01-19",
"count": 1
},
{
"date": "2009-02-02",
"count": 1
},
{
"date": "2009-02-19",
"count": 1
},
{
"date": "2009-02-20",
"count": 1
},
{
"date": "2009-02-21",
"count": 1
},
{
"date": "2009-02-25",
"count": 1
},
{
"date": "2009-03-03",
"count": 1
},
{
"date": "2009-03-19",
"count": 1
},
{
"date": "2009-03-23",
"count": 1
},
{
"date": "2009-04-03",
"count": 1
},
{
"date": "2009-04-08",
"count": 1
},
{
"date": "2009-04-14",
"count": 1
},
{
"date": "2009-04-15",
"count": 1
},
{
"date": "2009-04-18",
"count": 1
},
{
"date": "2009-04-20",
"count": 1
},
{
"date": "2009-04-21",
"count": 1
},
{
"date": "2009-04-22",
"count": 2
},
{
"date": "2009-04-26",
"count": 1
},
{
"date": "2009-05-01",
"count": 1
},
{
"date": "2009-05-08",
"count": 1
},
{
"date": "2009-05-21",
"count": 1
},
{
"date": "2009-05-25",
"count": 1
},
{
"date": "2009-06-04",
"count": 1
},
{
"date": "2009-07-09",
"count": 1
},
{
"date": "2009-07-15",
"count": 1
},
{
"date": "2009-07-18",
"count": 1
},
{
"date": "2009-08-01",
"count": 1
},
{
"date": "2009-08-03",
"count": 1
},
{
"date": "2009-08-10",
"count": 1
},
{
"date": "2009-08-21",
"count": 1
},
{
"date": "2009-08-27",
"count": 1
},
{
"date": "2009-08-28",
"count": 1
},
{
"date": "2009-09-03",
"count": 1
},
{
"date": "2009-09-05",
"count": 1
},
{
"date": "2009-09-16",
"count": 1
},
{
"date": "2009-10-25",
"count": 1
},
{
"date": "2009-10-28",
"count": 1
},
{
"date": "2009-10-29",
"count": 1
},
{
"date": "2009-11-14",
"count": 1
},
{
"date": "2009-11-24",
"count": 1
},
{
"date": "2009-11-26",
"count": 1
},
{
"date": "2009-12-30",
"count": 1
},
{
"date": "2010-01-08",
"count": 1
},
{
"date": "2010-01-20",
"count": 1
},
{
"date": "2010-01-26",
"count": 1
},
{
"date": "2010-02-10",
"count": 1
},
{
"date": "2010-02-22",
"count": 1
},
{
"date": "2010-03-05",
"count": 1
},
{
"date": "2010-04-05",
"count": 1
},
{
"date": "2010-04-12",
"count": 1
},
{
"date": "2010-04-28",
"count": 1
},
{
"date": "2010-05-06",
"count": 2
},
{
"date": "2010-06-10",
"count": 1
},
{
"date": "2010-07-08",
"count": 1
},
{
"date": "2010-07-26",
"count": 1
},
{
"date": "2010-08-11",
"count": 2
},
{
"date": "2010-09-20",
"count": 1
},
{
"date": "2010-09-23",
"count": 1
},
{
"date": "2010-09-25",
"count": 1
},
{
"date": "2010-09-28",
"count": 1
},
{
"date": "2010-10-20",
"count": 1
},
{
"date": "2010-11-11",
"count": 1
},
{
"date": "2010-11-24",
"count": 1
},
{
"date": "2010-12-10",
"count": 2
},
{
"date": "2010-12-18",
"count": 1
},
{
"date": "2010-12-22",
"count": 1
},
{
"date": "2011-01-04",
"count": 1
},
{
"date": "2011-01-05",
"count": 1
},
{
"date": "2011-01-07",
"count": 1
},
{
"date": "2011-01-19",
"count": 1
},
{
"date": "2011-01-20",
"count": 1
},
{
"date": "2011-01-25",
"count": 1
},
{
"date": "2011-01-28",
"count": 1
},
{
"date": "2011-03-02",
"count": 1
},
{
"date": "2011-03-03",
"count": 2
},
{
"date": "2011-04-08",
"count": 1
},
{
"date": "2011-04-11",
"count": 1
},
{
"date": "2011-04-15",
"count": 1
},
{
"date": "2011-04-18",
"count": 1
},
{
"date": "2011-04-24",
"count": 1
},
{
"date": "2011-04-27",
"count": 1
},
{
"date": "2011-05-04",
"count": 1
},
{
"date": "2011-05-06",
"count": 1
},
{
"date": "2011-05-16",
"count": 1
},
{
"date": "2011-06-07",
"count": 1
},
{
"date": "2011-06-12",
"count": 1
},
{
"date": "2011-06-25",
"count": 1
},
{
"date": "2011-06-28",
"count": 1
},
{
"date": "2011-07-09",
"count": 1
},
{
"date": "2011-07-28",
"count": 1
},
{
"date": "2011-08-07",
"count": 1
},
{
"date": "2011-08-12",
"count": 1
},
{
"date": "2011-08-13",
"count": 1
},
{
"date": "2011-08-17",
"count": 1
},
{
"date": "2011-08-18",
"count": 1
},
{
"date": "2011-08-23",
"count": 1
},
{
"date": "2011-08-24",
"count": 1
},
{
"date": "2011-09-14",
"count": 1
},
{
"date": "2011-09-15",
"count": 1
},
{
"date": "2011-09-17",
"count": 1
},
{
"date": "2011-09-20",
"count": 1
},
{
"date": "2011-09-21",
"count": 1
},
{
"date": "2011-09-22",
"count": 1
},
{
"date": "2011-10-02",
"count": 1
},
{
"date": "2011-10-03",
"count": 1
},
{
"date": "2011-10-10",
"count": 1
},
{
"date": "2011-10-11",
"count": 1
},
{
"date": "2011-11-01",
"count": 1
},
{
"date": "2011-11-07",
"count": 1
},
{
"date": "2011-11-22",
"count": 1
},
{
"date": "2011-12-08",
"count": 1
},
{
"date": "2011-12-14",
"count": 1
},
{
"date": "2012-01-02",
"count": 1
},
{
"date": "2012-01-06",
"count": 1
},
{
"date": "2012-01-11",
"count": 2
},
{
"date": "2012-01-20",
"count": 1
},
{
"date": "2012-01-24",
"count": 1
},
{
"date": "2012-01-30",
"count": 1
},
{
"date": "2012-02-03",
"count": 1
},
{
"date": "2012-02-14",
"count": 1
},
{
"date": "2012-02-29",
"count": 1
},
{
"date": "2012-03-09",
"count": 1
},
{
"date": "2012-03-10",
"count": 1
},
{
"date": "2012-03-23",
"count": 2
},
{
"date": "2012-03-27",
"count": 2
},
{
"date": "2012-03-31",
"count": 1
},
{
"date": "2012-04-02",
"count": 1
},
{
"date": "2012-04-13",
"count": 1
},
{
"date": "2012-04-16",
"count": 1
},
{
"date": "2012-04-30",
"count": 1
},
{
"date": "2012-05-09",
"count": 1
},
{
"date": "2012-05-16",
"count": 1
},
{
"date": "2012-05-18",
"count": 1
},
{
"date": "2012-05-24",
"count": 1
},
{
"date": "2012-05-30",
"count": 1
},
{
"date": "2012-06-05",
"count": 1
},
{
"date": "2012-06-06",
"count": 2
},
{
"date": "2012-06-14",
"count": 1
},
{
"date": "2012-06-19",
"count": 1
},
{
"date": "2012-06-20",
"count": 1
},
{
"date": "2012-06-27",
"count": 1
},
{
"date": "2012-06-29",
"count": 1
},
{
"date": "2012-07-09",
"count": 1
},
{
"date": "2012-07-30",
"count": 1
},
{
"date": "2012-07-31",
"count": 1
},
{
"date": "2012-08-10",
"count": 1
},
{
"date": "2012-08-20",
"count": 1
},
{
"date": "2012-09-05",
"count": 1
},
{
"date": "2012-09-17",
"count": 1
},
{
"date": "2012-09-21",
"count": 1
},
{
"date": "2012-10-07",
"count": 1
},
{
"date": "2012-10-11",
"count": 1
},
{
"date": "2012-10-16",
"count": 1
},
{
"date": "2012-10-19",
"count": 1
},
{
"date": "2012-10-24",
"count": 3
},
{
"date": "2012-10-30",
"count": 2
},
{
"date": "2012-10-31",
"count": 1
},
{
"date": "2012-11-09",
"count": 1
},
{
"date": "2012-11-11",
"count": 1
},
{
"date": "2012-11-30",
"count": 2
},
{
"date": "2012-12-07",
"count": 1
},
{
"date": "2012-12-10",
"count": 1
},
{
"date": "2013-01-12",
"count": 1
},
{
"date": "2013-01-14",
"count": 2
},
{
"date": "2013-01-17",
"count": 1
},
{
"date": "2013-01-23",
"count": 1
},
{
"date": "2013-01-24",
"count": 1
},
{
"date": "2013-01-26",
"count": 1
},
{
"date": "2013-01-29",
"count": 1
},
{
"date": "2013-02-02",
"count": 1
},
{
"date": "2013-02-20",
"count": 1
},
{
"date": "2013-02-22",
"count": 1
},
{
"date": "2013-03-12",
"count": 1
},
{
"date": "2013-03-26",
"count": 1
},
{
"date": "2013-03-29",
"count": 1
},
{
"date": "2013-03-30",
"count": 1
},
{
"date": "2013-04-16",
"count": 2
},
{
"date": "2013-05-07",
"count": 1
},
{
"date": "2013-05-12",
"count": 1
},
{
"date": "2013-05-29",
"count": 1
},
{
"date": "2013-06-08",
"count": 1
},
{
"date": "2013-06-09",
"count": 1
},
{
"date": "2013-06-11",
"count": 1
},
{
"date": "2013-06-14",
"count": 1
},
{
"date": "2013-06-18",
"count": 1
},
{
"date": "2013-06-24",
"count": 1
},
{
"date": "2013-06-27",
"count": 1
},
{
"date": "2013-07-11",
"count": 2
},
{
"date": "2013-07-21",
"count": 1
},
{
"date": "2013-07-23",
"count": 1
},
{
"date": "2013-07-25",
"count": 1
},
{
"date": "2013-07-26",
"count": 1
},
{
"date": "2013-07-29",
"count": 3
},
{
"date": "2013-08-03",
"count": 1
},
{
"date": "2013-08-09",
"count": 2
},
{
"date": "2013-08-13",
"count": 1
},
{
"date": "2013-08-15",
"count": 1
},
{
"date": "2013-08-20",
"count": 1
},
{
"date": "2013-08-24",
"count": 1
},
{
"date": "2013-08-27",
"count": 1
},
{
"date": "2013-08-31",
"count": 1
},
{
"date": "2013-09-05",
"count": 1
},
{
"date": "2013-09-10",
"count": 1
},
{
"date": "2013-09-15",
"count": 1
},
{
"date": "2013-09-23",
"count": 1
},
{
"date": "2013-09-24",
"count": 1
},
{
"date": "2013-10-03",
"count": 1
},
{
"date": "2013-10-08",
"count": 1
},
{
"date": "2013-10-14",
"count": 1
},
{
"date": "2013-10-16",
"count": 1
},
{
"date": "2013-10-20",
"count": 1
},
{
"date": "2013-10-22",
"count": 2
},
{
"date": "2013-10-25",
"count": 1
},
{
"date": "2013-11-11",
"count": 1
},
{
"date": "2013-11-14",
"count": 2
},
{
"date": "2013-11-22",
"count": 1
},
{
"date": "2013-11-23",
"count": 1
},
{
"date": "2013-12-10",
"count": 1
},
{
"date": "2013-12-18",
"count": 1
},
{
"date": "2013-12-26",
"count": 1
},
{
"date": "2014-01-03",
"count": 1
},
{
"date": "2014-01-04",
"count": 1
},
{
"date": "2014-01-06",
"count": 1
},
{
"date": "2014-01-07",
"count": 1
},
{
"date": "2014-01-15",
"count": 1
},
{
"date": "2014-01-16",
"count": 1
},
{
"date": "2014-01-20",
"count": 1
},
{
"date": "2014-01-24",
"count": 1
},
{
"date": "2014-01-26",
"count": 1
},
{
"date": "2014-01-31",
"count": 1
},
{
"date": "2014-02-02",
"count": 1
},
{
"date": "2014-02-06",
"count": 1
},
{
"date": "2014-02-09",
"count": 1
},
{
"date": "2014-02-12",
"count": 1
},
{
"date": "2014-02-21",
"count": 1
},
{
"date": "2014-02-28",
"count": 1
},
{
"date": "2014-03-03",
"count": 2
},
{
"date": "2014-03-07",
"count": 1
},
{
"date": "2014-03-10",
"count": 1
},
{
"date": "2014-03-17",
"count": 1
},
{
"date": "2014-04-01",
"count": 1
},
{
"date": "2014-04-08",
"count": 1
},
{
"date": "2014-04-14",
"count": 1
},
{
"date": "2014-04-16",
"count": 2
},
{
"date": "2014-04-17",
"count": 1
},
{
"date": "2014-04-25",
"count": 1
},
{
"date": "2014-05-08",
"count": 1
},
{
"date": "2014-05-10",
"count": 1
},
{
"date": "2014-05-12",
"count": 1
},
{
"date": "2014-05-14",
"count": 2
},
{
"date": "2014-05-27",
"count": 1
},
{
"date": "2014-06-02",
"count": 2
},
{
"date": "2014-06-13",
"count": 1
},
{
"date": "2014-06-20",
"count": 1
},
{
"date": "2014-06-21",
"count": 1
},
{
"date": "2014-06-29",
"count": 1
},
{
"date": "2014-06-30",
"count": 1
},
{
"date": "2014-07-07",
"count": 1
},
{
"date": "2014-07-10",
"count": 1
},
{
"date": "2014-07-16",
"count": 2
},
{
"date": "2014-07-17",
"count": 1
},
{
"date": "2014-07-20",
"count": 1
},
{
"date": "2014-07-21",
"count": 1
},
{
"date": "2014-07-22",
"count": 1
},
{
"date": "2014-07-29",
"count": 1
},
{
"date": "2014-07-31",
"count": 1
},
{
"date": "2014-08-01",
"count": 1
},
{
"date": "2014-08-07",
"count": 2
},
{
"date": "2014-08-19",
"count": 1
},
{
"date": "2014-08-22",
"count": 1
},
{
"date": "2014-08-26",
"count": 1
},
{
"date": "2014-09-03",
"count": 2
},
{
"date": "2014-09-04",
"count": 1
},
{
"date": "2014-09-12",
"count": 1
},
{
"date": "2014-09-17",
"count": 1
},
{
"date": "2014-09-19",
"count": 1
},
{
"date": "2014-10-01",
"count": 1
},
{
"date": "2014-10-09",
"count": 1
},
{
"date": "2014-10-11",
"count": 1
},
{
"date": "2014-10-21",
"count": 1
},
{
"date": "2014-10-23",
"count": 1
},
{
"date": "2014-10-30",
"count": 1
},
{
"date": "2014-11-10",
"count": 1
},
{
"date": "2014-11-20",
"count": 1
},
{
"date": "2014-11-24",
"count": 1
},
{
"date": "2014-12-02",
"count": 1
},
{
"date": "2014-12-05",
"count": 1
},
{
"date": "2014-12-07",
"count": 1
},
{
"date": "2014-12-16",
"count": 1
},
{
"date": "2014-12-22",
"count": 1
},
{
"date": "2015-01-03",
"count": 1
},
{
"date": "2015-01-07",
"count": 1
},
{
"date": "2015-01-13",
"count": 1
},
{
"date": "2015-01-17",
"count": 1
},
{
"date": "2015-01-30",
"count": 1
},
{
"date": "2015-02-01",
"count": 1
},
{
"date": "2015-02-09",
"count": 1
},
{
"date": "2015-02-14",
"count": 1
},
{
"date": "2015-03-16",
"count": 1
},
{
"date": "2015-03-18",
"count": 1
},
{
"date": "2015-03-20",
"count": 1
},
{
"date": "2015-03-25",
"count": 1
},
{
"date": "2015-04-01",
"count": 1
},
{
"date": "2015-04-10",
"count": 1
},
{
"date": "2015-04-13",
"count": 1
},
{
"date": "2015-04-14",
"count": 1
},
{
"date": "2015-04-15",
"count": 1
},
{
"date": "2015-04-24",
"count": 1
},
{
"date": "2015-04-25",
"count": 1
},
{
"date": "2015-04-27",
"count": 1
},
{
"date": "2015-05-06",
"count": 1
},
{
"date": "2015-05-07",
"count": 1
},
{
"date": "2015-05-13",
"count": 1
},
{
"date": "2015-05-15",
"count": 1
},
{
"date": "2015-05-18",
"count": 1
},
{
"date": "2015-05-27",
"count": 1
},
{
"date": "2015-05-29",
"count": 1
},
{
"date": "2015-06-02",
"count": 1
},
{
"date": "2015-06-03",
"count": 2
},
{
"date": "2015-06-10",
"count": 2
},
{
"date": "2015-06-11",
"count": 1
},
{
"date": "2015-06-12",
"count": 1
},
{
"date": "2015-06-23",
"count": 1
},
{
"date": "2015-06-24",
"count": 1
},
{
"date": "2015-06-26",
"count": 1
},
{
"date": "2015-06-30",
"count": 1
},
{
"date": "2015-07-06",
"count": 1
},
{
"date": "2015-07-08",
"count": 2
},
{
"date": "2015-07-09",
"count": 1
},
{
"date": "2015-07-21",
"count": 1
},
{
"date": "2015-07-22",
"count": 2
},
{
"date": "2015-07-23",
"count": 1
},
{
"date": "2015-07-25",
"count": 2
},
{
"date": "2015-07-26",
"count": 1
},
{
"date": "2015-07-28",
"count": 1
},
{
"date": "2015-07-31",
"count": 1
},
{
"date": "2015-08-10",
"count": 1
},
{
"date": "2015-08-17",
"count": 1
},
{
"date": "2015-08-22",
"count": 1
},
{
"date": "2015-08-23",
"count": 1
},
{
"date": "2015-08-24",
"count": 1
},
{
"date": "2015-08-27",
"count": 1
},
{
"date": "2015-08-28",
"count": 1
},
{
"date": "2015-09-09",
"count": 1
},
{
"date": "2015-09-16",
"count": 1
},
{
"date": "2015-09-17",
"count": 1
},
{
"date": "2015-09-21",
"count": 1
},
{
"date": "2015-09-22",
"count": 1
},
{
"date": "2015-09-26",
"count": 1
},
{
"date": "2015-09-30",
"count": 2
},
{
"date": "2015-10-05",
"count": 1
},
{
"date": "2015-10-15",
"count": 1
},
{
"date": "2015-10-17",
"count": 1
},
{
"date": "2015-10-20",
"count": 1
},
{
"date": "2015-10-22",
"count": 2
},
{
"date": "2015-10-25",
"count": 1
},
{
"date": "2015-10-26",
"count": 1
},
{
"date": "2015-10-27",
"count": 1
},
{
"date": "2015-10-28",
"count": 1
},
{
"date": "2015-10-30",
"count": 1
},
{
"date": "2015-11-02",
"count": 1
},
{
"date": "2015-11-03",
"count": 1
},
{
"date": "2015-11-05",
"count": 1
},
{
"date": "2015-11-10",
"count": 1
},
{
"date": "2015-11-12",
"count": 1
},
{
"date": "2015-11-20",
"count": 1
},
{
"date": "2015-11-22",
"count": 1
},
{
"date": "2015-11-23",
"count": 1
},
{
"date": "2015-11-26",
"count": 2
},
{
"date": "2015-11-28",
"count": 1
},
{
"date": "2015-11-29",
"count": 1
},
{
"date": "2015-12-02",
"count": 1
},
{
"date": "2015-12-03",
"count": 1
},
{
"date": "2015-12-15",
"count": 2
},
{
"date": "2015-12-18",
"count": 1
},
{
"date": "2015-12-21",
"count": 1
},
{
"date": "2015-12-28",
"count": 1
},
{
"date": "2016-01-01",
"count": 1
},
{
"date": "2016-01-08",
"count": 1
},
{
"date": "2016-01-12",
"count": 1
},
{
"date": "2016-01-13",
"count": 1
},
{
"date": "2016-01-18",
"count": 1
},
{
"date": "2016-01-20",
"count": 1
},
{
"date": "2016-01-27",
"count": 1
},
{
"date": "2016-01-28",
"count": 1
},
{
"date": "2016-02-01",
"count": 1
},
{
"date": "2016-02-02",
"count": 1
},
{
"date": "2016-02-12",
"count": 1
},
{
"date": "2016-02-15",
"count": 2
},
{
"date": "2016-02-21",
"count": 2
},
{
"date": "2016-03-04",
"count": 1
},
{
"date": "2016-03-07",
"count": 1
},
{
"date": "2016-03-11",
"count": 1
},
{
"date": "2016-03-12",
"count": 1
},
{
"date": "2016-03-23",
"count": 1
},
{
"date": "2016-03-24",
"count": 1
},
{
"date": "2016-03-28",
"count": 1
},
{
"date": "2016-03-29",
"count": 2
},
{
"date": "2016-04-01",
"count": 1
},
{
"date": "2016-04-11",
"count": 1
},
{
"date": "2016-04-25",
"count": 1
},
{
"date": "2016-04-28",
"count": 1
},
{
"date": "2016-04-29",
"count": 1
},
{
"date": "2016-05-01",
"count": 1
},
{
"date": "2016-05-04",
"count": 1
},
{
"date": "2016-05-10",
"count": 1
},
{
"date": "2016-05-17",
"count": 1
},
{
"date": "2016-05-19",
"count": 1
},
{
"date": "2016-05-25",
"count": 1
},
{
"date": "2016-05-26",
"count": 1
},
{
"date": "2016-05-28",
"count": 1
},
{
"date": "2016-06-03",
"count": 1
},
{
"date": "2016-06-07",
"count": 1
},
{
"date": "2016-06-08",
"count": 1
},
{
"date": "2016-06-15",
"count": 2
},
{
"date": "2016-06-17",
"count": 1
},
{
"date": "2016-06-21",
"count": 2
},
{
"date": "2016-06-26",
"count": 1
},
{
"date": "2016-06-28",
"count": 1
},
{
"date": "2016-07-08",
"count": 1
},
{
"date": "2016-07-09",
"count": 2
},
{
"date": "2016-07-11",
"count": 1
},
{
"date": "2016-07-12",
"count": 1
},
{
"date": "2016-07-19",
"count": 1
},
{
"date": "2016-07-22",
"count": 1
},
{
"date": "2016-07-27",
"count": 1
},
{
"date": "2016-07-29",
"count": 1
},
{
"date": "2016-07-31",
"count": 1
},
{
"date": "2016-08-04",
"count": 1
},
{
"date": "2016-08-11",
"count": 1
},
{
"date": "2016-08-13",
"count": 1
},
{
"date": "2016-08-19",
"count": 2
},
{
"date": "2016-08-22",
"count": 1
},
{
"date": "2016-08-24",
"count": 1
},
{
"date": "2016-08-31",
"count": 2
},
{
"date": "2016-09-12",
"count": 2
},
{
"date": "2016-09-14",
"count": 1
},
{
"date": "2016-09-18",
"count": 1
},
{
"date": "2016-09-27",
"count": 1
},
{
"date": "2016-09-29",
"count": 2
},
{
"date": "2016-10-06",
"count": 1
},
{
"date": "2016-10-07",
"count": 1
},
{
"date": "2016-10-20",
"count": 3
},
{
"date": "2016-10-25",
"count": 1
},
{
"date": "2016-10-26",
"count": 2
},
{
"date": "2016-10-28",
"count": 1
},
{
"date": "2016-11-03",
"count": 1
},
{
"date": "2016-11-06",
"count": 1
},
{
"date": "2016-11-08",
"count": 2
},
{
"date": "2016-11-11",
"count": 3
},
{
"date": "2016-11-16",
"count": 2
},
{
"date": "2016-11-17",
"count": 1
},
{
"date": "2016-11-20",
"count": 1
},
{
"date": "2016-11-22",
"count": 1
},
{
"date": "2016-11-28",
"count": 1
},
{
"date": "2016-12-01",
"count": 1
},
{
"date": "2016-12-02",
"count": 1
},
{
"date": "2016-12-09",
"count": 1
},
{
"date": "2016-12-14",
"count": 1
},
{
"date": "2016-12-15",
"count": 1
},
{
"date": "2016-12-20",
"count": 1
},
{
"date": "2017-01-04",
"count": 1
},
{
"date": "2017-01-07",
"count": 1
},
{
"date": "2017-01-10",
"count": 1
},
{
"date": "2017-01-26",
"count": 2
},
{
"date": "2017-02-02",
"count": 1
},
{
"date": "2017-02-04",
"count": 1
},
{
"date": "2017-02-06",
"count": 1
},
{
"date": "2017-02-15",
"count": 1
},
{
"date": "2017-02-20",
"count": 1
},
{
"date": "2017-02-22",
"count": 1
},
{
"date": "2017-03-01",
"count": 1
},
{
"date": "2017-03-06",
"count": 1
},
{
"date": "2017-03-07",
"count": 1
},
{
"date": "2017-03-09",
"count": 1
},
{
"date": "2017-03-13",
"count": 2
},
{
"date": "2017-03-30",
"count": 1
},
{
"date": "2017-04-01",
"count": 1
},
{
"date": "2017-04-03",
"count": 1
},
{
"date": "2017-04-05",
"count": 1
},
{
"date": "2017-04-10",
"count": 1
},
{
"date": "2017-04-12",
"count": 1
},
{
"date": "2017-04-18",
"count": 1
},
{
"date": "2017-04-26",
"count": 1
},
{
"date": "2017-04-28",
"count": 1
},
{
"date": "2017-05-02",
"count": 1
},
{
"date": "2017-05-09",
"count": 2
},
{
"date": "2017-05-11",
"count": 1
},
{
"date": "2017-05-12",
"count": 1
},
{
"date": "2017-05-15",
"count": 1
},
{
"date": "2017-05-16",
"count": 2
},
{
"date": "2017-06-02",
"count": 2
},
{
"date": "2017-06-12",
"count": 2
},
{
"date": "2017-06-15",
"count": 1
},
{
"date": "2017-06-16",
"count": 1
},
{
"date": "2017-06-20",
"count": 1
},
{
"date": "2017-06-22",
"count": 1
},
{
"date": "2017-06-23",
"count": 1
},
{
"date": "2017-06-24",
"count": 1
},
{
"date": "2017-06-25",
"count": 1
},
{
"date": "2017-06-27",
"count": 1
},
{
"date": "2017-07-05",
"count": 1
},
{
"date": "2017-07-06",
"count": 1
},
{
"date": "2017-07-10",
"count": 1
},
{
"date": "2017-07-14",
"count": 2
},
{
"date": "2017-07-15",
"count": 1
},
{
"date": "2017-07-16",
"count": 1
},
{
"date": "2017-07-21",
"count": 1
},
{
"date": "2017-07-26",
"count": 1
},
{
"date": "2017-07-27",
"count": 1
},
{
"date": "2017-08-17",
"count": 1
},
{
"date": "2017-09-06",
"count": 1
},
{
"date": "2017-09-07",
"count": 1
},
{
"date": "2017-09-11",
"count": 2
},
{
"date": "2017-09-18",
"count": 1
},
{
"date": "2017-09-20",
"count": 1
},
{
"date": "2017-09-21",
"count": 1
},
{
"date": "2017-09-28",
"count": 2
},
{
"date": "2017-10-03",
"count": 1
},
{
"date": "2017-10-16",
"count": 2
},
{
"date": "2017-10-18",
"count": 1
},
{
"date": "2017-10-25",
"count": 1
},
{
"date": "2017-11-08",
"count": 1
},
{
"date": "2017-11-16",
"count": 1
},
{
"date": "2017-11-20",
"count": 1
},
{
"date": "2017-11-29",
"count": 1
},
{
"date": "2017-12-07",
"count": 1
},
{
"date": "2017-12-15",
"count": 2
},
{
"date": "2017-12-16",
"count": 1
},
{
"date": "2017-12-26",
"count": 1
},
{
"date": "2017-12-29",
"count": 1
},
{
"date": "2018-01-04",
"count": 1
},
{
"date": "2018-01-12",
"count": 1
},
{
"date": "2018-01-16",
"count": 1
},
{
"date": "2018-01-24",
"count": 1
},
{
"date": "2018-01-25",
"count": 1
},
{
"date": "2018-01-26",
"count": 1
},
{
"date": "2018-02-05",
"count": 1
},
{
"date": "2018-02-06",
"count": 1
},
{
"date": "2018-02-07",
"count": 1
},
{
"date": "2018-02-12",
"count": 1
},
{
"date": "2018-02-15",
"count": 2
},
{
"date": "2018-02-20",
"count": 1
},
{
"date": "2018-02-24",
"count": 1
},
{
"date": "2018-02-26",
"count": 2
},
{
"date": "2018-02-27",
"count": 1
},
{
"date": "2018-03-02",
"count": 1
},
{
"date": "2018-03-03",
"count": 1
},
{
"date": "2018-03-05",
"count": 1
},
{
"date": "2018-03-07",
"count": 1
},
{
"date": "2018-03-11",
"count": 1
},
{
"date": "2018-03-19",
"count": 1
},
{
"date": "2018-03-25",
"count": 1
},
{
"date": "2018-03-26",
"count": 1
},
{
"date": "2018-03-27",
"count": 1
},
{
"date": "2018-04-11",
"count": 1
},
{
"date": "2018-04-18",
"count": 1
},
{
"date": "2018-04-20",
"count": 1
},
{
"date": "2018-04-21",
"count": 1
},
{
"date": "2018-04-24",
"count": 1
},
{
"date": "2018-04-27",
"count": 1
},
{
"date": "2018-05-02",
"count": 1
},
{
"date": "2018-05-03",
"count": 1
},
{
"date": "2018-05-11",
"count": 1
},
{
"date": "2018-05-12",
"count": 1
},
{
"date": "2018-05-23",
"count": 1
},
{
"date": "2018-05-25",
"count": 1
},
{
"date": "2018-05-29",
"count": 1
},
{
"date": "2018-06-10",
"count": 1
},
{
"date": "2018-06-18",
"count": 1
},
{
"date": "2018-07-02",
"count": 1
},
{
"date": "2018-07-09",
"count": 1
},
{
"date": "2018-07-18",
"count": 1
},
{
"date": "2018-07-25",
"count": 1
},
{
"date": "2018-07-26",
"count": 1
},
{
"date": "2018-07-31",
"count": 1
},
{
"date": "2018-08-01",
"count": 1
},
{
"date": "2018-08-02",
"count": 2
},
{
"date": "2018-08-07",
"count": 1
},
{
"date": "2018-08-17",
"count": 1
},
{
"date": "2018-08-24",
"count": 1
},
{
"date": "2018-08-31",
"count": 1
},
{
"date": "2018-09-05",
"count": 1
},
{
"date": "2018-09-06",
"count": 1
},
{
"date": "2018-09-11",
"count": 1
},
{
"date": "2018-09-18",
"count": 1
},
{
"date": "2018-09-26",
"count": 1
},
{
"date": "2018-09-27",
"count": 2
},
{
"date": "2018-10-01",
"count": 1
},
{
"date": "2018-10-07",
"count": 1
},
{
"date": "2018-10-08",
"count": 2
},
{
"date": "2018-10-14",
"count": 2
},
{
"date": "2018-10-15",
"count": 1
},
{
"date": "2018-10-23",
"count": 1
},
{
"date": "2018-10-24",
"count": 1
},
{
"date": "2018-10-30",
"count": 1
},
{
"date": "2018-10-31",
"count": 1
},
{
"date": "2018-11-06",
"count": 1
},
{
"date": "2018-11-09",
"count": 1
},
{
"date": "2018-11-13",
"count": 1
},
{
"date": "2018-11-20",
"count": 1
},
{
"date": "2018-11-21",
"count": 1
},
{
"date": "2018-11-22",
"count": 1
},
{
"date": "2018-11-26",
"count": 1
},
{
"date": "2018-11-28",
"count": 1
},
{
"date": "2018-12-01",
"count": 1
},
{
"date": "2018-12-10",
"count": 1
},
{
"date": "2018-12-12",
"count": 1
},
{
"date": "2018-12-18",
"count": 1
},
{
"date": "2018-12-19",
"count": 1
},
{
"date": "2018-12-28",
"count": 2
},
{
"date": "2019-01-01",
"count": 1
},
{
"date": "2019-01-07",
"count": 1
},
{
"date": "2019-01-08",
"count": 1
},
{
"date": "2019-01-13",
"count": 1
},
{
"date": "2019-01-28",
"count": 1
},
{
"date": "2019-01-30",
"count": 1
},
{
"date": "2019-01-31",
"count": 2
},
{
"date": "2019-02-05",
"count": 1
},
{
"date": "2019-02-15",
"count": 2
},
{
"date": "2019-02-19",
"count": 2
},
{
"date": "2019-02-28",
"count": 1
},
{
"date": "2019-03-04",
"count": 1
},
{
"date": "2019-03-07",
"count": 1
},
{
"date": "2019-03-20",
"count": 1
},
{
"date": "2019-03-24",
"count": 1
},
{
"date": "2019-04-08",
"count": 1
},
{
"date": "2019-04-17",
"count": 1
},
{
"date": "2019-04-25",
"count": 1
},
{
"date": "2019-05-03",
"count": 2
},
{
"date": "2019-05-23",
"count": 1
},
{
"date": "2019-06-14",
"count": 1
},
{
"date": "2019-06-15",
"count": 1
},
{
"date": "2019-07-08",
"count": 1
},
{
"date": "2019-07-09",
"count": 1
},
{
"date": "2019-07-10",
"count": 2
},
{
"date": "2019-07-17",
"count": 1
},
{
"date": "2019-07-19",
"count": 1
},
{
"date": "2019-08-06",
"count": 1
},
{
"date": "2019-08-29",
"count": 2
},
{
"date": "2019-08-30",
"count": 1
},
{
"date": "2019-09-03",
"count": 1
},
{
"date": "2019-09-04",
"count": 1
},
{
"date": "2019-09-13",
"count": 1
},
{
"date": "2019-09-24",
"count": 1
},
{
"date": "2019-10-06",
"count": 1
},
{
"date": "2019-10-19",
"count": 1
},
{
"date": "2019-10-21",
"count": 1
},
{
"date": "2019-10-24",
"count": 1
},
{
"date": "2019-10-31",
"count": 1
},
{
"date": "2019-11-15",
"count": 1
},
{
"date": "2019-11-21",
"count": 1
},
{
"date": "2019-11-28",
"count": 1
},
{
"date": "2019-11-29",
"count": 1
},
{
"date": "2019-12-16",
"count": 1
},
{
"date": "2019-12-18",
"count": 1
},
{
"date": "2020-01-10",
"count": 1
},
{
"date": "2020-01-14",
"count": 1
},
{
"date": "2020-01-21",
"count": 1
},
{
"date": "2020-01-24",
"count": 1
},
{
"date": "2020-01-27",
"count": 1
},
{
"date": "2020-01-28",
"count": 1
},
{
"date": "2020-01-31",
"count": 1
},
{
"date": "2020-02-05",
"count": 1
},
{
"date": "2020-02-19",
"count": 1
},
{
"date": "2020-02-20",
"count": 1
},
{
"date": "2020-02-26",
"count": 1
},
{
"date": "2020-03-14",
"count": 1
},
{
"date": "2020-03-18",
"count": 1
},
{
"date": "2020-03-25",
"count": 1
},
{
"date": "2020-03-31",
"count": 1
},
{
"date": "2020-04-01",
"count": 1
},
{
"date": "2020-04-05",
"count": 1
},
{
"date": "2020-04-12",
"count": 1
},
{
"date": "2020-04-13",
"count": 1
},
{
"date": "2020-04-16",
"count": 1
},
{
"date": "2020-04-22",
"count": 1
},
{
"date": "2020-04-24",
"count": 2
},
{
"date": "2020-04-25",
"count": 1
},
{
"date": "2020-04-29",
"count": 1
},
{
"date": "2020-05-06",
"count": 1
},
{
"date": "2020-05-07",
"count": 1
},
{
"date": "2020-05-13",
"count": 1
},
{
"date": "2020-05-15",
"count": 1
},
{
"date": "2020-05-17",
"count": 1
},
{
"date": "2020-06-01",
"count": 1
},
{
"date": "2020-06-02",
"count": 1
},
{
"date": "2020-06-06",
"count": 1
},
{
"date": "2020-06-09",
"count": 2
},
{
"date": "2020-06-15",
"count": 1
},
{
"date": "2020-06-16",
"count": 1
},
{
"date": "2020-06-21",
"count": 1
},
{
"date": "2020-06-25",
"count": 1
},
{
"date": "2020-06-30",
"count": 1
},
{
"date": "2020-07-28",
"count": 1
},
{
"date": "2020-08-02",
"count": 1
},
{
"date": "2020-08-03",
"count": 1
},
{
"date": "2020-08-06",
"count": 1
},
{
"date": "2020-08-12",
"count": 1
},
{
"date": "2020-08-21",
"count": 1
},
{
"date": "2020-08-28",
"count": 1
},
{
"date": "2020-09-20",
"count": 1
},
{
"date": "2020-09-25",
"count": 1
},
{
"date": "2020-10-03",
"count": 1
},
{
"date": "2020-10-09",
"count": 1
},
{
"date": "2020-10-14",
"count": 1
},
{
"date": "2020-10-19",
"count": 1
},
{
"date": "2020-10-20",
"count": 1
},
{
"date": "2020-10-26",
"count": 1
},
{
"date": "2020-11-05",
"count": 1
},
{
"date": "2020-11-18",
"count": 1
},
{
"date": "2020-11-25",
"count": 1
},
{
"date": "2020-12-05",
"count": 1
},
{
"date": "2020-12-20",
"count": 1
},
{
"date": "2020-12-28",
"count": 1
},
{
"date": "2021-01-20",
"count": 1
},
{
"date": "2021-01-23",
"count": 1
},
{
"date": "2021-01-29",
"count": 1
},
{
"date": "2021-02-04",
"count": 1
},
{
"date": "2021-02-09",
"count": 1
},
{
"date": "2021-02-16",
"count": 1
},
{
"date": "2021-02-28",
"count": 2
},
{
"date": "2021-03-10",
"count": 1
},
{
"date": "2021-03-26",
"count": 1
},
{
"date": "2021-05-13",
"count": 2
},
{
"date": "2021-05-16",
"count": 1
},
{
"date": "2021-05-25",
"count": 1
},
{
"date": "2021-05-31",
"count": 1
},
{
"date": "2021-06-17",
"count": 1
},
{
"date": "2021-07-30",
"count": 1
},
{
"date": "2021-08-03",
"count": 1
},
{
"date": "2021-08-10",
"count": 1
},
{
"date": "2021-08-16",
"count": 1
},
{
"date": "2021-08-20",
"count": 1
},
{
"date": "2021-08-25",
"count": 1
},
{
"date": "2021-09-06",
"count": 1
},
{
"date": "2021-09-07",
"count": 1
},
{
"date": "2021-10-09",
"count": 1
},
{
"date": "2021-10-12",
"count": 1
},
{
"date": "2021-10-17",
"count": 1
},
{
"date": "2021-10-19",
"count": 1
},
{
"date": "2021-12-06",
"count": 1
},
{
"date": "2021-12-24",
"count": 1
},
{
"date": "2021-12-25",
"count": 1
},
{
"date": "2021-12-28",
"count": 1
},
{
"date": "2022-01-06",
"count": 1
},
{
"date": "2022-01-10",
"count": 1
},
{
"date": "2022-02-08",
"count": 1
},
{
"date": "2022-02-10",
"count": 1
},
{
"date": "2022-02-17",
"count": 1
},
{
"date": "2022-02-22",
"count": 1
},
{
"date": "2022-02-23",
"count": 2
},
{
"date": "2022-03-02",
"count": 1
},
{
"date": "2022-03-04",
"count": 1
},
{
"date": "2022-03-09",
"count": 1
},
{
"date": "2022-03-16",
"count": 1
},
{
"date": "2022-03-30",
"count": 1
},
{
"date": "2022-04-19",
"count": 1
},
{
"date": "2022-05-25",
"count": 1
},
{
"date": "2022-05-26",
"count": 2
},
{
"date": "2022-06-01",
"count": 1
},
{
"date": "2022-06-07",
"count": 1
},
{
"date": "2022-06-23",
"count": 1
},
{
"date": "2022-07-01",
"count": 1
},
{
"date": "2022-07-15",
"count": 1
},
{
"date": "2022-07-16",
"count": 1
},
{
"date": "2022-07-18",
"count": 2
},
{
"date": "2022-07-24",
"count": 1
},
{
"date": "2022-07-26",
"count": 1
},
{
"date": "2022-08-18",
"count": 1
},
{
"date": "2022-08-31",
"count": 2
},
{
"date": "2022-09-06",
"count": 1
},
{
"date": "2022-09-09",
"count": 1
},
{
"date": "2022-09-14",
"count": 1
},
{
"date": "2022-09-16",
"count": 1
},
{
"date": "2022-09-19",
"count": 1
},
{
"date": "2022-10-20",
"count": 1
},
{
"date": "2022-10-27",
"count": 1
},
{
"date": "2022-10-28",
"count": 1
},
{
"date": "2022-10-31",
"count": 1
},
{
"date": "2022-11-03",
"count": 1
},
{
"date": "2022-11-10",
"count": 1
},
{
"date": "2022-12-15",
"count": 1
},
{
"date": "2022-12-22",
"count": 1
},
{
"date": "2023-01-08",
"count": 1
},
{
"date": "2023-01-20",
"count": 1
},
{
"date": "2023-01-25",
"count": 1
},
{
"date": "2023-02-07",
"count": 2
},
{
"date": "2023-02-12",
"count": 1
},
{
"date": "2023-02-16",
"count": 1
},
{
"date": "2023-03-03",
"count": 1
},
{
"date": "2023-05-02",
"count": 1
},
{
"date": "2023-05-07",
"count": 1
},
{
"date": "2023-05-23",
"count": 1
},
{
"date": "2023-07-12",
"count": 1
},
{
"date": "2023-08-10",
"count": 1
},
{
"date": "2023-08-19",
"count": 1
},
{
"date": "2023-09-15",
"count": 1
},
{
"date": "2023-09-29",
"count": 1
},
{
"date": "2023-10-17",
"count": 1
},
{
"date": "2023-12-07",
"count": 1
},
{
"date": "2023-12-09",
"count": 1
},
{
"date": "2023-12-29",
"count": 1
},
{
"date": "2024-02-05",
"count": 1
},
{
"date": "2024-02-14",
"count": 1
},
{
"date": "2024-02-29",
"count": 1
},
{
"date": "2024-03-11",
"count": 1
},
{
"date": "2024-03-20",
"count": 1
},
{
"date": "2024-03-29",
"count": 1
},
{
"date": "2024-04-09",
"count": 1
},
{
"date": "2024-05-03",
"count": 1
},
{
"date": "2024-06-04",
"count": 1
},
{
"date": "2024-07-16",
"count": 1
},
{
"date": "2024-07-21",
"count": 1
},
{
"date": "2024-08-02",
"count": 1
},
{
"date": "2024-09-12",
"count": 1
},
{
"date": "2024-10-25",
"count": 1
},
{
"date": "2025-02-03",
"count": 1
},
{
"date": "2025-02-20",
"count": 1
},
{
"date": "2025-02-25",
"count": 1
},
{
"date": "2025-03-12",
"count": 1
},
{
"date": "2025-03-16",
"count": 1
},
{
"date": "2025-04-07",
"count": 1
},
{
"date": "2025-04-10",
"count": 1
},
{
"date": "2025-07-15",
"count": 1
},
{
"date": "2025-07-27",
"count": 1
},
{
"date": "2025-08-14",
"count": 1
},
{
"date": "2025-10-06",
"count": 1
},
{
"date": "2025-10-07",
"count": 1
},
{
"date": "2025-10-13",
"count": 1
},
{
"date": "2025-11-05",
"count": 1
},
{
"date": "2025-11-06",
"count": 1
},
{
"date": "2025-11-07",
"count": 1
},
{
"date": "2025-12-04",
"count": 1
},
{
"date": "2025-12-31",
"count": 1
},
{
"date": "2026-01-07",
"count": 5
},
{
"date": "2026-01-14",
"count": 1
},
{
"date": "2026-01-29",
"count": 1
},
{
"date": "2026-02-19",
"count": 1
},
{
"date": "2026-02-20",
"count": 1
},
{
"date": "2026-03-04",
"count": 1
},
{
"date": "2026-06-12",
"count": 1
},
{
"date": "2026-06-25",
"count": 1
},
{
"date": "2026-07-04",
"count": 1
},
{
"date": "2026-07-19",
"count": 3
}
],
"complete": true,
"collected": 948,
"total_forks": 969
},
"star_history": {
"days": [
{
"date": "2020-03-05",
"count": 2
},
{
"date": "2020-03-06",
"count": 2
},
{
"date": "2020-03-10",
"count": 2
},
{
"date": "2020-03-11",
"count": 2
},
{
"date": "2020-03-14",
"count": 1
},
{
"date": "2020-03-17",
"count": 2
},
{
"date": "2020-03-18",
"count": 2
},
{
"date": "2020-03-20",
"count": 1
},
{
"date": "2020-03-21",
"count": 1
},
{
"date": "2020-03-22",
"count": 1
},
{
"date": "2020-03-24",
"count": 1
},
{
"date": "2020-03-26",
"count": 3
},
{
"date": "2020-03-30",
"count": 2
},
{
"date": "2020-03-31",
"count": 1
},
{
"date": "2020-04-02",
"count": 1
},
{
"date": "2020-04-05",
"count": 1
},
{
"date": "2020-04-06",
"count": 1
},
{
"date": "2020-04-09",
"count": 1
},
{
"date": "2020-04-10",
"count": 1
},
{
"date": "2020-04-11",
"count": 1
},
{
"date": "2020-04-14",
"count": 1
},
{
"date": "2020-04-15",
"count": 1
},
{
"date": "2020-04-16",
"count": 2
},
{
"date": "2020-04-19",
"count": 2
},
{
"date": "2020-04-20",
"count": 1
},
{
"date": "2020-04-23",
"count": 2
},
{
"date": "2020-04-25",
"count": 1
},
{
"date": "2020-04-26",
"count": 1
},
{
"date": "2020-04-27",
"count": 3
},
{
"date": "2020-04-29",
"count": 2
},
{
"date": "2020-04-30",
"count": 1
},
{
"date": "2020-05-01",
"count": 1
},
{
"date": "2020-05-03",
"count": 1
},
{
"date": "2020-05-04",
"count": 1
},
{
"date": "2020-05-05",
"count": 1
},
{
"date": "2020-05-06",
"count": 1
},
{
"date": "2020-05-09",
"count": 2
},
{
"date": "2020-05-10",
"count": 1
},
{
"date": "2020-05-12",
"count": 1
},
{
"date": "2020-05-14",
"count": 1
},
{
"date": "2020-05-15",
"count": 3
},
{
"date": "2020-05-20",
"count": 2
},
{
"date": "2020-05-21",
"count": 1
},
{
"date": "2020-05-23",
"count": 1
},
{
"date": "2020-05-24",
"count": 1
},
{
"date": "2020-05-25",
"count": 2
},
{
"date": "2020-05-27",
"count": 2
},
{
"date": "2020-05-28",
"count": 4
},
{
"date": "2020-05-29",
"count": 1
},
{
"date": "2020-05-30",
"count": 2
},
{
"date": "2020-06-01",
"count": 3
},
{
"date": "2020-06-02",
"count": 1
},
{
"date": "2020-06-03",
"count": 2
},
{
"date": "2020-06-05",
"count": 2
},
{
"date": "2020-06-07",
"count": 1
},
{
"date": "2020-06-08",
"count": 1
},
{
"date": "2020-06-09",
"count": 2
},
{
"date": "2020-06-10",
"count": 1
},
{
"date": "2020-06-11",
"count": 1
},
{
"date": "2020-06-12",
"count": 1
},
{
"date": "2020-06-13",
"count": 1
},
{
"date": "2020-06-14",
"count": 1
},
{
"date": "2020-06-15",
"count": 2
},
{
"date": "2020-06-18",
"count": 2
},
{
"date": "2020-06-20",
"count": 1
},
{
"date": "2020-06-24",
"count": 1
},
{
"date": "2020-06-25",
"count": 4
},
{
"date": "2020-06-27",
"count": 1
},
{
"date": "2020-07-01",
"count": 1
},
{
"date": "2020-07-03",
"count": 1
},
{
"date": "2020-07-05",
"count": 2
},
{
"date": "2020-07-06",
"count": 1
},
{
"date": "2020-07-08",
"count": 1
},
{
"date": "2020-07-09",
"count": 1
},
{
"date": "2020-07-11",
"count": 1
},
{
"date": "2020-07-14",
"count": 1
},
{
"date": "2020-07-16",
"count": 2
},
{
"date": "2020-07-17",
"count": 1
},
{
"date": "2020-07-20",
"count": 1
},
{
"date": "2020-07-21",
"count": 1
},
{
"date": "2020-07-26",
"count": 1
},
{
"date": "2020-07-27",
"count": 2
},
{
"date": "2020-07-29",
"count": 1
},
{
"date": "2020-07-30",
"count": 1
},
{
"date": "2020-08-04",
"count": 1
},
{
"date": "2020-08-07",
"count": 2
},
{
"date": "2020-08-08",
"count": 2
},
{
"date": "2020-08-10",
"count": 1
},
{
"date": "2020-08-14",
"count": 1
},
{
"date": "2020-08-16",
"count": 1
},
{
"date": "2020-08-17",
"count": 2
},
{
"date": "2020-08-18",
"count": 1
},
{
"date": "2020-08-19",
"count": 3
},
{
"date": "2020-08-21",
"count": 3
},
{
"date": "2020-08-23",
"count": 2
},
{
"date": "2020-08-26",
"count": 1
},
{
"date": "2020-08-27",
"count": 1
},
{
"date": "2020-08-30",
"count": 1
},
{
"date": "2020-08-31",
"count": 2
},
{
"date": "2020-09-04",
"count": 2
},
{
"date": "2020-09-06",
"count": 1
},
{
"date": "2020-09-08",
"count": 2
},
{
"date": "2020-09-12",
"count": 1
},
{
"date": "2020-09-13",
"count": 1
},
{
"date": "2020-09-14",
"count": 2
},
{
"date": "2020-09-15",
"count": 2
},
{
"date": "2020-09-16",
"count": 1
},
{
"date": "2020-09-17",
"count": 1
},
{
"date": "2020-09-18",
"count": 1
},
{
"date": "2020-09-21",
"count": 2
},
{
"date": "2020-09-23",
"count": 3
},
{
"date": "2020-09-24",
"count": 1
},
{
"date": "2020-09-25",
"count": 1
},
{
"date": "2020-09-28",
"count": 2
},
{
"date": "2020-09-30",
"count": 1
},
{
"date": "2020-10-01",
"count": 1
},
{
"date": "2020-10-02",
"count": 2
},
{
"date": "2020-10-03",
"count": 1
},
{
"date": "2020-10-05",
"count": 1
},
{
"date": "2020-10-09",
"count": 1
},
{
"date": "2020-10-11",
"count": 2
},
{
"date": "2020-10-13",
"count": 1
},
{
"date": "2020-10-15",
"count": 1
},
{
"date": "2020-10-16",
"count": 2
},
{
"date": "2020-10-17",
"count": 1
},
{
"date": "2020-10-19",
"count": 1
},
{
"date": "2020-10-22",
"count": 2
},
{
"date": "2020-10-25",
"count": 1
},
{
"date": "2020-10-26",
"count": 1
},
{
"date": "2020-10-28",
"count": 1
},
{
"date": "2020-11-07",
"count": 1
},
{
"date": "2020-11-09",
"count": 1
},
{
"date": "2020-11-10",
"count": 1
},
{
"date": "2020-11-13",
"count": 3
},
{
"date": "2020-11-15",
"count": 2
},
{
"date": "2020-11-16",
"count": 1
},
{
"date": "2020-11-20",
"count": 1
},
{
"date": "2020-11-23",
"count": 1
},
{
"date": "2020-11-24",
"count": 1
},
{
"date": "2020-11-25",
"count": 2
},
{
"date": "2020-11-26",
"count": 3
},
{
"date": "2020-11-28",
"count": 1
},
{
"date": "2020-11-29",
"count": 1
},
{
"date": "2020-11-30",
"count": 1
},
{
"date": "2020-12-03",
"count": 1
},
{
"date": "2020-12-04",
"count": 1
},
{
"date": "2020-12-06",
"count": 1
},
{
"date": "2020-12-13",
"count": 1
},
{
"date": "2020-12-15",
"count": 2
},
{
"date": "2020-12-21",
"count": 1
},
{
"date": "2020-12-22",
"count": 2
},
{
"date": "2020-12-23",
"count": 1
},
{
"date": "2020-12-24",
"count": 1
},
{
"date": "2020-12-26",
"count": 1
},
{
"date": "2020-12-27",
"count": 1
},
{
"date": "2020-12-30",
"count": 1
},
{
"date": "2021-01-02",
"count": 1
},
{
"date": "2021-01-03",
"count": 1
},
{
"date": "2021-01-05",
"count": 2
},
{
"date": "2021-01-06",
"count": 1
},
{
"date": "2021-01-07",
"count": 1
},
{
"date": "2021-01-09",
"count": 1
},
{
"date": "2021-01-10",
"count": 1
},
{
"date": "2021-01-11",
"count": 1
},
{
"date": "2021-01-12",
"count": 1
},
{
"date": "2021-01-15",
"count": 1
},
{
"date": "2021-01-18",
"count": 1
},
{
"date": "2021-01-19",
"count": 2
},
{
"date": "2021-01-20",
"count": 1
},
{
"date": "2021-01-22",
"count": 1
},
{
"date": "2021-01-23",
"count": 1
},
{
"date": "2021-01-25",
"count": 1
},
{
"date": "2021-01-26",
"count": 2
},
{
"date": "2021-01-28",
"count": 1
},
{
"date": "2021-01-30",
"count": 1
},
{
"date": "2021-02-01",
"count": 2
},
{
"date": "2021-02-02",
"count": 2
},
{
"date": "2021-02-03",
"count": 1
},
{
"date": "2021-02-05",
"count": 1
},
{
"date": "2021-02-08",
"count": 1
},
{
"date": "2021-02-09",
"count": 3
},
{
"date": "2021-02-10",
"count": 1
},
{
"date": "2021-02-11",
"count": 2
},
{
"date": "2021-02-14",
"count": 1
},
{
"date": "2021-02-18",
"count": 1
},
{
"date": "2021-02-25",
"count": 1
},
{
"date": "2021-02-26",
"count": 1
},
{
"date": "2021-02-28",
"count": 1
},
{
"date": "2021-03-01",
"count": 1
},
{
"date": "2021-03-04",
"count": 1
},
{
"date": "2021-03-05",
"count": 3
},
{
"date": "2021-03-07",
"count": 1
},
{
"date": "2021-03-12",
"count": 2
},
{
"date": "2021-03-14",
"count": 2
},
{
"date": "2021-03-15",
"count": 3
},
{
"date": "2021-03-17",
"count": 1
},
{
"date": "2021-03-20",
"count": 1
},
{
"date": "2021-03-24",
"count": 2
},
{
"date": "2021-03-25",
"count": 1
},
{
"date": "2021-03-30",
"count": 1
},
{
"date": "2021-03-31",
"count": 1
},
{
"date": "2021-04-01",
"count": 1
},
{
"date": "2021-04-03",
"count": 1
},
{
"date": "2021-04-07",
"count": 2
},
{
"date": "2021-04-09",
"count": 1
},
{
"date": "2021-04-10",
"count": 2
},
{
"date": "2021-04-12",
"count": 2
},
{
"date": "2021-04-13",
"count": 1
},
{
"date": "2021-04-14",
"count": 1
},
{
"date": "2021-04-15",
"count": 1
},
{
"date": "2021-04-16",
"count": 1
},
{
"date": "2021-04-17",
"count": 1
},
{
"date": "2021-04-19",
"count": 1
},
{
"date": "2021-04-28",
"count": 1
},
{
"date": "2021-04-29",
"count": 1
},
{
"date": "2021-05-06",
"count": 2
},
{
"date": "2021-05-07",
"count": 2
},
{
"date": "2021-05-08",
"count": 1
},
{
"date": "2021-05-09",
"count": 1
},
{
"date": "2021-05-10",
"count": 1
},
{
"date": "2021-05-13",
"count": 2
},
{
"date": "2021-05-17",
"count": 2
},
{
"date": "2021-05-18",
"count": 2
},
{
"date": "2021-05-19",
"count": 1
},
{
"date": "2021-05-21",
"count": 1
},
{
"date": "2021-05-23",
"count": 1
},
{
"date": "2021-05-26",
"count": 1
},
{
"date": "2021-05-29",
"count": 1
},
{
"date": "2021-05-31",
"count": 1
},
{
"date": "2021-06-01",
"count": 2
},
{
"date": "2021-06-02",
"count": 1
},
{
"date": "2021-06-09",
"count": 1
},
{
"date": "2021-06-13",
"count": 1
},
{
"date": "2021-06-14",
"count": 1
},
{
"date": "2021-06-16",
"count": 2
},
{
"date": "2021-06-20",
"count": 1
},
{
"date": "2021-06-24",
"count": 1
},
{
"date": "2021-06-26",
"count": 1
},
{
"date": "2021-06-29",
"count": 2
},
{
"date": "2021-07-01",
"count": 2
},
{
"date": "2021-07-03",
"count": 1
},
{
"date": "2021-07-05",
"count": 2
},
{
"date": "2021-07-06",
"count": 2
},
{
"date": "2021-07-14",
"count": 1
},
{
"date": "2021-07-19",
"count": 1
},
{
"date": "2021-07-22",
"count": 1
},
{
"date": "2021-07-26",
"count": 1
},
{
"date": "2021-07-27",
"count": 1
},
{
"date": "2021-07-28",
"count": 1
},
{
"date": "2021-07-30",
"count": 1
},
{
"date": "2021-08-01",
"count": 1
},
{
"date": "2021-08-02",
"count": 1
},
{
"date": "2021-08-06",
"count": 1
},
{
"date": "2021-08-09",
"count": 2
},
{
"date": "2021-08-10",
"count": 3
},
{
"date": "2021-08-11",
"count": 1
},
{
"date": "2021-08-17",
"count": 1
},
{
"date": "2021-08-18",
"count": 1
},
{
"date": "2021-08-19",
"count": 1
},
{
"date": "2021-08-21",
"count": 1
},
{
"date": "2021-08-22",
"count": 1
},
{
"date": "2021-08-23",
"count": 2
},
{
"date": "2021-08-25",
"count": 1
},
{
"date": "2021-08-26",
"count": 1
},
{
"date": "2021-08-30",
"count": 1
},
{
"date": "2021-08-31",
"count": 1
},
{
"date": "2021-09-01",
"count": 1
},
{
"date": "2021-09-05",
"count": 1
},
{
"date": "2021-09-07",
"count": 1
},
{
"date": "2021-09-09",
"count": 1
},
{
"date": "2021-09-15",
"count": 2
},
{
"date": "2021-09-16",
"count": 1
},
{
"date": "2021-09-20",
"count": 1
},
{
"date": "2021-09-24",
"count": 1
},
{
"date": "2021-09-26",
"count": 1
},
{
"date": "2021-09-28",
"count": 1
},
{
"date": "2021-09-29",
"count": 1
},
{
"date": "2021-10-01",
"count": 1
},
{
"date": "2021-10-03",
"count": 1
},
{
"date": "2021-10-07",
"count": 2
},
{
"date": "2021-10-08",
"count": 1
},
{
"date": "2021-10-10",
"count": 1
},
{
"date": "2021-10-12",
"count": 1
},
{
"date": "2021-10-15",
"count": 1
},
{
"date": "2021-10-17",
"count": 1
},
{
"date": "2021-10-18",
"count": 1
},
{
"date": "2021-10-23",
"count": 1
},
{
"date": "2021-10-27",
"count": 1
},
{
"date": "2021-10-30",
"count": 1
},
{
"date": "2021-10-31",
"count": 1
},
{
"date": "2021-11-01",
"count": 2
},
{
"date": "2021-11-04",
"count": 1
},
{
"date": "2021-11-05",
"count": 1
},
{
"date": "2021-11-09",
"count": 1
},
{
"date": "2021-11-11",
"count": 1
},
{
"date": "2021-11-13",
"count": 1
},
{
"date": "2021-11-15",
"count": 2
},
{
"date": "2021-11-18",
"count": 1
},
{
"date": "2021-11-21",
"count": 1
},
{
"date": "2021-11-22",
"count": 1
},
{
"date": "2021-11-23",
"count": 1
},
{
"date": "2021-11-27",
"count": 1
},
{
"date": "2021-11-28",
"count": 1
},
{
"date": "2021-11-29",
"count": 1
},
{
"date": "2021-11-30",
"count": 1
},
{
"date": "2021-12-01",
"count": 1
},
{
"date": "2021-12-02",
"count": 1
},
{
"date": "2021-12-06",
"count": 3
},
{
"date": "2021-12-07",
"count": 1
},
{
"date": "2021-12-08",
"count": 1
},
{
"date": "2021-12-13",
"count": 1
},
{
"date": "2021-12-16",
"count": 1
},
{
"date": "2021-12-19",
"count": 1
},
{
"date": "2021-12-27",
"count": 1
},
{
"date": "2021-12-31",
"count": 2
},
{
"date": "2022-01-06",
"count": 1
},
{
"date": "2022-01-08",
"count": 1
},
{
"date": "2022-01-09",
"count": 2
},
{
"date": "2022-01-12",
"count": 1
},
{
"date": "2022-01-13",
"count": 1
},
{
"date": "2022-01-14",
"count": 1
},
{
"date": "2022-01-20",
"count": 1
},
{
"date": "2022-01-24",
"count": 2
},
{
"date": "2022-01-26",
"count": 1
},
{
"date": "2022-02-01",
"count": 1
},
{
"date": "2022-02-08",
"count": 1
},
{
"date": "2022-02-09",
"count": 2
},
{
"date": "2022-02-11",
"count": 1
},
{
"date": "2022-02-12",
"count": 1
},
{
"date": "2022-02-14",
"count": 1
},
{
"date": "2022-02-15",
"count": 2
},
{
"date": "2022-02-21",
"count": 1
},
{
"date": "2022-02-22",
"count": 1
},
{
"date": "2022-02-23",
"count": 1
},
{
"date": "2022-02-24",
"count": 2
},
{
"date": "2022-02-25",
"count": 1
},
{
"date": "2022-03-01",
"count": 1
},
{
"date": "2022-03-03",
"count": 1
},
{
"date": "2022-03-10",
"count": 1
},
{
"date": "2022-03-13",
"count": 1
},
{
"date": "2022-03-20",
"count": 1
},
{
"date": "2022-03-21",
"count": 1
},
{
"date": "2022-03-22",
"count": 2
},
{
"date": "2022-03-27",
"count": 1
},
{
"date": "2022-03-28",
"count": 1
},
{
"date": "2022-03-29",
"count": 1
},
{
"date": "2022-03-30",
"count": 1
},
{
"date": "2022-03-31",
"count": 2
},
{
"date": "2022-04-03",
"count": 2
},
{
"date": "2022-04-06",
"count": 1
},
{
"date": "2022-04-07",
"count": 2
},
{
"date": "2022-04-12",
"count": 1
},
{
"date": "2022-04-13",
"count": 1
},
{
"date": "2022-04-15",
"count": 1
},
{
"date": "2022-04-19",
"count": 3
},
{
"date": "2022-04-20",
"count": 1
},
{
"date": "2022-04-24",
"count": 2
},
{
"date": "2022-04-26",
"count": 1
},
{
"date": "2022-04-28",
"count": 3
},
{
"date": "2022-04-29",
"count": 2
},
{
"date": "2022-05-04",
"count": 1
},
{
"date": "2022-05-06",
"count": 1
},
{
"date": "2022-05-08",
"count": 1
},
{
"date": "2022-05-16",
"count": 1
},
{
"date": "2022-05-17",
"count": 1
},
{
"date": "2022-05-19",
"count": 1
},
{
"date": "2022-05-25",
"count": 1
},
{
"date": "2022-06-02",
"count": 1
},
{
"date": "2022-06-05",
"count": 1
},
{
"date": "2022-06-06",
"count": 1
},
{
"date": "2022-06-07",
"count": 2
},
{
"date": "2022-06-08",
"count": 1
},
{
"date": "2022-06-09",
"count": 1
},
{
"date": "2022-06-10",
"count": 1
},
{
"date": "2022-06-13",
"count": 3
},
{
"date": "2022-06-15",
"count": 2
},
{
"date": "2022-06-25",
"count": 1
},
{
"date": "2022-06-27",
"count": 1
},
{
"date": "2022-06-29",
"count": 1
},
{
"date": "2022-07-06",
"count": 1
},
{
"date": "2022-07-07",
"count": 1
},
{
"date": "2022-07-08",
"count": 1
},
{
"date": "2022-07-10",
"count": 1
},
{
"date": "2022-07-13",
"count": 1
},
{
"date": "2022-07-15",
"count": 1
},
{
"date": "2022-07-19",
"count": 1
},
{
"date": "2022-07-20",
"count": 1
},
{
"date": "2022-07-22",
"count": 1
},
{
"date": "2022-07-24",
"count": 1
},
{
"date": "2022-07-26",
"count": 1
},
{
"date": "2022-08-02",
"count": 4
},
{
"date": "2022-08-03",
"count": 2
},
{
"date": "2022-08-05",
"count": 1
},
{
"date": "2022-08-08",
"count": 1
},
{
"date": "2022-08-12",
"count": 1
},
{
"date": "2022-08-13",
"count": 1
},
{
"date": "2022-08-20",
"count": 1
},
{
"date": "2022-08-28",
"count": 1
},
{
"date": "2022-09-01",
"count": 2
},
{
"date": "2022-09-02",
"count": 1
},
{
"date": "2022-09-03",
"count": 2
},
{
"date": "2022-09-04",
"count": 1
},
{
"date": "2022-09-05",
"count": 1
},
{
"date": "2022-09-09",
"count": 3
},
{
"date": "2022-09-10",
"count": 1
},
{
"date": "2022-09-14",
"count": 1
},
{
"date": "2022-09-16",
"count": 2
},
{
"date": "2022-09-17",
"count": 1
},
{
"date": "2022-09-18",
"count": 2
},
{
"date": "2022-09-19",
"count": 2
},
{
"date": "2022-09-20",
"count": 2
},
{
"date": "2022-09-21",
"count": 1
},
{
"date": "2022-09-22",
"count": 1
},
{
"date": "2022-09-28",
"count": 1
},
{
"date": "2022-09-29",
"count": 1
},
{
"date": "2022-10-03",
"count": 1
},
{
"date": "2022-10-06",
"count": 2
},
{
"date": "2022-10-10",
"count": 1
},
{
"date": "2022-10-11",
"count": 1
},
{
"date": "2022-10-13",
"count": 1
},
{
"date": "2022-10-17",
"count": 1
},
{
"date": "2022-10-18",
"count": 2
},
{
"date": "2022-10-26",
"count": 1
},
{
"date": "2022-10-27",
"count": 1
},
{
"date": "2022-11-02",
"count": 1
},
{
"date": "2022-11-04",
"count": 1
},
{
"date": "2022-11-07",
"count": 2
},
{
"date": "2022-11-10",
"count": 3
},
{
"date": "2022-11-11",
"count": 1
},
{
"date": "2022-11-16",
"count": 1
},
{
"date": "2022-11-17",
"count": 1
},
{
"date": "2022-11-21",
"count": 1
},
{
"date": "2022-11-22",
"count": 2
},
{
"date": "2022-12-05",
"count": 1
},
{
"date": "2022-12-07",
"count": 2
},
{
"date": "2022-12-14",
"count": 2
},
{
"date": "2022-12-15",
"count": 1
},
{
"date": "2022-12-18",
"count": 1
},
{
"date": "2022-12-19",
"count": 1
},
{
"date": "2022-12-20",
"count": 2
},
{
"date": "2022-12-27",
"count": 1
},
{
"date": "2022-12-30",
"count": 1
},
{
"date": "2023-01-04",
"count": 2
},
{
"date": "2023-01-07",
"count": 1
},
{
"date": "2023-01-09",
"count": 1
},
{
"date": "2023-01-13",
"count": 2
},
{
"date": "2023-01-15",
"count": 1
},
{
"date": "2023-01-20",
"count": 1
},
{
"date": "2023-01-23",
"count": 1
},
{
"date": "2023-01-29",
"count": 1
},
{
"date": "2023-02-01",
"count": 2
},
{
"date": "2023-02-02",
"count": 2
},
{
"date": "2023-02-03",
"count": 1
},
{
"date": "2023-02-05",
"count": 4
},
{
"date": "2023-02-06",
"count": 1
},
{
"date": "2023-02-07",
"count": 1
},
{
"date": "2023-02-08",
"count": 2
},
{
"date": "2023-02-09",
"count": 2
},
{
"date": "2023-02-14",
"count": 1
},
{
"date": "2023-02-15",
"count": 1
},
{
"date": "2023-02-19",
"count": 1
},
{
"date": "2023-02-20",
"count": 3
},
{
"date": "2023-02-21",
"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-15",
"count": 1
},
{
"date": "2023-03-16",
"count": 1
},
{
"date": "2023-03-21",
"count": 1
},
{
"date": "2023-03-22",
"count": 1
},
{
"date": "2023-03-30",
"count": 1
},
{
"date": "2023-04-03",
"count": 3
},
{
"date": "2023-04-08",
"count": 1
},
{
"date": "2023-04-14",
"count": 1
},
{
"date": "2023-04-16",
"count": 1
},
{
"date": "2023-04-17",
"count": 2
},
{
"date": "2023-04-19",
"count": 4
},
{
"date": "2023-04-20",
"count": 1
},
{
"date": "2023-04-25",
"count": 1
},
{
"date": "2023-04-29",
"count": 1
},
{
"date": "2023-04-30",
"count": 1
},
{
"date": "2023-05-04",
"count": 1
},
{
"date": "2023-05-06",
"count": 1
},
{
"date": "2023-05-08",
"count": 1
},
{
"date": "2023-05-11",
"count": 3
},
{
"date": "2023-05-19",
"count": 1
},
{
"date": "2023-05-24",
"count": 1
},
{
"date": "2023-05-25",
"count": 3
},
{
"date": "2023-05-26",
"count": 2
},
{
"date": "2023-06-04",
"count": 1
},
{
"date": "2023-06-05",
"count": 1
},
{
"date": "2023-06-08",
"count": 1
},
{
"date": "2023-06-18",
"count": 1
},
{
"date": "2023-06-19",
"count": 1
},
{
"date": "2023-06-20",
"count": 1
},
{
"date": "2023-06-23",
"count": 1
},
{
"date": "2023-06-28",
"count": 1
},
{
"date": "2023-07-04",
"count": 2
},
{
"date": "2023-07-06",
"count": 1
},
{
"date": "2023-07-08",
"count": 1
},
{
"date": "2023-07-10",
"count": 2
},
{
"date": "2023-07-11",
"count": 1
},
{
"date": "2023-07-12",
"count": 1
},
{
"date": "2023-07-15",
"count": 1
},
{
"date": "2023-07-18",
"count": 1
},
{
"date": "2023-07-26",
"count": 2
},
{
"date": "2023-07-27",
"count": 1
},
{
"date": "2023-07-31",
"count": 1
},
{
"date": "2023-08-06",
"count": 1
},
{
"date": "2023-08-07",
"count": 2
},
{
"date": "2023-08-10",
"count": 1
},
{
"date": "2023-08-13",
"count": 1
},
{
"date": "2023-08-14",
"count": 1
},
{
"date": "2023-08-15",
"count": 2
},
{
"date": "2023-08-21",
"count": 2
},
{
"date": "2023-08-23",
"count": 1
},
{
"date": "2023-08-26",
"count": 1
},
{
"date": "2023-08-28",
"count": 2
},
{
"date": "2023-08-29",
"count": 1
},
{
"date": "2023-08-30",
"count": 1
},
{
"date": "2023-09-01",
"count": 1
},
{
"date": "2023-09-03",
"count": 1
},
{
"date": "2023-09-04",
"count": 1
},
{
"date": "2023-09-11",
"count": 1
},
{
"date": "2023-09-14",
"count": 1
},
{
"date": "2023-09-17",
"count": 1
},
{
"date": "2023-09-19",
"count": 1
},
{
"date": "2023-09-20",
"count": 1
},
{
"date": "2023-10-01",
"count": 2
},
{
"date": "2023-10-10",
"count": 1
},
{
"date": "2023-10-12",
"count": 3
},
{
"date": "2023-10-14",
"count": 1
},
{
"date": "2023-10-15",
"count": 1
},
{
"date": "2023-10-17",
"count": 1
},
{
"date": "2023-10-18",
"count": 1
},
{
"date": "2023-10-19",
"count": 2
},
{
"date": "2023-10-20",
"count": 1
},
{
"date": "2023-10-24",
"count": 2
},
{
"date": "2023-10-29",
"count": 1
},
{
"date": "2023-11-01",
"count": 1
},
{
"date": "2023-11-02",
"count": 1
},
{
"date": "2023-11-10",
"count": 1
},
{
"date": "2023-11-21",
"count": 1
},
{
"date": "2023-11-23",
"count": 1
},
{
"date": "2023-11-30",
"count": 1
},
{
"date": "2023-12-01",
"count": 1
},
{
"date": "2023-12-11",
"count": 1
},
{
"date": "2023-12-13",
"count": 1
},
{
"date": "2023-12-26",
"count": 1
},
{
"date": "2023-12-29",
"count": 1
},
{
"date": "2024-01-05",
"count": 1
},
{
"date": "2024-01-07",
"count": 1
},
{
"date": "2024-01-11",
"count": 1
},
{
"date": "2024-01-15",
"count": 1
},
{
"date": "2024-01-16",
"count": 1
},
{
"date": "2024-01-17",
"count": 1
},
{
"date": "2024-01-19",
"count": 1
},
{
"date": "2024-01-21",
"count": 1
},
{
"date": "2024-01-24",
"count": 1
},
{
"date": "2024-01-25",
"count": 1
},
{
"date": "2024-01-29",
"count": 1
},
{
"date": "2024-01-30",
"count": 2
},
{
"date": "2024-01-31",
"count": 1
},
{
"date": "2024-02-17",
"count": 1
},
{
"date": "2024-02-20",
"count": 1
},
{
"date": "2024-02-21",
"count": 1
},
{
"date": "2024-02-22",
"count": 1
},
{
"date": "2024-02-23",
"count": 1
},
{
"date": "2024-02-24",
"count": 1
},
{
"date": "2024-02-25",
"count": 1
},
{
"date": "2024-02-26",
"count": 1
},
{
"date": "2024-03-01",
"count": 1
},
{
"date": "2024-03-03",
"count": 1
},
{
"date": "2024-03-07",
"count": 1
},
{
"date": "2024-03-10",
"count": 1
},
{
"date": "2024-03-11",
"count": 1
},
{
"date": "2024-03-14",
"count": 1
},
{
"date": "2024-03-17",
"count": 2
},
{
"date": "2024-03-19",
"count": 1
},
{
"date": "2024-03-24",
"count": 1
},
{
"date": "2024-03-27",
"count": 1
},
{
"date": "2024-03-29",
"count": 1
},
{
"date": "2024-03-30",
"count": 1
},
{
"date": "2024-04-03",
"count": 1
},
{
"date": "2024-04-05",
"count": 3
},
{
"date": "2024-04-07",
"count": 1
},
{
"date": "2024-04-11",
"count": 1
},
{
"date": "2024-04-15",
"count": 2
},
{
"date": "2024-04-20",
"count": 1
},
{
"date": "2024-04-21",
"count": 1
},
{
"date": "2024-04-24",
"count": 1
},
{
"date": "2024-04-25",
"count": 2
},
{
"date": "2024-04-30",
"count": 2
},
{
"date": "2024-05-01",
"count": 5
},
{
"date": "2024-05-02",
"count": 2
},
{
"date": "2024-05-03",
"count": 2
},
{
"date": "2024-05-05",
"count": 1
},
{
"date": "2024-05-08",
"count": 1
},
{
"date": "2024-05-09",
"count": 1
},
{
"date": "2024-05-12",
"count": 1
},
{
"date": "2024-05-13",
"count": 2
},
{
"date": "2024-05-15",
"count": 1
},
{
"date": "2024-05-19",
"count": 1
},
{
"date": "2024-05-21",
"count": 1
},
{
"date": "2024-05-24",
"count": 1
},
{
"date": "2024-05-26",
"count": 1
},
{
"date": "2024-05-30",
"count": 1
},
{
"date": "2024-06-02",
"count": 1
},
{
"date": "2024-06-07",
"count": 1
},
{
"date": "2024-06-09",
"count": 1
},
{
"date": "2024-06-10",
"count": 1
},
{
"date": "2024-06-14",
"count": 1
},
{
"date": "2024-06-20",
"count": 1
},
{
"date": "2024-06-25",
"count": 2
},
{
"date": "2024-06-26",
"count": 1
},
{
"date": "2024-06-28",
"count": 1
},
{
"date": "2024-07-09",
"count": 1
},
{
"date": "2024-07-11",
"count": 1
},
{
"date": "2024-07-12",
"count": 1
},
{
"date": "2024-07-14",
"count": 1
},
{
"date": "2024-07-17",
"count": 1
},
{
"date": "2024-07-20",
"count": 1
},
{
"date": "2024-07-22",
"count": 1
},
{
"date": "2024-08-02",
"count": 1
},
{
"date": "2024-08-16",
"count": 2
},
{
"date": "2024-08-21",
"count": 1
},
{
"date": "2024-08-23",
"count": 1
},
{
"date": "2024-08-25",
"count": 1
},
{
"date": "2024-08-27",
"count": 1
},
{
"date": "2024-08-28",
"count": 1
},
{
"date": "2024-09-02",
"count": 1
},
{
"date": "2024-09-03",
"count": 1
},
{
"date": "2024-09-07",
"count": 1
},
{
"date": "2024-09-09",
"count": 1
},
{
"date": "2024-09-10",
"count": 1
},
{
"date": "2024-09-13",
"count": 1
},
{
"date": "2024-09-17",
"count": 1
},
{
"date": "2024-09-20",
"count": 1
},
{
"date": "2024-09-26",
"count": 2
},
{
"date": "2024-10-02",
"count": 1
},
{
"date": "2024-10-03",
"count": 1
},
{
"date": "2024-10-04",
"count": 1
},
{
"date": "2024-10-06",
"count": 1
},
{
"date": "2024-10-08",
"count": 1
},
{
"date": "2024-10-09",
"count": 1
},
{
"date": "2024-10-11",
"count": 1
},
{
"date": "2024-10-12",
"count": 1
},
{
"date": "2024-10-14",
"count": 1
},
{
"date": "2024-10-18",
"count": 1
},
{
"date": "2024-10-19",
"count": 1
},
{
"date": "2024-10-22",
"count": 1
},
{
"date": "2024-10-23",
"count": 1
},
{
"date": "2024-10-25",
"count": 1
},
{
"date": "2024-10-29",
"count": 2
},
{
"date": "2024-10-30",
"count": 1
},
{
"date": "2024-11-01",
"count": 1
},
{
"date": "2024-11-02",
"count": 1
},
{
"date": "2024-11-07",
"count": 1
},
{
"date": "2024-11-13",
"count": 1
},
{
"date": "2024-11-18",
"count": 1
},
{
"date": "2024-11-20",
"count": 1
},
{
"date": "2024-11-21",
"count": 1
},
{
"date": "2024-11-23",
"count": 1
},
{
"date": "2024-11-26",
"count": 1
},
{
"date": "2024-12-02",
"count": 1
},
{
"date": "2024-12-03",
"count": 1
},
{
"date": "2024-12-07",
"count": 1
},
{
"date": "2024-12-12",
"count": 1
},
{
"date": "2024-12-17",
"count": 1
},
{
"date": "2024-12-18",
"count": 1
},
{
"date": "2024-12-24",
"count": 2
},
{
"date": "2024-12-28",
"count": 1
},
{
"date": "2024-12-29",
"count": 1
},
{
"date": "2024-12-30",
"count": 1
},
{
"date": "2024-12-31",
"count": 1
},
{
"date": "2025-01-04",
"count": 1
},
{
"date": "2025-01-06",
"count": 1
},
{
"date": "2025-01-09",
"count": 2
},
{
"date": "2025-01-14",
"count": 1
},
{
"date": "2025-01-16",
"count": 1
},
{
"date": "2025-01-17",
"count": 1
},
{
"date": "2025-01-19",
"count": 1
},
{
"date": "2025-01-30",
"count": 1
},
{
"date": "2025-02-01",
"count": 1
},
{
"date": "2025-02-04",
"count": 1
},
{
"date": "2025-02-11",
"count": 1
},
{
"date": "2025-02-12",
"count": 1
},
{
"date": "2025-02-13",
"count": 1
},
{
"date": "2025-02-18",
"count": 1
},
{
"date": "2025-02-21",
"count": 1
},
{
"date": "2025-02-22",
"count": 1
},
{
"date": "2025-02-23",
"count": 1
},
{
"date": "2025-03-02",
"count": 1
},
{
"date": "2025-03-03",
"count": 2
},
{
"date": "2025-03-07",
"count": 1
},
{
"date": "2025-03-12",
"count": 1
},
{
"date": "2025-03-14",
"count": 1
},
{
"date": "2025-03-18",
"count": 1
},
{
"date": "2025-03-22",
"count": 1
},
{
"date": "2025-03-23",
"count": 1
},
{
"date": "2025-03-25",
"count": 1
},
{
"date": "2025-03-31",
"count": 2
},
{
"date": "2025-04-03",
"count": 1
},
{
"date": "2025-04-07",
"count": 2
},
{
"date": "2025-04-10",
"count": 2
},
{
"date": "2025-04-14",
"count": 1
},
{
"date": "2025-04-20",
"count": 1
},
{
"date": "2025-04-21",
"count": 1
},
{
"date": "2025-04-24",
"count": 1
},
{
"date": "2025-04-27",
"count": 1
},
{
"date": "2025-04-28",
"count": 1
},
{
"date": "2025-05-11",
"count": 1
},
{
"date": "2025-05-19",
"count": 2
},
{
"date": "2025-05-20",
"count": 2
},
{
"date": "2025-05-21",
"count": 1
},
{
"date": "2025-05-27",
"count": 2
},
{
"date": "2025-05-31",
"count": 1
},
{
"date": "2025-06-02",
"count": 1
},
{
"date": "2025-06-04",
"count": 1
},
{
"date": "2025-06-15",
"count": 1
},
{
"date": "2025-06-16",
"count": 1
},
{
"date": "2025-06-26",
"count": 1
},
{
"date": "2025-06-30",
"count": 1
},
{
"date": "2025-07-01",
"count": 1
},
{
"date": "2025-07-02",
"count": 1
},
{
"date": "2025-07-14",
"count": 1
},
{
"date": "2025-07-23",
"count": 1
},
{
"date": "2025-07-24",
"count": 1
},
{
"date": "2025-07-26",
"count": 1
},
{
"date": "2025-07-27",
"count": 2
},
{
"date": "2025-07-28",
"count": 2
},
{
"date": "2025-07-29",
"count": 1
},
{
"date": "2025-08-03",
"count": 1
},
{
"date": "2025-08-04",
"count": 1
},
{
"date": "2025-08-07",
"count": 1
},
{
"date": "2025-08-08",
"count": 1
},
{
"date": "2025-08-14",
"count": 1
},
{
"date": "2025-09-02",
"count": 1
},
{
"date": "2025-09-09",
"count": 2
},
{
"date": "2025-09-15",
"count": 1
},
{
"date": "2025-09-16",
"count": 1
},
{
"date": "2025-09-20",
"count": 1
},
{
"date": "2025-09-23",
"count": 1
},
{
"date": "2025-10-07",
"count": 1
},
{
"date": "2025-10-26",
"count": 2
},
{
"date": "2025-10-27",
"count": 1
},
{
"date": "2025-10-28",
"count": 1
},
{
"date": "2025-10-29",
"count": 1
},
{
"date": "2025-10-30",
"count": 1
},
{
"date": "2025-11-01",
"count": 1
},
{
"date": "2025-11-03",
"count": 1
},
{
"date": "2025-11-07",
"count": 1
},
{
"date": "2025-12-01",
"count": 1
},
{
"date": "2025-12-02",
"count": 2
},
{
"date": "2025-12-08",
"count": 1
},
{
"date": "2025-12-15",
"count": 1
},
{
"date": "2025-12-17",
"count": 1
},
{
"date": "2025-12-24",
"count": 1
},
{
"date": "2025-12-31",
"count": 1
},
{
"date": "2026-01-10",
"count": 1
},
{
"date": "2026-01-27",
"count": 1
},
{
"date": "2026-01-28",
"count": 2
},
{
"date": "2026-01-29",
"count": 2
},
{
"date": "2026-02-09",
"count": 1
},
{
"date": "2026-02-25",
"count": 1
},
{
"date": "2026-03-05",
"count": 1
},
{
"date": "2026-03-22",
"count": 1
},
{
"date": "2026-04-03",
"count": 1
},
{
"date": "2026-04-06",
"count": 1
},
{
"date": "2026-04-20",
"count": 1
},
{
"date": "2026-04-24",
"count": 1
},
{
"date": "2026-04-30",
"count": 1
},
{
"date": "2026-05-05",
"count": 1
},
{
"date": "2026-05-11",
"count": 1
},
{
"date": "2026-05-21",
"count": 1
},
{
"date": "2026-05-25",
"count": 1
},
{
"date": "2026-06-01",
"count": 1
},
{
"date": "2026-06-05",
"count": 1
},
{
"date": "2026-06-14",
"count": 1
},
{
"date": "2026-07-05",
"count": 1
},
{
"date": "2026-07-16",
"count": 1
}
],
"complete": false,
"collected": 1000,
"total_stars": 5896
},
"open_issues_and_prs": 46
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [
"examples"
],
"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": 66752,
"source_files_sampled": 74,
"oversized_source_files": 1,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"Gemfile"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 1,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 17,
"direct_affected_count": 0
},
"ecosystems": [
"rubygems"
],
"dependencies": [
{
"name": "base64",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "rake",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "mongrel",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": "1.2.0.pre2"
},
{
"name": "json",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "base64",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "json",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "mongrel",
"direct": true,
"version": "1.2.0.pre2",
"ecosystem": "rubygems"
},
{
"name": "rake",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "addressable",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "aruba",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "csv",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "cucumber",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "guard",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "guard-bundler",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "guard-rspec",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "mini_mime",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "multi_xml",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "pry",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "rexml",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "rspec",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "simplecov",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "webmock",
"direct": false,
"version": null,
"ecosystem": "rubygems"
}
],
"collected": true,
"truncated": false,
"total_count": 18,
"direct_count": 4,
"indirect_count": 14
}
},
"maintainership": {
"issues": {
"open_prs": 8,
"merged_prs": 284,
"open_issues": 38,
"closed_ratio": 0.91,
"closed_issues": 385,
"closed_unmerged_prs": 110
},
"bus_factor": 2,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "jnunemaker",
"commits": 506,
"avatar_url": "https://avatars.githubusercontent.com/u/235?v=4"
},
{
"type": "User",
"login": "sandro",
"commits": 154,
"avatar_url": "https://avatars.githubusercontent.com/u/9643?v=4"
},
{
"type": "User",
"login": "greatuserongithub",
"commits": 136,
"avatar_url": "https://avatars.githubusercontent.com/u/132095174?v=4"
},
{
"type": "User",
"login": "TheSmartnik",
"commits": 43,
"avatar_url": "https://avatars.githubusercontent.com/u/8058230?v=4"
},
{
"type": "User",
"login": "mikeastock",
"commits": 18,
"avatar_url": "https://avatars.githubusercontent.com/u/1907044?v=4"
},
{
"type": "User",
"login": "hydrogen18",
"commits": 11,
"avatar_url": "https://avatars.githubusercontent.com/u/130230?v=4"
},
{
"type": "User",
"login": "dpetersen",
"commits": 9,
"avatar_url": "https://avatars.githubusercontent.com/u/408?v=4"
},
{
"type": "User",
"login": "JonMidhir",
"commits": 9,
"avatar_url": "https://avatars.githubusercontent.com/u/39089?v=4"
},
{
"type": "User",
"login": "lucasuyezu",
"commits": 8,
"avatar_url": "https://avatars.githubusercontent.com/u/26002?v=4"
},
{
"type": "User",
"login": "ritikesh",
"commits": 8,
"avatar_url": "https://avatars.githubusercontent.com/u/1778360?v=4"
}
],
"contributors_sampled": 100,
"top_contributor_share": 0.458
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"ci.yml"
],
"has_docs_dir": true,
"linter_configs": [
".rubocop.yml"
],
"has_editorconfig": true,
"has_linter_config": true,
"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": 6,
"reason": "6 out of 9 merged PRs checked by a CI test -- score normalized to 6",
"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": 2,
"reason": "Found 5/20 approved changesets -- score normalized to 2",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 15 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": 10,
"reason": "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": "2daba91bf3f61de2676a2e906f4d3181ebadea83",
"ran_at": "2026-07-21T23:37:23Z",
"aggregate_score": 4.4,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": true
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-03-04T15:49:35Z",
"oldest_open_prs": [
{
"number": 802,
"created_at": "2024-07-16T17:43:51Z",
"last_comment_at": "2024-12-18T20:48:58Z",
"last_comment_author": "nparker-tc"
},
{
"number": 804,
"created_at": "2024-08-02T17:36:01Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 813,
"created_at": "2025-04-10T02:15:30Z",
"last_comment_at": "2025-04-20T22:45:53Z",
"last_comment_author": "jnunemaker"
},
{
"number": 819,
"created_at": "2025-08-14T13:56:27Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 824,
"created_at": "2025-10-14T03:50:23Z",
"last_comment_at": "2025-10-14T03:52:10Z",
"last_comment_author": "ngsikai"
},
{
"number": 825,
"created_at": "2025-11-06T18:58:44Z",
"last_comment_at": "2026-01-08T20:07:18Z",
"last_comment_author": "zygzagZ"
},
{
"number": 827,
"created_at": "2025-11-24T16:35:08Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 838,
"created_at": "2026-06-12T15:31:35Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2026-03-04T15:48:24Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 212,
"created_at": "2013-05-29T21:30:04Z",
"last_comment_at": "2017-05-12T08:51:45Z",
"last_comment_author": "hugochougt"
},
{
"number": 285,
"created_at": "2014-03-19T22:25:06Z",
"last_comment_at": "2015-11-30T14:36:21Z",
"last_comment_author": "JonMidhir"
},
{
"number": 303,
"created_at": "2014-05-27T20:34:31Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 312,
"created_at": "2014-07-18T19:27:07Z",
"last_comment_at": "2014-08-05T13:34:31Z",
"last_comment_author": "jnunemaker"
},
{
"number": 326,
"created_at": "2014-08-25T13:42:15Z",
"last_comment_at": "2014-08-26T19:56:49Z",
"last_comment_author": "rubyconvict"
},
{
"number": 370,
"created_at": "2015-01-14T23:00:37Z",
"last_comment_at": "2015-09-14T17:53:07Z",
"last_comment_author": "meggersatmonsoon"
},
{
"number": 476,
"created_at": "2016-05-26T18:03:06Z",
"last_comment_at": "2016-07-29T13:10:54Z",
"last_comment_author": "dmitry"
},
{
"number": 494,
"created_at": "2016-09-05T14:47:21Z",
"last_comment_at": "2024-06-17T00:54:08Z",
"last_comment_author": "thewoolleyman"
},
{
"number": 502,
"created_at": "2016-11-09T13:19:47Z",
"last_comment_at": "2017-02-17T16:04:11Z",
"last_comment_author": "tak1n"
},
{
"number": 511,
"created_at": "2017-02-01T17:13:52Z",
"last_comment_at": "2019-12-24T03:18:31Z",
"last_comment_author": "jakeonfire"
},
{
"number": 516,
"created_at": "2017-04-05T08:29:28Z",
"last_comment_at": "2019-12-29T15:23:14Z",
"last_comment_author": "fabOnReact"
},
{
"number": 541,
"created_at": "2017-05-24T21:07:21Z",
"last_comment_at": "2018-02-01T20:34:20Z",
"last_comment_author": "jaypatrickhoward"
},
{
"number": 568,
"created_at": "2018-01-25T23:08:41Z",
"last_comment_at": "2024-08-12T16:30:51Z",
"last_comment_author": "fmichaut-diff"
},
{
"number": 582,
"created_at": "2018-03-16T11:02:54Z",
"last_comment_at": "2020-02-25T12:19:33Z",
"last_comment_author": "jmahoney"
},
{
"number": 590,
"created_at": "2018-05-16T10:43:47Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 591,
"created_at": "2018-05-24T12:51:11Z",
"last_comment_at": "2019-03-30T10:42:16Z",
"last_comment_author": "pjmartorell"
},
{
"number": 602,
"created_at": "2018-08-14T11:54:31Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 689,
"created_at": "2020-03-02T19:55:15Z",
"last_comment_at": "2020-05-26T02:22:57Z",
"last_comment_author": "lflucasferreira"
},
{
"number": 691,
"created_at": "2020-03-19T01:08:06Z",
"last_comment_at": "2020-03-19T18:31:40Z",
"last_comment_author": "TheSmartnik"
},
{
"number": 694,
"created_at": "2020-03-31T18:55:09Z",
"last_comment_at": null,
"last_comment_author": null
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/jnunemaker/httparty",
"host": "github.com",
"name": "httparty",
"owner": "jnunemaker"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 67,
"inputs": {
"security": 55,
"vitality": 42,
"community": 88,
"governance": 73,
"engineering": 79
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "at_risk",
"name": "Vitality",
"value": 42,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "critical",
"name": "Development activity",
"note": null,
"notes": [],
"value": 28,
"inputs": {
"commits_last_year": 22,
"human_commit_share": 0.99,
"days_since_last_push": 139,
"active_weeks_last_year": 8
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 139 days ago",
"points": 9.9,
"status": "partial",
"details": [
{
"code": "push_recency",
"params": {
"days": 139
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "8/52 weeks with commits",
"points": 5.5,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 8
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "22 commits in the last year",
"points": 12.2,
"status": "partial",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 22
}
}
],
"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": 62,
"inputs": {
"releases_count": 9,
"latest_release_tag": "v0.24.2",
"releases_from_tags": false,
"days_since_latest_release": 188,
"mean_days_between_releases": 277.7
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "9 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 9
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 188 days ago",
"points": 16.2,
"status": "partial",
"details": [
{
"code": "release_recency",
"params": {
"days": 188
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~277.7 days",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 277.7
}
}
],
"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": 139,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 139 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 139
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "excellent",
"name": "Community & Adoption",
"value": 88,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "excellent",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 95,
"inputs": {
"forks": 969,
"stars": 5896,
"watchers": 59,
"growth_state": "organic",
"growth_factor_pct": 100
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "5,896 stars",
"points": 60,
"status": "met",
"details": [
{
"code": "stars",
"params": {
"count": 5896
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "969 forks",
"points": 24.9,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 969
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "59 watchers",
"points": 9.8,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 59
}
}
],
"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": [
"httparty"
],
"dependents": null,
"ecosystems": "rubygems",
"total_downloads": 469254904,
"monthly_downloads": null
},
"components": [
{
"key": "total_downloads",
"name": "Total downloads",
"detail": "469,254,904 downloads all-time across rubygems",
"points": 80,
"status": "met",
"details": [
{
"code": "downloads_total",
"params": {
"count": 469254904,
"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": 73,
"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.458
},
"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.2,
"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 15 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 73,
"inputs": {
"merged_prs": 284,
"open_issues": 38,
"closed_issues": 385,
"issue_closed_ratio": 0.91,
"closed_unmerged_prs": 110
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "91% of issues closed",
"points": 42.5,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 91
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "284/394 decided PRs merged",
"points": 27.6,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 284,
"decided": 394
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 5/20 approved changesets -- score normalized to 2",
"points": 3,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "good",
"name": "Ownership & stewardship",
"note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"verified_domain"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 74,
"inputs": {
"followers": 2046,
"owner_type": "User",
"is_verified": null,
"owner_login": "jnunemaker",
"public_repos": 77,
"account_age_days": 6733
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "personal (user) account",
"points": 10,
"status": "partial",
"details": [
{
"code": "owner_personal",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": "not applicable to user accounts",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_applicable_to_user_accounts",
"params": {}
}
],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "2,046 followers of jnunemaker",
"points": 23.8,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 2046,
"login": "jnunemaker"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "77 public repos, account ~18 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 77
}
},
{
"code": "account_age_years",
"params": {
"years": 18
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 91,
"inputs": {
"packages": [
"httparty"
],
"ecosystems": "rubygems",
"any_deprecated": false,
"min_days_since_publish": 188
},
"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 188 days ago",
"points": 26,
"status": "partial",
"details": [
{
"code": "publish_recency",
"params": {
"days": 188
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "87 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 87
}
}
],
"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": "good",
"name": "Engineering Quality",
"value": 79,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "good",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 82,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": true,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "1 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 1
}
}
],
"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": ".rubocop.yml",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".rubocop.yml"
}
}
],
"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": 6.4,
"status": "met",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "6 out of 9 merged PRs checked by a CI test -- score normalized to 6",
"points": 12,
"status": "partial",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "good",
"name": "Documentation",
"note": null,
"notes": [],
"value": 75,
"inputs": {
"topics": [
"httparty",
"ruby",
"http"
],
"has_wiki": false,
"homepage": null,
"has_readme": true,
"has_docs_dir": true,
"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": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": null,
"points": 0,
"status": "missed",
"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": "3 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 3
}
}
],
"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": "moderate",
"name": "Security",
"value": 55,
"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": 44,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 16,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 2,
"scorecard_aggregate": 4.4
},
"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": "6 out of 9 merged PRs checked by a CI test -- score normalized to 6",
"points": 1.5,
"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 5/20 approved changesets -- score normalized to 2",
"points": 1.5,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 15 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": "update tool detected",
"points": 7.5,
"status": "met",
"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": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 1 resolved dependencies against OSV; 17 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"indirect_dependencies_free_of_known_advisories",
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 1
}
},
{
"code": "advisories_unassessed",
"params": {
"count": 17
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 0,
"affected_packages": 0,
"assessed_packages": 1,
"unassessed_packages": 17,
"affected_by_severity": "none",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "transitive set not separable from development and test dependencies in this scope",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_scope_not_separable",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 1,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"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": 9
},
"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": 42,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "critical",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 25,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.475,
"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": "47 of 99 human commits state their intent (structured subject or explanatory body)",
"points": 25.3,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 47,
"sampled": 99
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 51,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [],
"has_dockerfile": false,
"typed_language": false,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [],
"agent_commit_share": 0.05,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0.01
},
"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": ".rubocop.yml",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".rubocop.yml"
}
}
],
"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": "5 of the last 100 commits agent-authored or agent-credited",
"points": 10,
"status": "met",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 5,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "1 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 1,
"sampled": 100
}
}
],
"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": 54,
"inputs": {
"primary_language": "Ruby",
"largest_source_bytes": 66752,
"source_files_sampled": 74,
"oversized_source_files": 1
},
"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": "1/74 source files over 60KB",
"points": 54.3,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 74,
"oversized": 1
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "at_risk",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"example_dirs": [
"examples"
],
"has_mcp_signal": false,
"api_schema_files": []
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
},
{
"key": "mcp_server",
"name": "MCP server",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": "examples",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "examples"
}
}
],
"max_points": 40
}
]
}
],
"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": [],
"report_type": "repository",
"generated_at": "2026-07-21T23:37:44.071616Z",
"schema_version": "0.26.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/j/jnunemaker/httparty.svg",
"full_name": "jnunemaker/httparty",
"license_state": "standard",
"license_spdx": "MIT"
}