{"id":13699077,"url":"https://github.com/ppdebreuck/modnet","last_synced_at":"2025-12-14T03:01:09.793Z","repository":{"id":38457193,"uuid":"247013904","full_name":"ppdebreuck/modnet","owner":"ppdebreuck","description":"MODNet: a framework for machine learning materials properties","archived":false,"fork":false,"pushed_at":"2025-05-02T11:38:28.000Z","size":50692,"stargazers_count":96,"open_issues_count":38,"forks_count":35,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-09-08T21:37:04.599Z","etag":null,"topics":["machine-learning","materials-science"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ppdebreuck.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-13T07:39:21.000Z","updated_at":"2025-09-02T19:48:02.000Z","dependencies_parsed_at":"2024-03-13T15:27:47.492Z","dependency_job_id":"4bf8ad2c-e863-47b5-8558-93270ae419e6","html_url":"https://github.com/ppdebreuck/modnet","commit_stats":{"total_commits":214,"total_committers":6,"mean_commits":"35.666666666666664","dds":0.5467289719626168,"last_synced_commit":"2f9cc550323e929d49561f2ae7e16a60a3bf10e0"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/ppdebreuck/modnet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppdebreuck%2Fmodnet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppdebreuck%2Fmodnet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppdebreuck%2Fmodnet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppdebreuck%2Fmodnet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ppdebreuck","download_url":"https://codeload.github.com/ppdebreuck/modnet/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppdebreuck%2Fmodnet/sbom","scorecard":{"id":742707,"data":{"date":"2025-08-18","repo":{"name":"github.com/ppdebreuck/modnet","commit":"fca6bda0146e0fd3696b4df5fd14a0b71fcbe8cd"},"scorecard":{"version":"v5.2.1-41-g40576783","commit":"40576783fda6698350fcbbeaea760ff827433034"},"score":4.5,"checks":[{"name":"Code-Review","score":7,"reason":"Found 19/25 approved changesets -- score normalized to 7","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.md:0","Info: FSF or OSI recognized license: MIT License: LICENSE.md:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/ppdebreuck/modnet/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/ppdebreuck/modnet/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/ppdebreuck/modnet/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/ppdebreuck/modnet/ci.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:32","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:33","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:34","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:63","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:64","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:65","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   6 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 26 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-22T17:53:56.630Z","repository_id":38457193,"created_at":"2025-08-22T17:53:56.630Z","updated_at":"2025-08-22T17:53:56.630Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27716174,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-14T02:00:11.348Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["machine-learning","materials-science"],"created_at":"2024-08-02T19:00:57.506Z","updated_at":"2025-12-14T03:01:09.788Z","avatar_url":"https://github.com/ppdebreuck.png","language":"Jupyter Notebook","funding_links":[],"categories":["Representation Engineering","Software and products"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"img/modnet_logo.svg\" alt=\"modnet-logo\"  width=200\u003e\n    \u003cbr\u003e\n\n# MODNet: Material Optimal Descriptor Network\n\n[![arXiv](https://img.shields.io/badge/arXiv-2004.14766-brightgreen)](https://arxiv.org/abs/2004.14766) [![Build Status](https://img.shields.io/github/actions/workflow/status/ppdebreuck/modnet/ci.yml?logo=github\u0026branch=main)](https://github.com/ppdebreuck/modnet/actions?query=branch%3Amaster+) [![Read the Docs](https://img.shields.io/readthedocs/modnet)](https://modnet.readthedocs.io/en/latest/)\n\n\u003c/div\u003e\n\n\u003ca name=\"introduction\"\u003e\u003c/a\u003e\n## Introduction\nThis repository contains the Python (3.8+) package implementing the Material Optimal Descriptor Network (MODNet).\nIt is a supervised machine learning framework for **learning material properties** from\neither the **composition** or  **crystal structure**. The framework is well suited for **limited datasets**\nand can be used for learning *multiple* properties together by using **joint learning**.\n\nMODNet appears on the [MatBench leaderboard](https://matbench.materialsproject.org/). As of 11/11/2021, MODNet provides the best performance of all submitted models on 7 out of 13 tasks.\n\nThis repository also contains two [pretrained models](#pretrained) that can be used for predicting\nthe refractive index and vibrational thermodynamics from any crystal structure.\n\nSee the MODNet papers and repositories below for more details:\n\n- De Breuck *et al.*, \"Materials property prediction for limited datasets enabled by feature selection and joint learning with MODNet.\" *npj Comput Mater* **7**, 83 (2021). [10.1038/s41524-021-00552-2](https://doi.org/10.1038/s41524-021-00552-2) (preprint: [arXiv:2004.14766](https://arxiv.org/abs/2004.14766)).\n- De Breuck *et al.*, \"Robust model benchmarking and bias-imbalance in data-driven materials science: a case study on MODNet.\" *J. Phys.: Condens. Matter* **33** 404002,  (2021), [10.1088/1361-648X/ac1280](https://doi.org/10.1088/1361-648X/ac1280) (preprint: [arXiv:2102.02263](https://arxiv.org/abs/2102.02263)).\n- MatBench benchmarking data repository: [modl-uclouvain/modnet-matbench](https://github.com/modl-uclouvain/modnet-matbench).\n\n\n\n\u003cp align='center'\u003e\n\u003cimg src=\"img/MODNet_schematic.PNG\" alt=\"MODNet schematic\" /\u003e\n\u003c/p\u003e\n\u003cdiv align='center'\u003e\n\u003cstrong\u003eFigure 1. Schematic representation of the MODNet.\u003c/strong\u003e\n\u003c/div\u003e\n\n\n\u003ca name=\"install\"\u003e\u003c/a\u003e\n## How to install\n\nFirst, create a virtual environment (e.g., named modnet) with Python (3.8+) using\nyour favourite environment manager (the following instructions use\n[conda](https://docs.conda.io/)):\n\n```shell\nconda create -n modnet python=3.9\n```\n\nActivate the environment:\n\n```shell\nconda activate modnet\n```\n\nFinally, install MODNet from PyPI with `pip`:\n\n```shell\npip install modnet\n```\n\n\u003e**Warning**\n\u003eWe strongly recommend pinning your Python environment when using MODNet\n\u003eacross multiple machines, or multiple MODNet versions, as changes to the\n\u003edependencies and sub-dependencies can lead to different values for particular\n\u003efeatures.\n\u003e\n\u003eThis can be achieved with `conda export` or `pip freeze`.\n\nFor development (or if you wish to use pinned versions of direct dependencies that\nMODNet has been tested with), you can clone this git repository and make an\neditable install inside your chosen environment with `pip`:\n\n```shell\ngit clone git@github.com:ppdebreuck/modnet\ncd modnet\nconda create -n modnet python=3.9\nconda activate modnet\npip install -r requirements.txt  # optionally use pinned requirements\npip install -e .\n```\n\n\n\u003ca name=\"documentation\"\u003e\u003c/a\u003e\n## Documentation\nThe documentation is available at [ReadTheDocs](https://modnet.readthedocs.io).\n\n\u003ca name=\"changelog\"\u003e\u003c/a\u003e\n## Changelog\nA brief changelog can be found in the [release summaries on GitHub](https://github.com/ppdebreuck/modnet/releases).\n\n\u003ca name=\"author\"\u003e\u003c/a\u003e\n## Author\nThis software was written by [Pierre-Paul De Breuck](mailto:pierre-paul.debreuck@uclouvain.be) and [Matthew Evans](https://www.github.com/ml-evs) with contributions from David Waroquiers and  Gregoire Heymans.\nFor an up-to-date list, see the [Contributors on GitHub](https://github.com/ppdebreuck/modnet/graphs/contributors).\n\n\u003ca name=\"License\"\u003e\u003c/a\u003e\n## License\n\nMODNet is released under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fppdebreuck%2Fmodnet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fppdebreuck%2Fmodnet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fppdebreuck%2Fmodnet/lists"}