{"id":65314,"name":"pyriemann","description":"Machine learning for multivariate data through the Riemannian geometry of positive definite matrices in Python","url":"https://github.com/pyriemann/pyriemann","last_synced_at":"2025-09-08T13:23:22.681Z","repository":{"id":30657755,"uuid":"34213430","full_name":"pyRiemann/pyRiemann","owner":"pyRiemann","description":"Machine learning for multivariate data through the Riemannian geometry of positive definite matrices in Python","archived":false,"fork":false,"pushed_at":"2025-08-26T18:20:01.000Z","size":1478,"stargazers_count":693,"open_issues_count":3,"forks_count":172,"subscribers_count":28,"default_branch":"master","last_synced_at":"2025-08-27T01:22:38.887Z","etag":null,"topics":["brain-computer-interface","covariance-estimation","covariance-matrix","eeg","hermitian-matrices","image-processing","machine-learning","positive-definite-matrices","python","radar-image","remote-sensing","riemannian-geometry","signal-processing","statistics","symmetric-matrices","time-series"],"latest_commit_sha":null,"homepage":"https://pyriemann.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pyRiemann.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2015-04-19T16:01:44.000Z","updated_at":"2025-08-26T18:20:05.000Z","dependencies_parsed_at":"2023-01-14T17:24:52.949Z","dependency_job_id":"14a04889-0c03-4d09-b646-7b90a24ea6bc","html_url":"https://github.com/pyRiemann/pyRiemann","commit_stats":{"total_commits":480,"total_committers":31,"mean_commits":"15.483870967741936","dds":0.4833333333333333,"last_synced_commit":"9ab58edf009bbcbdace83cadce9459d174a746af"},"previous_names":["alexandrebarachant/pyriemann"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/pyRiemann/pyRiemann","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyRiemann","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/sbom","scorecard":{"id":180619,"data":{"date":"2025-08-04","repo":{"name":"github.com/pyRiemann/pyRiemann","commit":"cc31d2bbb19591ab3f8e1cfb2401bac991f50624"},"scorecard":{"version":"v5.2.1-28-gc1d103a9","commit":"c1d103a9bb9f635ec7260bf9aa0699466fa4be0e"},"score":4.4,"checks":[{"name":"Code-Review","score":7,"reason":"Found 23/30 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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"10 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#maintained"}},{"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/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/deploy_ghpages.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/pypi-publish.yml:11","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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#binary-artifacts"}},{"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/deploy_ghpages.yml:9: update your workflow using https://app.stepsecurity.io/secureworkflow/pyRiemann/pyRiemann/deploy_ghpages.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/deploy_ghpages.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/pyRiemann/pyRiemann/deploy_ghpages.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/deploy_ghpages.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/pyRiemann/pyRiemann/deploy_ghpages.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pypi-publish.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/pyRiemann/pyRiemann/pypi-publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pypi-publish.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/pyRiemann/pyRiemann/pypi-publish.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pypi-publish.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/pyRiemann/pyRiemann/pypi-publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/testing.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/pyRiemann/pyRiemann/testing.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/testing.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/pyRiemann/pyRiemann/testing.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/pypi-publish.yml:26","Warn: pipCommand not pinned by hash: .github/workflows/pypi-publish.yml:27","Warn: pipCommand not pinned by hash: .github/workflows/testing.yml:30","Warn: pipCommand not pinned by hash: .github/workflows/testing.yml:33","Info:   0 out of   6 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   4 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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#pinned-dependencies"}},{"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#signed-releases"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/pypi-publish.yml:14"],"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#packaging"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":0,"reason":"13 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-29gw-9793-fvw7","Warn: Project is vulnerable to: PYSEC-2015-24 / GHSA-4vwq-x64q-j4cj","Warn: Project is vulnerable to: PYSEC-2017-46 / GHSA-66gw-5xpf-gfp5","Warn: Project is vulnerable to: PYSEC-2015-25 / GHSA-92mr-v722-f48m","Warn: Project is vulnerable to: PYSEC-2022-12 / GHSA-pq7m-3gw7-gq5x","Warn: Project is vulnerable to: PYSEC-2017-47","Warn: Project is vulnerable to: PYSEC-2020-73","Warn: Project is vulnerable to: PYSEC-2022-288 / GHSA-6hrg-qmvc-2xh8","Warn: Project is vulnerable to: PYSEC-2024-110 / GHSA-jw8x-6495-233v","Warn: Project is vulnerable to: GHSA-jxfp-4rvq-9h9m","Warn: Project is vulnerable to: PYSEC-2019-156 / GHSA-xp76-357g-9wqq","Warn: Project is vulnerable to: PYSEC-2023-102","Warn: Project is vulnerable to: PYSEC-2023-114"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/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 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T18:48:03.656Z","repository_id":30657755,"created_at":"2025-08-16T18:48:03.656Z","updated_at":"2025-08-16T18:48:03.656Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274190965,"owners_count":25238269,"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-09-08T02:00:09.813Z","response_time":121,"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":"pyRiemann","name":"pyRiemann","uuid":"83397099","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/83397099?v=4","repositories_count":2,"last_synced_at":"2023-03-01T10:55:18.612Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/pyRiemann","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-12T08:49:55.430Z","updated_at":"2023-03-01T10:55:18.635Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyRiemann","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyRiemann/repositories"},"packages":[{"id":11709227,"name":"github.com/pyriemann/pyriemann","ecosystem":"go","description":null,"homepage":null,"licenses":"bsd-3-clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/pyriemann/pyriemann","keywords_array":[],"namespace":null,"versions_count":6,"first_release_published_at":"2015-05-19T23:14:13.000Z","latest_release_published_at":"2021-06-27T11:03:46.000Z","latest_release_number":"v0.2.7","last_synced_at":"2025-08-27T08:10:36.218Z","created_at":"2025-05-30T10:32:47.544Z","updated_at":"2025-08-27T08:26:40.887Z","registry_url":"https://pkg.go.dev/github.com/pyriemann/pyriemann","install_command":"go get github.com/pyriemann/pyriemann","documentation_url":"https://pkg.go.dev/github.com/pyriemann/pyriemann#section-documentation","metadata":{},"repo_metadata":{"id":30657755,"uuid":"34213430","full_name":"pyRiemann/pyRiemann","owner":"pyRiemann","description":"Machine learning for multivariate data through the Riemannian geometry of positive definite matrices in Python","archived":false,"fork":false,"pushed_at":"2025-05-19T22:53:54.000Z","size":1518,"stargazers_count":679,"open_issues_count":3,"forks_count":169,"subscribers_count":28,"default_branch":"master","last_synced_at":"2025-05-21T04:07:36.266Z","etag":null,"topics":["brain-computer-interface","covariance-estimation","covariance-matrix","eeg","hermitian-matrices","image-processing","machine-learning","positive-definite-matrices","python","radar-image","remote-sensing","riemannian-geometry","signal-processing","statistics","symmetric-matrices","time-series"],"latest_commit_sha":null,"homepage":"https://pyriemann.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pyRiemann.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2015-04-19T16:01:44.000Z","updated_at":"2025-05-19T22:53:58.000Z","dependencies_parsed_at":"2023-01-14T17:24:52.949Z","dependency_job_id":"14a04889-0c03-4d09-b646-7b90a24ea6bc","html_url":"https://github.com/pyRiemann/pyRiemann","commit_stats":{"total_commits":480,"total_committers":31,"mean_commits":"15.483870967741936","dds":0.4833333333333333,"last_synced_commit":"9ab58edf009bbcbdace83cadce9459d174a746af"},"previous_names":["alexandrebarachant/pyriemann"],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyRiemann","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":257177802,"owners_count":22501818,"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"}},"repo_metadata_updated_at":"2025-08-27T08:26:40.865Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":5.784814001734242,"dependent_packages_count":5.420815499828766,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":5.602814750781504},"purl":"pkg:golang/github.com/pyriemann/pyriemann","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/pyriemann/pyriemann","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/pyriemann/pyriemann","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/pyriemann/pyriemann/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-05-21T04:06:35.308Z","issues_count":40,"pull_requests_count":178,"avg_time_to_close_issue":55950218.34210526,"avg_time_to_close_pull_request":1662249.4659090908,"issues_closed_count":38,"pull_requests_closed_count":176,"pull_request_authors_count":25,"issue_authors_count":26,"avg_comments_per_issue":3.125,"avg_comments_per_pull_request":2.044943820224719,"merged_pull_requests_count":169,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":7,"past_year_pull_requests_count":58,"past_year_avg_time_to_close_issue":1867436.4,"past_year_avg_time_to_close_pull_request":737050.4035087719,"past_year_issues_closed_count":5,"past_year_pull_requests_closed_count":57,"past_year_pull_request_authors_count":8,"past_year_issue_authors_count":6,"past_year_avg_comments_per_issue":2.2857142857142856,"past_year_avg_comments_per_pull_request":1.8103448275862069,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":55,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/issues","maintainers":[{"login":"qbarthelemy","count":126,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qbarthelemy"},{"login":"agramfort","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/agramfort"},{"login":"gcattan","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gcattan"},{"login":"alexandrebarachant","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/alexandrebarachant"},{"login":"sylvchev","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sylvchev"},{"login":"plcrodrigues","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/plcrodrigues"}],"active_maintainers":[{"login":"qbarthelemy","count":40,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qbarthelemy"},{"login":"gcattan","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gcattan"},{"login":"agramfort","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/agramfort"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpyriemann%2Fpyriemann/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpyriemann%2Fpyriemann/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpyriemann%2Fpyriemann/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpyriemann%2Fpyriemann/related_packages","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":1954233,"maintainers_count":0,"namespaces_count":741771,"keywords_count":109320,"github":"golang","metadata":{"funded_packages_count":49342},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2025-09-08T05:47:38.872Z","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"}},{"id":11709226,"name":"github.com/pyRiemann/pyRiemann","ecosystem":"go","description":null,"homepage":null,"licenses":"bsd-3-clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/pyRiemann/pyRiemann","keywords_array":[],"namespace":null,"versions_count":6,"first_release_published_at":"2015-05-19T23:14:13.000Z","latest_release_published_at":"2021-06-27T11:03:46.000Z","latest_release_number":"v0.2.7","last_synced_at":"2025-08-27T08:10:36.415Z","created_at":"2025-05-30T10:32:47.487Z","updated_at":"2025-08-27T08:26:40.911Z","registry_url":"https://pkg.go.dev/github.com/pyRiemann/pyRiemann","install_command":"go get github.com/pyRiemann/pyRiemann","documentation_url":"https://pkg.go.dev/github.com/pyRiemann/pyRiemann#section-documentation","metadata":{},"repo_metadata":{"id":30657755,"uuid":"34213430","full_name":"pyRiemann/pyRiemann","owner":"pyRiemann","description":"Machine learning for multivariate data through the Riemannian geometry of positive definite matrices in Python","archived":false,"fork":false,"pushed_at":"2025-05-19T22:53:54.000Z","size":1518,"stargazers_count":679,"open_issues_count":3,"forks_count":169,"subscribers_count":28,"default_branch":"master","last_synced_at":"2025-05-21T04:07:36.266Z","etag":null,"topics":["brain-computer-interface","covariance-estimation","covariance-matrix","eeg","hermitian-matrices","image-processing","machine-learning","positive-definite-matrices","python","radar-image","remote-sensing","riemannian-geometry","signal-processing","statistics","symmetric-matrices","time-series"],"latest_commit_sha":null,"homepage":"https://pyriemann.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pyRiemann.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2015-04-19T16:01:44.000Z","updated_at":"2025-05-19T22:53:58.000Z","dependencies_parsed_at":"2023-01-14T17:24:52.949Z","dependency_job_id":"14a04889-0c03-4d09-b646-7b90a24ea6bc","html_url":"https://github.com/pyRiemann/pyRiemann","commit_stats":{"total_commits":480,"total_committers":31,"mean_commits":"15.483870967741936","dds":0.4833333333333333,"last_synced_commit":"9ab58edf009bbcbdace83cadce9459d174a746af"},"previous_names":["alexandrebarachant/pyriemann"],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyRiemann","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":257177800,"owners_count":22501818,"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"}},"repo_metadata_updated_at":"2025-08-27T08:26:40.885Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":5.784814001734242,"dependent_packages_count":5.420815499828766,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":5.602814750781504},"purl":"pkg:golang/github.com/py%21riemann/py%21riemann","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/pyRiemann/pyRiemann","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/pyRiemann/pyRiemann","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/pyRiemann/pyRiemann/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-05-21T04:06:35.308Z","issues_count":40,"pull_requests_count":178,"avg_time_to_close_issue":55950218.34210526,"avg_time_to_close_pull_request":1662249.4659090908,"issues_closed_count":38,"pull_requests_closed_count":176,"pull_request_authors_count":25,"issue_authors_count":26,"avg_comments_per_issue":3.125,"avg_comments_per_pull_request":2.044943820224719,"merged_pull_requests_count":169,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":7,"past_year_pull_requests_count":58,"past_year_avg_time_to_close_issue":1867436.4,"past_year_avg_time_to_close_pull_request":737050.4035087719,"past_year_issues_closed_count":5,"past_year_pull_requests_closed_count":57,"past_year_pull_request_authors_count":8,"past_year_issue_authors_count":6,"past_year_avg_comments_per_issue":2.2857142857142856,"past_year_avg_comments_per_pull_request":1.8103448275862069,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":55,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/issues","maintainers":[{"login":"qbarthelemy","count":126,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qbarthelemy"},{"login":"agramfort","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/agramfort"},{"login":"gcattan","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gcattan"},{"login":"alexandrebarachant","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/alexandrebarachant"},{"login":"sylvchev","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sylvchev"},{"login":"plcrodrigues","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/plcrodrigues"}],"active_maintainers":[{"login":"qbarthelemy","count":40,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qbarthelemy"},{"login":"gcattan","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gcattan"},{"login":"agramfort","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/agramfort"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FpyRiemann%2FpyRiemann/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FpyRiemann%2FpyRiemann/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FpyRiemann%2FpyRiemann/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FpyRiemann%2FpyRiemann/related_packages","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":1954233,"maintainers_count":0,"namespaces_count":741771,"keywords_count":109320,"github":"golang","metadata":{"funded_packages_count":49342},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2025-09-08T05:47:38.872Z","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"}},{"id":5301103,"name":"pyriemann","ecosystem":"conda","description":"pyRiemann aims at being a generic package for multivariate signal classification but has been designed around applications of biosignal (M/EEG, EMG, etc) classification.","homepage":"https://pyriemann.readthedocs.io/en/latest/","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/pyRiemann/pyRiemann","keywords_array":[],"namespace":null,"versions_count":2,"first_release_published_at":"2022-06-08T12:06:56.000Z","latest_release_published_at":"2022-06-08T12:06:56.000Z","latest_release_number":"0.2.7","last_synced_at":"2025-08-27T08:10:37.680Z","created_at":"2022-10-03T16:10:13.385Z","updated_at":"2025-08-27T08:26:40.912Z","registry_url":"https://anaconda.org/conda-forge/pyriemann","install_command":"conda install -c conda-forge pyriemann","documentation_url":null,"metadata":{},"repo_metadata":{"uuid":"34213430","full_name":"pyRiemann/pyRiemann","owner":"pyRiemann","description":"Machine learning for multivariate data analysis through the Riemannian geometry of symmetric or Hermitian positive definite matrices in Python","archived":false,"fork":false,"pushed_at":"2023-03-20T20:30:03.000Z","size":1105,"stargazers_count":472,"open_issues_count":7,"forks_count":142,"subscribers_count":30,"default_branch":"master","last_synced_at":"2023-03-21T11:57:51.496Z","etag":null,"topics":["brain-computer-interface","covariance-estimation","covariance-matrix","eeg","machine-learning","python","riemannian-geometry","signal-processing","statistics","time-series"],"latest_commit_sha":null,"homepage":"https://pyriemann.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"logo_url":null,"metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-04-19T16:01:44.000Z","updated_at":"2023-03-14T13:16:32.000Z","dependencies_parsed_at":"2023-01-14T17:24:52.949Z","dependency_job_id":null,"html_url":"https://github.com/pyRiemann/pyRiemann","commit_stats":null,"repository_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann","tags_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags","manifests_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/manifests","owner_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyRiemann","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":108921946,"host_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names"},"owner_record":{"login":"pyRiemann","name":"pyRiemann","uuid":"83397099","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"avatar_url":"https://avatars.githubusercontent.com/u/83397099?v=4","repositories_count":2,"last_synced_at":"2023-03-01T10:55:18.612Z","metadata":{"has_sponsors_listing":false},"owner_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyRiemann"},"tags":[{"name":"v0.3","sha":"23cde148f1286718fc220d208028ec44c9897385","kind":"commit","published_at":"2022-07-17T13:23:11.000Z","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/v0.3","html_url":"https://github.com/pyRiemann/pyRiemann/releases/tag/v0.3"},{"name":"v0.2.7","sha":"176e766f540bd4c7846f38573165fc3d27fc69ca","kind":"commit","published_at":"2021-06-27T11:03:46.000Z","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/v0.2.7","html_url":"https://github.com/pyRiemann/pyRiemann/releases/tag/v0.2.7"},{"name":"v0.2.6","sha":"89d4309ac0400c4971f35c22c1e635f7bf05197b","kind":"tag","published_at":"2020-03-18T23:53:46.000Z","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/v0.2.6","html_url":"https://github.com/pyRiemann/pyRiemann/releases/tag/v0.2.6"},{"name":"v0.2.4","sha":"fe267411026d710467644b1a0aeb55a26c4e3173","kind":"commit","published_at":"2016-06-16T15:36:46.000Z","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/v0.2.4","html_url":"https://github.com/pyRiemann/pyRiemann/releases/tag/v0.2.4"},{"name":"v0.2.3","sha":"6c8d1793c7da128f271afd87dcfbc58d9408a35f","kind":"commit","published_at":"2015-11-04T19:51:27.000Z","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/v0.2.3","html_url":"https://github.com/pyRiemann/pyRiemann/releases/tag/v0.2.3"},{"name":"v0.2.2","sha":"ebe9900a779c425a19e5b102813e72c95d7c3f81","kind":"commit","published_at":"2015-06-19T19:25:12.000Z","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/v0.2.2","html_url":"https://github.com/pyRiemann/pyRiemann/releases/tag/v0.2.2"},{"name":"v0.2.1","sha":"a98623f6cc58899979a70ffc68e684ee7a9310b4","kind":"commit","published_at":"2015-05-19T23:14:13.000Z","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/v0.2.1","html_url":"https://github.com/pyRiemann/pyRiemann/releases/tag/v0.2.1"},{"name":"v0.2","sha":"315824969ff5c035f65fb9f28ac22127292b1faa","kind":"tag","published_at":"2015-05-17T23:29:28.000Z","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/v0.2","html_url":"https://github.com/pyRiemann/pyRiemann/releases/tag/v0.2"},{"name":"v0.1","sha":"ba7c7c05503dc2f2f80acfee20300f576b78a66a","kind":"tag","published_at":"2015-04-18T22:56:09.000Z","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/v0.1","html_url":"https://github.com/pyRiemann/pyRiemann/releases/tag/v0.1"}]},"repo_metadata_updated_at":"2025-08-27T08:26:40.885Z","dependent_packages_count":1,"downloads":null,"downloads_period":null,"dependent_repos_count":1,"rankings":{"downloads":null,"dependent_repos_count":24.347522331453668,"dependent_packages_count":28.978491940715607,"stargazers_count":17.895104546135038,"forks_count":15.195369030390736,"docker_downloads_count":null,"average":21.604121962173764},"purl":"pkg:conda/pyriemann","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/conda/pyriemann","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/conda/pyriemann","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/conda/pyriemann/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2023-08-17T18:56:24.157Z","issues_count":27,"pull_requests_count":86,"avg_time_to_close_issue":72755921.31818181,"avg_time_to_close_pull_request":1926274.2891566264,"issues_closed_count":22,"pull_requests_closed_count":83,"pull_request_authors_count":16,"issue_authors_count":17,"avg_comments_per_issue":3.3703703703703702,"avg_comments_per_pull_request":2.2790697674418605,"merged_pull_requests_count":79,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":12,"past_year_pull_requests_count":50,"past_year_avg_time_to_close_issue":3922397.5555555555,"past_year_avg_time_to_close_pull_request":782362.8085106383,"past_year_issues_closed_count":9,"past_year_pull_requests_closed_count":47,"past_year_pull_request_authors_count":11,"past_year_issue_authors_count":8,"past_year_avg_comments_per_issue":3.5833333333333335,"past_year_avg_comments_per_pull_request":1.9,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":46},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/pyriemann/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/pyriemann/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/pyriemann/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/pyriemann/related_packages","maintainers":[],"registry":{"name":"conda-forge.org","url":"https://conda-forge.org","ecosystem":"conda","default":false,"packages_count":20636,"maintainers_count":0,"namespaces_count":0,"keywords_count":13414,"github":"conda-forge","metadata":{"kind":"conda-forge","key":"CondaForge","api":"https://conda.anaconda.org","funded_packages_count":2190},"icon_url":"https://github.com/conda-forge.png","created_at":"2022-10-03T15:37:08.743Z","updated_at":"2025-09-08T06:53:21.618Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/namespaces"}},{"id":2881818,"name":"pyriemann","ecosystem":"pypi","description":"Machine learning for multivariate data with Riemannian geometry","homepage":"https://pyriemann.readthedocs.io","licenses":"BSD (3-clause)","normalized_licenses":["BSD-1-Clause"],"repository_url":"https://github.com/pyRiemann/pyRiemann","keywords_array":[],"namespace":null,"versions_count":15,"first_release_published_at":"2015-04-18T22:52:54.000Z","latest_release_published_at":"2021-06-27T11:06:01.000Z","latest_release_number":"0.2.7","last_synced_at":"2025-08-27T08:10:35.607Z","created_at":"2022-04-10T12:17:58.751Z","updated_at":"2025-08-27T08:26:40.912Z","registry_url":"https://pypi.org/project/pyriemann/","install_command":"pip install pyriemann --index-url https://pypi.org/simple","documentation_url":"https://pyriemann.readthedocs.io","metadata":{"funding":null,"documentation":"https://pyriemann.readthedocs.io","classifiers":[],"normalized_name":"pyriemann","project_status":null},"repo_metadata":{"id":30657755,"uuid":"34213430","full_name":"pyRiemann/pyRiemann","owner":"pyRiemann","description":"Machine learning for multivariate data through the Riemannian geometry of positive definite matrices in Python","archived":false,"fork":false,"pushed_at":"2025-07-22T15:44:06.000Z","size":1464,"stargazers_count":685,"open_issues_count":3,"forks_count":172,"subscribers_count":28,"default_branch":"master","last_synced_at":"2025-07-22T17:21:47.098Z","etag":null,"topics":["brain-computer-interface","covariance-estimation","covariance-matrix","eeg","hermitian-matrices","image-processing","machine-learning","positive-definite-matrices","python","radar-image","remote-sensing","riemannian-geometry","signal-processing","statistics","symmetric-matrices","time-series"],"latest_commit_sha":null,"homepage":"https://pyriemann.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pyRiemann.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2015-04-19T16:01:44.000Z","updated_at":"2025-07-22T15:41:15.000Z","dependencies_parsed_at":"2023-01-14T17:24:52.949Z","dependency_job_id":"14a04889-0c03-4d09-b646-7b90a24ea6bc","html_url":"https://github.com/pyRiemann/pyRiemann","commit_stats":{"total_commits":480,"total_committers":31,"mean_commits":"15.483870967741936","dds":0.4833333333333333,"last_synced_commit":"9ab58edf009bbcbdace83cadce9459d174a746af"},"previous_names":["alexandrebarachant/pyriemann"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/pyRiemann/pyRiemann","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyRiemann","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266541360,"owners_count":23945406,"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-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":"pyRiemann","name":"pyRiemann","uuid":"83397099","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/83397099?v=4","repositories_count":2,"last_synced_at":"2023-03-01T10:55:18.612Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/pyRiemann","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-12T08:49:55.430Z","updated_at":"2023-03-01T10:55:18.635Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyRiemann","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyRiemann/repositories"},"tags":[{"name":"v0.9","sha":"fbe0a20d0a6010c2ee6335050fde09943da385f5","kind":"commit","published_at":"2025-07-22T15:41:11.000Z","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/v0.9","html_url":"https://github.com/pyRiemann/pyRiemann/releases/tag/v0.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyRiemann/pyRiemann@v0.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.9/manifests"},{"name":"v0.8","sha":"48415f52a55dff83ea64f60c1fd11cfa167c4116","kind":"commit","published_at":"2025-02-12T12:41:48.000Z","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/v0.8","html_url":"https://github.com/pyRiemann/pyRiemann/releases/tag/v0.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyRiemann/pyRiemann@v0.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.8/manifests"},{"name":"v0.7","sha":"6831f3603f9895cf7258600ef981110cba27b288","kind":"commit","published_at":"2024-10-03T19:56:28.000Z","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/v0.7","html_url":"https://github.com/pyRiemann/pyRiemann/releases/tag/v0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyRiemann/pyRiemann@v0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.7/manifests"},{"name":"v0.6","sha":"dca07a0e560b4841d971e089b43bccd0e8e8c339","kind":"commit","published_at":"2024-04-10T11:38:56.000Z","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/v0.6","html_url":"https://github.com/pyRiemann/pyRiemann/releases/tag/v0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyRiemann/pyRiemann@v0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.6/manifests"},{"name":"v0.5","sha":"9ddc1397ebe6db01c9fcff8c7eedb6f6f2e0d419","kind":"tag","published_at":"2023-06-20T08:47:44.000Z","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/v0.5","html_url":"https://github.com/pyRiemann/pyRiemann/releases/tag/v0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyRiemann/pyRiemann@v0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.5/manifests"},{"name":"v0.4","sha":"8747462958a40eb1ffc5c672f03524e194c706d1","kind":"commit","published_at":"2023-02-15T09:28:23.000Z","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/v0.4","html_url":"https://github.com/pyRiemann/pyRiemann/releases/tag/v0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyRiemann/pyRiemann@v0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.4/manifests"},{"name":"v0.3","sha":"23cde148f1286718fc220d208028ec44c9897385","kind":"commit","published_at":"2022-07-17T13:23:11.000Z","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/v0.3","html_url":"https://github.com/pyRiemann/pyRiemann/releases/tag/v0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyRiemann/pyRiemann@v0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.3/manifests"},{"name":"v0.2.7","sha":"176e766f540bd4c7846f38573165fc3d27fc69ca","kind":"commit","published_at":"2021-06-27T11:03:46.000Z","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/v0.2.7","html_url":"https://github.com/pyRiemann/pyRiemann/releases/tag/v0.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyRiemann/pyRiemann@v0.2.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.2.7/manifests"},{"name":"v0.2.6","sha":"89d4309ac0400c4971f35c22c1e635f7bf05197b","kind":"tag","published_at":"2020-03-18T23:53:46.000Z","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/v0.2.6","html_url":"https://github.com/pyRiemann/pyRiemann/releases/tag/v0.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyRiemann/pyRiemann@v0.2.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.2.6/manifests"},{"name":"v0.2.4","sha":"fe267411026d710467644b1a0aeb55a26c4e3173","kind":"commit","published_at":"2016-06-16T15:36:46.000Z","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/v0.2.4","html_url":"https://github.com/pyRiemann/pyRiemann/releases/tag/v0.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyRiemann/pyRiemann@v0.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.2.4/manifests"},{"name":"v0.2.3","sha":"6c8d1793c7da128f271afd87dcfbc58d9408a35f","kind":"commit","published_at":"2015-11-04T19:51:27.000Z","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/v0.2.3","html_url":"https://github.com/pyRiemann/pyRiemann/releases/tag/v0.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyRiemann/pyRiemann@v0.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.2.3/manifests"},{"name":"v0.2.2","sha":"ebe9900a779c425a19e5b102813e72c95d7c3f81","kind":"commit","published_at":"2015-06-19T19:25:12.000Z","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/v0.2.2","html_url":"https://github.com/pyRiemann/pyRiemann/releases/tag/v0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyRiemann/pyRiemann@v0.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.2.2/manifests"},{"name":"v0.2.1","sha":"a98623f6cc58899979a70ffc68e684ee7a9310b4","kind":"commit","published_at":"2015-05-19T23:14:13.000Z","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/v0.2.1","html_url":"https://github.com/pyRiemann/pyRiemann/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyRiemann/pyRiemann@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.2.1/manifests"},{"name":"v0.2","sha":"315824969ff5c035f65fb9f28ac22127292b1faa","kind":"tag","published_at":"2015-05-17T23:29:28.000Z","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/v0.2","html_url":"https://github.com/pyRiemann/pyRiemann/releases/tag/v0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyRiemann/pyRiemann@v0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.2/manifests"},{"name":"v0.1","sha":"ba7c7c05503dc2f2f80acfee20300f576b78a66a","kind":"tag","published_at":"2015-04-18T22:56:09.000Z","download_url":"https://codeload.github.com/pyRiemann/pyRiemann/tar.gz/v0.1","html_url":"https://github.com/pyRiemann/pyRiemann/releases/tag/v0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyRiemann/pyRiemann@v0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/tags/v0.1/manifests"}]},"repo_metadata_updated_at":"2025-08-27T08:26:40.886Z","dependent_packages_count":12,"downloads":111404,"downloads_period":"last-month","dependent_repos_count":67,"rankings":{"downloads":1.7461490972005211,"dependent_repos_count":1.8139829119760982,"dependent_packages_count":1.1377219253579687,"stargazers_count":2.7467071722752574,"forks_count":4.013627737170644,"docker_downloads_count":null,"average":2.2916377687960976},"purl":"pkg:pypi/pyriemann","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/pyriemann","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/pyriemann","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/pyriemann/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-07-12T00:57:01.426Z","issues_count":40,"pull_requests_count":184,"avg_time_to_close_issue":55950218.34210526,"avg_time_to_close_pull_request":1619829.7802197803,"issues_closed_count":38,"pull_requests_closed_count":182,"pull_request_authors_count":25,"issue_authors_count":26,"avg_comments_per_issue":3.125,"avg_comments_per_pull_request":2.0,"merged_pull_requests_count":174,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":7,"past_year_pull_requests_count":48,"past_year_avg_time_to_close_issue":1867436.4,"past_year_avg_time_to_close_pull_request":852816.9574468085,"past_year_issues_closed_count":5,"past_year_pull_requests_closed_count":47,"past_year_pull_request_authors_count":8,"past_year_issue_authors_count":6,"past_year_avg_comments_per_issue":2.2857142857142856,"past_year_avg_comments_per_pull_request":1.75,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":45,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/issues","maintainers":[{"login":"qbarthelemy","count":130,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qbarthelemy"},{"login":"agramfort","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/agramfort"},{"login":"gcattan","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gcattan"},{"login":"alexandrebarachant","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/alexandrebarachant"},{"login":"sylvchev","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sylvchev"},{"login":"plcrodrigues","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/plcrodrigues"}],"active_maintainers":[{"login":"qbarthelemy","count":32,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qbarthelemy"},{"login":"gcattan","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gcattan"},{"login":"agramfort","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/agramfort"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pyriemann/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pyriemann/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pyriemann/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pyriemann/related_packages","maintainers":[{"uuid":"agramfort","login":"agramfort","name":null,"email":null,"url":null,"packages_count":11,"html_url":"https://pypi.org/user/agramfort/","role":null,"created_at":"2022-12-24T03:53:42.172Z","updated_at":"2022-12-24T03:53:42.172Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/agramfort/packages"},{"uuid":"alexandre.barachant","login":"alexandre.barachant","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://pypi.org/user/alexandre.barachant/","role":null,"created_at":"2022-12-24T03:53:42.177Z","updated_at":"2022-12-24T03:53:42.177Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/alexandre.barachant/packages"},{"uuid":"plcrodrigues","login":"plcrodrigues","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://pypi.org/user/plcrodrigues/","role":null,"created_at":"2023-05-11T05:59:32.660Z","updated_at":"2023-05-11T05:59:32.660Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/plcrodrigues/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":726145,"maintainers_count":308800,"namespaces_count":0,"keywords_count":238245,"github":"pypi","metadata":{"funded_packages_count":50579},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-09-08T05:32:36.857Z","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"}}],"commits":{"id":33766,"full_name":"pyRiemann/pyRiemann","default_branch":"master","committers":[{"name":"Alexandre Barachant","email":"alexandre.barachant@gmail.com","login":"alexandrebarachant","count":248},{"name":"Quentin Barthélemy","email":"q.barthelemy@gmail.com","login":"qbarthelemy","count":185},{"name":"gabelstein","email":"darkmash@web.de","login":"gabelstein","count":39},{"name":"Alexandre Gramfort","email":"alexandre.gramfort@m4x.org","login":"agramfort","count":33},{"name":"kingjr","email":"jeanremi.king+github@gmail.com","login":"kingjr","count":27},{"name":"Sylvain Chevallier","email":"sylvain.chevallier@uvsq.fr","login":null,"count":17},{"name":"Pedro Rodrigues","email":"pedro.rodrigues01@gmail.com","login":"plcrodrigues","count":11},{"name":"brunalopes","email":"brunaafl@usp.br","login":"brunaafl","count":9},{"name":"gcattan","email":"gcattan@hotmail.fr","login":"gcattan","count":5},{"name":"toncho11","email":"toncho11","login":"toncho11","count":3},{"name":"maxdolle","email":"contact.github@maxdolle.fr","login":"maxdolle","count":3},{"name":"V G","email":"vladislav.goncharenko@phystech.edu","login":"v-goncharenko","count":3},{"name":"Emanuele Olivetti","email":"olivetti@fbk.eu","login":"emanuele","count":3},{"name":"Dave","email":"davearthur.stanley@gmail.com","login":"davestanley","count":3},{"name":"Apolline Mellot","email":"81578853+apmellot","login":"apmellot","count":2},{"name":"Maria Sayu Yamamoto","email":"119514285+MSYamamoto","login":"MSYamamoto","count":2},{"name":"stevenmortier","email":"58509563+stevenmortier","login":"stevenmortier","count":1},{"name":"Emanuele Olivetti","email":"emanuele@relativita.com","login":null,"count":1},{"name":"Gabriel Wagner vom Berg","email":"gabriel@bccn-berlin.de","login":null,"count":1},{"name":"AJ Keller","email":"pushtheworldllc@gmail.com","login":null,"count":1},{"name":"mhurte","email":"37448105+mhurte","login":"mhurte","count":1},{"name":"mccorsi","email":"67332336+mccorsi","login":"mccorsi","count":1},{"name":"jona-sassenhagen","email":"jona.sassenhagen@gmail.com","login":"jona-sassenhagen","count":1},{"name":"jliersch","email":"10142712+jliersch","login":"jliersch","count":1},{"name":"Tim Näher","email":"65108477+timnaher","login":"timnaher","count":1},{"name":"Thibault de Surrel","email":"61628789+thibaultdesurrel","login":"thibaultdesurrel","count":1},{"name":"Richard Höchenberger","email":"richard.hoechenberger@gmail.com","login":"hoechenberger","count":1},{"name":"Pierre Clisson","email":"mesca","login":"mesca","count":1},{"name":"JJ","email":"103335846+computerscienceiscool","login":"computerscienceiscool","count":1},{"name":"Igor Carrara","email":"94047258+carraraig","login":"carraraig","count":1},{"name":"G.Reguig","email":"ghiles.reguig@gmail.com","login":"GhilesReguig","count":1},{"name":"Erik Bjäreholt","email":"erik@bjareho.lt","login":"ErikBjare","count":1},{"name":"Brent Gaisford","email":"brentgaisford@gmail.com","login":"brentgaisford","count":1},{"name":"Ben Beasley","email":"code@musicinmybrain.net","login":"musicinmybrain","count":1},{"name":"stonebig","email":"stonebig34@gmail.com","login":"stonebig","count":1},{"name":"Ammar Mian","email":"ammar.mian@protonmail.com","login":"AmmarMian","count":1},{"name":"Artim436","email":"arthur.lebeurrier@grenoble-inp.org","login":"Artim436","count":1}],"total_commits":614,"total_committers":37,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":16.594594594594593,"dds":0.5960912052117264,"past_year_committers":[{"name":"Quentin Barthélemy","email":"q.barthelemy@gmail.com","login":"qbarthelemy","count":42},{"name":"Gabriel Wagner vom Berg","email":"42769425+gabelstein","login":"gabelstein","count":5},{"name":"toncho11","email":"toncho11","login":"toncho11","count":3},{"name":"gcattan","email":"gcattan@hotmail.fr","login":"gcattan","count":3},{"name":"Tim Näher","email":"65108477+timnaher","login":"timnaher","count":1},{"name":"Thibault de Surrel","email":"61628789+thibaultdesurrel","login":"thibaultdesurrel","count":1},{"name":"Brent Gaisford","email":"brentgaisford@gmail.com","login":"brentgaisford","count":1},{"name":"Ammar Mian","email":"ammar.mian@protonmail.com","login":"AmmarMian","count":1},{"name":"Alexandre Gramfort","email":"alexandre.gramfort@m4x.org","login":"agramfort","count":1}],"past_year_total_commits":58,"past_year_total_committers":9,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":6.444444444444445,"past_year_dds":0.27586206896551724,"last_synced_at":"2025-05-27T23:56:50.740Z","last_synced_commit":"e709da0b3def8cfe8b258879056e40614a03f14e","created_at":"2023-03-07T16:53:44.091Z","updated_at":"2025-05-27T23:56:50.787Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-08-30T00:00:08.254Z","repositories_count":5479765,"commits_count":853310314,"contributors_count":31095240,"owners_count":906558,"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":"pyRiemann/pyRiemann","html_url":"https://github.com/pyRiemann/pyRiemann","last_synced_at":"2025-09-02T23:39:10.618Z","status":null,"issues_count":40,"pull_requests_count":267,"avg_time_to_close_issue":58805328.80555555,"avg_time_to_close_pull_request":1530550.3714285714,"issues_closed_count":36,"pull_requests_closed_count":245,"pull_request_authors_count":25,"issue_authors_count":28,"avg_comments_per_issue":2.975,"avg_comments_per_pull_request":1.6217228464419475,"merged_pull_requests_count":234,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":6,"past_year_pull_requests_count":89,"past_year_avg_time_to_close_issue":405538.0,"past_year_avg_time_to_close_pull_request":688211.6666666666,"past_year_issues_closed_count":3,"past_year_pull_requests_closed_count":75,"past_year_pull_request_authors_count":8,"past_year_issue_authors_count":6,"past_year_avg_comments_per_issue":1.1666666666666667,"past_year_avg_comments_per_pull_request":1.3707865168539326,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":71,"created_at":"2023-05-10T21:51:52.585Z","updated_at":"2025-09-03T05:26:54.960Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyRiemann%2FpyRiemann/issues","issue_labels_count":{"enhancement":5,"help wanted":2,"easy":1,"bug":1,"duplicate":1,"question":1},"pull_request_labels_count":{"enhancement":4,"documentation":1},"issue_author_associations_count":{"NONE":18,"CONTRIBUTOR":10,"MEMBER":8,"COLLABORATOR":4},"pull_request_author_associations_count":{"MEMBER":200,"CONTRIBUTOR":43,"COLLABORATOR":15,"NONE":9},"issue_authors":{"alexandrebarachant":4,"agramfort":4,"qbarthelemy":3,"andrewjaykeller":3,"kingjr":2,"penguinpee":2,"dojeda":1,"charlespan110":1,"DingkunLiu":1,"TanTingyi":1,"sylvchev":1,"hubert3102":1,"musicinmybrain":1,"nkueper":1,"hoechenberger":1,"mesca":1,"nivanov94":1,"rocamario":1,"jliersch":1,"Marco-Congedo":1,"nicobrb":1,"apmellot":1,"sanjayankur31":1,"vpKumaravel":1,"bruAristimunha":1,"edublancas":1,"ibr2011":1,"antoinecollas":1},"pull_request_authors":{"qbarthelemy":186,"gabelstein":15,"gcattan":14,"toncho11":8,"agramfort":8,"AmmarMian":5,"sylvchev":4,"msyamamoto":3,"timnaher":2,"plcrodrigues":2,"brentgaisford":2,"apmellot":2,"thibaultdesurrel":2,"carraraig":2,"brunaafl":2,"jliersch":1,"musicinmybrain":1,"alexandrebarachant":1,"computerscienceiscool":1,"emmanuelkalunga":1,"maldil":1,"mhurte":1,"hoechenberger":1,"mccorsi":1,"Artim436":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-08T00:00:17.013Z","repositories_count":10157773,"issues_count":32005765,"pull_requests_count":100057683,"authors_count":10725616,"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":{"help wanted":1},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":5,"MEMBER":1},"past_year_pull_request_author_associations_count":{"MEMBER":56,"CONTRIBUTOR":23,"COLLABORATOR":6,"NONE":3},"past_year_issue_authors":{"antoinecollas":1,"bruAristimunha":1,"Marco-Congedo":1,"nkueper":1,"qbarthelemy":1,"rocamario":1},"past_year_pull_request_authors":{"qbarthelemy":54,"gabelstein":10,"toncho11":8,"gcattan":6,"AmmarMian":4,"timnaher":2,"thibaultdesurrel":2,"agramfort":2},"maintainers":[{"login":"qbarthelemy","count":189,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qbarthelemy"},{"login":"gcattan","count":14,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gcattan"},{"login":"agramfort","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/agramfort"},{"login":"alexandrebarachant","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/alexandrebarachant"},{"login":"sylvchev","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sylvchev"},{"login":"plcrodrigues","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/plcrodrigues"}],"active_maintainers":[{"login":"qbarthelemy","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qbarthelemy"},{"login":"gcattan","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gcattan"},{"login":"agramfort","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/agramfort"}]},"events":null,"keywords":["brain-computer-interface","covariance-estimation","covariance-matrix","eeg","hermitian-matrices","image-processing","machine-learning","positive-definite-matrices","python","radar-image","remote-sensing","riemannian-geometry","signal-processing","statistics","symmetric-matrices","time-series"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/deploy_ghpages.yml","sha":null,"kind":"manifest","created_at":"2023-01-14T17:24:52.658Z","updated_at":"2023-01-14T17:24:52.658Z","repository_link":"https://github.com/pyRiemann/pyRiemann/blob/master/.github/workflows/deploy_ghpages.yml","dependencies":[{"id":6902457956,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6902457957,"package_name":"ammaraskar/sphinx-action","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false},{"id":6902457958,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/testing.yml","sha":null,"kind":"manifest","created_at":"2023-01-14T17:24:52.695Z","updated_at":"2023-01-14T17:24:52.695Z","repository_link":"https://github.com/pyRiemann/pyRiemann/blob/master/.github/workflows/testing.yml","dependencies":[{"id":6902457959,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6902457960,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"doc/requirements.txt","sha":null,"kind":"manifest","created_at":"2023-01-14T17:24:52.771Z","updated_at":"2023-01-14T17:24:52.771Z","repository_link":"https://github.com/pyRiemann/pyRiemann/blob/master/doc/requirements.txt","dependencies":[{"id":6902457961,"package_name":"numpydoc","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6902457962,"package_name":"sphinx-gallery","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6902457963,"package_name":"sphinx-bootstrap_theme","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6902457964,"package_name":"mne","ecosystem":"pypi","requirements":"\u003e=0.24","direct":true,"kind":"runtime","optional":false},{"id":6902457965,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6902457966,"package_name":"seaborn","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6902457967,"package_name":"pandas","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6902457968,"package_name":"joblib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6902457969,"package_name":"ipython","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2023-01-14T17:24:52.883Z","updated_at":"2023-01-14T17:24:52.883Z","repository_link":"https://github.com/pyRiemann/pyRiemann/blob/master/requirements.txt","dependencies":[{"id":6902457970,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6902457971,"package_name":"scipy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6902457972,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"\u003e=0.22","direct":true,"kind":"runtime","optional":false},{"id":6902457973,"package_name":"pandas","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6902457974,"package_name":"joblib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6902457975,"package_name":"seaborn","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2023-01-14T17:24:52.910Z","updated_at":"2023-01-14T17:24:52.910Z","repository_link":"https://github.com/pyRiemann/pyRiemann/blob/master/setup.py","dependencies":[{"id":6902457976,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6902457977,"package_name":"scipy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6902457978,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6902457979,"package_name":"joblib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6902457980,"package_name":"pandas","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]}],"score":21.777939813750766,"created_at":"2025-09-08T11:18:37.424Z","updated_at":"2025-10-07T08:24:56.781Z","avatar_url":"https://github.com/pyRiemann.png","language":"Python","category":null,"sub_category":null,"monthly_downloads":111404,"funding_links":[],"readme_doi_urls":["https://doi.org/10.5281/zenodo.593816"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["neuroscience","electroencephalography","magnetoencephalography","meg","neuroimaging","ecog","electrocorticography","bci-benchmarks","bci","closember"],"project_url":"https://science.ecosyste.ms/api/v1/projects/65314","html_url":"https://science.ecosyste.ms/projects/65314"}