原始 JSON 报告 机器可读
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 749,
"has_wiki": false,
"homepage": null,
"languages": {
"Rust": 407366
},
"pushed_at": "2026-07-26T10:33:34Z",
"created_at": "2015-06-27T16:54:59Z",
"owner_type": "Organization",
"updated_at": "2026-07-26T10:32:46Z",
"description": "High-level netCDF bindings for Rust",
"is_archived": false,
"is_disabled": false,
"license_spdx": "Apache-2.0",
"default_branch": "master",
"license_spdx_raw": "Apache-2.0",
"primary_language": "Rust",
"significant_languages": [
"Rust"
]
},
"owner": {
"blog": "https://georust.org",
"name": "GeoRust",
"type": "Organization",
"login": "georust",
"company": null,
"location": null,
"followers": 892,
"avatar_url": "https://avatars.githubusercontent.com/u/10320338?v=4",
"created_at": "2014-12-27T03:19:13Z",
"is_verified": null,
"public_repos": 38,
"account_age_days": 4229
},
"license": {
"state": "standard",
"spdx_id": "Apache-2.0",
"raw_spdx": "Apache-2.0",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "src-v0.3.1",
"kind": "other",
"published_at": "2023-10-08T08:04:41Z"
},
{
"tag": "v0.8.3",
"kind": "patch",
"published_at": "2023-10-08T08:04:23Z"
},
{
"tag": "v0.8.2",
"kind": "patch",
"published_at": "2023-09-06T12:15:33Z"
},
{
"tag": "v0.8.0",
"kind": "minor",
"published_at": "2023-02-17T15:26:39Z"
},
{
"tag": "v0.7.0",
"kind": "minor",
"published_at": "2022-01-28T15:33:22Z"
},
{
"tag": "v0.6.0",
"kind": "minor",
"published_at": "2021-01-08T16:01:56Z"
},
{
"tag": "v0.5.0",
"kind": "minor",
"published_at": "2020-08-10T18:11:19Z"
}
],
"recent_commits": [
{
"oid": "779f27a8d8633464a28763208a525b87fae831eb",
"body": null,
"is_bot": false,
"headline": "Release new versions of netcdf-sys/netcdf",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2026-07-26T10:31:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8661705e49149559cff8c75761f7deeba497735a",
"body": "Fix docs build",
"is_bot": false,
"headline": "Merge pull request #193 from georust/docs-auto-cfg",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2026-07-25T23:34:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1a35704c9b3974a3a00e29a965235f205a161c78",
"body": "…5-and-lte-0.17\n\ndeps: update ndarray requirement from >=0.15,<=0.17 to >=0.15, <=0.17",
"is_bot": false,
"headline": "Merge pull request #188 from georust/dependabot/cargo/ndarray-gte-0.1…",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2026-07-25T23:32:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "006df28111c2ca1cca5fa7466ebea0a5c74bf3bd",
"body": "deps: update syn requirement from 2.0.48 to 3.0.3",
"is_bot": false,
"headline": "Merge pull request #189 from georust/dependabot/cargo/syn-3.0.3",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2026-07-25T23:31:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a2971b4b081e4ff69f51358c213950536955b347",
"body": "…v/codecov-action-7.0.0\n\nBump codecov/codecov-action from 4.1.0 to 7.0.0",
"is_bot": false,
"headline": "Merge pull request #185 from georust/dependabot/github_actions/codeco…",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2026-07-25T23:30:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9a06f7f214257876681aaaa6c4170fab7296e984",
"body": "Updates the requirements on [ndarray](https://github.com/rust-ndarray/ndarray) to permit the latest version.\n- [Release notes](https://github.com/rust-ndarray/ndarray/releases)\n- [Changelog](https://github.com/rust-ndarray/ndarray/blob/master/RELEASES.md)\n- [Commits](https://github.com/rust-ndarray/\n[…]\ny-rand-0.15.0...0.17.2)\n\n---\nupdated-dependencies:\n- dependency-name: ndarray\n dependency-version: 0.17.2\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "deps: update ndarray requirement from >=0.15,<=0.17 to >=0.15, <=0.17",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-25T23:30:46Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "40baae3b01446eb3692276eef60b0899dcbb09ee",
"body": "…incubator/setup-miniconda-4\n\nBump conda-incubator/setup-miniconda from 3 to 4",
"is_bot": false,
"headline": "Merge pull request #187 from georust/dependabot/github_actions/conda-…",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2026-07-25T23:30:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "924e90bb30884e1eb6ea117e67ad39b0a34ec52e",
"body": "…s/checkout-7\n\nBump actions/checkout from 4 to 7",
"is_bot": false,
"headline": "Merge pull request #186 from georust/dependabot/github_actions/action…",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2026-07-25T23:29:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f787a0fb560c01877f8b7d0d99e1f4f1f9a2916a",
"body": "deps: update mpi requirement from 0.7.0 to 0.8.2",
"is_bot": false,
"headline": "Merge pull request #191 from georust/dependabot/cargo/mpi-0.8.2",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2026-07-25T23:28:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3edc45b2bebb3ffe9b3760a90d3602116be5e76a",
"body": "…te0928/cargo-install-3.4.0\n\nBump baptiste0928/cargo-install from 2.1.0 to 3.4.0",
"is_bot": false,
"headline": "Merge pull request #184 from georust/dependabot/github_actions/baptis…",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2026-07-25T23:27:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0f6e521169494baa09c2141caf355e3fde929c92",
"body": null,
"is_bot": false,
"headline": "Fix docs build",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2026-07-25T23:25:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "629955bba28a5a3f4abbe2e935158df70f41b87c",
"body": "Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 7.\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/v4...v7)\n\n---\nupdated-dependenc\n[…]\n:\n- dependency-name: actions/checkout\n dependency-version: '7'\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 4 to 7",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-25T23:24:33Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "42bc0ecb5f38ea1e53a18423994e5c35f93eaa9f",
"body": "…ci/typos-1.48.0\n\nBump crate-ci/typos from 1.25.0 to 1.48.0",
"is_bot": false,
"headline": "Merge pull request #190 from georust/dependabot/github_actions/crate-…",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2026-07-25T23:21:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "296947b204fa93cb6ce6589f66657d54e169874f",
"body": "Updates the requirements on [mpi](https://github.com/rsmpi/rsmpi) to permit the latest version.\n- [Release notes](https://github.com/rsmpi/rsmpi/releases)\n- [Changelog](https://github.com/rsmpi/rsmpi/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/rsmpi/rsmpi/compare/mpi-0.7.0...mpi-0.8.2)\n\n---\nupdated-dependencies:\n- dependency-name: mpi\n dependency-version: 0.8.2\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "deps: update mpi requirement from 0.7.0 to 0.8.2",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-25T23:13:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c0ad55d3570010692ee42dfdb9649cc93c85e53f",
"body": "Updates the requirements on [syn](https://github.com/dtolnay/syn) to permit the latest version.\n- [Release notes](https://github.com/dtolnay/syn/releases)\n- [Commits](https://github.com/dtolnay/syn/compare/2.0.48...3.0.3)\n\n---\nupdated-dependencies:\n- dependency-name: syn\n dependency-version: 3.0.3\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "deps: update syn requirement from 2.0.48 to 3.0.3",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-25T23:13:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f757f824fc5efd7e0a33ae55b032c7ef594aa3a3",
"body": "Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.25.0 to 1.48.0.\n- [Release notes](https://github.com/crate-ci/typos/releases)\n- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/crate-ci/typos/compare/f12cee1d8f3c79282a98ecb41d235\n[…]\n\n- dependency-name: crate-ci/typos\n dependency-version: 1.48.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump crate-ci/typos from 1.25.0 to 1.48.0",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-25T23:13:28Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "65e8ab9fa14455b83ea74c95dd472ac5867d2c88",
"body": "Bumps [conda-incubator/setup-miniconda](https://github.com/conda-incubator/setup-miniconda) from 3 to 4.\n- [Release notes](https://github.com/conda-incubator/setup-miniconda/releases)\n- [Changelog](https://github.com/conda-incubator/setup-miniconda/blob/main/CHANGELOG.md)\n- [Commits](https://github.\n[…]\nname: conda-incubator/setup-miniconda\n dependency-version: '4'\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 conda-incubator/setup-miniconda from 3 to 4",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-25T23:13:19Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d545dc5614300d3ddd96c393935d30e34372128f",
"body": "Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4.1.0 to 7.0.0.\n- [Release notes](https://github.com/codecov/codecov-action/releases)\n- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/codecov/codecov-action/c\n[…]\nndency-name: codecov/codecov-action\n dependency-version: 7.0.0\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 codecov/codecov-action from 4.1.0 to 7.0.0",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-25T23:13:12Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0e4bfacb9abb7104dde362c52a6581072a39af0c",
"body": "Bumps [baptiste0928/cargo-install](https://github.com/baptiste0928/cargo-install) from 2.1.0 to 3.4.0.\n- [Release notes](https://github.com/baptiste0928/cargo-install/releases)\n- [Changelog](https://github.com/baptiste0928/cargo-install/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/baptiste\n[…]\ncy-name: baptiste0928/cargo-install\n dependency-version: 3.4.0\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 baptiste0928/cargo-install from 2.1.0 to 3.4.0",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-25T23:13:09Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6dff6524b39f246e4293877d178824622bf2bfc0",
"body": "Add dependabot",
"is_bot": false,
"headline": "Merge pull request #183 from georust/dependabot",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2026-07-25T23:12:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d91f5f0d0eb1bb95eb78ed347d6317e0e0d99b34",
"body": null,
"is_bot": false,
"headline": "Fix clippy lint",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2026-07-25T23:05:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8e3896e7fd38c15d9a46909efddece6a7cb9ae27",
"body": null,
"is_bot": false,
"headline": "Add dependabot",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2026-07-25T23:03:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5b3226ebe7a3914d24c13a2ceee903134e1ce8c0",
"body": null,
"is_bot": false,
"headline": "Add missing source file",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2026-04-07T16:00:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "66a1654d9b373a895c43c316b31dacd2deb2737f",
"body": "Bump netcdf-c",
"is_bot": false,
"headline": "Merge pull request #180 from georust/netcdf-c-4.10.0",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2026-04-07T15:51:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e65cbf3dd82d9729342b91708769612279da1b22",
"body": null,
"is_bot": false,
"headline": "Pin hdf5-src",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2026-04-07T15:31:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9a55397db9d349207ddd49e5f851e6e2e8403b1d",
"body": null,
"is_bot": false,
"headline": "Bump netcdf-c",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2026-04-07T15:22:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bd2cd48575226ef69c4285ebd624c709caaca3ff",
"body": "Release new versions of crates",
"is_bot": false,
"headline": "Merge pull request #178 from georust/bump-netcdf-versions",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2026-01-30T07:42:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "29aabee34397a5c3d82b025fbf63999cfb7e1ec1",
"body": null,
"is_bot": false,
"headline": "Release new versions of crates",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2026-01-30T07:35:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a57edcf9e236b6918fc494fbb9911e04138ce61b",
"body": "Updated hdf5-metno-sys version",
"is_bot": false,
"headline": "Merge pull request #177 from George-Tsiamasiotis/hdf5-version-bump",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2026-01-30T07:25:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c193ce63e5e42bfd8a88dd396d0bd09d4f993f30",
"body": null,
"is_bot": false,
"headline": "Updated hdf5-metno-sys version",
"author_name": "George-Tsiamasiotis",
"author_login": "George-Tsiamasiotis",
"committed_at": "2026-01-29T20:21:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "14c82d45525df7299e0930097a557d981ce7f284",
"body": null,
"is_bot": false,
"headline": "Release new version of netcdf-src",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2025-12-16T18:34:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "974409515f0dd5995d3e531779b728eefd31ad61",
"body": "Exclude development scripts from published package",
"is_bot": false,
"headline": "Merge pull request #176 from georust/exclude_scripts_cherrypick",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2025-12-16T18:32:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "af0288ed83689eeb891efd5a2a87cbb5488a326f",
"body": "During a dependency review we noticed that the netcdf-src crate includes various development scripts. These development scripts shouldn't be there as they might, at some point become problematic. As of now they prevent any downstream user from enabling the `[bans.build.interpreted]` option of cargo \n[…]\nfor using an explicit include list instead of an exclude list to prevent these files from beeing included in the published packages to make sure that everything that's included is an conscious choice.",
"is_bot": false,
"headline": "Exclude development scripts from published package",
"author_name": "Georg Semmler",
"author_login": "weiznich",
"committed_at": "2025-12-16T18:24:47Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6168a480cd3ed372777b0a7220bcb4c73e13de6f",
"body": "Fix MPI example",
"is_bot": false,
"headline": "Merge pull request #175 from georust/fix-mpi-example",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2025-12-16T18:22:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fb5a360d5a19402d6cd857bf06f1dd4c7c4eb27c",
"body": null,
"is_bot": false,
"headline": "Derive Default on Extents",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2025-12-16T18:15:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "373d9c3461b43eacaa632f1e5a7efb2777f67e56",
"body": null,
"is_bot": false,
"headline": "Replace outdated macos-13 in CI",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2025-12-16T18:14:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2dee84d80589d51950b8c684d8c0b9ca4b6a3b1e",
"body": null,
"is_bot": false,
"headline": "Fix MPI example",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2025-12-16T18:11:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a50b06422d28a3ee0aacfd8d40fb6041f6e9f4d3",
"body": null,
"is_bot": false,
"headline": "Release new netcdf version",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2025-10-17T05:20:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "78409f275329feaeed26a61caf20eb73a0a10a1a",
"body": "Bump upper bound of ndarray",
"is_bot": false,
"headline": "Merge pull request #173 from georust/bump_ndarray",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2025-10-17T05:19:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2ce3866e49f50a79a05e49e427ae628d6c03cbe5",
"body": null,
"is_bot": false,
"headline": "CI: Ignore static windows-gnu build",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2025-10-16T20:52:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9b69ecc5f93e5a4312415f2c286cb55e25b6c259",
"body": null,
"is_bot": false,
"headline": "Bump upper bound of ndarray",
"author_name": "Magnus Ulimoen",
"author_login": "mulimoen",
"committed_at": "2025-10-16T20:34:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6dc3e9bf615ef17d20988568573f98a8a3c1b1ff",
"body": "Fix clippy lints",
"is_bot": false,
"headline": "Merge pull request #171 from georust/clippy",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-08-15T07:01:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1e95b9b746d3953e87ae80a93e3a1e0504b00c83",
"body": null,
"is_bot": false,
"headline": "Fix clippy lints",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-08-15T06:49:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5de12e4fff2d865e67969e4c84b96f872b18dce8",
"body": null,
"is_bot": false,
"headline": "Bump netcdf-sys",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-06-12T10:00:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e13337ff9ce5ab79b29a322e863f37cf007fa351",
"body": "Add docs on installing netcdf",
"is_bot": false,
"headline": "Merge pull request #169 from magnusuMET/netcdfreqsdocs",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-06-12T09:58:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2ba5e8961d736a20bd1c803c99209cbf2c94cbe4",
"body": null,
"is_bot": false,
"headline": "Rework nc detection",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-06-11T08:38:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9a8f435f8ec8017d3ba96365173d1b7e49bfcc9d",
"body": null,
"is_bot": false,
"headline": "Fallback path on nc_dir/Library",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-06-10T15:13:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3614c02b13eee60f1a5b3baab6b508020fc344b0",
"body": null,
"is_bot": false,
"headline": "Add more docs",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-06-10T14:58:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7058e7f514752bbfdeb1a2933d1b17c25e8c481f",
"body": null,
"is_bot": false,
"headline": "Add docs on installing netcdf",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-06-10T14:58:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e3a981e39d27ed21d8049e893721858a9783989f",
"body": null,
"is_bot": false,
"headline": "Bump netcdf-c source",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-06-10T13:37:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "24c5a157e41714d60c3155f86cdf154d6b5656a5",
"body": "Remove strlcpy from the bundled netcdf version",
"is_bot": false,
"headline": "Merge pull request #170 from GiGainfosystems/fix/duplicated_strlcpy",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-06-10T13:36:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3f167298c5f9400711cb4429b4fca2dcc32e8b5b",
"body": "See https://github.com/Unidata/netcdf-c/pull/3138 for the upstream PR,\nalthough this PR uses a version of that change cherry-picked on top of\nthe last release.",
"is_bot": false,
"headline": "Remove strlcpy from the bundled netcdf version",
"author_name": "Georg Semmler",
"author_login": "weiznich",
"committed_at": "2025-06-10T13:05:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "16957ad71fa0e15ce6493f0ce835a3da8f6aced9",
"body": null,
"is_bot": false,
"headline": "Ignore and include netcdf-c files",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-05-27T10:07:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1e8c7d813ca0a8bd6690e2772c132dc9457ef1f8",
"body": null,
"is_bot": false,
"headline": "Include unit tests to be able to publish",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-05-26T13:44:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cbe996884502eda54127adfdcdc5c752d4d0ff1b",
"body": null,
"is_bot": false,
"headline": "Release minor versions of -sys and -src",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-05-26T13:29:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "10400e779503a3a59df6e01f5f7328cf52c35c6a",
"body": "Bump `hdf5-sys` version",
"is_bot": false,
"headline": "Merge pull request #166 from fmckeogh/master",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-05-26T13:26:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "83e9b0e1e313b0ad470505b440a675876d1ed6da",
"body": null,
"is_bot": false,
"headline": "Bump `hdf5-sys` version",
"author_name": "Ferdia McKeogh",
"author_login": "fmckeogh",
"committed_at": "2025-05-26T13:14:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3afd05efb540f23e4b7bca7623b0cd52739b2840",
"body": "Use next_back",
"is_bot": false,
"headline": "Merge pull request #165 from magnusuMET/clippy",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-04-15T08:11:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "579ed6f86a85c438a8285ac4e22c67913be8a307",
"body": null,
"is_bot": false,
"headline": "Use next_back",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-04-15T08:04:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0aa58fdbad69ab92af2a1a3988d577211ee52e11",
"body": "Enable zarr support on static builds",
"is_bot": false,
"headline": "Merge pull request #164 from georust/zarr_enabled_by_default",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-03-28T12:28:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "29dd86b1eadd889548c7e11e09a5adc9a500cf4a",
"body": null,
"is_bot": false,
"headline": "Don't build zarr with zip support",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-03-28T12:21:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "987eb6d7bbb81e8feffb8702237a8ceaab024f2f",
"body": null,
"is_bot": false,
"headline": "Build for mac target version in CI",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-03-28T12:11:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "463e8f75e841bca888084afa3eef73fac6f9d28b",
"body": null,
"is_bot": false,
"headline": "Enable zarr support on static builds",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-03-28T12:02:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "78368c885a64005b0e37dfe308008cfb4cb0451b",
"body": "Consistent order of values/extents",
"is_bot": false,
"headline": "Merge pull request #163 from georust/values_extents_order",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-03-21T15:12:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5d46885513488dfef177e67e06eff91a60481ece",
"body": null,
"is_bot": false,
"headline": "Consistent order values/extents",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-03-21T15:05:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c02bfd4e24f81344374dd6265c54f844a4f8cf6a",
"body": "Add back add_string_variable",
"is_bot": false,
"headline": "Merge pull request #162 from georust/add_back_add_string_variable",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-03-21T14:37:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4e003679930b9160734d4cf2dbdb8ef35bd8e616",
"body": "Use netCDF-c v4.9.3",
"is_bot": false,
"headline": "Merge pull request #148 from magnusuMET/feature/netcdf_c_v4.9.3",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-02-18T09:11:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cc765bfc35e9c979b57d147dc4b5c0109f796e83",
"body": null,
"is_bot": false,
"headline": "Use official release v4.9.3",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-02-18T08:27:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2c15740f98d57f11e5c4980d667cb0c01723c133",
"body": null,
"is_bot": false,
"headline": "Use rc2",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-02-18T08:25:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d4113b82cb41e395e29dc04cfeb56aa0d92ec6f5",
"body": null,
"is_bot": false,
"headline": "Disable filter testing",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-02-18T08:25:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f65050e993614a8c6362abd7cb785a73300e8e7b",
"body": null,
"is_bot": false,
"headline": "Add feature 4.9.3",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-02-18T08:25:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f0462061b22b9eae7724c5af1ec3ce461f5d5af8",
"body": null,
"is_bot": false,
"headline": "Force static linking of hdf5",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-02-18T08:25:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9adba602d8d8535d190be41ea26ef93a02804f59",
"body": null,
"is_bot": false,
"headline": "Ignore netcdf-src for rustfmt/clippy",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-02-18T08:25:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d33cc5219d982eeac5def4275451640e4dad5b8f",
"body": null,
"is_bot": false,
"headline": "Remove old HDF5 options (unused)",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-02-18T08:25:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f85a968b9581a73709ec0fdc74db2075cc8fd466",
"body": null,
"is_bot": false,
"headline": "Upgrade to netcdf c v4.9.3-rc2",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-02-18T08:25:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3d281b1b4bc541e3b7356145a40f81093542910c",
"body": null,
"is_bot": false,
"headline": "Add back add_string_variable",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2025-01-17T15:30:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1e4d7d6be25575d1172e32e931cc3e98a097b976",
"body": null,
"is_bot": false,
"headline": "Bump CI/macos",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2024-12-17T08:16:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dfbf522159a4516d3211d8b4b82cc99741b4241d",
"body": "Fix clippy lints",
"is_bot": false,
"headline": "Merge pull request #160 from magnusuMET/clippy",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2024-12-09T06:44:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2f1a1d193d60d431e07d2f7e5d1f65175069d54e",
"body": null,
"is_bot": false,
"headline": "Fix clippy lints",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2024-12-09T06:37:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "13963b10bc2d1009e82aceffe77135e33e65b6b1",
"body": "Add typos (and fix them)",
"is_bot": false,
"headline": "Merge pull request #159 from magnusuMET/ci/typos",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2024-10-03T09:10:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ef4873f1cb9111b295a9ce52b75efe7ef6905855",
"body": "Co-authored-by: Laurențiu Nicola <lnicola@users.noreply.github.com>",
"is_bot": false,
"headline": "Typo fix",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2024-10-03T09:03:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c60e9cd598f5612ef98354a794fdd1da17b1751d",
"body": null,
"is_bot": false,
"headline": "Fix job name",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2024-10-03T09:03:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fa5bc734c91cc3ee2b62c88ce5cfe334eec34604",
"body": "Co-authored-by: Laurențiu Nicola <lnicola@users.noreply.github.com>",
"is_bot": false,
"headline": "Use typos hash",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2024-10-03T08:58:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f24be032236b3d960dbe3fd0243e5d38ccda9daa",
"body": null,
"is_bot": false,
"headline": "Add typos (and fix them)",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2024-10-03T08:43:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b7f5d698a9387626d5a1b249a5de046f4b6243ba",
"body": null,
"is_bot": false,
"headline": "Release netcdf-src 0.4.1",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2024-08-26T07:45:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7cde7441ceb65333a5537b2cff1fd40ecf1091cc",
"body": "Use patched netcdf-c",
"is_bot": false,
"headline": "Merge pull request #158 from magnusuMET/bugfix/missing_stdio_include",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2024-08-26T07:44:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e9e72c1621e77d46ed414e7d15f4f464642cca18",
"body": null,
"is_bot": false,
"headline": "Use patched netcdf-c",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2024-08-26T07:37:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5a045c0c3c9672b0f81523a4c280f50efbe24c96",
"body": null,
"is_bot": false,
"headline": "Bump versions",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2024-08-20T14:52:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7e4d2ecab8c6b915c2bc76a9518a8f5aa9e321df",
"body": "Add flags to Options",
"is_bot": false,
"headline": "Merge pull request #157 from magnusuMET/feature/options-flags",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2024-08-20T14:50:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5b7f5b03699b88449df1a8ce684f5f55556f7161",
"body": null,
"is_bot": false,
"headline": "Add flags to Options",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2024-08-20T14:41:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9e5ccdbda24891cf9d4b81d9e2e158f798922951",
"body": null,
"is_bot": false,
"headline": "Fix release workflow",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2024-08-14T09:26:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0f2f7a080d9d84840dd96eedc1f586134e75b087",
"body": null,
"is_bot": false,
"headline": "Release new version",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2024-08-12T07:16:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1ffc2ec818c509bbc17de7c8662d45e8bb4af3a7",
"body": "Bump ndarray",
"is_bot": false,
"headline": "Merge pull request #156 from magnusuMET/feature/ndarray_0.16",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2024-08-12T07:16:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "200091243ff2c3e9e8bbc0b8ff3662eb4ac361f2",
"body": null,
"is_bot": false,
"headline": "lint",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2024-08-12T07:09:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d9c8bfc02b64b85723474051eea6282f6c037fea",
"body": null,
"is_bot": false,
"headline": "Run apt-update in CI",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2024-08-12T07:09:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9aa8c008d3f5d3597c6a401fdf8265e2523d7595",
"body": null,
"is_bot": false,
"headline": "Bump ndarray",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2024-08-12T07:09:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "26102460b47abe3e2ee7388c24c82eeec118e862",
"body": null,
"is_bot": false,
"headline": "Bump netcdf",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2024-08-10T06:01:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c9c34db841255c93f902bed7f3c4ee2c22e7e8ac",
"body": "Add `Variable::chunking`",
"is_bot": false,
"headline": "Merge pull request #153 from LDeakin/chunking",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2024-08-10T06:00:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0c015abe0c3cf963e0b963198c3b2226dac17243",
"body": null,
"is_bot": false,
"headline": "Avoid MaybeUninit",
"author_name": "Magnus Ulimoen",
"author_login": "magnusuMET",
"committed_at": "2024-08-10T05:47:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a4fd2c973ee889f246c58927cadc06328b19ecff",
"body": null,
"is_bot": false,
"headline": "Add `Variable::chunking`",
"author_name": "Lachlan Deakin",
"author_login": "LDeakin",
"committed_at": "2024-08-09T22:45:43Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 7,
"commits_last_year": 42,
"latest_release_at": "2023-10-08T08:04:41Z",
"latest_release_tag": "src-v0.3.1",
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 6,
"days_since_latest_release": 1022,
"mean_days_between_releases": 192.3
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": false,
"health_percentage": 62,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"ecosystem": {
"packages": [
{
"name": "netcdf",
"exists": true,
"license": "MIT OR Apache-2.0",
"keywords": [
"hdf",
"hdf5",
"libnetcdf",
"netcdf",
"netcdf4",
"filesystem",
"science"
],
"ecosystem": "crates",
"matches_repo": true,
"registry_url": "https://crates.io/crates/netcdf",
"is_deprecated": false,
"latest_version": "0.12.1",
"repository_url": "https://github.com/georust/netcdf",
"versions_count": 31,
"total_downloads": 303762,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": 11750,
"first_published_at": "2015-06-27T17:22:31.562209Z",
"latest_published_at": "2026-07-26T10:34:04.517896Z",
"latest_version_yanked": false,
"days_since_latest_publish": 0
},
{
"name": "netcdf-src",
"exists": true,
"license": "non-standard",
"keywords": [
"netcdf",
"filesystem"
],
"ecosystem": "crates",
"matches_repo": true,
"registry_url": "https://crates.io/crates/netcdf-src",
"is_deprecated": false,
"latest_version": "0.5.1",
"repository_url": "https://github.com/georust/netcdf",
"versions_count": 20,
"total_downloads": 192340,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": 6100,
"first_published_at": "2020-08-10T18:02:24.308656Z",
"latest_published_at": "2026-04-07T16:01:22.152242Z",
"latest_version_yanked": false,
"days_since_latest_publish": 109
},
{
"name": "netcdf-sys",
"exists": true,
"license": "MIT",
"keywords": [
"cdm",
"ffi",
"hdf",
"hdf5",
"netcdf",
"science",
"development-tools::ffi",
"filesystem"
],
"ecosystem": "crates",
"matches_repo": true,
"registry_url": "https://crates.io/crates/netcdf-sys",
"is_deprecated": false,
"latest_version": "0.9.1",
"repository_url": "https://github.com/georust/netcdf",
"versions_count": 24,
"total_downloads": 267353,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": 11838,
"first_published_at": "2015-06-27T17:20:05.909786Z",
"latest_published_at": "2026-07-26T10:33:15.345575Z",
"latest_version_yanked": false,
"days_since_latest_publish": 0
},
{
"name": "netcdf-derive",
"exists": true,
"license": "MIT OR Apache-2.0",
"keywords": [],
"ecosystem": "crates",
"matches_repo": null,
"registry_url": "https://crates.io/crates/netcdf-derive",
"is_deprecated": false,
"latest_version": "0.1.0",
"repository_url": null,
"versions_count": 1,
"total_downloads": 1864,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": 24,
"first_published_at": "2024-08-08T13:32:54.449835Z",
"latest_published_at": "2024-08-08T13:32:54.449835Z",
"latest_version_yanked": false,
"days_since_latest_publish": 717
}
]
},
"popularity": {
"forks": 29,
"stars": 102,
"watchers": 14,
"fork_history": {
"days": [
{
"date": "2016-09-21",
"count": 1
},
{
"date": "2017-08-23",
"count": 1
},
{
"date": "2017-12-29",
"count": 1
},
{
"date": "2018-07-11",
"count": 1
},
{
"date": "2018-08-20",
"count": 1
},
{
"date": "2019-09-17",
"count": 1
},
{
"date": "2019-09-25",
"count": 1
},
{
"date": "2020-01-07",
"count": 1
},
{
"date": "2021-11-21",
"count": 1
},
{
"date": "2022-01-22",
"count": 1
},
{
"date": "2022-01-28",
"count": 1
},
{
"date": "2022-07-18",
"count": 1
},
{
"date": "2023-04-01",
"count": 1
},
{
"date": "2023-04-11",
"count": 1
},
{
"date": "2023-04-17",
"count": 1
},
{
"date": "2023-08-07",
"count": 1
},
{
"date": "2023-08-20",
"count": 1
},
{
"date": "2023-09-27",
"count": 1
},
{
"date": "2023-10-13",
"count": 1
},
{
"date": "2024-01-05",
"count": 1
},
{
"date": "2024-03-12",
"count": 1
},
{
"date": "2024-03-29",
"count": 1
},
{
"date": "2024-05-26",
"count": 1
},
{
"date": "2024-06-14",
"count": 1
},
{
"date": "2024-08-09",
"count": 1
},
{
"date": "2025-04-17",
"count": 1
},
{
"date": "2026-01-29",
"count": 1
}
],
"complete": true,
"collected": 27,
"total_forks": 29
},
"star_history": null,
"open_issues_and_prs": 7
},
"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": [
"Cargo.toml",
"netcdf-derive/Cargo.toml",
"netcdf-examples/Cargo.toml",
"netcdf-src/Cargo.toml",
"netcdf-sys/Cargo.toml",
"netcdf/Cargo.toml"
],
"largest_source_bytes": 57748,
"source_files_sampled": 41,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"Cargo.toml",
"netcdf-derive/Cargo.toml",
"netcdf-examples/Cargo.toml",
"netcdf-src/Cargo.toml",
"netcdf-sys/Cargo.toml",
"netcdf/Cargo.toml"
],
"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": [
"crates"
],
"dependencies": [
{
"name": "syn",
"manifest": "netcdf-derive/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "3.0.3"
},
{
"name": "quote",
"manifest": "netcdf-derive/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1.0.35"
},
{
"name": "proc-macro2",
"manifest": "netcdf-derive/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1.0.78"
},
{
"name": "proc-macro-error",
"manifest": "netcdf-derive/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1.0.4"
},
{
"name": "netcdf",
"manifest": "netcdf-examples/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "mpi",
"manifest": "netcdf-examples/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.8.2"
},
{
"name": "mpi-sys",
"manifest": "netcdf-examples/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "ndarray",
"manifest": "netcdf-examples/Cargo.toml",
"ecosystem": "crates",
"version_constraint": ">=0.15, <=0.17"
},
{
"name": "hdf5-sys",
"manifest": "netcdf-src/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "hdf5-metno-src",
"manifest": "netcdf-src/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "=0.10.1"
},
{
"name": "libz-sys",
"manifest": "netcdf-src/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1.0.25"
},
{
"name": "link-cplusplus",
"manifest": "netcdf-src/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1.0.9"
},
{
"name": "libz-sys",
"manifest": "netcdf-sys/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1.0.25"
},
{
"name": "curl-sys",
"manifest": "netcdf-sys/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.4.51"
},
{
"name": "hdf5-sys",
"manifest": "netcdf-sys/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "netcdf-src",
"manifest": "netcdf-sys/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "mpi-sys",
"manifest": "netcdf-sys/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "parking_lot",
"manifest": "netcdf-sys/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.12.3"
},
{
"name": "ndarray",
"manifest": "netcdf/Cargo.toml",
"ecosystem": "crates",
"version_constraint": ">=0.15, <=0.17"
},
{
"name": "netcdf-sys",
"manifest": "netcdf/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "netcdf-derive",
"manifest": "netcdf/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "bitflags",
"manifest": "netcdf/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "2.4.2"
},
{
"name": "libc",
"manifest": "netcdf/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.2.155"
},
{
"name": "mpi-sys",
"manifest": "netcdf/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "bitflags",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "curl-sys",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "hdf5-metno-src",
"direct": true,
"version": "0.10.1",
"ecosystem": "crates"
},
{
"name": "libc",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "libz-sys",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "link-cplusplus",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "mpi",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "ndarray",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "parking_lot",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "proc-macro-error",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "proc-macro2",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "quote",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "syn",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "clap",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "cmake",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "semver",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "tempfile",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "trybuild",
"direct": false,
"version": null,
"ecosystem": "crates"
}
],
"collected": true,
"truncated": false,
"total_count": 18,
"direct_count": 13,
"indirect_count": 5
}
},
"maintainership": {
"issues": {
"open_prs": 2,
"merged_prs": 123,
"open_issues": 5,
"closed_ratio": 0.918,
"closed_issues": 56,
"closed_unmerged_prs": 7
},
"bus_factor": 1,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "magnusuMET",
"commits": 403,
"avatar_url": "https://avatars.githubusercontent.com/u/44017795?v=4"
},
{
"type": "User",
"login": "mulimoen",
"commits": 74,
"avatar_url": "https://avatars.githubusercontent.com/u/13882863?v=4"
},
{
"type": "User",
"login": "evomassiny",
"commits": 26,
"avatar_url": "https://avatars.githubusercontent.com/u/17343349?v=4"
},
{
"type": "User",
"login": "mhiley",
"commits": 16,
"avatar_url": "https://avatars.githubusercontent.com/u/1490630?v=4"
},
{
"type": "User",
"login": "lwandrebeck",
"commits": 9,
"avatar_url": "https://avatars.githubusercontent.com/u/2599010?v=4"
},
{
"type": "User",
"login": "samoylovfp",
"commits": 7,
"avatar_url": "https://avatars.githubusercontent.com/u/17025459?v=4"
},
{
"type": "User",
"login": "weiznich",
"commits": 7,
"avatar_url": "https://avatars.githubusercontent.com/u/1674512?v=4"
},
{
"type": "User",
"login": "bluss",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/3209739?v=4"
},
{
"type": "User",
"login": "richli",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/558574?v=4"
},
{
"type": "User",
"login": "rezzubs",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/57254926?v=4"
}
],
"contributors_sampled": 17,
"top_contributor_share": 0.724
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"ci.yml",
"codecov.yml",
"release.yml"
],
"has_docs_dir": false,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": 3,
"reason": "branch protection is not maximal on development and all release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 10,
"reason": "13 out of 13 merged PRs checked by a CI test -- score normalized to 10",
"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": 1,
"reason": "Found 1/7 approved changesets -- score normalized to 1",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 6 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": 10,
"reason": "22 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": 10,
"reason": "packaging workflow detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 1,
"reason": "dependency not pinned by hash detected -- score normalized to 1",
"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": "779f27a8d8633464a28763208a525b87fae831eb",
"ran_at": "2026-07-26T15:54:11Z",
"aggregate_score": 5.7,
"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-07-26T10:34:08Z",
"oldest_open_prs": [
{
"number": 131,
"created_at": "2024-03-01T10:34:42Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 192,
"created_at": "2026-07-25T23:13:52Z",
"last_comment_at": "2026-07-26T10:29:51Z",
"last_comment_author": "mulimoen"
}
],
"last_merged_pr_at": "2026-07-25T23:34:16Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 124,
"created_at": "2023-12-17T16:12:20Z",
"last_comment_at": "2023-12-19T09:28:42Z",
"last_comment_author": "lll9p"
},
{
"number": 128,
"created_at": "2024-01-09T14:30:15Z",
"last_comment_at": "2025-06-05T20:02:47Z",
"last_comment_author": "G0rocks"
},
{
"number": 172,
"created_at": "2025-08-18T08:09:29Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 181,
"created_at": "2026-04-07T15:57:24Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 182,
"created_at": "2026-06-02T14:38:30Z",
"last_comment_at": null,
"last_comment_author": null
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/georust/netcdf",
"host": "github.com",
"name": "netcdf",
"owner": "georust"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 63,
"inputs": {
"security": 66,
"vitality": 57,
"community": 64,
"governance": 71,
"engineering": 57
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "moderate",
"name": "Vitality",
"value": 57,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "moderate",
"name": "Development activity",
"note": null,
"notes": [],
"value": 65,
"inputs": {
"commits_last_year": 42,
"human_commit_share": 0.92,
"days_since_last_push": 0,
"active_weeks_last_year": 6
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "6/52 weeks with commits",
"points": 4.2,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 6
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "42 commits in the last year",
"points": 14.7,
"status": "partial",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 42
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "22 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "at_risk",
"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": 44,
"inputs": {
"releases_count": 7,
"latest_release_tag": "src-v0.3.1",
"releases_from_tags": false,
"days_since_latest_release": 1022,
"mean_days_between_releases": 192.3
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "7 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 7
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 1022 days ago",
"points": 0,
"status": "missed",
"details": [
{
"code": "release_recency",
"params": {
"days": 1022
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~192.3 days",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 192.3
}
}
],
"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": 0,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 0 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 0
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "moderate",
"name": "Community & Adoption",
"value": 64,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "moderate",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 51,
"inputs": {
"forks": 29,
"stars": 102,
"watchers": 14,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "102 stars",
"points": 32.5,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 102
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "29 forks",
"points": 12.1,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 29
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "14 watchers",
"points": 6.2,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 14
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "good",
"name": "Community health",
"note": null,
"notes": [],
"value": 72,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": false,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (Apache-2.0)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "Apache-2.0"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 13.5,
"status": "met",
"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": 6.3,
"status": "met",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "good",
"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": 74,
"inputs": {
"packages": [
"netcdf",
"netcdf-src",
"netcdf-sys",
"netcdf-derive"
],
"dependents": null,
"ecosystems": "crates",
"total_downloads": 765319,
"monthly_downloads": 29712
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "29,712 downloads/month across crates",
"points": 59.6,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 29712,
"ecosystems": "crates"
}
}
],
"max_points": 80
},
{
"key": "registry_dependents",
"name": "Registry dependents",
"detail": "not reported by this ecosystem",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_reported_by_this_ecosystem",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "good",
"name": "Sustainability & Governance",
"value": 71,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "at_risk",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 39,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 17,
"top_contributor_share": 0.724
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "1 contributor(s) cover half of all commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 1
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 72% of commits",
"points": 6.2,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 72
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "17 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 17
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 6 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 81,
"inputs": {
"merged_prs": 123,
"open_issues": 5,
"closed_issues": 56,
"issue_closed_ratio": 0.918,
"closed_unmerged_prs": 7
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "92% of issues closed",
"points": 42.9,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 92
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "123/130 decided PRs merged",
"points": 36.2,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 123,
"decided": 130
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 1/7 approved changesets -- score normalized to 1",
"points": 1.5,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "good",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 75,
"inputs": {
"followers": 892,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "georust",
"public_repos": 38,
"account_age_days": 4229
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "892 followers of georust",
"points": 21.2,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 892,
"login": "georust"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "38 public repos, account ~11 yr old",
"points": 23.6,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 38
}
},
{
"code": "account_age_years",
"params": {
"years": 11
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"netcdf",
"netcdf-src",
"netcdf-sys",
"netcdf-derive"
],
"ecosystems": "crates",
"any_deprecated": false,
"min_days_since_publish": 0
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "4 package(s) on crates",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 4,
"ecosystems": "crates"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 0 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 0
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "31 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 31
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "moderate",
"name": "Engineering Quality",
"value": 57,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "moderate",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 68,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "3 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 3
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "13 out of 13 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "at_risk",
"name": "Documentation",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"topics": [],
"has_wiki": false,
"homepage": null,
"has_readme": true,
"has_docs_dir": false,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": 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": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 66,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 57,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 17,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 1,
"scorecard_aggregate": 5.7
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection is not maximal on development and all release branches",
"points": 2.2,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "13 out of 13 merged PRs checked by a CI test -- score normalized to 10",
"points": 2.5,
"status": "met",
"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 1/7 approved changesets -- score normalized to 1",
"points": 0.8,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 6 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": "22 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 1",
"points": 0.5,
"status": "partial",
"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": 7
},
"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": 49,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "critical",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 19,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.359,
"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": "33 of 92 human commits state their intent (structured subject or explanatory body)",
"points": 19.1,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 33,
"sampled": 92
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [],
"has_dockerfile": false,
"typed_language": true,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [
"Cargo.toml",
"netcdf-derive/Cargo.toml",
"netcdf-examples/Cargo.toml",
"netcdf-src/Cargo.toml",
"netcdf-sys/Cargo.toml",
"netcdf/Cargo.toml"
],
"dependency_bot_commit_share": 0.08
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "Cargo.toml, netcdf-derive/Cargo.toml, netcdf-examples/Cargo.toml (toolchain convention, no task runner)",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "toolchain_convention",
"params": {
"files": "Cargo.toml, netcdf-derive/Cargo.toml, netcdf-examples/Cargo.toml"
}
}
],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "Rust (statically typed)",
"points": 11,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Rust"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "8 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 8,
"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 1",
"points": 1,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"primary_language": "Rust",
"largest_source_bytes": 57748,
"source_files_sampled": 41,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Rust (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Rust"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/41 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 41,
"oversized": 0
}
}
],
"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": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
"Could not fetch crates package 'netcdf-examples' from its registry",
"deps.dev does not index crates:netcdf@0.12.1; advisories assessed against the repository dependency graph instead"
],
"report_type": "repository",
"generated_at": "2026-07-26T15:54:33.176901Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/g/georust/netcdf.svg",
"full_name": "georust/netcdf",
"license_state": "standard",
"license_spdx": "Apache-2.0"
}