{"id":977,"name":"PyDGN","description":"PyDGN: a Python Library for Flexible and Reproducible Research on Deep Learning for Graphs - Published in JOSS (2023)","url":"https://github.com/diningphil/pydgn","last_synced_at":"2025-09-04T16:12:55.022Z","repository":{"id":37498944,"uuid":"249058070","full_name":"diningphil/PyDGN","owner":"diningphil","description":"A research library for automating experiments on Deep Graph Networks","archived":false,"fork":false,"pushed_at":"2025-08-07T12:56:58.000Z","size":11247,"stargazers_count":223,"open_issues_count":0,"forks_count":13,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-08-27T23:53:10.039Z","etag":null,"topics":["deep-graph-networks","deep-learning-for-graphs","evaluation-framework"],"latest_commit_sha":null,"homepage":"https://pydgn.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/diningphil.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-03-21T20:47:13.000Z","updated_at":"2025-08-09T15:59:17.000Z","dependencies_parsed_at":"2023-01-30T18:15:20.306Z","dependency_job_id":"e520ceb8-bc50-40ab-a615-7064d41acfca","html_url":"https://github.com/diningphil/PyDGN","commit_stats":null,"previous_names":[],"tags_count":51,"template":false,"template_full_name":null,"purl":"pkg:github/diningphil/PyDGN","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diningphil%2FPyDGN","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diningphil%2FPyDGN/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diningphil%2FPyDGN/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diningphil%2FPyDGN/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/diningphil","download_url":"https://codeload.github.com/diningphil/PyDGN/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diningphil%2FPyDGN/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273596972,"owners_count":25134262,"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-04T02:00:08.968Z","response_time":61,"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":"diningphil","name":"Federico Errica","uuid":"9413244","kind":"user","description":"Teaching Machines @ NLE","email":"","website":"https://diningphil.github.io/","location":"Heidelberg, DE","twitter":"federico_errica","company":"NEC Laboratories Europe GmbH","icon_url":"https://avatars.githubusercontent.com/u/9413244?u=dca618c683246abac006c0e6976e38808a09ad19\u0026v=4","repositories_count":7,"last_synced_at":"2023-03-05T05:04:52.319Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/diningphil","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-15T06:24:36.283Z","updated_at":"2023-03-05T05:04:52.357Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/diningphil","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/diningphil/repositories"},"packages":[],"commits":{"id":9625003,"full_name":"diningphil/PyDGN","default_branch":"main","committers":[{"name":"Federico Errica","email":"f.errica@protonmail.com","login":"diningphil","count":336},{"name":"Federico Errica","email":"federico.errica@protonmail.com","login":null,"count":20},{"name":"Federico Errica","email":"f.errica@phd.unipi.it","login":null,"count":9},{"name":"Saurav Maheshkar","email":"sauravvmaheshkar@gmail.com","login":"SauravMaheshkar","count":6},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":5}],"total_commits":376,"total_committers":5,"total_bot_commits":5,"total_bot_committers":1,"mean_commits":75.2,"dds":0.1063829787234043,"past_year_committers":[{"name":"Federico Errica","email":"f.errica@protonmail.com","login":"diningphil","count":6}],"past_year_total_commits":6,"past_year_total_committers":1,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":6.0,"past_year_dds":0.0,"last_synced_at":"2025-08-07T06:08:00.417Z","last_synced_commit":"8d401910123c2881744d79c512350b890b3cf2a4","created_at":"2025-04-11T10:58:17.348Z","updated_at":"2025-08-07T06:08:00.418Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/diningphil%2FPyDGN/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-08-28T00:00:20.468Z","repositories_count":5479765,"commits_count":853309695,"contributors_count":31095220,"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":"diningphil/PyDGN","html_url":"https://github.com/diningphil/PyDGN","last_synced_at":"2025-08-31T18:41:43.183Z","status":"error","issues_count":14,"pull_requests_count":73,"avg_time_to_close_issue":2703370.714285714,"avg_time_to_close_pull_request":52624.98630136986,"issues_closed_count":14,"pull_requests_closed_count":73,"pull_request_authors_count":3,"issue_authors_count":2,"avg_comments_per_issue":1.2142857142857142,"avg_comments_per_pull_request":0.0821917808219178,"merged_pull_requests_count":70,"bot_issues_count":0,"bot_pull_requests_count":7,"past_year_issues_count":0,"past_year_pull_requests_count":7,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":1111.7142857142858,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":7,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":7,"created_at":"2025-04-11T10:58:17.687Z","updated_at":"2025-09-02T06:44:28.230Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/diningphil%2FPyDGN","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/diningphil%2FPyDGN/issues","issue_labels_count":{"bug":4},"pull_request_labels_count":{"dependencies":7},"issue_author_associations_count":{"OWNER":15,"NONE":1},"pull_request_author_associations_count":{"OWNER":69,"CONTRIBUTOR":8},"issue_authors":{"diningphil":15,"jwtxwd":1},"pull_request_authors":{"diningphil":69,"dependabot[bot]":7,"SauravMaheshkar":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-02T00:00:07.986Z","repositories_count":10026604,"issues_count":30445490,"pull_requests_count":90339401,"authors_count":10305781,"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":{"OWNER":1},"past_year_pull_request_author_associations_count":{"OWNER":6},"past_year_issue_authors":{"diningphil":1},"past_year_pull_request_authors":{"diningphil":6},"maintainers":[{"login":"diningphil","count":84,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/diningphil"}],"active_maintainers":[{"login":"diningphil","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/diningphil"}]},"events":{"total":{"WatchEvent":7,"PullRequestEvent":1},"last_year":{"WatchEvent":7,"PullRequestEvent":1}},"keywords":["deep-graph-networks","deep-learning-for-graphs","evaluation-framework"],"dependencies":[{"ecosystem":"pypi","filepath":"docs/requirements.txt","sha":null,"kind":"manifest","created_at":"2022-07-15T21:31:01.103Z","updated_at":"2022-07-15T21:31:01.103Z","repository_link":"https://github.com/diningphil/PyDGN/blob/main/docs/requirements.txt","dependencies":[{"id":225719042,"package_name":"sphinx","ecosystem":"pypi","requirements":"==4.4.0","direct":true,"kind":"runtime","optional":false},{"id":225719043,"package_name":"sphinx_rtd_theme","ecosystem":"pypi","requirements":"==1.0.0","direct":true,"kind":"runtime","optional":false},{"id":225719044,"package_name":"readthedocs-sphinx-search","ecosystem":"pypi","requirements":"==0.1.1","direct":true,"kind":"runtime","optional":false},{"id":225719045,"package_name":"PyYAML","ecosystem":"pypi","requirements":"==5.4","direct":true,"kind":"runtime","optional":false},{"id":225719046,"package_name":"networkx","ecosystem":"pypi","requirements":"==2.3","direct":true,"kind":"runtime","optional":false},{"id":225719047,"package_name":"requests","ecosystem":"pypi","requirements":"==2.22.0","direct":true,"kind":"runtime","optional":false},{"id":225719048,"package_name":"matplotlib","ecosystem":"pypi","requirements":"==3.3.4","direct":true,"kind":"runtime","optional":false},{"id":225719049,"package_name":"seaborn","ecosystem":"pypi","requirements":"==0.9.0","direct":true,"kind":"runtime","optional":false},{"id":225719050,"package_name":"tensorboard","ecosystem":"pypi","requirements":"==2.1.1","direct":true,"kind":"runtime","optional":false},{"id":225719051,"package_name":"tqdm","ecosystem":"pypi","requirements":"==4.47.0","direct":true,"kind":"runtime","optional":false},{"id":225719052,"package_name":"ogb","ecosystem":"pypi","requirements":"==1.3.3","direct":true,"kind":"runtime","optional":false},{"id":225719053,"package_name":"aioredis","ecosystem":"pypi","requirements":"==1.3.1","direct":true,"kind":"runtime","optional":false},{"id":225719054,"package_name":"ray","ecosystem":"pypi","requirements":"==1.5.2","direct":true,"kind":"runtime","optional":false},{"id":225719055,"package_name":"gpustat","ecosystem":"pypi","requirements":"==0.6.0","direct":true,"kind":"runtime","optional":false},{"id":225719056,"package_name":"torch","ecosystem":"pypi","requirements":"==1.10.2","direct":true,"kind":"runtime","optional":false},{"id":225719057,"package_name":"torch-scatter","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":225719058,"package_name":"torch-sparse","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":225719059,"package_name":"torch-cluster","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":225719060,"package_name":"torch-spline-conv","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":225719061,"package_name":"torch-geometric","ecosystem":"pypi","requirements":"==2.0.3","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2022-07-15T21:31:01.190Z","updated_at":"2022-07-15T21:31:01.190Z","repository_link":"https://github.com/diningphil/PyDGN/blob/main/setup.py","dependencies":[{"id":225721054,"package_name":"PyYAML","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":225721055,"package_name":"networkx","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":225721056,"package_name":"requests","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":225721057,"package_name":"matplotlib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":225721058,"package_name":"seaborn","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":225721059,"package_name":"tensorboard","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":225721060,"package_name":"tqdm","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":225721061,"package_name":"ogb","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":225721062,"package_name":"aioredis","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":225721063,"package_name":"ray","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":225721064,"package_name":"gpustat","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":225721065,"package_name":"torch","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":225721066,"package_name":"torch-geometric","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":225721067,"package_name":"torch-geometric-temporal","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/interrogate-docstring.yaml","sha":null,"kind":"manifest","created_at":"2023-01-30T18:15:20.107Z","updated_at":"2023-01-30T18:15:20.107Z","repository_link":"https://github.com/diningphil/PyDGN/blob/main/.github/workflows/interrogate-docstring.yaml","dependencies":[{"id":7252194528,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7252194529,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7252194530,"package_name":"diningphil/python-interrogate-check","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false},{"id":7252194531,"package_name":"ad-m/github-push-action","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/python-publish.yml","sha":null,"kind":"manifest","created_at":"2023-01-30T18:15:20.140Z","updated_at":"2023-01-30T18:15:20.140Z","repository_link":"https://github.com/diningphil/PyDGN/blob/main/.github/workflows/python-publish.yml","dependencies":[{"id":7252194536,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7252194537,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7252194538,"package_name":"pypa/gh-action-pypi-publish","ecosystem":"actions","requirements":"27b31702a0e7fc50959f5ad993c78deac1bdfc29","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/python-test-and-coverage.yml","sha":null,"kind":"manifest","created_at":"2023-01-30T18:15:20.179Z","updated_at":"2023-01-30T18:15:20.179Z","repository_link":"https://github.com/diningphil/PyDGN/blob/main/.github/workflows/python-test-and-coverage.yml","dependencies":[{"id":7252194545,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7252194546,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7252194547,"package_name":"ad-m/github-push-action","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":".github/requirements.txt","sha":null,"kind":"manifest","created_at":"2023-01-30T18:15:20.216Z","updated_at":"2023-01-30T18:15:20.216Z","repository_link":"https://github.com/diningphil/PyDGN/blob/main/.github/requirements.txt","dependencies":[{"id":7252194567,"package_name":"PyYAML","ecosystem":"pypi","requirements":"==5.4","direct":true,"kind":"runtime","optional":false},{"id":7252194568,"package_name":"requests","ecosystem":"pypi","requirements":"==2.22.0","direct":true,"kind":"runtime","optional":false},{"id":7252194569,"package_name":"tensorboard","ecosystem":"pypi","requirements":"==2.11.0","direct":true,"kind":"runtime","optional":false},{"id":7252194570,"package_name":"tqdm","ecosystem":"pypi","requirements":"==4.47.0","direct":true,"kind":"runtime","optional":false},{"id":7252194571,"package_name":"ogb","ecosystem":"pypi","requirements":"==1.3.5","direct":true,"kind":"runtime","optional":false},{"id":7252194572,"package_name":"protobuf","ecosystem":"pypi","requirements":"==3.20.3","direct":true,"kind":"runtime","optional":false},{"id":7252194573,"package_name":"click","ecosystem":"pypi","requirements":"\u003c=8.0.4","direct":true,"kind":"runtime","optional":false},{"id":7252194574,"package_name":"ray","ecosystem":"pypi","requirements":"==2.1.0","direct":true,"kind":"runtime","optional":false},{"id":7252194575,"package_name":"gpustat","ecosystem":"pypi","requirements":"==1.0.0","direct":true,"kind":"runtime","optional":false},{"id":7252194576,"package_name":"wandb","ecosystem":"pypi","requirements":"==0.12.15","direct":true,"kind":"runtime","optional":false},{"id":7252194577,"package_name":"torch","ecosystem":"pypi","requirements":"==1.13.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":".github/requirements_torch_geometric.txt","sha":null,"kind":"manifest","created_at":"2023-01-30T18:15:20.248Z","updated_at":"2023-01-30T18:15:20.248Z","repository_link":"https://github.com/diningphil/PyDGN/blob/main/.github/requirements_torch_geometric.txt","dependencies":[{"id":7252194591,"package_name":"torch-scatter","ecosystem":"pypi","requirements":"==2.1.0","direct":true,"kind":"runtime","optional":false},{"id":7252194592,"package_name":"torch-sparse","ecosystem":"pypi","requirements":"==0.6.15","direct":true,"kind":"runtime","optional":false},{"id":7252194593,"package_name":"torch-cluster","ecosystem":"pypi","requirements":"==1.6.0","direct":true,"kind":"runtime","optional":false},{"id":7252194594,"package_name":"torch-spline-conv","ecosystem":"pypi","requirements":"==1.2.1","direct":true,"kind":"runtime","optional":false},{"id":7252194595,"package_name":"torch-geometric","ecosystem":"pypi","requirements":"==2.1.0.post1","direct":true,"kind":"runtime","optional":false},{"id":7252194596,"package_name":"torch-geometric-temporal","ecosystem":"pypi","requirements":"\u003e=0.52.0","direct":true,"kind":"runtime","optional":false}]}],"score":7.016609683894219,"created_at":"2025-09-04T09:17:41.864Z","updated_at":"2025-10-07T08:04:28.815Z","avatar_url":"https://github.com/diningphil.png","language":"Python","category":"Scientific Software","sub_category":"Peer-reviewed","monthly_downloads":0,"funding_links":[],"readme_doi_urls":["https://doi.org/10.21105/joss.05713"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["mesh"],"project_url":"https://science.ecosyste.ms/api/v1/projects/977","html_url":"https://science.ecosyste.ms/projects/977","bibtex_url":"https://science.ecosyste.ms/projects/977/export.bibtex","apalike_url":"https://science.ecosyste.ms/projects/977/export.apalike"}