Звіт у форматі JSON машиночитний
{
"data": {
"repo": {
"topics": [],
"is_fork": true,
"size_kb": 255044,
"has_wiki": true,
"homepage": "https://fastmachinelearning.org/hls4ml",
"languages": {
"C": 5730,
"C++": 2446646,
"Tcl": 72725,
"CMake": 16046,
"Shell": 33861,
"Python": 2677270,
"Verilog": 21471,
"Makefile": 798,
"SystemVerilog": 41743
},
"pushed_at": "2026-07-10T04:20:10Z",
"created_at": "2022-10-13T16:23:12Z",
"owner_type": "User",
"updated_at": "2026-06-17T19:58:40Z",
"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": "https://hftsoi.github.io",
"name": "Ho Fung Tsoi",
"type": "User",
"login": "hftsoi",
"company": "University of Pennsylvania",
"location": null,
"followers": 7,
"avatar_url": "https://avatars.githubusercontent.com/u/51976330?v=4",
"created_at": "2019-06-19T00:08:24Z",
"is_verified": null,
"public_repos": 40,
"account_age_days": 2597
},
"license": {
"state": "standard",
"spdx_id": "Apache-2.0",
"raw_spdx": "Apache-2.0",
"file_present": true,
"scorecard_found": true,
"profile_has_license": false
},
"activity": {
"releases": [
{
"tag": "v0.6.0",
"kind": "minor",
"published_at": "2021-11-11T16:55:40Z"
},
{
"tag": "v0.5.0",
"kind": "minor",
"published_at": "2021-03-05T08:31:59Z"
},
{
"tag": "v0.5.0-beta",
"kind": "prerelease",
"published_at": "2021-01-18T15:34:19Z"
},
{
"tag": "v0.4.0",
"kind": "minor",
"published_at": "2020-10-30T16:47:51Z"
},
{
"tag": "v0.3.0",
"kind": "minor",
"published_at": "2020-07-31T09:00:17Z"
},
{
"tag": "v0.2.0",
"kind": "minor",
"published_at": "2020-03-02T10:29:15Z"
},
{
"tag": "v0.1.6",
"kind": "patch",
"published_at": "2019-09-12T15:07:33Z"
},
{
"tag": "v0.1.5",
"kind": "patch",
"published_at": "2019-06-06T16:03:03Z"
},
{
"tag": "v0.1.4",
"kind": "patch",
"published_at": "2018-08-16T03:47:27Z"
},
{
"tag": "v0.1.3",
"kind": "patch",
"published_at": "2018-04-16T18:32:05Z"
},
{
"tag": "v0.1.2",
"kind": "patch",
"published_at": "2018-03-20T16:24:22Z"
},
{
"tag": "v0.1.1",
"kind": "patch",
"published_at": "2018-03-16T18:01:59Z"
},
{
"tag": "v0.1.0",
"kind": "minor",
"published_at": "2018-03-06T20:48:44Z"
},
{
"tag": "v0.0.2",
"kind": "patch",
"published_at": "2018-01-31T14:06:10Z"
},
{
"tag": "v0.0.1",
"kind": "patch",
"published_at": "2018-01-31T13:57:24Z"
}
],
"recent_commits": [
{
"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
},
{
"oid": "3f7ee7911d40af474178feabb53095088c4949af",
"body": null,
"is_bot": false,
"headline": "hotfix (#1379)",
"author_name": "calad0i",
"author_login": "calad0i",
"committed_at": "2025-09-08T16:39:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ebba48ddeb9cc5e1b8546076980fb5b16ba1979f",
"body": "* hgq2 qpooling support\n\n* padding computation fix\n\n* avg pool bit-exact corner case (half-filled padding)\n\n* 1d average pool fix",
"is_bot": false,
"headline": "Pooling Template Fix and HGQ2 QPooling Layer Support (#1323)",
"author_name": "calad0i",
"author_login": "calad0i",
"committed_at": "2025-09-08T15:35:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "79275e3c4829c19e014eb81f530cac5fe3959a40",
"body": "updates:\n- [github.com/pre-commit/pre-commit-hooks: v5.0.0 → v6.0.0](https://github.com/pre-commit/pre-commit-hooks/compare/v5.0.0...v6.0.0)\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 (#1361)",
"author_name": "pre-commit-ci[bot]",
"author_login": "pre-commit-ci[bot]",
"committed_at": "2025-09-08T15:28:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "903a7ff7086c85ad6eeceefaaf4e983d1f07b109",
"body": "* Added support for BipolarQuant. Its converted to BinaryQuant in hls4ml.\n\n* Added binarized qonnx model for testing the binary quant transformation\n\n* Pre-commit fixes\n\n* Removed BipolarQuantConstantParameters, because such an optimization is not applicable for BinaryQuantizer since it does not hav\n[…]\n\n* fix catapult bnn (scale=1)\n\n* add back testing for nonunitary scale\n\n* Some review updates\n\n---------\n\nCo-authored-by: jvreca <jure.vreca@ijs.si>\nCo-authored-by: jurevreca12 <jurevreca12@gmail.com>",
"is_bot": false,
"headline": "Qonnx binary quant dev (#1355)",
"author_name": "Jovan Mitrevski",
"author_login": "jmitrevs",
"committed_at": "2025-09-08T14:27:27Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7043679e4c0b44db63836f92d52e5a2a5d85c14d",
"body": "Co-authored-by: Jan-Frederik Schulte <jschulte@cern.ch>",
"is_bot": false,
"headline": "lazy import sympy for sr (#1378)",
"author_name": "calad0i",
"author_login": "calad0i",
"committed_at": "2025-09-08T13:35:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8a91e91f4a2e1fc667aa10e56bd33489d8840168",
"body": "* fix pytorch related pytest failures\n\n* remove printouts\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 pytorch related pytest failures (#1377)",
"author_name": "Jan-Frederik Schulte",
"author_login": "JanFSchulte",
"committed_at": "2025-09-06T12:43:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bc71d9455aa3ee76f10aea523c7aae8918dd3055",
"body": null,
"is_bot": false,
"headline": "add linformer parser (#1360)",
"author_name": "calad0i",
"author_login": "calad0i",
"committed_at": "2025-09-05T13:02:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9f4320c3c60059de5b3274ecb8d9c1da17c582d5",
"body": null,
"is_bot": false,
"headline": "use int16 instead (#1375)",
"author_name": "calad0i",
"author_login": "calad0i",
"committed_at": "2025-09-05T12:32:10Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 15,
"commits_last_year": 113,
"latest_release_at": "2021-11-11T16:55:40Z",
"latest_release_tag": "v0.6.0",
"releases_from_tags": true,
"days_since_last_push": 18,
"active_weeks_last_year": 32,
"days_since_latest_release": 1720,
"mean_days_between_releases": 145
},
"community": {
"has_readme": false,
"has_license": false,
"has_description": false,
"has_contributing": false,
"health_percentage": null,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"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": 0,
"stars": 0,
"watchers": 0,
"fork_history": {
"days": [],
"complete": true,
"collected": 0,
"total_forks": 0
},
"star_history": {
"days": [],
"complete": true,
"collected": 0,
"total_stars": 0,
"collected_at": null
},
"open_issues_and_prs": 0
},
"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": 639,
"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": "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
"source": null,
"packages": [],
"collected": false,
"truncated": false,
"total_count": null,
"direct_count": null,
"indirect_count": null
}
},
"maintainership": {
"issues": {
"open_prs": 0,
"merged_prs": 0,
"open_issues": 0,
"closed_ratio": null,
"closed_issues": 0,
"closed_unmerged_prs": 0
},
"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": 408,
"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": 73,
"top_contributor_share": 0.31
},
"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": 0,
"reason": "branch protection not enabled on development/release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": null,
"reason": "no pull request found",
"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": 0,
"reason": "Found 0/30 approved changesets -- score normalized to 0",
"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": 8,
"reason": "10 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 8",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": null,
"reason": "packaging workflow not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "no SAST tool detected",
"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": "2945c243ac107bbcb025e9c98e6d2e1f2c3727e9",
"ran_at": "2026-07-29T00:49:39Z",
"aggregate_score": 3.7,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": true
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-06-17T19:59:13Z",
"oldest_open_prs": [],
"last_merged_pr_at": null,
"ci_last_conclusion": "FAILURE",
"oldest_open_issues": []
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/hftsoi/hls4ml",
"host": "github.com",
"name": "hls4ml",
"owner": "hftsoi"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 54,
"inputs": {
"security": 50,
"vitality": 59,
"community": 24,
"governance": 55,
"engineering": 75
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "moderate",
"name": "Vitality",
"value": 59,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "good",
"name": "Development activity",
"note": null,
"notes": [],
"value": 77,
"inputs": {
"commits_last_year": 113,
"human_commit_share": 0.81,
"days_since_last_push": 18,
"active_weeks_last_year": 32
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 18 days ago",
"points": 28.8,
"status": "partial",
"details": [
{
"code": "push_recency",
"params": {
"days": 18
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "32/52 weeks with commits",
"points": 22.2,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 32
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "113 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 113
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "10 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 8",
"points": 8,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "at_risk",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 32,
"inputs": {
"releases_count": 15,
"latest_release_tag": "v0.6.0",
"releases_from_tags": true,
"days_since_latest_release": 1720,
"mean_days_between_releases": 145
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "15 version tags (no GitHub releases)",
"points": 16.2,
"status": "partial",
"details": [
{
"code": "version_tags_no_releases",
"params": {
"count": 15
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 1720 days ago",
"points": 0,
"status": "missed",
"details": [
{
"code": "release_recency",
"params": {
"days": 1720
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~145 days",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 145
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 41,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 41 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 41
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "critical",
"name": "Community & Adoption",
"value": 24,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "critical",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 1,
"inputs": {
"forks": 0,
"stars": 0,
"watchers": 0,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "0 stars",
"points": 0,
"status": "missed",
"details": [
{
"code": "stars",
"params": {
"count": 0
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "0 forks",
"points": 0,
"status": "missed",
"details": [
{
"code": "forks",
"params": {
"count": 0
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "0 watchers",
"points": 0,
"status": "missed",
"details": [
{
"code": "watchers",
"params": {
"count": 0
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "critical",
"name": "Community health",
"note": null,
"notes": [],
"value": 25,
"inputs": {
"has_readme": false,
"has_license": false,
"has_contributing": false,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (Apache-2.0)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "Apache-2.0"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "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": "moderate",
"name": "Sustainability & Governance",
"value": 55,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "good",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 75,
"inputs": {
"bus_factor": 3,
"contributors_sampled": 73,
"top_contributor_share": 0.31
},
"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": "73 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 73
}
}
],
"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": "critical",
"name": "Issue & PR responsiveness",
"note": "Excluded from scoring (no data or not applicable): Issue resolution, PR acceptance. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"issue_resolution",
"pr_acceptance"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 1,
"inputs": {
"merged_prs": 0,
"open_issues": 0,
"closed_issues": 0,
"issue_closed_ratio": null,
"closed_unmerged_prs": 0
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "no issues or no data",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_issues_or_data",
"params": {}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "no decided pull requests or no data",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_decided_prs_or_data",
"params": {}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 0/30 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"verified_domain"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 50,
"inputs": {
"followers": 7,
"owner_type": "User",
"is_verified": null,
"owner_login": "hftsoi",
"public_repos": 40,
"account_age_days": 2597
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "personal (user) account",
"points": 10,
"status": "partial",
"details": [
{
"code": "owner_personal",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": "not applicable to user accounts",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_applicable_to_user_accounts",
"params": {}
}
],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "7 followers of hftsoi",
"points": 6.5,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 7,
"login": "hftsoi"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "40 public repos, account ~7 yr old",
"points": 23.7,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 40
}
},
{
"code": "account_age_years",
"params": {
"years": 7
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"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": "good",
"name": "Engineering Quality",
"value": 75,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "excellent",
"name": "Engineering practices",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_ci_tests"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"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": "no pull request found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "moderate",
"name": "Documentation",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"topics": [],
"has_wiki": true,
"homepage": "https://fastmachinelearning.org/hls4ml",
"has_readme": false,
"has_docs_dir": true,
"has_description": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 0,
"status": "missed",
"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": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 50,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): CI-Tests, Packaging, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"ci_tests",
"packaging",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 37,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 15,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 3,
"scorecard_aggregate": 3.7
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection not enabled on development/release branches",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "no pull request found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 0/30 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"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": "10 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 8",
"points": 6,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow not detected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "no SAST tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "0 existing vulnerabilities detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): 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": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 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": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 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": "at_risk",
"name": "AI Readiness",
"value": 49,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "at_risk",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 38,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.716,
"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": "58 of 81 human commits state their intent (structured subject or explanatory body)",
"points": 38.2,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 58,
"sampled": 81
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 56,
"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
},
"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": "dependency automation configured, none observed in the sampled commits",
"points": 5,
"status": "partial",
"details": [
{
"code": "dependency_bot_config_only",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "moderate",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 54,
"inputs": {
"primary_language": "Python",
"largest_source_bytes": 261465,
"source_files_sampled": 639,
"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/639 source files over 60KB",
"points": 54.4,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 639,
"oversized": 7
}
}
],
"max_points": 55
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Community profile unavailable",
"GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
],
"report_type": "repository",
"generated_at": "2026-07-29T00:49:57.096813Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/h/hftsoi/hls4ml.svg",
"full_name": "hftsoi/hls4ml",
"license_state": "standard",
"license_spdx": "Apache-2.0"
}