{"id":19784,"name":"rayflare","description":"Provide a flexible, user-friendly Python environment to model complex optical stacks, with a focus on solar cells.","url":"https://github.com/qpv-research-group/rayflare","last_synced_at":"2026-05-01T01:30:17.987Z","repository":{"id":35146456,"uuid":"191636497","full_name":"qpv-research-group/rayflare","owner":"qpv-research-group","description":"Open-source, integrated optical modelling of complex stacks","archived":false,"fork":false,"pushed_at":"2025-06-19T02:22:02.000Z","size":109997,"stargazers_count":46,"open_issues_count":12,"forks_count":14,"subscribers_count":2,"default_branch":"devel","last_synced_at":"2026-04-11T16:02:49.741Z","etag":null,"topics":["multiscale-simulation","optics","physics","ray-tracing","raytracing","rigorous-coupled-wave","solar-cells","transfer-matrix-method"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qpv-research-group.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":null}},"created_at":"2019-06-12T20:01:41.000Z","updated_at":"2025-12-18T21:00:16.000Z","dependencies_parsed_at":"2024-03-17T04:07:37.144Z","dependency_job_id":"59ad4a8a-7881-4e9a-a320-ce2209fc00fe","html_url":"https://github.com/qpv-research-group/rayflare","commit_stats":{"total_commits":414,"total_committers":5,"mean_commits":82.8,"dds":0.1159420289855072,"last_synced_commit":"71bc67d14729abda6dcfc51d46f1a66846916a52"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/qpv-research-group/rayflare","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qpv-research-group","download_url":"https://codeload.github.com/qpv-research-group/rayflare/tar.gz/refs/heads/devel","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare/sbom","scorecard":{"id":754458,"data":{"date":"2025-08-11","repo":{"name":"github.com/qpv-research-group/rayflare","commit":"bcb708edc6667969b84a76c6a16dcf404024ca72"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"1 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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 1/20 approved changesets -- score normalized to 0","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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/testing.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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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/testing.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/qpv-research-group/rayflare/testing.yml/devel?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/testing.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/qpv-research-group/rayflare/testing.yml/devel?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/testing.yml:45","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 16 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T21:13:19.580Z","repository_id":35146456,"created_at":"2025-08-22T21:13:19.580Z","updated_at":"2025-08-22T21:13:19.580Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32012787,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"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"}},"owner":{"login":"qpv-research-group","name":"Quantum Photovoltaics Research Group","uuid":"48552948","kind":"organization","description":"We are a research group led by Dr. Nicholas Ekins-Daukes and specialized in the application of nanotechnology to achieve high efficiency solar cells","email":null,"website":"https://www.qpvgroup.org","location":"UNSW (Sydney, Australia) and Imperial College London (UK) until 2017","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/48552948?v=4","repositories_count":4,"last_synced_at":"2023-02-28T14:55:16.004Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/qpv-research-group","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-11T17:31:16.957Z","updated_at":"2023-02-28T14:55:16.015Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qpv-research-group","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qpv-research-group/repositories"},"packages":[{"id":2897899,"name":"rayflare","ecosystem":"pypi","description":"Python-based integrated optical modelling","homepage":"https://github.com/qpv-research-group/rayflare","licenses":"RayFlare is a programme for flexible modelling of complicated optical structures.  Copyright (C) 2021-2024 Phoebe Pearce  This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.  You should have received a copy of the GNU Lesser General Public License along with this program.  If not, see \u003chttps://www.gnu.org/licenses/\u003e.  The full license text can be found in GNU_LGPL_v3.txt  Contact: p.pearce@unsw.edu.au or p.m.pearce@gmail.com","normalized_licenses":["Other"],"repository_url":"https://github.com/qpv-research-group/rayflare","keywords_array":["ray optics","diffraction","ellipsometry","lens","lens design","lens simulation","light scattering","light trapping","optics","photovoltaics","physics","ray tracing","rcwa","rigorous coupled wave analysis","scattering","thin film","thin film optics","tmm","transfer matrix","wave optics"],"namespace":null,"versions_count":7,"first_release_published_at":"2021-05-24T21:57:13.000Z","latest_release_published_at":"2024-09-26T11:37:59.000Z","latest_release_number":"2.0.1","last_synced_at":"2026-04-29T21:04:06.547Z","created_at":"2022-04-10T12:26:00.333Z","updated_at":"2026-04-29T21:04:06.547Z","registry_url":"https://pypi.org/project/rayflare/","install_command":"pip install rayflare --index-url https://pypi.org/simple","documentation_url":"https://rayflare.readthedocs.io","metadata":{"funding":null,"documentation":"https://rayflare.readthedocs.io","classifiers":["Development Status :: 5 - Production/Stable","Intended Audience :: Science/Research","License :: OSI Approved","License :: OSI Approved :: GNU General Public License v3 (GPLv3)","Natural Language :: English","Operating System :: OS Independent","Programming Language :: Python","Programming Language :: Python :: 3","Topic :: Scientific/Engineering","Topic :: Scientific/Engineering :: Physics"],"normalized_name":"rayflare","project_status":null},"repo_metadata":{"id":35146456,"uuid":"191636497","full_name":"qpv-research-group/rayflare","owner":"qpv-research-group","description":"Open-source, integrated optical modelling of complex stacks","archived":false,"fork":false,"pushed_at":"2024-09-26T14:14:27.000Z","size":109946,"stargazers_count":33,"open_issues_count":11,"forks_count":13,"subscribers_count":3,"default_branch":"devel","last_synced_at":"2024-10-29T20:35:29.957Z","etag":null,"topics":["multiscale-simulation","optics","physics","ray-tracing","raytracing","rigorous-coupled-wave","solar-cells","transfer-matrix-method"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qpv-research-group.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2019-06-12T20:01:41.000Z","updated_at":"2024-09-26T14:14:30.000Z","dependencies_parsed_at":"2024-03-17T04:07:37.144Z","dependency_job_id":"59ad4a8a-7881-4e9a-a320-ce2209fc00fe","html_url":"https://github.com/qpv-research-group/rayflare","commit_stats":{"total_commits":404,"total_committers":5,"mean_commits":80.8,"dds":0.1188118811881188,"last_synced_commit":"38c1eeb70d1647e107064a565b68d0f1e5eb656c"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qpv-research-group","download_url":"https://codeload.github.com/qpv-research-group/rayflare/tar.gz/refs/heads/devel","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222131011,"owners_count":16936304,"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","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"},"owner_record":{"login":"qpv-research-group","name":"Quantum Photovoltaics Research Group","uuid":"48552948","kind":"organization","description":"We are a research group led by Dr. Nicholas Ekins-Daukes and specialized in the application of nanotechnology to achieve high efficiency solar cells","email":null,"website":"https://www.qpvgroup.org","location":"UNSW (Sydney, Australia) and Imperial College London (UK) until 2017","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/48552948?v=4","repositories_count":4,"last_synced_at":"2023-02-28T14:55:16.004Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/qpv-research-group","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-11T17:31:16.957Z","updated_at":"2023-02-28T14:55:16.015Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qpv-research-group","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qpv-research-group/repositories"},"tags":[{"name":"v1.2.1","sha":"abea738b5a9109d73e3e513d0efc29e01abb4c09","kind":"commit","published_at":"2023-11-19T08:32:34.000Z","download_url":"https://codeload.github.com/qpv-research-group/rayflare/tar.gz/v1.2.1","html_url":"https://github.com/qpv-research-group/rayflare/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare/tags/v1.2.1/manifests"},{"name":"v1.2.0","sha":"0a01e850bfe831a294478d5877c1892f8e19df6b","kind":"commit","published_at":"2023-03-21T08:20:16.000Z","download_url":"https://codeload.github.com/qpv-research-group/rayflare/tar.gz/v1.2.0","html_url":"https://github.com/qpv-research-group/rayflare/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare/tags/v1.2.0/manifests"},{"name":"v1.1.0","sha":"24b687fc7719189c2d24fc3982af8d918f63fa21","kind":"commit","published_at":"2022-10-05T05:04:15.000Z","download_url":"https://codeload.github.com/qpv-research-group/rayflare/tar.gz/v1.1.0","html_url":"https://github.com/qpv-research-group/rayflare/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare/tags/v1.1.0/manifests"},{"name":"v1.0.1","sha":"18416449f855e183a14df5d94e67646ba4f37a19","kind":"commit","published_at":"2021-08-10T23:05:45.000Z","download_url":"https://codeload.github.com/qpv-research-group/rayflare/tar.gz/v1.0.1","html_url":"https://github.com/qpv-research-group/rayflare/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"f2016f122bc50d32ccbacaffd72c8d69e9b26579","kind":"commit","published_at":"2021-05-24T21:24:21.000Z","download_url":"https://codeload.github.com/qpv-research-group/rayflare/tar.gz/v1.0.0","html_url":"https://github.com/qpv-research-group/rayflare/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare/tags/v1.0.0/manifests"}]},"repo_metadata_updated_at":"2024-10-29T23:13:25.203Z","dependent_packages_count":0,"downloads":149,"downloads_period":"last-month","dependent_repos_count":1,"rankings":{"downloads":30.027585423775932,"dependent_repos_count":22.087784936889527,"dependent_packages_count":7.31012528119255,"stargazers_count":12.904457326778616,"forks_count":13.348682497449962,"docker_downloads_count":null,"average":17.13572709321732},"purl":"pkg:pypi/rayflare","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/rayflare","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/rayflare","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/rayflare/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2024-10-29T19:32:15.550Z","issues_count":30,"pull_requests_count":43,"avg_time_to_close_issue":7728672.95,"avg_time_to_close_pull_request":1890668.1666666667,"issues_closed_count":20,"pull_requests_closed_count":42,"pull_request_authors_count":4,"issue_authors_count":10,"avg_comments_per_issue":1.8,"avg_comments_per_pull_request":0.9534883720930233,"merged_pull_requests_count":37,"bot_issues_count":0,"bot_pull_requests_count":4,"past_year_issues_count":4,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":9410734.5,"past_year_avg_time_to_close_pull_request":2195398.0,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":8,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":3,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.875,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":8,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare/issues","maintainers":[{"login":"phoebe-p","count":54,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/phoebe-p"}],"active_maintainers":[{"login":"phoebe-p","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/phoebe-p"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/rayflare/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/rayflare/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/rayflare/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/rayflare/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/rayflare/codemeta","maintainers":[{"uuid":"phoebe-p","login":"phoebe-p","name":null,"email":null,"url":null,"packages_count":3,"html_url":"https://pypi.org/user/phoebe-p/","role":null,"created_at":"2022-11-22T12:02:12.828Z","updated_at":"2022-11-22T12:02:12.828Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/phoebe-p/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":852938,"maintainers_count":364411,"namespaces_count":0,"keywords_count":271316,"github":"pypi","metadata":{"funded_packages_count":53172},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-04-09T05:08:03.587Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},{"id":11733564,"name":"github.com/qpv-research-group/rayflare","ecosystem":"go","description":null,"homepage":null,"licenses":"other","normalized_licenses":["Other"],"repository_url":"https://github.com/qpv-research-group/rayflare","keywords_array":[],"namespace":null,"versions_count":7,"first_release_published_at":"2021-05-24T21:24:21.000Z","latest_release_published_at":"2024-09-26T11:35:21.000Z","latest_release_number":"v2.0.1+incompatible","last_synced_at":"2026-04-29T21:04:13.795Z","created_at":"2025-06-05T11:17:09.282Z","updated_at":"2026-04-29T21:04:13.795Z","registry_url":"https://pkg.go.dev/github.com/qpv-research-group/rayflare","install_command":"go get github.com/qpv-research-group/rayflare","documentation_url":"https://pkg.go.dev/github.com/qpv-research-group/rayflare#section-documentation","metadata":{},"repo_metadata":{"id":35146456,"uuid":"191636497","full_name":"qpv-research-group/rayflare","owner":"qpv-research-group","description":"Open-source, integrated optical modelling of complex stacks","archived":false,"fork":false,"pushed_at":"2025-06-19T02:22:02.000Z","size":109997,"stargazers_count":46,"open_issues_count":12,"forks_count":14,"subscribers_count":2,"default_branch":"devel","last_synced_at":"2025-12-22T02:05:32.759Z","etag":null,"topics":["multiscale-simulation","optics","physics","ray-tracing","raytracing","rigorous-coupled-wave","solar-cells","transfer-matrix-method"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qpv-research-group.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":null}},"created_at":"2019-06-12T20:01:41.000Z","updated_at":"2025-12-18T21:00:16.000Z","dependencies_parsed_at":"2024-03-17T04:07:37.144Z","dependency_job_id":"59ad4a8a-7881-4e9a-a320-ce2209fc00fe","html_url":"https://github.com/qpv-research-group/rayflare","commit_stats":{"total_commits":414,"total_committers":5,"mean_commits":82.8,"dds":0.1159420289855072,"last_synced_commit":"71bc67d14729abda6dcfc51d46f1a66846916a52"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/qpv-research-group/rayflare","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qpv-research-group","download_url":"https://codeload.github.com/qpv-research-group/rayflare/tar.gz/refs/heads/devel","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare/sbom","scorecard":{"id":754458,"data":{"date":"2025-08-11","repo":{"name":"github.com/qpv-research-group/rayflare","commit":"bcb708edc6667969b84a76c6a16dcf404024ca72"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"1 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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 1/20 approved changesets -- score normalized to 0","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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/testing.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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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/testing.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/qpv-research-group/rayflare/testing.yml/devel?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/testing.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/qpv-research-group/rayflare/testing.yml/devel?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/testing.yml:45","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 16 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T21:13:19.580Z","repository_id":35146456,"created_at":"2025-08-22T21:13:19.580Z","updated_at":"2025-08-22T21:13:19.580Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27976211,"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-23T02:00:07.087Z","response_time":69,"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"},"owner_record":{"login":"qpv-research-group","name":"Quantum Photovoltaics Research Group","uuid":"48552948","kind":"organization","description":"We are a research group led by Dr. Nicholas Ekins-Daukes and specialized in the application of nanotechnology to achieve high efficiency solar cells","email":null,"website":"https://www.qpvgroup.org","location":"UNSW (Sydney, Australia) and Imperial College London (UK) until 2017","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/48552948?v=4","repositories_count":4,"last_synced_at":"2023-02-28T14:55:16.004Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/qpv-research-group","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-11T17:31:16.957Z","updated_at":"2023-02-28T14:55:16.015Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qpv-research-group","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qpv-research-group/repositories"},"tags":[]},"repo_metadata_updated_at":"2025-12-23T12:44:46.282Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":5.757538697138725,"dependent_packages_count":5.395053785167736,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":5.57629624115323},"purl":"pkg:golang/github.com/qpv-research-group/rayflare","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/qpv-research-group/rayflare","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/qpv-research-group/rayflare","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/qpv-research-group/rayflare/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-10-16T22:38:32.829Z","issues_count":31,"pull_requests_count":44,"avg_time_to_close_issue":7728672.95,"avg_time_to_close_pull_request":1850586.1627906978,"issues_closed_count":20,"pull_requests_closed_count":43,"pull_request_authors_count":4,"issue_authors_count":11,"avg_comments_per_issue":1.7419354838709677,"avg_comments_per_pull_request":0.9545454545454546,"merged_pull_requests_count":38,"bot_issues_count":0,"bot_pull_requests_count":4,"past_year_issues_count":1,"past_year_pull_requests_count":4,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":74057.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":4,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.75,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare/issues","maintainers":[{"login":"phoebe-p","count":61,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/phoebe-p"}],"active_maintainers":[{"login":"phoebe-p","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/phoebe-p"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fqpv-research-group%2Frayflare/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fqpv-research-group%2Frayflare/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fqpv-research-group%2Frayflare/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fqpv-research-group%2Frayflare/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fqpv-research-group%2Frayflare/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2118894,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}}],"commits":{"id":648301,"full_name":"qpv-research-group/rayflare","default_branch":"devel","total_commits":415,"total_committers":5,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":83.0,"dds":0.11566265060240966,"past_year_total_commits":1,"past_year_total_committers":1,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":1.0,"past_year_dds":0.0,"last_synced_at":"2026-04-29T05:02:02.771Z","last_synced_commit":"bcb708edc6667969b84a76c6a16dcf404024ca72","created_at":"2023-03-09T09:16:50.648Z","updated_at":"2026-04-29T05:01:59.495Z","committers":[{"name":"phoebe-p","email":"phoebe.pearce15@imperial.ac.uk","login":"phoebe-p","count":367},{"name":"Phoebe Pearce","email":"phoebe@Phoebes-iMac.local","login":null,"count":43},{"name":"phoebe-p","email":"phoebe.pearce15@imperial.a.uk","login":null,"count":3},{"name":"Benjamin Vial","email":"benjamin.vial84@gmail.com","login":"benvial","count":1},{"name":"Phoebe Pearce","email":"phoebe@L-DK2XXDJTXW.local","login":null,"count":1}],"past_year_committers":[{"name":"Phoebe Pearce","email":"p.pearce@unsw.edu.au","login":"phoebe-p","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-29T00:00:10.453Z","repositories_count":6223010,"commits_count":899898274,"contributors_count":34898104,"owners_count":1147472,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"qpv-research-group/rayflare","html_url":"https://github.com/qpv-research-group/rayflare","last_synced_at":"2026-04-19T21:15:43.915Z","status":"error","issues_count":31,"pull_requests_count":50,"avg_time_to_close_issue":7728672.95,"avg_time_to_close_pull_request":1662307.2083333333,"issues_closed_count":20,"pull_requests_closed_count":48,"pull_request_authors_count":4,"issue_authors_count":11,"avg_comments_per_issue":1.7419354838709677,"avg_comments_per_pull_request":0.9,"merged_pull_requests_count":43,"bot_issues_count":0,"bot_pull_requests_count":4,"past_year_issues_count":1,"past_year_pull_requests_count":1,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":167142.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":1.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"created_at":"2023-05-09T10:38:09.133Z","updated_at":"2026-04-19T21:15:43.915Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/qpv-research-group%2Frayflare/issues","issue_labels_count":{"enhancement":5,"bug":3,"question":1},"pull_request_labels_count":{"dependencies":4},"issue_author_associations_count":{"MEMBER":17,"NONE":14},"pull_request_author_associations_count":{"MEMBER":44,"NONE":6},"issue_authors":{"phoebe-p":17,"kandersolar":4,"loongmxbt":2,"michelgaglioni":1,"EricaEgg":1,"yangfan256":1,"suchi-bot":1,"99rbbt":1,"mariongoncalves":1,"zainawhen":1,"etoni044":1},"pull_request_authors":{"phoebe-p":44,"dependabot[bot]":4,"codacy-badger":1,"benvial":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-21T00:00:07.919Z","repositories_count":14348557,"issues_count":34413347,"pull_requests_count":112686412,"authors_count":11241980,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{"MEMBER":1},"past_year_issue_authors":{},"past_year_pull_request_authors":{"phoebe-p":1},"maintainers":[{"login":"phoebe-p","count":61,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/phoebe-p"}],"active_maintainers":[{"login":"phoebe-p","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/phoebe-p"}]},"events":{"total":{"PullRequestEvent":1,"ForkEvent":2,"IssuesEvent":1,"WatchEvent":13,"IssueCommentEvent":2,"PushEvent":6,"CreateEvent":1},"last_year":{"PullRequestEvent":1,"ForkEvent":1,"WatchEvent":7,"IssueCommentEvent":2,"PushEvent":6,"CreateEvent":1}},"keywords":["multiscale-simulation","optics","physics","ray-tracing","raytracing","rigorous-coupled-wave","solar-cells","transfer-matrix-method"],"dependencies":[{"ecosystem":"pypi","filepath":"docs/requirements.txt","sha":null,"kind":"manifest","created_at":"2022-08-25T14:20:34.135Z","updated_at":"2022-08-25T14:20:34.135Z","repository_link":"https://github.com/qpv-research-group/rayflare/blob/devel/docs/requirements.txt","dependencies":[{"id":2695536519,"package_name":"insegel","ecosystem":"pypi","requirements":"==1.3.0","direct":true,"kind":"runtime","optional":false},{"id":2695536520,"package_name":"numpy","ecosystem":"pypi","requirements":"==1.21.5","direct":true,"kind":"runtime","optional":false},{"id":2695536521,"package_name":"xarray","ecosystem":"pypi","requirements":"==0.20.2","direct":true,"kind":"runtime","optional":false},{"id":2695536522,"package_name":"sparse","ecosystem":"pypi","requirements":"==0.13.0","direct":true,"kind":"runtime","optional":false},{"id":2695536523,"package_name":"seaborn","ecosystem":"pypi","requirements":"==0.11.2","direct":true,"kind":"runtime","optional":false},{"id":2695536524,"package_name":"joblib","ecosystem":"pypi","requirements":"==1.1.0","direct":true,"kind":"runtime","optional":false},{"id":2695536525,"package_name":"matplotlib","ecosystem":"pypi","requirements":"==3.5.1","direct":true,"kind":"runtime","optional":false},{"id":2695536526,"package_name":"scipy","ecosystem":"pypi","requirements":"==1.7.3","direct":true,"kind":"runtime","optional":false},{"id":2695536527,"package_name":"solcore","ecosystem":"pypi","requirements":"==5.7.5","direct":true,"kind":"runtime","optional":false},{"id":2695536528,"package_name":"nbsphinx","ecosystem":"pypi","requirements":"==0.8.8","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2022-08-25T14:20:34.231Z","updated_at":"2022-08-25T14:20:34.231Z","repository_link":"https://github.com/qpv-research-group/rayflare/blob/devel/setup.py","dependencies":[{"id":2695536588,"package_name":"matplotlib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":2695536589,"package_name":"scipy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":2695536590,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":2695536591,"package_name":"solcore","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":2695536592,"package_name":"xarray","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":2695536593,"package_name":"sparse","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":2695536594,"package_name":"joblib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":2695536595,"package_name":"seaborn","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/testing.yml","sha":null,"kind":"manifest","created_at":"2023-01-15T15:00:20.881Z","updated_at":"2023-01-15T15:00:20.881Z","repository_link":"https://github.com/qpv-research-group/rayflare/blob/devel/.github/workflows/testing.yml","dependencies":[{"id":6927139949,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":6927139950,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]}],"score":10.687160759795443,"created_at":"2023-09-11T14:52:07.104Z","updated_at":"2026-05-01T01:30:17.998Z","avatar_url":"https://github.com/qpv-research-group.png","language":"Python","category":"Renewable Energy","sub_category":"Photovoltaics and Solar Energy","monthly_downloads":149,"total_dependent_repos":1,"total_dependent_packages":0,"readme":"[![License: LGPL v3](https://img.shields.io/badge/License-LGPLv3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0)\n[![codecov](https://codecov.io/gh/qpv-research-group/rayflare/branch/devel/graph/badge.svg)](https://codecov.io/gh/qpv-research-group/rayflare)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/7ff9180e5f7a460192440895d823ff15)](https://www.codacy.com/gh/qpv-research-group/rayflare?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=qpv-research-group/rayflare\u0026amp;utm_campaign=Badge_Grade)\n[![Documentation Status](https://readthedocs.org/projects/rayflare/badge/?version=latest)](https://rayflare.readthedocs.io/en/latest/?badge=latest)\n[![status](https://joss.theoj.org/papers/15647ef7b3dd688b47c1b802a4f50a67/status.svg)](https://joss.theoj.org/papers/15647ef7b3dd688b47c1b802a4f50a67)\n\n**Important**: Please check out the [news \u0026 updates](https://rayflare.readthedocs.io/en/latest/news.html) page for the most recent updates\nand changes, including any possible backwards compatibility issues.  If you have questions, issues, etc., please check the\ndocumentation and (open and closed) [issues](https://github.com/qpv-research-group/rayflare/issues) first,\nor open a new issue using the relevant template.\n\nIf you would like to be kept up to date on (important) releases and new features, please join the Solcore/RayFlare mailing list \n[here](https://www.solcore.solar/mailing-list).\n\n# rayflare\nOpen-source, integrated optical modelling of complex stacks. RayFlare incorporates the transfer-matrix method (TMM), \nray-tracing and rigorous coupled-wave analysis (RCWA/FMM), in addition to an angular redistribution matrix method which allows multiple \nmethods to be coupled across a single structure to calculate total absorption/reflection/transmission, absorption per \nlayer, and absorption profiles. \n\nYou can view RayFlare's documentation, including installation instructions [here](https://rayflare.readthedocs.io/en/latest/).\nThe contributing guidelines are [here](CONTRIBUTING.md) and the Code of Conduct is [here](CODE_OF_CONDUCT.md). This package\nis distributed under a [GNU LGPL (version 3) license](GNU_LGPL_v3.txt). If you have questions, issues, etc., please check the\ndocumentation first or open an [issue](https://github.com/qpv-research-group/rayflare/issues) using the relevant template.\n\nIf you use RayFlare in your work, please cite the [JOSS paper](https://doi.org/10.21105/joss.03460):\n\n*Pearce, P. M., (2021). RayFlare: flexible optical modelling of solar cells. Journal of Open Source Software, 6(65), 3460. \nhttps://doi.org/10.21105/joss.03460*\n\n![poster](poster.png \"RayFlare poster\")\n","funding_links":[],"readme_doi_urls":["https://doi.org/10.21105/joss.03460"],"works":{"https://doi.org/10.21105/joss.03460":{"id":"https://openalex.org/W3203055698","doi":"https://doi.org/10.21105/joss.03460","title":"RayFlare: flexible optical modelling of solar cells","display_name":"RayFlare: flexible optical modelling of solar cells","publication_year":2021,"publication_date":"2021-09-27","ids":{"openalex":"https://openalex.org/W3203055698","doi":"https://doi.org/10.21105/joss.03460","mag":"3203055698"},"language":"en","primary_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.21105/joss.03460","pdf_url":"https://joss.theoj.org/papers/10.21105/joss.03460.pdf","source":{"id":"https://openalex.org/S4210214273","display_name":"Journal of open source software","issn_l":"2475-9066","issn":["2475-9066"],"is_oa":true,"is_in_doaj":true,"host_organization":"https://openalex.org/P4310315853","host_organization_name":"Open Journals","host_organization_lineage":["https://openalex.org/P4310315853"],"host_organization_lineage_names":["Open Journals"],"type":"journal"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},"type":"article","type_crossref":"journal-article","open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://joss.theoj.org/papers/10.21105/joss.03460.pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5024150447","display_name":"Phoebe Pearce","orcid":"https://orcid.org/0000-0001-9082-9506"},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Phoebe M. Pearce","raw_affiliation_string":"","raw_affiliation_strings":[]}],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":["https://openalex.org/A5024150447"],"corresponding_institution_ids":[],"apc_list":{"value":0,"currency":"USD","value_usd":0,"provenance":"doaj"},"apc_paid":{"value":0,"currency":"USD","value_usd":0,"provenance":"doaj"},"has_fulltext":false,"cited_by_count":3,"cited_by_percentile_year":{"min":80,"max":83},"biblio":{"volume":"6","issue":"65","first_page":"3460","last_page":"3460"},"is_retracted":false,"is_paratext":false,"keywords":[{"keyword":"flexible optical modelling","score":0.6702},{"keyword":"solar cells","score":0.5726},{"keyword":"rayflare","score":0.3455}],"concepts":[{"id":"https://openalex.org/C192562407","wikidata":"https://www.wikidata.org/wiki/Q228736","display_name":"Materials science","level":0,"score":0.36631608}],"mesh":[],"locations_count":1,"locations":[{"is_oa":true,"landing_page_url":"https://doi.org/10.21105/joss.03460","pdf_url":"https://joss.theoj.org/papers/10.21105/joss.03460.pdf","source":{"id":"https://openalex.org/S4210214273","display_name":"Journal of open source software","issn_l":"2475-9066","issn":["2475-9066"],"is_oa":true,"is_in_doaj":true,"host_organization":"https://openalex.org/P4310315853","host_organization_name":"Open Journals","host_organization_lineage":["https://openalex.org/P4310315853"],"host_organization_lineage_names":["Open Journals"],"type":"journal"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true}],"best_oa_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.21105/joss.03460","pdf_url":"https://joss.theoj.org/papers/10.21105/joss.03460.pdf","source":{"id":"https://openalex.org/S4210214273","display_name":"Journal of open source software","issn_l":"2475-9066","issn":["2475-9066"],"is_oa":true,"is_in_doaj":true,"host_organization":"https://openalex.org/P4310315853","host_organization_name":"Open Journals","host_organization_lineage":["https://openalex.org/P4310315853"],"host_organization_lineage_names":["Open Journals"],"type":"journal"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/7","display_name":"Affordable and clean energy","score":0.69}],"grants":[],"referenced_works_count":9,"referenced_works":["https://openalex.org/W1980269750","https://openalex.org/W2042310699","https://openalex.org/W2175455508","https://openalex.org/W2593259395","https://openalex.org/W2757140513","https://openalex.org/W2962502226","https://openalex.org/W2965668565","https://openalex.org/W3004638894","https://openalex.org/W3009878329"],"related_works":["https://openalex.org/W2899084033","https://openalex.org/W2898370298","https://openalex.org/W2737498735","https://openalex.org/W4292492973","https://openalex.org/W2744391499","https://openalex.org/W3120461830","https://openalex.org/W3144504424","https://openalex.org/W4230250635","https://openalex.org/W3041790586","https://openalex.org/W2018879842"],"ngrams_url":"https://api.openalex.org/works/W3203055698/ngrams","abstract_inverted_index":null,"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W3203055698","counts_by_year":[{"year":2022,"cited_by_count":3}],"updated_date":"2023-12-13T00:46:09.389900","created_date":"2021-10-11"}},"citation_counts":{"https://doi.org/10.21105/joss.03460":3},"total_citations":3,"keywords_from_contributors":["photovoltaic","semiconductor"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/19784","html_url":"https://ost.ecosyste.ms/projects/19784"}