JSON-Rohbericht maschinenlesbar
{
"data": {
"repo": {
"topics": [
"hls",
"machine-learning",
"fpga",
"python",
"keras",
"pytorch",
"onnx",
"vivado",
"vivado-hls",
"neural-network",
"intel-hls"
],
"is_fork": false,
"size_kb": 278631,
"has_wiki": true,
"homepage": "https://fastmachinelearning.org/hls4ml",
"languages": {
"C": 5730,
"C++": 2462305,
"Tcl": 72725,
"CMake": 16046,
"Shell": 33861,
"Python": 2718787,
"Verilog": 21471,
"Makefile": 798,
"SystemVerilog": 41743
},
"pushed_at": "2026-07-28T12:38:15Z",
"created_at": "2017-10-25T21:43:56Z",
"owner_type": "Organization",
"updated_at": "2026-07-28T17:17:39Z",
"description": "Machine learning on FPGAs using HLS",
"is_archived": false,
"is_disabled": false,
"license_spdx": "Apache-2.0",
"default_branch": "main",
"license_spdx_raw": "Apache-2.0",
"primary_language": "Python",
"significant_languages": [
"Python",
"C++"
]
},
"owner": {
"blog": "http://fastmachinelearning.org/",
"name": "Fast Machine Learning Lab",
"type": "Organization",
"login": "fastmachinelearning",
"company": null,
"location": null,
"followers": 270,
"avatar_url": "https://avatars.githubusercontent.com/u/33101568?v=4",
"created_at": "2017-10-25T18:35:07Z",
"is_verified": null,
"public_repos": 61,
"account_age_days": 3198
},
"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": "v1.3.0",
"kind": "minor",
"published_at": "2026-03-20T14:59:12Z"
},
{
"tag": "v1.2.0",
"kind": "minor",
"published_at": "2025-11-03T20:19:32Z"
},
{
"tag": "v1.1.0",
"kind": "minor",
"published_at": "2025-03-17T16:51:08Z"
},
{
"tag": "v1.0.0",
"kind": "major",
"published_at": "2024-12-09T22:47:29Z"
},
{
"tag": "v0.8.1",
"kind": "patch",
"published_at": "2023-12-19T21:00:03Z"
},
{
"tag": "v0.8.0",
"kind": "minor",
"published_at": "2023-11-16T00:10:25Z"
},
{
"tag": "v0.8.0rc1",
"kind": "other",
"published_at": "2023-11-08T00:09:05Z"
},
{
"tag": "v0.7.1",
"kind": "patch",
"published_at": "2023-05-13T15:55:52Z"
},
{
"tag": "v0.7.0",
"kind": "minor",
"published_at": "2023-04-26T17:08:12Z"
},
{
"tag": "v0.7.0rc1",
"kind": "other",
"published_at": "2023-04-15T01:44:06Z"
},
{
"tag": "v0.6.0",
"kind": "minor",
"published_at": "2021-11-12T12:25:59Z"
},
{
"tag": "v0.5.0",
"kind": "minor",
"published_at": "2021-03-05T17:15:46Z"
},
{
"tag": "v0.5.0-beta",
"kind": "prerelease",
"published_at": "2021-01-18T15:37:23Z"
},
{
"tag": "v0.4.0",
"kind": "minor",
"published_at": "2020-10-30T16:49:04Z"
},
{
"tag": "v0.3.0",
"kind": "minor",
"published_at": "2020-07-31T09:06:47Z"
},
{
"tag": "v0.2.0",
"kind": "minor",
"published_at": "2020-03-31T10:48:40Z"
},
{
"tag": "v0.1.6",
"kind": "patch",
"published_at": "2020-02-10T17:05:20Z"
},
{
"tag": "v0.1.5",
"kind": "patch",
"published_at": "2019-08-02T20:38:07Z"
},
{
"tag": "v0.1.2",
"kind": "patch",
"published_at": "2018-03-20T16:55:43Z"
},
{
"tag": "v0.1.1",
"kind": "patch",
"published_at": "2018-03-16T18:07:40Z"
}
],
"recent_commits": [
{
"oid": "efe5f413a08a8735e6263abba2893d6f2e809578",
"body": null,
"is_bot": false,
"headline": "make ap_{fixed|int}_special.h work on the mac (#1506)",
"author_name": "Jovan Mitrevski",
"author_login": "jmitrevs",
"committed_at": "2026-07-27T17:16:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b43ca37dc403f38ba7b5885d048d6a3ffd4851ad",
"body": "Co-authored-by: Jan-Frederik Schulte <jschulte@cern.ch>",
"is_bot": false,
"headline": "Fix BramFactor co-sim and enable it for io_parallel (#1505)",
"author_name": "dimdano",
"author_login": "dimdano",
"committed_at": "2026-07-27T17:16:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8ee2683d06d453e9733194847efa0b2f6b614f58",
"body": "* sparsepixels patch\n\n* upgrade: parallelization knobs for sparse layers; streaming option for input reduction; add maxpooling\n\n* fix version for pyproject-fmt\n\n* add sparsepixels test to keras3 ci\n\n* refactor to the convert flow pass\n\n---------\n\nCo-authored-by: Jan-Frederik Schulte <jschulte@cern.ch>",
"is_bot": false,
"headline": "feat: add sparse CNN support (sparsepixels) (#1468)",
"author_name": "Ho Fung Tsoi",
"author_login": "hftsoi",
"committed_at": "2026-07-24T13:55:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "00170b7a9a96b06efc762926b6b54472fac50b23",
"body": "* Update README.md\n\n* Update README.md",
"is_bot": false,
"headline": "Update README.md to include SNN reference (#1504)",
"author_name": "Barry Dillon",
"author_login": "bmdillon",
"committed_at": "2026-07-20T17:56:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "046e3c4697bf41c03f81468e8352867e28eb2faf",
"body": "* [pre-commit.ci] pre-commit autoupdate\n\nupdates:\n- [github.com/astral-sh/ruff-pre-commit: v0.15.9 → v0.15.20](https://github.com/astral-sh/ruff-pre-commit/compare/v0.15.9...v0.15.20)\n- [github.com/tox-dev/pyproject-fmt: v2.21.0 → v2.25.1](https://github.com/tox-dev/pyproject-fmt/compare/v2.21.0...v2.25.1)\n\n* [pre-commit.ci] auto fixes from pre-commit hooks\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "[pre-commit.ci] pre-commit autoupdate (#1500)",
"author_name": "pre-commit-ci[bot]",
"author_login": "pre-commit-ci[bot]",
"committed_at": "2026-07-08T18:20:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b98439c0c58829e278dcfccf118c8ca41a1fb0b9",
"body": null,
"is_bot": false,
"headline": "Action safe, so override default protection",
"author_name": "Jovan Mitrevski",
"author_login": "jmitrevs",
"committed_at": "2026-06-30T22:51:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "09a9c826d68bbb1e06d444f1c3908f5c73b73915",
"body": null,
"is_bot": false,
"headline": "Fix input type placeholder in vivado_accelerator_writer",
"author_name": "Peter",
"author_login": "MajorError",
"committed_at": "2026-06-30T18:58:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "737385a1d332ca339585ea7985903510f7076c59",
"body": "Bumps [actions/checkout](https://github.com/actions/checkout) from 6 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/v6...v7)\n\n---\nupdated-dependenc\n[…]\nirect:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bump actions/checkout from 6 to 7 (#1491)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-06-22T12:31:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2945c243ac107bbcb025e9c98e6d2e1f2c3727e9",
"body": "* start to add qkeras v3\n\n* work on qkeras integration\n\n* work on qkeras tests\n\n* fix last tests\n\n* add qconv test\n\n* run pre-commit\n\n* update docu\n\n* add eigensum test and test for https://github.com/fastmachinelearning/hls4ml/issues/1472\n\n* add IsolatedLayerReader class, create qkerasV3 test, upda\n[…]\nmove import to call\n\n* pre-commit changes\n\n---------\n\nCo-authored-by: makoeppel <koeppel.ma@googlemail.com>\nCo-authored-by: Haris1299 <hmurugan@uni-mainz.de>\nCo-authored-by: mu3e <mu3e@mu3efarm0.mu3e>",
"is_bot": false,
"headline": "Add support for qkeras v3 (#1473)",
"author_name": "makoeppel",
"author_login": "makoeppel",
"committed_at": "2026-06-17T16:11:35Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "889e313d8c2166a57210467815db8306509d074e",
"body": null,
"is_bot": false,
"headline": "convert quant to linear if homogeneous and share src node (#1489)",
"author_name": "calad0i",
"author_login": "calad0i",
"committed_at": "2026-06-17T15:52:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d87822c63382d06e75ef3903f2967474572b0fbb",
"body": "* ADD support for PQuantML layers in PyTorch\n\n* ADD support for PQuantML layers in Keras V3\n\n* FIX commutation for Quantizer\n\n* FIX extract quant info & batchnorm\n\n* ADD testing for pytorch and keras\n\n* ADD documentation\n\n* ADD optional dependency\n\n* ADD support for PQBatchNorm1d in pytorch\n\n* FIX c\n[…]\n\n\n* Specify on which layers to modify input maps and fix typos\n\n* FIX hls_config\n\n---------\n\nCo-authored-by: Enrico Lupi <enlupi@kamino.cern.ch>\nCo-authored-by: Jan-Frederik Schulte <jschulte@cern.ch>",
"is_bot": false,
"headline": "Integration of PQuantML with hls4ml (#1400)",
"author_name": "Enrico Lupi",
"author_login": "enlupi",
"committed_at": "2026-06-16T01:17:20Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ef92ebdf2fc6b9573170465ada2200bb782d1164",
"body": "* Update logo image source in README.md\n\n* Fix DOI link and update year in README.md\n\nUpdated DOI link and publication year in citations.\n\n* Update reference.rst",
"is_bot": false,
"headline": "Update logo image source and BibTeX entries in README.md (#1488)",
"author_name": "Javier Duarte",
"author_login": "jmduarte",
"committed_at": "2026-06-10T12:30:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1ca12f15f3fca4c31a7dd88be80cbae73818e565",
"body": "* Add SNN work and ignore local notebook/test artifacts\n\n* jupyter notebook demo of snn functionality\n\n* updates to readme\n\n* Update README.md\n\n* add learnable beta and threhold functionality\n\n* update docs\n\n* readout and reset updated\n\n* update branch for pr\n\n* docs update\n\n* added comments\n\n* note\n[…]\nated snnreadout defaults\n\n* update config conversion\n\n* layer attribute updates for keras and onnx\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "Basic SNN functionality in hls4ml (mapped from snntorch) (#1470)",
"author_name": "Barry Dillon",
"author_login": "bmdillon",
"committed_at": "2026-06-07T21:13:40Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "10dbeae13ce7d02665282de3076c4607f56ae0ac",
"body": "* fix DynamicFlow optimizer updates\n\n* Add DynamicFlow update regression test\n\n* [pre-commit.ci] auto fixes from pre-commit hooks\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "Fix updating dynamic optimizer flows (#1481)",
"author_name": "Nitesh Kumar",
"author_login": "niteshg97",
"committed_at": "2026-06-07T19:40:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "68adb54ec545b882faecc3f23e0294c3779b140e",
"body": "…lerator. (#1483)\n\n\"set -e\" has been already added for other backends.\nIt allows to print compilations errors, e.g.:\nfirmware/myproject.h:5:10: fatal error: ac_fixed.h: No such file or directory\n 5 | #include <ac_fixed.h>\n\ninstead of ignoring them and crashing later, e.g.:\nfirmware/myproject-0b348075.so: cannot open shared object file: No such file or directory",
"is_bot": false,
"headline": "Halt on errors in build_lib.sh for Catapult, Symbolic and Vivado Acce…",
"author_name": "Vasiliy Dommes",
"author_login": "vasdommes",
"committed_at": "2026-06-05T17:21:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b2184c391bc0c2aa667959ebea67d0b7d2afea38",
"body": "Mostly vibe coded feature but clean enough to be useful",
"is_bot": false,
"headline": "feat(bit_exact): allow ZeroPadding1D/2D for bit_exact pass (#1482)",
"author_name": "LarocheC",
"author_login": "LarocheC",
"committed_at": "2026-06-04T08:48:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7bfaa6b0d069ed05746f4e7616dd825efdcea065",
"body": "remove warning that is not needed since it does not signify a failure",
"is_bot": false,
"headline": "Merge pull request #1477 from fastmachinelearning/remove_warning",
"author_name": "Benjamin Ramhorst",
"author_login": "bo3z",
"committed_at": "2026-05-21T05:35:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "46247aa2a4d02d37c13712608a27e28b514d0d80",
"body": null,
"is_bot": false,
"headline": "remove warning that is not needed since it does not signify a failure",
"author_name": "Jovan Mitrevski",
"author_login": "jmitrevs",
"committed_at": "2026-05-20T23:56:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a3064d50d9edff806964520015bbb96085ba10d4",
"body": "* HGQ2 rename of attn layers\n\n* require hgq2 minimal version\n\n---------\n\nCo-authored-by: Chang Sun <chsun@cern.ch>",
"is_bot": false,
"headline": "HGQ2 rename of attention layers (#1466)",
"author_name": "laurilaatu",
"author_login": "laurilaatu",
"committed_at": "2026-04-23T21:43:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8509298ab4b0df82d2d53a8bc6e6cab79e971318",
"body": null,
"is_bot": false,
"headline": "feat(bit_exact): embedding (#1465)",
"author_name": "calad0i",
"author_login": "calad0i",
"committed_at": "2026-04-17T14:54:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9ad8f7c4335fd6e05e387bc95fc7c17ea3f53f39",
"body": null,
"is_bot": false,
"headline": "add NGT acknowledgement to docs",
"author_name": "Jan-Frederik Schulte",
"author_login": "JanFSchulte",
"committed_at": "2026-04-17T14:38:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f2fa1e6e082ec5f172f5ddaef99af87e8b61cba7",
"body": "updates:\n- [github.com/astral-sh/ruff-pre-commit: v0.15.7 → v0.15.9](https://github.com/astral-sh/ruff-pre-commit/compare/v0.15.7...v0.15.9)\n- [github.com/tox-dev/pyproject-fmt: v2.20.0 → v2.21.0](https://github.com/tox-dev/pyproject-fmt/compare/v2.20.0...v2.21.0)\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "[pre-commit.ci] pre-commit autoupdate (#1461)",
"author_name": "pre-commit-ci[bot]",
"author_login": "pre-commit-ci[bot]",
"committed_at": "2026-04-10T14:56:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0b602a1bf26abbcc237dc6cfb9de678a5458e487",
"body": "updates:\n- [github.com/astral-sh/ruff-pre-commit: v0.15.6 → v0.15.7](https://github.com/astral-sh/ruff-pre-commit/compare/v0.15.6...v0.15.7)\n- [github.com/tox-dev/pyproject-fmt: v2.19.0 → v2.20.0](https://github.com/tox-dev/pyproject-fmt/compare/v2.19.0...v2.20.0)\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "[pre-commit.ci] pre-commit autoupdate (#1455)",
"author_name": "pre-commit-ci[bot]",
"author_login": "pre-commit-ci[bot]",
"committed_at": "2026-03-25T02:24:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b6dd9c5c319af3ba15083bd6c225abc2e58d2c70",
"body": null,
"is_bot": false,
"headline": "Change pre-commit autoupdate schedule to quarterly (#1456)",
"author_name": "Vladimir",
"author_login": "vloncar",
"committed_at": "2026-03-25T02:24:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0edc41bc457722368426e1a520a8a097937104c1",
"body": "Bump version to 1.3.0",
"is_bot": false,
"headline": "Merge pull request #1454 from fastmachinelearning/v130Update",
"author_name": "Benjamin Ramhorst",
"author_login": "bo3z",
"committed_at": "2026-03-20T15:42:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d05b9546a93c8f2b5f67cbade124d1f42148f197",
"body": null,
"is_bot": false,
"headline": "update status table for Einsum in oneAPI",
"author_name": "Jan-Frederik Schulte",
"author_login": "JanFSchulte",
"committed_at": "2026-03-20T15:26:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f27214f4247bc10636588abe56ad425e86c9e9b1",
"body": null,
"is_bot": false,
"headline": "bump release version to 1.3.0 in CITATIONS",
"author_name": "Jan-Frederik Schulte",
"author_login": "JanFSchulte",
"committed_at": "2026-03-20T15:01:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "faa8234fd3fd5405a3f712ab2a597313536fe060",
"body": "…citations",
"is_bot": false,
"headline": "bump release version to 1.3.0 and add TRETS paper to the recommended …",
"author_name": "Jan-Frederik Schulte",
"author_login": "JanFSchulte",
"committed_at": "2026-03-20T14:59:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fb91b2eb92b69d4c56e37b4867655844debee52b",
"body": "updates:\n- [github.com/astral-sh/ruff-pre-commit: v0.15.5 → v0.15.6](https://github.com/astral-sh/ruff-pre-commit/compare/v0.15.5...v0.15.6)\n- [github.com/tox-dev/pyproject-fmt: v2.16.2 → v2.19.0](https://github.com/tox-dev/pyproject-fmt/compare/v2.16.2...v2.19.0)\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "[pre-commit.ci] pre-commit autoupdate (#1452)",
"author_name": "pre-commit-ci[bot]",
"author_login": "pre-commit-ci[bot]",
"committed_at": "2026-03-20T14:09:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c3d90eb42ff0a7bfd4560a22a9724bfc1fcd317c",
"body": null,
"is_bot": false,
"headline": "fix autoprecision fallback for generic weights (#1453)",
"author_name": "calad0i",
"author_login": "calad0i",
"committed_at": "2026-03-20T14:08:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "90eea33550feb9db1381f10194c3850d040ad643",
"body": "Bump upload-artifact version",
"is_bot": false,
"headline": "Merge pull request #1449 from fastmachinelearning/bump-artifact",
"author_name": "Benjamin Ramhorst",
"author_login": "bo3z",
"committed_at": "2026-03-13T16:41:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4b44b40be7efc6ae4215b2a8cfa1699f53ffd7f0",
"body": "updates:\n- [github.com/astral-sh/ruff-pre-commit: v0.15.4 → v0.15.5](https://github.com/astral-sh/ruff-pre-commit/compare/v0.15.4...v0.15.5)\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "[pre-commit.ci] pre-commit autoupdate (#1450)",
"author_name": "pre-commit-ci[bot]",
"author_login": "pre-commit-ci[bot]",
"committed_at": "2026-03-09T20:30:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5bfbaece6d27dbf10fb92dd3abf19a43b47074d7",
"body": null,
"is_bot": false,
"headline": "bump upload-artifact version",
"author_name": "Jan-Frederik Schulte",
"author_login": "JanFSchulte",
"committed_at": "2026-03-06T14:34:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8134abaeab93fd5205a3a4589a50b310920de5d3",
"body": "updates:\n- [github.com/astral-sh/ruff-pre-commit: v0.15.2 → v0.15.4](https://github.com/astral-sh/ruff-pre-commit/compare/v0.15.2...v0.15.4)\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "[pre-commit.ci] pre-commit autoupdate (#1447)",
"author_name": "pre-commit-ci[bot]",
"author_login": "pre-commit-ci[bot]",
"committed_at": "2026-03-06T14:25:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b50bd4603f805b85d295c8a27e88226e14cc7ea0",
"body": "* vivado/vitis support sample broadcasting merge ops\n\n* fix",
"is_bot": false,
"headline": "vivado/vitis support sample broadcasting merge ops (#1426)",
"author_name": "calad0i",
"author_login": "calad0i",
"committed_at": "2026-02-25T21:46:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "71acc013eecc4dc0b87cc6694581832bcec32890",
"body": "updates:\n- [github.com/astral-sh/ruff-pre-commit: v0.15.0 → v0.15.2](https://github.com/astral-sh/ruff-pre-commit/compare/v0.15.0...v0.15.2)\n- [github.com/tox-dev/pyproject-fmt: v2.15.0 → v2.16.2](https://github.com/tox-dev/pyproject-fmt/compare/v2.15.0...v2.16.2)\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "[pre-commit.ci] pre-commit autoupdate (#1441)",
"author_name": "pre-commit-ci[bot]",
"author_login": "pre-commit-ci[bot]",
"committed_at": "2026-02-24T21:22:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7bfad2edea3a811ca856724d9c50746f46e41e66",
"body": "* Fix parsing of activations in Keras v3 non-activation layers\n\n* [pre-commit.ci] auto fixes from pre-commit hooks\n\n* Remove softmax test from Keras 3\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "Fix parsing of activations in Keras v3 non-activation layers (#1440)",
"author_name": "Benjamin Ramhorst",
"author_login": "bo3z",
"committed_at": "2026-02-19T21:22:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6900257ff794958b834afbaa41e7c75821d3094e",
"body": "* Add utility functions for generating unique test case identifiers in pytest\n\n- Introduced `get_pytest_case_id` and `get_pytest_baseline_name` functions in `conftest.py` to create unique identifiers for parametrized test cases and baseline files.\n- Updated multiple test files to utilize these funct\n[…]\nmplate to match all tar.gz files under the test/pytest directory instead of a specific pattern, required with the new naming convention.\n\n---------\n\nCo-authored-by: Jovan Mitrevski <jmitrevs@fnal.gov>",
"is_bot": false,
"headline": "Pytest folder naming update (#1437)",
"author_name": "Nicolò Ghielmetti",
"author_login": "nghielme",
"committed_at": "2026-02-13T18:06:32Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2bfb0aefae8d3f8f68eea8117c8e695017578205",
"body": "* make test_root_path consistent for all the tests\n\n* prevent folder name conflicts, make uniform\n\n* pre-commit fixes\n\n* make sure the test output directories are unique",
"is_bot": false,
"headline": "Uniform test root path (#1435)",
"author_name": "Jovan Mitrevski",
"author_login": "jmitrevs",
"committed_at": "2026-02-12T15:59:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "717a6c2fb934cffc39232d7790d5c5cb5c5918d6",
"body": "* [pre-commit.ci] pre-commit autoupdate\n\nupdates:\n- [github.com/astral-sh/ruff-pre-commit: v0.14.14 → v0.15.0](https://github.com/astral-sh/ruff-pre-commit/compare/v0.14.14...v0.15.0)\n- [github.com/tox-dev/pyproject-fmt: v2.12.1 → v2.15.0](https://github.com/tox-dev/pyproject-fmt/compare/v2.12.1...v2.15.0)\n\n* [pre-commit.ci] auto fixes from pre-commit hooks\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "[pre-commit.ci] pre-commit autoupdate (#1434)",
"author_name": "pre-commit-ci[bot]",
"author_login": "pre-commit-ci[bot]",
"committed_at": "2026-02-10T18:56:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "27af406367b565f3fbc698923ba3a2f8414ca614",
"body": "* Fix Keras v3 model conversion in numerical profiling\n\n* Address review feedback: remove unnecessary else clause and add test to LONGLIST\n\n- Removed else clause in convert_from_config() as it's no longer needed\n- Added test_keras_v3_profiling to LONGLIST in generate_ci_yaml.py for proper CI environ\n[…]\nre-commit-ci[bot]@users.noreply.github.com>\nCo-authored-by: siddardhadesu <153359094+siddardhadesu@users.noreply.github.com>\nCo-authored-by: Siddardha Desu <siddardhadesu@Siddardhas-MacBook-Air.local>",
"is_bot": false,
"headline": "Fix Keras v3 model conversion in numerical profiling (#1421)",
"author_name": "Muhammad Abubakar Rashid",
"author_login": "Abubakar-rashid",
"committed_at": "2026-02-09T15:14:19Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1099d6580e6258573d71ebaad57db6cbfa36a705",
"body": "* use metaclass for handler reg\n\n* feat: general da4ml fallback\n\n* bump da4ml version for LUT-Layer support\n\n* fix syntax err\n\n* api and docstr",
"is_bot": false,
"headline": "Da custom layer (#1429)",
"author_name": "calad0i",
"author_login": "calad0i",
"committed_at": "2026-02-05T13:09:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f12d2cd6ba222d04cf60673cab452d4056047950",
"body": null,
"is_bot": false,
"headline": "hgq2 homogeneous quant fix (#1427)",
"author_name": "calad0i",
"author_login": "calad0i",
"committed_at": "2026-02-05T13:09:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d051785cb59c04382f8cd9543fbb4f1cad76fd63",
"body": "updates:\n- [github.com/tox-dev/pyproject-fmt: v2.11.1 → v2.12.1](https://github.com/tox-dev/pyproject-fmt/compare/v2.11.1...v2.12.1)\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "[pre-commit.ci] pre-commit autoupdate (#1430)",
"author_name": "pre-commit-ci[bot]",
"author_login": "pre-commit-ci[bot]",
"committed_at": "2026-02-04T15:46:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c647154708adf13fb44af2dc99563f9f7d7abd2f",
"body": "* Add LHC trigger use case context to README\n\n* Clarify hls4ml application domains in README\n\n---------\n\nCo-authored-by: Siddardha Desu <siddardhadesu@Siddardhas-MacBook-Air.local>",
"is_bot": false,
"headline": "Add LHC trigger use case context to README (#1418)",
"author_name": "siddardhadesu",
"author_login": "siddardhadesu",
"committed_at": "2026-01-30T16:47:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "14207d3c22c7fe61bc1043c485a89ca342310792",
"body": "updates:\n- [github.com/astral-sh/ruff-pre-commit: v0.14.13 → v0.14.14](https://github.com/astral-sh/ruff-pre-commit/compare/v0.14.13...v0.14.14)\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "[pre-commit.ci] pre-commit autoupdate (#1425)",
"author_name": "pre-commit-ci[bot]",
"author_login": "pre-commit-ci[bot]",
"committed_at": "2026-01-30T16:03:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fa773a6b00a1f69c6ff5e5086adb3e564b8b6792",
"body": "Einsum and EinsumDense for oneAPI",
"is_bot": false,
"headline": "Merge pull request #1424 from laurilaatu/oneapi_einsum",
"author_name": "Jovan Mitrevski",
"author_login": "jmitrevs",
"committed_at": "2026-01-27T15:50:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b90981e65f5daed26b317bc28b032054178e3a66",
"body": null,
"is_bot": false,
"headline": "Add tests",
"author_name": "laurilaatu",
"author_login": "laurilaatu",
"committed_at": "2026-01-26T15:07:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3e18ad0c06a2cb9a2ec2ab1852c3f9749af58260",
"body": "…api_einsum",
"is_bot": false,
"headline": "Merge branch 'oneapi_einsum' of github.com:laurilaatu/hls4ml into one…",
"author_name": "laurilaatu",
"author_login": "laurilaatu",
"committed_at": "2026-01-26T15:05:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4c766e1638ccd56ce751427c4e7e7b40b5a3203c",
"body": null,
"is_bot": false,
"headline": "Add tests",
"author_name": "laurilaatu",
"author_login": "laurilaatu",
"committed_at": "2026-01-26T15:05:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4943a40bb626ab694b44bc2301aa5b3614aa9aa0",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' into oneapi_einsum",
"author_name": "laurilaatu",
"author_login": "laurilaatu",
"committed_at": "2026-01-26T14:19:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ca8b1c75e9fa7cf9ad3cb4acc5bcf402857835df",
"body": null,
"is_bot": false,
"headline": "Einsum and EinsumDense for oneAPI",
"author_name": "laurilaatu",
"author_login": "laurilaatu",
"committed_at": "2026-01-26T12:08:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5e910d1752a7e2b7a935f0e6f7ca22ab84de8a99",
"body": null,
"is_bot": false,
"headline": "minor fixes to CONTRIBUTING.md",
"author_name": "Jovan Mitrevski",
"author_login": "jmitrevs",
"committed_at": "2026-01-23T15:55:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "46bb486cba8161478da9cb91cd5ecc463364cc90",
"body": "* Initial implementation of Libero backend for PolarFire line of FPGAs\n\n* Fix writing of overflow and saturation modes in fixpt\n\n* Fix strategy choices\n\n* Use FIFOs for top function arguments\n\n* Fix FIFO write\n\n* Incomplete support for compile()\n\n* Full support for local compile()\n\n* Fix formatting\n\n* Delete build_lib.sh",
"is_bot": false,
"headline": "☢️ Libero backend for rad-hard PolarFire line of FPGAs (#1240)",
"author_name": "Vladimir",
"author_login": "vloncar",
"committed_at": "2026-01-22T13:13:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "78627c9be255db40ea566aa7070e62bf71c7f6f3",
"body": "* test keras3 environment\n\n* update testing image version in ci-template\n\n* update CI to support keras3 jobs\n\n* fix precommit changes\n\n* fix quotes in ci-template\n\n* make pytest-keras3-only job template hidden\n\n* pin pytest<9\n\n* fix failing test cases\n\n* remove constraint on pytest version <9",
"is_bot": false,
"headline": "Add keras3 environment in tests (#1412)",
"author_name": "Marco Colombo",
"author_login": "marco66colombo",
"committed_at": "2026-01-20T14:45:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6dd20155b535fe735bda92830debf6d77851902f",
"body": "* allow partial config def\n\n* .",
"is_bot": false,
"headline": "allow partial config def (#1419)",
"author_name": "calad0i",
"author_login": "calad0i",
"committed_at": "2026-01-20T14:41:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "82dc5a13d26425b463f1db99eb629007ca893cd4",
"body": "updates:\n- [github.com/astral-sh/ruff-pre-commit: v0.14.11 → v0.14.13](https://github.com/astral-sh/ruff-pre-commit/compare/v0.14.11...v0.14.13)\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "[pre-commit.ci] pre-commit autoupdate (#1420)",
"author_name": "pre-commit-ci[bot]",
"author_login": "pre-commit-ci[bot]",
"committed_at": "2026-01-20T14:40:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ad20aa6ca4b9d98f4f167ca5c8e90911076c9e94",
"body": "Remove parametrized fixtures from pytests for pytest 9 compatability",
"is_bot": false,
"headline": "Merge pull request #1417 from fastmachinelearning/pytest9",
"author_name": "Jovan Mitrevski",
"author_login": "jmitrevs",
"committed_at": "2026-01-15T20:15:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "30bf762e7b8393183de083439966982024e9f166",
"body": null,
"is_bot": false,
"headline": "fix missing commas",
"author_name": "Jan-Frederik Schulte",
"author_login": "JanFSchulte",
"committed_at": "2026-01-14T18:37:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0af1852c946a227f86077a1d0425166c3228dbce",
"body": null,
"is_bot": false,
"headline": "add ids to tests",
"author_name": "Jan-Frederik Schulte",
"author_login": "JanFSchulte",
"committed_at": "2026-01-14T18:02:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7285a9e833fff1001a2ccfe7abee9e37cc93c3cb",
"body": null,
"is_bot": false,
"headline": "clean diff",
"author_name": "Jan-Frederik Schulte",
"author_login": "JanFSchulte",
"committed_at": "2026-01-14T13:18:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9a570fbf1532aed375ce52733b25e8fd3ab24a8b",
"body": "…into pytest9",
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/fastmachinelearning/hls4ml …",
"author_name": "Jan-Frederik Schulte",
"author_login": "JanFSchulte",
"committed_at": "2026-01-14T13:16:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1f74e47d942be1be2c547a0e567412df2e1dc47d",
"body": null,
"is_bot": false,
"headline": "make pytests pytest9 comaptible by removing parametrized fixtures",
"author_name": "Jan-Frederik Schulte",
"author_login": "JanFSchulte",
"committed_at": "2026-01-14T13:15:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3d570aa4b2bb921b3e411cb622aa125653972176",
"body": "updates:\n- [github.com/astral-sh/ruff-pre-commit: v0.14.10 → v0.14.11](https://github.com/astral-sh/ruff-pre-commit/compare/v0.14.10...v0.14.11)\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "[pre-commit.ci] pre-commit autoupdate (#1416)",
"author_name": "pre-commit-ci[bot]",
"author_login": "pre-commit-ci[bot]",
"committed_at": "2026-01-13T20:26:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3a3857307d47c506466a1bc6c8935940a9a8ffd4",
"body": "* add conftest.py, utils.py, update test_keras_api.py\n\n* Use asserts in check_synthesis\n\n* update utils.py\n\n* fix baselines dir path\n\n* refactor synthesis_helpers.py\n\n* fix comment\n\n* pytest synthesis tests refactor\n\n* update synthesis_helpers, confetst.py\n\n* update default vitis version\n\n* fix typo\n[…]\n* Adopt Ruff single-quote formatting\n\n* update synthesis test tolerances\n\n* update vivado/vitis tolerances\n\n* update vitis baselines\n\n* remove vivado from test conv2d\n\n* remove oneAPI from test conv2d",
"is_bot": false,
"headline": "pytest based synthesis tests (#1257)",
"author_name": "Marco Colombo",
"author_login": "marco66colombo",
"committed_at": "2026-01-13T14:39:07Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "466c17ca37050b7eee9f6bbb5f6224d7c5afb433",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/fastmachinelearning/hls4ml",
"author_name": "Jan-Frederik Schulte",
"author_login": "JanFSchulte",
"committed_at": "2026-01-13T13:31:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "744d7ccbed5138169185affc0d424c1b98b023ac",
"body": "updates:\n- [github.com/astral-sh/ruff-pre-commit: v0.14.9 → v0.14.10](https://github.com/astral-sh/ruff-pre-commit/compare/v0.14.9...v0.14.10)\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "[pre-commit.ci] pre-commit autoupdate (#1414)",
"author_name": "pre-commit-ci[bot]",
"author_login": "pre-commit-ci[bot]",
"committed_at": "2026-01-07T16:36:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b60328fb11f4f283c16e41b5c518e477993d931d",
"body": null,
"is_bot": false,
"headline": "bump upload-artifact version",
"author_name": "Jan-Frederik Schulte",
"author_login": "JanFSchulte",
"committed_at": "2025-12-18T18:58:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cf8dd5afcd8c84b6e9353b899bf93da04ce1a1ad",
"body": "updates:\n- [github.com/astral-sh/ruff-pre-commit: v0.14.8 → v0.14.9](https://github.com/astral-sh/ruff-pre-commit/compare/v0.14.8...v0.14.9)\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "[pre-commit.ci] pre-commit autoupdate (#1411)",
"author_name": "pre-commit-ci[bot]",
"author_login": "pre-commit-ci[bot]",
"committed_at": "2025-12-18T18:56:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f6b07ac3f1a4b033d3870899a10967ebb02f716b",
"body": "* backend predict hook\n\n* pre-commit fix",
"is_bot": false,
"headline": "Backend predict hook (#1409)",
"author_name": "dimdano",
"author_login": "dimdano",
"committed_at": "2025-12-17T15:20:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dfd0b7f49c8bd4be4e982f7f620c28b8a9e09e5f",
"body": "updates:\n- [github.com/astral-sh/ruff-pre-commit: v0.14.7 → v0.14.8](https://github.com/astral-sh/ruff-pre-commit/compare/v0.14.7...v0.14.8)\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "[pre-commit.ci] pre-commit autoupdate (#1408)",
"author_name": "pre-commit-ci[bot]",
"author_login": "pre-commit-ci[bot]",
"committed_at": "2025-12-09T17:09:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cc695464e5574175270bff5587cc650d612f1dec",
"body": "Manually increment checkout to version v6",
"is_bot": false,
"headline": "Merge pull request #1405 from fastmachinelearning/checkoutv6",
"author_name": "Jovan Mitrevski",
"author_login": "jmitrevs",
"committed_at": "2025-12-09T17:05:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0563afbc571eac7cfde6206300d4b9cb184d2cc7",
"body": null,
"is_bot": false,
"headline": "manually increment checkout to version v6",
"author_name": "Jan-Frederik Schulte",
"author_login": "JanFSchulte",
"committed_at": "2025-12-03T20:33:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "882ba8c2921e4105243640a1d605ec348267254d",
"body": "updates:\n- [github.com/astral-sh/ruff-pre-commit: v0.14.5 → v0.14.7](https://github.com/astral-sh/ruff-pre-commit/compare/v0.14.5...v0.14.7)\n- [github.com/asottile/pyupgrade: v3.21.1 → v3.21.2](https://github.com/asottile/pyupgrade/compare/v3.21.1...v3.21.2)\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>\nCo-authored-by: Jan-Frederik Schulte <jschulte@cern.ch>",
"is_bot": true,
"headline": "[pre-commit.ci] pre-commit autoupdate (#1402)",
"author_name": "pre-commit-ci[bot]",
"author_login": "pre-commit-ci[bot]",
"committed_at": "2025-12-03T20:27:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d98dab036c04ca8d723458bfad25253be7170f15",
"body": "Add NGT logo to README",
"is_bot": false,
"headline": "Merge pull request #1404 from fastmachinelearning/ngt-logo",
"author_name": "Benjamin Ramhorst",
"author_login": "bo3z",
"committed_at": "2025-12-01T19:38:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7d66b238697950280c9618c2ff65243a1f0863fc",
"body": null,
"is_bot": false,
"headline": "Add NGT logo to README",
"author_name": "Javier Duarte",
"author_login": "jmduarte",
"committed_at": "2025-12-01T17:31:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7fd0ea253b314a7b005c05cd8ce5b3dc6ec123f1",
"body": null,
"is_bot": false,
"headline": "Update funding section in README.md (#1403)",
"author_name": "Benjamin Ramhorst",
"author_login": "bo3z",
"committed_at": "2025-12-01T11:43:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fd011603bb4f98c6399fe3869693d8d3900be883",
"body": "updates:\n- [github.com/astral-sh/ruff-pre-commit: v0.14.4 → v0.14.5](https://github.com/astral-sh/ruff-pre-commit/compare/v0.14.4...v0.14.5)\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "[pre-commit.ci] pre-commit autoupdate (#1399)",
"author_name": "pre-commit-ci[bot]",
"author_login": "pre-commit-ci[bot]",
"committed_at": "2025-11-18T13:18:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f811d273f62284370ad8b74046912dfe78292a5b",
"body": "updates:\n- [github.com/astral-sh/ruff-pre-commit: v0.14.3 → v0.14.4](https://github.com/astral-sh/ruff-pre-commit/compare/v0.14.3...v0.14.4)\n- [github.com/tox-dev/pyproject-fmt: v2.11.0 → v2.11.1](https://github.com/tox-dev/pyproject-fmt/compare/v2.11.0...v2.11.1)\n- [github.com/asottile/pyupgrade: v\n[…]\nhub.com/asottile/pyupgrade/compare/v3.21.0...v3.21.1)\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>\nCo-authored-by: Jan-Frederik Schulte <jschulte@cern.ch>",
"is_bot": true,
"headline": "[pre-commit.ci] pre-commit autoupdate (#1397)",
"author_name": "pre-commit-ci[bot]",
"author_login": "pre-commit-ci[bot]",
"committed_at": "2025-11-12T14:54:34Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ab1c4090b05bae9c1791975565eeca5495e98fb1",
"body": "* Add initial plugin support for external backends (e.g. aie4ml)\n\n* pre-commit fixes\n\n* remove unused JSON include\n\n* pre-commit fix\n\n* make plugin loader consistent with hls4ml\n\n* simplify plugin loader",
"is_bot": false,
"headline": "AI Engine (AIE) Backend support as external plugin (#1390)",
"author_name": "dimdano",
"author_login": "dimdano",
"committed_at": "2025-11-11T14:23:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ade67aba1d01cd77c6634e9bdd6290f3b3e9e34c",
"body": "* apply ruff to latest main\n\n* apply ruff to latest main\n\n* bump version number",
"is_bot": false,
"headline": "Bump version to 1.2.0 and switch to ruff for formatting (#1395)",
"author_name": "Jan-Frederik Schulte",
"author_login": "JanFSchulte",
"committed_at": "2025-11-03T20:25:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b493ea7fd282ed969e250a94a0738f29f144ac7e",
"body": "* Support for parsing ONNX Pad node\n\n* Use dynamo onnx export\n\n* Parse Pad node with ONNX opset >= 11\n\n* Make ONNX models manually instead of using torch's export\n\n---------\n\nCo-authored-by: Jan-Frederik Schulte <jschulte@cern.ch>",
"is_bot": false,
"headline": "Support for parsing ONNX Pad node (#1352)",
"author_name": "Vladimir",
"author_login": "vloncar",
"committed_at": "2025-11-01T00:19:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f43776dd679bd22464517be1174512528adde63f",
"body": null,
"is_bot": false,
"headline": "Fix prints in DSP-aware pruning (#1396)",
"author_name": "Benjamin Ramhorst",
"author_login": "bo3z",
"committed_at": "2025-11-01T00:16:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a57be2af5e54caffc18ddf81793f61b074999490",
"body": "* [pre-commit.ci] pre-commit autoupdate\n\nupdates:\n- https://github.com/psf/black → https://github.com/psf/black-pre-commit-mirror\n- [github.com/psf/black-pre-commit-mirror: 25.1.0 → 25.9.0](https://github.com/psf/black-pre-commit-mirror/compare/25.1.0...25.9.0)\n- [github.com/tox-dev/pyproject-fmt: v\n[…]\n/0.50...0.51)\n\n* manually apply pre-commit\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>\nCo-authored-by: Jan-Frederik Schulte <jschulte@cern.ch>",
"is_bot": true,
"headline": "[pre-commit.ci] pre-commit autoupdate (#1388)",
"author_name": "pre-commit-ci[bot]",
"author_login": "pre-commit-ci[bot]",
"committed_at": "2025-10-31T16:53:58Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9575d723e44a205966f099b4aaa6a7f6ebb2c483",
"body": "* pointwise conv 1d partial fix\n\n* pointwise inherit all property\n\n* inline for parallel conv, pointwise only for npart=1 (otherwise II will be too high)\n\n* avoid unexpected shared state\n\n* rm useless warning\n\n* rm line\n\n* .\n\n* fix pragma\n\n* vivado unsupported pragma\n\n* disable also for vitis (2025.1 crashes...)\n\n---------\n\nCo-authored-by: Jovan Mitrevski <jmitrevs@fnal.gov>\nCo-authored-by: Jan-Frederik Schulte <jschulte@cern.ch>",
"is_bot": false,
"headline": "Parallel conv partial fix (#1380)",
"author_name": "calad0i",
"author_login": "calad0i",
"committed_at": "2025-10-31T15:58:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a209862aa2c295aa43c107fc4c1ff29566a684a0",
"body": "* bump checkout version\n\n* update sphinx-build workflow to use new fine-graned PAT\n\n* token with workflow permissions\n\n* try to give permissions to change workflow files\n\n* try to give permissions to change workflow files 2\n\n* try to give permissions to change workflow files 3\n\n* try to give permissions to change workflow files 4\n\n* try to force token\n\n* check git config\n\n* use 2 differnet tokens with appropriate permissions and clean up debugging stuff",
"is_bot": false,
"headline": "Bump checkout version (#1369)",
"author_name": "Jan-Frederik Schulte",
"author_login": "JanFSchulte",
"committed_at": "2025-10-30T21:14:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8d7f5ff08172bbf01c87eafc89ef85461945e85f",
"body": "add qkeras test, (maybe) support qonnx\n\nrevert onnx chnages\n\nallow transpose after inputs\n\nsupport more general case",
"is_bot": false,
"headline": "allow transpose after inputs (#1368)",
"author_name": "calad0i",
"author_login": "calad0i",
"committed_at": "2025-10-30T17:04:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e1f6a427ab026ee5d9f5874ad7dbe257c868f408",
"body": "* resolve_getitem_source implementation\n\n* [pre-commit.ci] auto fixes from pre-commit hooks\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>\nCo-authored-by: Jan-Frederik Schulte <jschulte@cern.ch>",
"is_bot": false,
"headline": "resolve_getitem_source implementation (#1385)",
"author_name": "rodrigo",
"author_login": "rodrigo-breia-lopes",
"committed_at": "2025-10-20T15:04:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4f064b06664b62e32c784090ace439bc734ebf44",
"body": null,
"is_bot": false,
"headline": "avoid layer named out_something crash conversion (#1391)",
"author_name": "calad0i",
"author_login": "calad0i",
"committed_at": "2025-10-20T14:32:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8ee1de9b704f9f6cd50ef33c6e3d07b6e01651d4",
"body": "* add kv3 parametrized activ support\n\n* add kv3 explicit leaky relu support",
"is_bot": false,
"headline": "Proper Support of Parametrized Activations in Keras V3 (#1392)",
"author_name": "calad0i",
"author_login": "calad0i",
"committed_at": "2025-10-20T13:59:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e51e9f519207122b574a302dd2ed20067eed65b3",
"body": null,
"is_bot": false,
"headline": "Fix typo in output shapes description (#1389)",
"author_name": "Lukas Korinek",
"author_login": "lkorinek",
"committed_at": "2025-09-23T12:54:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "272d4a3749435cde970011fba0729a0b9b6c3cb1",
"body": "* doc update for hgq/da\n\n* updates\n\n* why there is another requirements.txt?\n\n* simpler example model\n\n* smaller workflow file\n\n* model-wise desc update\n\n* fix broken hyperlink\n\n* rst syntax fix with white spaces\n\n* misc\n\n* more leftover\n\n* misc\n\n* hgq1 doc link\n\n* mac cc instruction and multi group install\n\n---------\n\nCo-authored-by: Jan-Frederik Schulte <jschulte@cern.ch>",
"is_bot": false,
"headline": "doc update for hgq/da (#1359)",
"author_name": "calad0i",
"author_login": "calad0i",
"committed_at": "2025-09-23T12:52:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "53d61fe27187ec61c703ae5d33b4544ac8fbf2a3",
"body": "* rm fxpmath dependency\n\n* fix test: -pow2's are technically 1 bit",
"is_bot": false,
"headline": "rm fxpmath dependency (#1383)",
"author_name": "calad0i",
"author_login": "calad0i",
"committed_at": "2025-09-19T20:14:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "74f567d840ecd31673a03afea892339a7a858a59",
"body": "* bump da4ml to v0.4\n\n* leftover",
"is_bot": false,
"headline": "bump da4ml to v0.4 (#1386)",
"author_name": "calad0i",
"author_login": "calad0i",
"committed_at": "2025-09-19T14:58:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b9feaa388a5e91e6e755603ca7a20629fbbdb3ad",
"body": "Include multigraph doc in index",
"is_bot": false,
"headline": "Merge pull request #1381 from JanFSchulte/multigraphdoc",
"author_name": "Benjamin Ramhorst",
"author_login": "bo3z",
"committed_at": "2025-09-10T11:12:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d5320f39c10caf0fb3b728a6c0dadb512bbcfe33",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' into multigraphdoc",
"author_name": "Jan-Frederik Schulte",
"author_login": "JanFSchulte",
"committed_at": "2025-09-09T13:20:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e40f29829903b5e0c3508224924725aecc092d44",
"body": null,
"is_bot": false,
"headline": "include multigraph doc in index",
"author_name": "Jan-Frederik Schulte",
"author_login": "JanFSchulte",
"committed_at": "2025-09-09T13:18:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "86afff36d5a9a489f52f5ed1591c9050643dc6e5",
"body": "…1139)\n\n* Added automatic inference of `param_t` constant for parametrised activations\n\n* pre-commit fixes\n\n* Fix the case the param is a power of 2\n\n* Fix for a specific case related to no bits in the mantissa\n\n* Update subproject commit reference in example-models\n\n* first, untested version of con\n[…]\nm_constant_unit change\n\n---------\n\nCo-authored-by: Jan-Frederik Schulte <jschulte@cern.ch>\nCo-authored-by: Jovan Mitrevski <jmitrevs@fnal.gov>\nCo-authored-by: Jovan Mitrevski <j.p.mitrevski@gmail.com>",
"is_bot": false,
"headline": "Automatic type inference for `param_t` in Parametrised Activations (#…",
"author_name": "Nicolò Ghielmetti",
"author_login": "nghielme",
"committed_at": "2025-09-09T12:22:29Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ee73ffb85bbffd6565a3a2c32413fedccb715b05",
"body": "* attempt to add an defines for emulation in CMSSW\n\n* add emulator wrapper\n\n* add some support for io_stream on the hls4ml side\n\n* add pytest for emulation",
"is_bot": false,
"headline": "Helpers for CMSSW emulation (#1336)",
"author_name": "Jovan Mitrevski",
"author_login": "jmitrevs",
"committed_at": "2025-09-08T19:29:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "71123c80842a1b45be1997e9e44a89ea42749109",
"body": "* bit exact extension\n\n* add qkeras test, (maybe) support qonnx\n\n* revert onnx chnages\n\n* use int16\n\n* disable quant fuse if bit_exact not enabled",
"is_bot": false,
"headline": "bit exact extension (#1338)",
"author_name": "calad0i",
"author_login": "calad0i",
"committed_at": "2025-09-08T19:19:51Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 20,
"commits_last_year": 121,
"latest_release_at": "2026-03-20T14:59:12Z",
"latest_release_tag": "v1.3.0",
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 36,
"days_since_latest_release": 130,
"mean_days_between_releases": 119
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 62,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": true
},
"ecosystem": {
"packages": [
{
"name": "hls4ml",
"exists": true,
"license": "Apache-2.0",
"keywords": [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: C++",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Topic :: Software Development :: Libraries",
"Topic :: Software Development :: Libraries :: Python Modules"
],
"ecosystem": "pypi",
"matches_repo": null,
"registry_url": "https://pypi.org/project/hls4ml/",
"is_deprecated": false,
"latest_version": "1.3.0",
"repository_url": null,
"versions_count": 16,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": 3335,
"first_published_at": "2020-07-31T09:07:34.367172Z",
"latest_published_at": "2026-03-20T14:59:58.450136Z",
"latest_version_yanked": null,
"days_since_latest_publish": 130
}
]
},
"popularity": {
"forks": 572,
"stars": 2081,
"watchers": 53,
"fork_history": {
"days": [
{
"date": "2017-10-27",
"count": 1
},
{
"date": "2017-12-07",
"count": 1
},
{
"date": "2018-02-24",
"count": 1
},
{
"date": "2018-03-21",
"count": 1
},
{
"date": "2018-03-30",
"count": 1
},
{
"date": "2018-04-21",
"count": 1
},
{
"date": "2018-05-04",
"count": 1
},
{
"date": "2018-05-09",
"count": 1
},
{
"date": "2018-06-22",
"count": 1
},
{
"date": "2018-06-26",
"count": 1
},
{
"date": "2018-06-30",
"count": 1
},
{
"date": "2018-08-01",
"count": 1
},
{
"date": "2018-08-14",
"count": 1
},
{
"date": "2018-09-04",
"count": 1
},
{
"date": "2018-09-09",
"count": 1
},
{
"date": "2018-09-11",
"count": 1
},
{
"date": "2018-10-05",
"count": 3
},
{
"date": "2018-11-06",
"count": 1
},
{
"date": "2018-11-20",
"count": 1
},
{
"date": "2018-12-05",
"count": 1
},
{
"date": "2018-12-19",
"count": 1
},
{
"date": "2019-01-05",
"count": 1
},
{
"date": "2019-01-23",
"count": 1
},
{
"date": "2019-01-27",
"count": 1
},
{
"date": "2019-01-30",
"count": 1
},
{
"date": "2019-03-06",
"count": 1
},
{
"date": "2019-03-11",
"count": 1
},
{
"date": "2019-03-20",
"count": 1
},
{
"date": "2019-04-11",
"count": 1
},
{
"date": "2019-04-16",
"count": 1
},
{
"date": "2019-04-20",
"count": 1
},
{
"date": "2019-04-23",
"count": 1
},
{
"date": "2019-04-25",
"count": 1
},
{
"date": "2019-04-26",
"count": 1
},
{
"date": "2019-04-30",
"count": 1
},
{
"date": "2019-05-22",
"count": 1
},
{
"date": "2019-05-23",
"count": 1
},
{
"date": "2019-06-03",
"count": 2
},
{
"date": "2019-06-08",
"count": 1
},
{
"date": "2019-06-20",
"count": 1
},
{
"date": "2019-06-24",
"count": 1
},
{
"date": "2019-07-11",
"count": 1
},
{
"date": "2019-07-19",
"count": 1
},
{
"date": "2019-07-30",
"count": 1
},
{
"date": "2019-08-01",
"count": 1
},
{
"date": "2019-08-07",
"count": 1
},
{
"date": "2019-08-08",
"count": 1
},
{
"date": "2019-08-09",
"count": 1
},
{
"date": "2019-09-08",
"count": 1
},
{
"date": "2019-09-10",
"count": 1
},
{
"date": "2019-09-17",
"count": 1
},
{
"date": "2019-09-21",
"count": 1
},
{
"date": "2019-09-24",
"count": 1
},
{
"date": "2019-10-01",
"count": 1
},
{
"date": "2019-10-04",
"count": 1
},
{
"date": "2019-10-30",
"count": 1
},
{
"date": "2019-10-31",
"count": 1
},
{
"date": "2019-11-05",
"count": 1
},
{
"date": "2019-11-07",
"count": 1
},
{
"date": "2019-11-15",
"count": 1
},
{
"date": "2019-11-16",
"count": 1
},
{
"date": "2019-12-02",
"count": 1
},
{
"date": "2019-12-05",
"count": 1
},
{
"date": "2020-01-03",
"count": 1
},
{
"date": "2020-01-11",
"count": 1
},
{
"date": "2020-02-26",
"count": 1
},
{
"date": "2020-03-16",
"count": 1
},
{
"date": "2020-03-23",
"count": 1
},
{
"date": "2020-03-28",
"count": 3
},
{
"date": "2020-03-29",
"count": 1
},
{
"date": "2020-04-01",
"count": 1
},
{
"date": "2020-04-07",
"count": 2
},
{
"date": "2020-04-26",
"count": 1
},
{
"date": "2020-05-05",
"count": 1
},
{
"date": "2020-05-18",
"count": 1
},
{
"date": "2020-05-21",
"count": 1
},
{
"date": "2020-06-05",
"count": 1
},
{
"date": "2020-06-07",
"count": 2
},
{
"date": "2020-06-13",
"count": 1
},
{
"date": "2020-06-18",
"count": 1
},
{
"date": "2020-06-21",
"count": 1
},
{
"date": "2020-06-22",
"count": 1
},
{
"date": "2020-06-23",
"count": 1
},
{
"date": "2020-06-28",
"count": 1
},
{
"date": "2020-07-03",
"count": 1
},
{
"date": "2020-07-08",
"count": 2
},
{
"date": "2020-07-16",
"count": 1
},
{
"date": "2020-07-22",
"count": 1
},
{
"date": "2020-07-29",
"count": 1
},
{
"date": "2020-08-04",
"count": 1
},
{
"date": "2020-08-05",
"count": 1
},
{
"date": "2020-08-07",
"count": 1
},
{
"date": "2020-08-13",
"count": 2
},
{
"date": "2020-08-20",
"count": 1
},
{
"date": "2020-08-21",
"count": 1
},
{
"date": "2020-09-12",
"count": 1
},
{
"date": "2020-10-15",
"count": 2
},
{
"date": "2020-10-19",
"count": 1
},
{
"date": "2020-10-30",
"count": 1
},
{
"date": "2020-11-02",
"count": 1
},
{
"date": "2020-11-03",
"count": 1
},
{
"date": "2020-11-11",
"count": 3
},
{
"date": "2020-11-20",
"count": 1
},
{
"date": "2020-11-27",
"count": 1
},
{
"date": "2020-11-29",
"count": 1
},
{
"date": "2020-12-01",
"count": 1
},
{
"date": "2020-12-16",
"count": 2
},
{
"date": "2020-12-18",
"count": 1
},
{
"date": "2020-12-19",
"count": 1
},
{
"date": "2020-12-20",
"count": 1
},
{
"date": "2021-01-11",
"count": 1
},
{
"date": "2021-01-14",
"count": 2
},
{
"date": "2021-01-16",
"count": 1
},
{
"date": "2021-01-18",
"count": 1
},
{
"date": "2021-02-19",
"count": 1
},
{
"date": "2021-03-10",
"count": 4
},
{
"date": "2021-03-20",
"count": 1
},
{
"date": "2021-03-23",
"count": 1
},
{
"date": "2021-04-06",
"count": 2
},
{
"date": "2021-04-26",
"count": 1
},
{
"date": "2021-04-28",
"count": 1
},
{
"date": "2021-05-02",
"count": 1
},
{
"date": "2021-05-04",
"count": 1
},
{
"date": "2021-05-16",
"count": 1
},
{
"date": "2021-05-17",
"count": 1
},
{
"date": "2021-06-09",
"count": 1
},
{
"date": "2021-06-15",
"count": 1
},
{
"date": "2021-06-18",
"count": 1
},
{
"date": "2021-06-19",
"count": 1
},
{
"date": "2021-06-30",
"count": 1
},
{
"date": "2021-07-08",
"count": 1
},
{
"date": "2021-07-24",
"count": 1
},
{
"date": "2021-07-27",
"count": 1
},
{
"date": "2021-08-03",
"count": 1
},
{
"date": "2021-08-11",
"count": 1
},
{
"date": "2021-08-25",
"count": 1
},
{
"date": "2021-09-15",
"count": 1
},
{
"date": "2021-09-16",
"count": 1
},
{
"date": "2021-09-21",
"count": 1
},
{
"date": "2021-09-23",
"count": 1
},
{
"date": "2021-09-26",
"count": 1
},
{
"date": "2021-10-04",
"count": 1
},
{
"date": "2021-10-13",
"count": 1
},
{
"date": "2021-10-27",
"count": 1
},
{
"date": "2021-11-12",
"count": 1
},
{
"date": "2021-11-18",
"count": 1
},
{
"date": "2021-11-24",
"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-07",
"count": 2
},
{
"date": "2021-12-22",
"count": 1
},
{
"date": "2022-01-03",
"count": 1
},
{
"date": "2022-01-26",
"count": 1
},
{
"date": "2022-02-03",
"count": 1
},
{
"date": "2022-02-07",
"count": 2
},
{
"date": "2022-02-27",
"count": 1
},
{
"date": "2022-03-14",
"count": 1
},
{
"date": "2022-03-22",
"count": 1
},
{
"date": "2022-03-27",
"count": 1
},
{
"date": "2022-03-28",
"count": 1
},
{
"date": "2022-03-30",
"count": 1
},
{
"date": "2022-04-05",
"count": 2
},
{
"date": "2022-04-08",
"count": 1
},
{
"date": "2022-04-18",
"count": 1
},
{
"date": "2022-04-28",
"count": 1
},
{
"date": "2022-05-03",
"count": 1
},
{
"date": "2022-05-04",
"count": 1
},
{
"date": "2022-05-05",
"count": 1
},
{
"date": "2022-05-09",
"count": 1
},
{
"date": "2022-05-11",
"count": 1
},
{
"date": "2022-05-18",
"count": 1
},
{
"date": "2022-05-23",
"count": 2
},
{
"date": "2022-05-24",
"count": 1
},
{
"date": "2022-05-25",
"count": 1
},
{
"date": "2022-06-07",
"count": 1
},
{
"date": "2022-06-16",
"count": 1
},
{
"date": "2022-06-22",
"count": 1
},
{
"date": "2022-06-23",
"count": 1
},
{
"date": "2022-06-24",
"count": 2
},
{
"date": "2022-07-02",
"count": 1
},
{
"date": "2022-07-04",
"count": 1
},
{
"date": "2022-07-12",
"count": 1
},
{
"date": "2022-07-18",
"count": 1
},
{
"date": "2022-07-21",
"count": 2
},
{
"date": "2022-07-22",
"count": 1
},
{
"date": "2022-07-29",
"count": 1
},
{
"date": "2022-08-01",
"count": 1
},
{
"date": "2022-08-08",
"count": 1
},
{
"date": "2022-08-10",
"count": 1
},
{
"date": "2022-08-12",
"count": 1
},
{
"date": "2022-08-17",
"count": 1
},
{
"date": "2022-08-24",
"count": 1
},
{
"date": "2022-08-29",
"count": 1
},
{
"date": "2022-09-14",
"count": 1
},
{
"date": "2022-09-15",
"count": 1
},
{
"date": "2022-10-13",
"count": 1
},
{
"date": "2022-10-14",
"count": 1
},
{
"date": "2022-10-19",
"count": 1
},
{
"date": "2022-10-24",
"count": 1
},
{
"date": "2022-10-27",
"count": 1
},
{
"date": "2022-11-06",
"count": 1
},
{
"date": "2022-11-11",
"count": 1
},
{
"date": "2022-11-25",
"count": 1
},
{
"date": "2022-12-05",
"count": 1
},
{
"date": "2022-12-07",
"count": 2
},
{
"date": "2022-12-18",
"count": 1
},
{
"date": "2022-12-22",
"count": 1
},
{
"date": "2023-01-19",
"count": 1
},
{
"date": "2023-01-24",
"count": 1
},
{
"date": "2023-02-05",
"count": 1
},
{
"date": "2023-02-06",
"count": 1
},
{
"date": "2023-02-09",
"count": 1
},
{
"date": "2023-02-10",
"count": 2
},
{
"date": "2023-02-17",
"count": 1
},
{
"date": "2023-02-19",
"count": 1
},
{
"date": "2023-02-23",
"count": 1
},
{
"date": "2023-03-05",
"count": 1
},
{
"date": "2023-04-04",
"count": 1
},
{
"date": "2023-04-05",
"count": 1
},
{
"date": "2023-04-06",
"count": 1
},
{
"date": "2023-04-07",
"count": 1
},
{
"date": "2023-04-08",
"count": 1
},
{
"date": "2023-04-11",
"count": 2
},
{
"date": "2023-04-19",
"count": 1
},
{
"date": "2023-04-25",
"count": 1
},
{
"date": "2023-04-26",
"count": 1
},
{
"date": "2023-05-02",
"count": 1
},
{
"date": "2023-05-09",
"count": 1
},
{
"date": "2023-05-10",
"count": 1
},
{
"date": "2023-05-13",
"count": 1
},
{
"date": "2023-05-25",
"count": 1
},
{
"date": "2023-05-30",
"count": 1
},
{
"date": "2023-05-31",
"count": 1
},
{
"date": "2023-06-08",
"count": 2
},
{
"date": "2023-06-10",
"count": 1
},
{
"date": "2023-06-23",
"count": 1
},
{
"date": "2023-06-29",
"count": 2
},
{
"date": "2023-07-10",
"count": 1
},
{
"date": "2023-07-12",
"count": 1
},
{
"date": "2023-07-21",
"count": 1
},
{
"date": "2023-08-08",
"count": 1
},
{
"date": "2023-08-10",
"count": 1
},
{
"date": "2023-08-15",
"count": 3
},
{
"date": "2023-08-18",
"count": 1
},
{
"date": "2023-08-19",
"count": 1
},
{
"date": "2023-08-20",
"count": 1
},
{
"date": "2023-08-21",
"count": 1
},
{
"date": "2023-09-03",
"count": 1
},
{
"date": "2023-09-05",
"count": 1
},
{
"date": "2023-09-12",
"count": 2
},
{
"date": "2023-09-15",
"count": 1
},
{
"date": "2023-10-10",
"count": 1
},
{
"date": "2023-10-11",
"count": 1
},
{
"date": "2023-10-13",
"count": 1
},
{
"date": "2023-10-17",
"count": 1
},
{
"date": "2023-10-23",
"count": 1
},
{
"date": "2023-10-26",
"count": 2
},
{
"date": "2023-11-09",
"count": 1
},
{
"date": "2023-11-17",
"count": 1
},
{
"date": "2023-11-26",
"count": 1
},
{
"date": "2023-11-28",
"count": 1
},
{
"date": "2023-12-05",
"count": 1
},
{
"date": "2023-12-10",
"count": 1
},
{
"date": "2023-12-22",
"count": 1
},
{
"date": "2023-12-27",
"count": 1
},
{
"date": "2024-01-02",
"count": 1
},
{
"date": "2024-01-03",
"count": 1
},
{
"date": "2024-01-22",
"count": 1
},
{
"date": "2024-01-31",
"count": 1
},
{
"date": "2024-02-09",
"count": 1
},
{
"date": "2024-02-15",
"count": 1
},
{
"date": "2024-02-19",
"count": 1
},
{
"date": "2024-02-20",
"count": 1
},
{
"date": "2024-03-01",
"count": 1
},
{
"date": "2024-03-07",
"count": 1
},
{
"date": "2024-03-22",
"count": 2
},
{
"date": "2024-04-03",
"count": 1
},
{
"date": "2024-04-15",
"count": 1
},
{
"date": "2024-04-25",
"count": 1
},
{
"date": "2024-05-01",
"count": 1
},
{
"date": "2024-05-13",
"count": 1
},
{
"date": "2024-05-17",
"count": 1
},
{
"date": "2024-05-28",
"count": 2
},
{
"date": "2024-06-26",
"count": 2
},
{
"date": "2024-06-29",
"count": 1
},
{
"date": "2024-07-02",
"count": 1
},
{
"date": "2024-07-03",
"count": 1
},
{
"date": "2024-07-09",
"count": 1
},
{
"date": "2024-07-15",
"count": 2
},
{
"date": "2024-07-22",
"count": 1
},
{
"date": "2024-07-31",
"count": 1
},
{
"date": "2024-08-07",
"count": 1
},
{
"date": "2024-08-18",
"count": 1
},
{
"date": "2024-08-26",
"count": 1
},
{
"date": "2024-09-21",
"count": 1
},
{
"date": "2024-09-22",
"count": 1
},
{
"date": "2024-09-26",
"count": 1
},
{
"date": "2024-09-27",
"count": 1
},
{
"date": "2024-09-30",
"count": 1
},
{
"date": "2024-10-08",
"count": 1
},
{
"date": "2024-10-09",
"count": 2
},
{
"date": "2024-10-10",
"count": 1
},
{
"date": "2024-10-15",
"count": 1
},
{
"date": "2024-10-16",
"count": 2
},
{
"date": "2024-10-28",
"count": 1
},
{
"date": "2024-10-29",
"count": 1
},
{
"date": "2024-11-05",
"count": 1
},
{
"date": "2024-11-07",
"count": 1
},
{
"date": "2024-11-09",
"count": 1
},
{
"date": "2024-11-13",
"count": 2
},
{
"date": "2024-11-14",
"count": 1
},
{
"date": "2024-11-17",
"count": 1
},
{
"date": "2024-11-19",
"count": 1
},
{
"date": "2024-11-25",
"count": 1
},
{
"date": "2024-12-02",
"count": 1
},
{
"date": "2024-12-06",
"count": 1
},
{
"date": "2024-12-24",
"count": 1
},
{
"date": "2025-01-07",
"count": 1
},
{
"date": "2025-01-16",
"count": 1
},
{
"date": "2025-01-24",
"count": 2
},
{
"date": "2025-02-05",
"count": 1
},
{
"date": "2025-02-16",
"count": 1
},
{
"date": "2025-02-18",
"count": 1
},
{
"date": "2025-02-19",
"count": 1
},
{
"date": "2025-02-26",
"count": 1
},
{
"date": "2025-03-01",
"count": 1
},
{
"date": "2025-03-06",
"count": 1
},
{
"date": "2025-03-11",
"count": 1
},
{
"date": "2025-03-15",
"count": 1
},
{
"date": "2025-03-16",
"count": 1
},
{
"date": "2025-03-17",
"count": 1
},
{
"date": "2025-03-21",
"count": 1
},
{
"date": "2025-03-26",
"count": 1
},
{
"date": "2025-03-30",
"count": 1
},
{
"date": "2025-04-08",
"count": 3
},
{
"date": "2025-04-10",
"count": 1
},
{
"date": "2025-04-11",
"count": 1
},
{
"date": "2025-04-25",
"count": 1
},
{
"date": "2025-04-30",
"count": 1
},
{
"date": "2025-05-06",
"count": 1
},
{
"date": "2025-05-09",
"count": 1
},
{
"date": "2025-05-15",
"count": 1
},
{
"date": "2025-05-20",
"count": 1
},
{
"date": "2025-05-25",
"count": 1
},
{
"date": "2025-06-06",
"count": 1
},
{
"date": "2025-06-10",
"count": 2
},
{
"date": "2025-06-22",
"count": 1
},
{
"date": "2025-07-02",
"count": 1
},
{
"date": "2025-07-04",
"count": 1
},
{
"date": "2025-07-08",
"count": 1
},
{
"date": "2025-07-10",
"count": 1
},
{
"date": "2025-07-12",
"count": 1
},
{
"date": "2025-07-14",
"count": 1
},
{
"date": "2025-07-16",
"count": 1
},
{
"date": "2025-07-17",
"count": 3
},
{
"date": "2025-07-18",
"count": 1
},
{
"date": "2025-07-22",
"count": 1
},
{
"date": "2025-07-26",
"count": 1
},
{
"date": "2025-07-27",
"count": 1
},
{
"date": "2025-07-29",
"count": 1
},
{
"date": "2025-08-03",
"count": 1
},
{
"date": "2025-08-13",
"count": 1
},
{
"date": "2025-08-15",
"count": 1
},
{
"date": "2025-08-21",
"count": 1
},
{
"date": "2025-08-27",
"count": 1
},
{
"date": "2025-09-12",
"count": 1
},
{
"date": "2025-09-14",
"count": 1
},
{
"date": "2025-09-23",
"count": 2
},
{
"date": "2025-10-14",
"count": 1
},
{
"date": "2025-10-23",
"count": 2
},
{
"date": "2025-10-28",
"count": 1
},
{
"date": "2025-11-01",
"count": 1
},
{
"date": "2025-11-03",
"count": 1
},
{
"date": "2025-11-10",
"count": 2
},
{
"date": "2025-11-17",
"count": 1
},
{
"date": "2025-11-19",
"count": 1
},
{
"date": "2025-11-23",
"count": 1
},
{
"date": "2025-12-02",
"count": 1
},
{
"date": "2025-12-09",
"count": 1
},
{
"date": "2025-12-20",
"count": 1
},
{
"date": "2025-12-22",
"count": 1
},
{
"date": "2025-12-23",
"count": 1
},
{
"date": "2025-12-31",
"count": 1
},
{
"date": "2026-01-07",
"count": 2
},
{
"date": "2026-01-13",
"count": 1
},
{
"date": "2026-01-17",
"count": 1
},
{
"date": "2026-01-19",
"count": 1
},
{
"date": "2026-01-20",
"count": 1
},
{
"date": "2026-01-31",
"count": 1
},
{
"date": "2026-02-06",
"count": 1
},
{
"date": "2026-02-09",
"count": 1
},
{
"date": "2026-02-10",
"count": 1
},
{
"date": "2026-02-16",
"count": 2
},
{
"date": "2026-02-19",
"count": 2
},
{
"date": "2026-02-26",
"count": 1
},
{
"date": "2026-02-28",
"count": 1
},
{
"date": "2026-03-07",
"count": 1
},
{
"date": "2026-03-08",
"count": 1
},
{
"date": "2026-03-10",
"count": 1
},
{
"date": "2026-03-12",
"count": 1
},
{
"date": "2026-03-13",
"count": 1
},
{
"date": "2026-03-23",
"count": 2
},
{
"date": "2026-03-30",
"count": 3
},
{
"date": "2026-03-31",
"count": 1
},
{
"date": "2026-04-05",
"count": 1
},
{
"date": "2026-04-06",
"count": 1
},
{
"date": "2026-04-11",
"count": 1
},
{
"date": "2026-04-21",
"count": 2
},
{
"date": "2026-04-22",
"count": 1
},
{
"date": "2026-04-24",
"count": 1
},
{
"date": "2026-04-27",
"count": 1
},
{
"date": "2026-04-30",
"count": 1
},
{
"date": "2026-05-11",
"count": 1
},
{
"date": "2026-05-13",
"count": 1
},
{
"date": "2026-05-15",
"count": 1
},
{
"date": "2026-05-17",
"count": 1
},
{
"date": "2026-05-22",
"count": 2
},
{
"date": "2026-05-24",
"count": 1
},
{
"date": "2026-05-28",
"count": 2
},
{
"date": "2026-06-02",
"count": 1
},
{
"date": "2026-06-03",
"count": 1
},
{
"date": "2026-06-09",
"count": 2
},
{
"date": "2026-06-10",
"count": 1
},
{
"date": "2026-06-19",
"count": 1
},
{
"date": "2026-06-20",
"count": 1
},
{
"date": "2026-06-21",
"count": 1
},
{
"date": "2026-06-23",
"count": 1
},
{
"date": "2026-06-24",
"count": 1
},
{
"date": "2026-06-26",
"count": 1
},
{
"date": "2026-06-27",
"count": 1
},
{
"date": "2026-06-29",
"count": 1
},
{
"date": "2026-07-02",
"count": 1
},
{
"date": "2026-07-03",
"count": 1
},
{
"date": "2026-07-07",
"count": 1
},
{
"date": "2026-07-12",
"count": 1
},
{
"date": "2026-07-16",
"count": 1
}
],
"complete": true,
"collected": 498,
"total_forks": 572
},
"star_history": null,
"open_issues_and_prs": 238
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [
"docs/Makefile",
"hls4ml/templates/quartus/Makefile"
],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [],
"largest_source_bytes": 261465,
"source_files_sampled": 644,
"oversized_source_files": 7,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"docs/requirements.txt",
"pyproject.toml"
],
"advisories": {
"error": null,
"scope": "published_package",
"source": "osv",
"findings": [],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 5,
"malicious_count": 0,
"assessed_package": "pypi:hls4ml@1.3.0",
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"pypi"
],
"dependencies": [
{
"name": "h5py",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": null
},
{
"name": "numpy",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": null
},
{
"name": "pydigitalwavetools",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": "==1.1"
},
{
"name": "pyyaml",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": null
},
{
"name": "quantizers",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": null
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "h5py",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "numpy",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pydigitalwavetools",
"direct": true,
"version": "1.1",
"ecosystem": "pypi"
},
{
"name": "pyyaml",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "quantizers",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "da4ml",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "hgq",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "hgq2",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "keras",
"direct": false,
"version": "3.14.1",
"ecosystem": "pypi"
},
{
"name": "keras-tuner",
"direct": false,
"version": "1.1.3",
"ecosystem": "pypi"
},
{
"name": "onnx",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "ortools",
"direct": false,
"version": "9.4.1874",
"ecosystem": "pypi"
},
{
"name": "pquant-ml",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "setuptools",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "setuptools-scm",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "sparsepixels",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "sphinx",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "sphinx-contributors",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "sphinx-github-changelog",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "sphinx-rtd-theme",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "sphinx-tabs",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "sympy",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "tensorflow",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "tensorflow-model-optimization",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "toposort",
"direct": false,
"version": null,
"ecosystem": "pypi"
}
],
"collected": true,
"truncated": false,
"total_count": 25,
"direct_count": 5,
"indirect_count": 20
}
},
"maintainership": {
"issues": {
"open_prs": 42,
"merged_prs": 656,
"open_issues": 196,
"closed_ratio": 0.595,
"closed_issues": 288,
"closed_unmerged_prs": 115
},
"bus_factor": 3,
"bot_contributors": 2,
"top_contributors": [
{
"type": "User",
"login": "vloncar",
"commits": 783,
"avatar_url": "https://avatars.githubusercontent.com/u/29201053?v=4"
},
{
"type": "User",
"login": "jmitrevs",
"commits": 410,
"avatar_url": "https://avatars.githubusercontent.com/u/6638210?v=4"
},
{
"type": "User",
"login": "jmduarte",
"commits": 268,
"avatar_url": "https://avatars.githubusercontent.com/u/4932543?v=4"
},
{
"type": "User",
"login": "thesps",
"commits": 188,
"avatar_url": "https://avatars.githubusercontent.com/u/14807534?v=4"
},
{
"type": "User",
"login": "JanFSchulte",
"commits": 140,
"avatar_url": "https://avatars.githubusercontent.com/u/4459228?v=4"
},
{
"type": "User",
"login": "bo3z",
"commits": 130,
"avatar_url": "https://avatars.githubusercontent.com/u/59868635?v=4"
},
{
"type": "User",
"login": "calad0i",
"commits": 113,
"avatar_url": "https://avatars.githubusercontent.com/u/29270722?v=4"
},
{
"type": "User",
"login": "nhanvtran",
"commits": 76,
"avatar_url": "https://avatars.githubusercontent.com/u/4430387?v=4"
},
{
"type": "User",
"login": "benjaminkreis",
"commits": 75,
"avatar_url": "https://avatars.githubusercontent.com/u/1705198?v=4"
},
{
"type": "User",
"login": "nghielme",
"commits": 45,
"avatar_url": "https://avatars.githubusercontent.com/u/16907319?v=4"
}
],
"contributors_sampled": 75,
"top_contributor_share": 0.309
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"build-sphinx.yml",
"pre-commit.yml",
"pypi-publish.yml",
"test-sphinx.yml",
"update-branch-on-pr.yml"
],
"has_docs_dir": true,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": true
},
"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": null,
"reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 9,
"reason": "25 out of 26 merged PRs checked by a CI test -- score normalized to 9",
"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": 10,
"reason": "all changesets reviewed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 45 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 0,
"reason": "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": "18 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": 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": "efe5f413a08a8735e6263abba2893d6f2e809578",
"ran_at": "2026-07-29T00:57:31Z",
"aggregate_score": 5.5,
"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-27T17:18:20Z",
"oldest_open_prs": [
{
"number": 355,
"created_at": "2021-07-08T18:32:36Z",
"last_comment_at": "2021-08-29T23:09:23Z",
"last_comment_author": "mackncheesiest"
},
{
"number": 411,
"created_at": "2021-10-07T16:33:54Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 503,
"created_at": "2022-03-11T16:25:43Z",
"last_comment_at": "2022-04-01T02:07:53Z",
"last_comment_author": "anmeza"
},
{
"number": 586,
"created_at": "2022-06-29T00:26:23Z",
"last_comment_at": "2023-10-20T14:49:24Z",
"last_comment_author": "vloncar"
},
{
"number": 646,
"created_at": "2022-08-26T01:49:54Z",
"last_comment_at": "2022-09-15T23:01:11Z",
"last_comment_author": "GiuseppeDiGuglielmo"
},
{
"number": 683,
"created_at": "2022-11-18T18:26:24Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 718,
"created_at": "2023-02-16T20:04:40Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 752,
"created_at": "2023-04-09T04:44:46Z",
"last_comment_at": "2023-04-09T04:48:02Z",
"last_comment_author": "jmduarte"
},
{
"number": 755,
"created_at": "2023-04-10T03:41:41Z",
"last_comment_at": "2023-04-10T16:17:38Z",
"last_comment_author": "jmitrevs"
},
{
"number": 812,
"created_at": "2023-06-15T15:24:15Z",
"last_comment_at": "2025-02-07T17:41:19Z",
"last_comment_author": "JanFSchulte"
},
{
"number": 844,
"created_at": "2023-08-03T17:08:42Z",
"last_comment_at": "2023-09-01T21:20:56Z",
"last_comment_author": "jmitrevs"
},
{
"number": 965,
"created_at": "2024-02-08T21:07:17Z",
"last_comment_at": "2024-08-21T15:02:19Z",
"last_comment_author": "jmitrevs"
},
{
"number": 991,
"created_at": "2024-04-05T13:29:45Z",
"last_comment_at": "2025-09-05T14:02:53Z",
"last_comment_author": "qberthet"
},
{
"number": 1008,
"created_at": "2024-04-30T18:13:32Z",
"last_comment_at": "2024-06-11T19:44:45Z",
"last_comment_author": "jmitrevs"
},
{
"number": 1019,
"created_at": "2024-06-07T18:29:22Z",
"last_comment_at": "2025-11-05T17:32:23Z",
"last_comment_author": "JanFSchulte"
},
{
"number": 1134,
"created_at": "2024-11-20T13:28:28Z",
"last_comment_at": "2026-02-01T08:02:17Z",
"last_comment_author": "fa1247"
},
{
"number": 1141,
"created_at": "2024-12-04T17:40:48Z",
"last_comment_at": "2025-02-27T09:16:51Z",
"last_comment_author": "steltze"
},
{
"number": 1163,
"created_at": "2025-01-14T14:35:13Z",
"last_comment_at": "2025-09-30T08:33:40Z",
"last_comment_author": "porridgewithraisins"
},
{
"number": 1343,
"created_at": "2025-07-24T12:11:27Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1347,
"created_at": "2025-07-28T10:18:28Z",
"last_comment_at": "2026-07-08T18:19:21Z",
"last_comment_author": "JanFSchulte"
}
],
"last_merged_pr_at": "2026-07-27T17:16:51Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 11,
"created_at": "2017-11-08T14:55:14Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 38,
"created_at": "2018-01-31T16:07:14Z",
"last_comment_at": "2022-05-18T19:53:41Z",
"last_comment_author": "jaydshah1"
},
{
"number": 41,
"created_at": "2018-02-08T22:11:33Z",
"last_comment_at": "2018-02-14T02:10:07Z",
"last_comment_author": "benjaminkreis"
},
{
"number": 46,
"created_at": "2018-02-19T18:36:45Z",
"last_comment_at": "2018-11-29T13:58:08Z",
"last_comment_author": "GiuseppeDiGuglielmo"
},
{
"number": 53,
"created_at": "2018-03-01T04:02:29Z",
"last_comment_at": "2018-03-02T22:45:36Z",
"last_comment_author": "benjaminkreis"
},
{
"number": 83,
"created_at": "2018-07-26T01:29:59Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 92,
"created_at": "2018-08-30T16:58:22Z",
"last_comment_at": "2018-11-06T20:28:54Z",
"last_comment_author": "GiuseppeDiGuglielmo"
},
{
"number": 99,
"created_at": "2018-09-13T16:23:38Z",
"last_comment_at": "2018-09-13T19:46:35Z",
"last_comment_author": "zhenbinwu"
},
{
"number": 101,
"created_at": "2018-09-27T13:12:37Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 112,
"created_at": "2018-10-23T17:46:39Z",
"last_comment_at": "2018-10-24T20:34:29Z",
"last_comment_author": "jeinstei"
},
{
"number": 113,
"created_at": "2018-10-23T17:47:22Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 123,
"created_at": "2018-12-04T03:50:29Z",
"last_comment_at": "2024-09-27T07:17:19Z",
"last_comment_author": "vloncar"
},
{
"number": 124,
"created_at": "2018-12-10T09:33:54Z",
"last_comment_at": "2018-12-10T15:00:02Z",
"last_comment_author": "vloncar"
},
{
"number": 134,
"created_at": "2019-03-02T14:56:19Z",
"last_comment_at": "2019-05-20T06:51:36Z",
"last_comment_author": "signorgelato"
},
{
"number": 143,
"created_at": "2019-05-19T01:20:40Z",
"last_comment_at": "2019-09-27T02:39:25Z",
"last_comment_author": "Duchstf"
},
{
"number": 147,
"created_at": "2019-06-07T13:47:19Z",
"last_comment_at": "2019-07-03T15:44:56Z",
"last_comment_author": "GiuseppeDiGuglielmo"
},
{
"number": 149,
"created_at": "2019-07-05T14:58:26Z",
"last_comment_at": "2023-08-28T17:34:35Z",
"last_comment_author": "danielemoro"
},
{
"number": 153,
"created_at": "2019-08-06T08:02:54Z",
"last_comment_at": "2019-11-17T19:02:31Z",
"last_comment_author": "scarrazza"
},
{
"number": 154,
"created_at": "2019-08-06T08:10:05Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 163,
"created_at": "2019-09-11T21:22:01Z",
"last_comment_at": null,
"last_comment_author": null
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/fastmachinelearning/hls4ml",
"host": "github.com",
"name": "hls4ml",
"owner": "fastmachinelearning"
},
"metrics": {
"overall": {
"key": "overall",
"band": "exceptional",
"name": "Overall health",
"note": "The weighted overall 79 is calibrated to 93 on the published index scale (record calibration 2026-08-02).",
"notes": [
{
"code": "overall_calibration",
"params": {
"raw": 79,
"calibrated": 93,
"calibration": "2026-08-02"
}
}
],
"value": 93,
"inputs": {
"security": 64,
"vitality": 86,
"community": 76,
"governance": 79,
"calibration": "2026-08-02",
"engineering": 95,
"ai_readiness": 50,
"weighted_overall_raw": 79
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "excellent",
"name": "Vitality",
"value": 86,
"weight": 0.21,
"metrics": [
{
"key": "development_activity",
"band": "excellent",
"name": "Development activity",
"note": null,
"notes": [],
"value": 89,
"inputs": {
"commits_last_year": 121,
"human_commit_share": 0.8,
"days_since_last_push": 0,
"active_weeks_last_year": 36
},
"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": "36/52 weeks with commits",
"points": 24.9,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 36
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "121 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 121
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "18 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": "excellent",
"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": 82,
"inputs": {
"releases_count": 20,
"latest_release_tag": "v1.3.0",
"releases_from_tags": false,
"days_since_latest_release": 130,
"mean_days_between_releases": 119
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "20 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 20
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 130 days ago",
"points": 27,
"status": "partial",
"details": [
{
"code": "release_recency",
"params": {
"days": 130
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~119 days",
"points": 19.8,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 119
}
}
],
"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": "exceptional",
"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": 8,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 8 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 8
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "good",
"name": "Community & Adoption",
"value": 76,
"weight": 0.17,
"metrics": [
{
"key": "popularity",
"band": "excellent",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 86,
"inputs": {
"forks": 572,
"stars": 2081,
"watchers": 53,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "2,081 stars",
"points": 53.8,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 2081
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "572 forks",
"points": 23,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 572
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "53 watchers",
"points": 9.5,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 53
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "good",
"name": "Community health",
"note": null,
"notes": [],
"value": 77,
"inputs": {
"has_readme": true,
"has_license": true,
"readme_badges": null,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": false,
"readme_badge_services": [],
"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": 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": 6.3,
"status": "met",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "moderate",
"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": 59,
"inputs": {
"packages": [
"hls4ml"
],
"dependents": null,
"ecosystems": "pypi",
"total_downloads": null,
"monthly_downloads": 3335
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "3,335 downloads/month across pypi",
"points": 47,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 3335,
"ecosystems": "pypi"
}
}
],
"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": 79,
"weight": 0.23,
"metrics": [
{
"key": "maintainer_resilience",
"band": "good",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 75,
"inputs": {
"bus_factor": 3,
"contributors_sampled": 75,
"top_contributor_share": 0.309
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "3 contributor(s) cover half of all commits",
"points": 36,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 3
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 31% of commits",
"points": 15.5,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 31
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "75 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 75
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 45 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": "Excluded from scoring (no data or not applicable): Newcomer PR acceptance. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"newcomer_pr_acceptance"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 75,
"inputs": {
"merged_prs": 656,
"open_issues": 196,
"closed_issues": 288,
"prs_merged_7d": null,
"prs_decided_7d": null,
"prs_merged_30d": null,
"prs_decided_30d": null,
"issue_closed_ratio": 0.595,
"closed_unmerged_prs": 115,
"first_time_authors_30d": null,
"first_time_prs_merged_30d": null,
"first_time_prs_decided_30d": null
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "60% of issues closed",
"points": 25,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 60
}
}
],
"max_points": 42
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "656/771 decided PRs merged",
"points": 25.5,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 656,
"decided": 771
}
}
],
"max_points": 30
},
{
"key": "newcomer_pr_acceptance",
"name": "Newcomer PR acceptance",
"detail": "no first-time contributor's PR decided in 30d",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_newcomer_prs",
"params": {
"days": 30
}
}
],
"max_points": 13
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "all changesets reviewed",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "good",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 72,
"inputs": {
"followers": 270,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "fastmachinelearning",
"public_repos": 61,
"account_age_days": 3198
},
"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": "270 followers of fastmachinelearning",
"points": 17.5,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 270,
"login": "fastmachinelearning"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "61 public repos, account ~8 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 61
}
},
{
"code": "account_age_years",
"params": {
"years": 8
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "exceptional",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"hls4ml"
],
"ecosystems": "pypi",
"any_deprecated": false,
"min_days_since_publish": 130
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on pypi",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "pypi"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 130 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 130
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "16 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 16
}
}
],
"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": "exceptional",
"name": "Engineering Quality",
"value": 95,
"weight": 0.19,
"metrics": [
{
"key": "engineering_practices",
"band": "excellent",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 92,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": true
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "5 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 5
}
}
],
"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": 16,
"status": "met",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 9.6,
"status": "met",
"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": "25 out of 26 merged PRs checked by a CI test -- score normalized to 9",
"points": 18,
"status": "partial",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "exceptional",
"name": "Documentation",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"topics": [
"hls",
"machine-learning",
"fpga",
"python",
"keras",
"pytorch",
"onnx",
"vivado",
"vivado-hls",
"neural-network",
"intel-hls"
],
"has_wiki": true,
"homepage": "https://fastmachinelearning.org/hls4ml",
"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": "https://fastmachinelearning.org/hls4ml",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": "11 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 11
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 64,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 55,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 16,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 2,
"scorecard_aggregate": 5.5
},
"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": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "25 out of 26 merged PRs checked by a CI test -- score normalized to 9",
"points": 2.2,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "all changesets reviewed",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 45 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "dangerous workflow patterns detected",
"points": 0,
"status": "missed",
"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": "18 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 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": "exceptional",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the pypi:hls4ml@1.3.0 runtime dependency closure — what installing the published package pulls in — 5 packages. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_published",
"params": {
"package": "pypi:hls4ml@1.3.0",
"assessed": 5
}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 0,
"affected_packages": 0,
"assessed_packages": 5,
"unassessed_packages": 0,
"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": "no indirect dependency carries a known advisory",
"points": 25,
"status": "met",
"details": [
{
"code": "no_indirect_advisories",
"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": "exceptional",
"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": 5,
"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": "exceptional",
"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"
],
"commit_weight_rule": {
"min_commits": 50,
"min_commit_share": 0.1
},
"review_only_matches": 0,
"below_threshold_exposures": [],
"assessed_self_published_locations": 5
},
"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": "moderate",
"name": "AI Readiness",
"value": 50,
"weight": 0.04,
"metrics": [
{
"key": "ai_agent_context",
"band": "weak",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 37,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.688,
"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": "55 of 80 human commits state their intent (structured subject or explanatory body)",
"points": 36.7,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 55,
"sampled": 80
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 59,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [],
"has_dockerfile": false,
"typed_language": false,
"bootstrap_files": [
"docs/Makefile",
"hls4ml/templates/quartus/Makefile"
],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0.01
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "docs/Makefile, hls4ml/templates/quartus/Makefile",
"points": 18,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "docs/Makefile, hls4ml/templates/quartus/Makefile"
}
}
],
"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": 11,
"status": "met",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "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": "Python",
"largest_source_bytes": 261465,
"source_files_sampled": 644,
"oversized_source_files": 7
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Python without a type-check config",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_typecheck_config_language",
"params": {
"language": "Python"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "7/644 source files over 60KB",
"points": 54.4,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 644,
"oversized": 7
}
}
],
"max_points": 55
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? Carries a deliberately small weight: agent tooling is a real maintenance signal, but its absence must never gate the top of the scale (calibration saturates at raw 91, so 100/100 remains reachable with AI Readiness at zero)."
}
],
"classification": {
"top": [
"library"
],
"labels": [
"library"
],
"scores": {
"library": 6
},
"primary": "library",
"evidence": [
{
"tier": "distribution",
"label": "library",
"source": "registry:pypi",
"weight": 6
}
],
"artifacts": [],
"confidence": "medium",
"host_extension": false,
"runs_as_process": false,
"consumed_by_code": true
},
"metrics_version": "2.5.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
],
"report_type": "repository",
"generated_at": "2026-07-29T00:57:59.624569Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/f/fastmachinelearning/hls4ml.svg",
"full_name": "fastmachinelearning/hls4ml",
"license_state": "standard",
"license_spdx": "Apache-2.0"
}