{"id":1215,"name":"OPSDN","description":"OPSDN: an enhanced SDN simulation framework for OPNET Modeler - Published in JOSS (2023)","url":"https://github.com/zacharyjia/opsdn","last_synced_at":"2025-09-04T16:20:36.058Z","repository":{"id":62592642,"uuid":"506838834","full_name":"ZacharyJia/opsdn","owner":"ZacharyJia","description":null,"archived":false,"fork":false,"pushed_at":"2023-03-08T16:18:31.000Z","size":1065,"stargazers_count":62,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-04T03:06:47.950Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ZacharyJia.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"contributing.md","funding":null,"license":"LICENSE.txt","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":"2022-06-24T01:16:40.000Z","updated_at":"2025-09-03T08:06:12.000Z","dependencies_parsed_at":"2025-04-14T14:32:51.586Z","dependency_job_id":"a5035914-eb98-4c7c-8572-2cc0f49f6e5d","html_url":"https://github.com/ZacharyJia/opsdn","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/ZacharyJia/opsdn","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZacharyJia%2Fopsdn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZacharyJia%2Fopsdn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZacharyJia%2Fopsdn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZacharyJia%2Fopsdn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZacharyJia","download_url":"https://codeload.github.com/ZacharyJia/opsdn/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZacharyJia%2Fopsdn/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273598003,"owners_count":25134478,"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":"ZacharyJia","name":"Zachary Jia","uuid":"7402471","kind":"user","description":"PhD candidate / Developer","email":"","website":null,"location":"Beijing, China","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/7402471?u=1c447d370a1559016cf1f0e76c389fa053bc30d7\u0026v=4","repositories_count":77,"last_synced_at":"2024-04-24T02:34:28.511Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ZacharyJia","funding_links":[],"total_stars":152,"followers":53,"following":30,"created_at":"2022-11-12T00:23:37.224Z","updated_at":"2024-04-24T02:34:48.729Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZacharyJia","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZacharyJia/repositories"},"packages":[{"id":4493921,"name":"opsdnpy","ecosystem":"pypi","description":"A python package for OPSDN","homepage":"https://github.com/ZacharyJia/opsdn","licenses":"Apache 2.0","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/ZacharyJia/opsdn","keywords_array":[],"namespace":null,"versions_count":3,"first_release_published_at":"2022-07-03T06:57:34.000Z","latest_release_published_at":"2022-08-26T08:55:29.000Z","latest_release_number":"0.2.1","last_synced_at":"2025-09-03T22:35:40.604Z","created_at":"2022-07-03T07:20:23.869Z","updated_at":"2025-09-04T15:28:33.701Z","registry_url":"https://pypi.org/project/opsdnpy/","install_command":"pip install opsdnpy --index-url https://pypi.org/simple","documentation_url":"https://opsdnpy.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Operating System :: OS Independent","Programming Language :: Python :: 3"],"normalized_name":"opsdnpy","project_status":null},"repo_metadata":{"id":62592642,"uuid":"506838834","full_name":"ZacharyJia/opsdn","owner":"ZacharyJia","description":null,"archived":false,"fork":false,"pushed_at":"2023-03-08T16:18:31.000Z","size":1065,"stargazers_count":62,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-04T03:06:47.950Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ZacharyJia.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"contributing.md","funding":null,"license":"LICENSE.txt","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":"2022-06-24T01:16:40.000Z","updated_at":"2025-09-03T08:06:12.000Z","dependencies_parsed_at":"2025-04-14T14:32:51.586Z","dependency_job_id":"a5035914-eb98-4c7c-8572-2cc0f49f6e5d","html_url":"https://github.com/ZacharyJia/opsdn","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/ZacharyJia/opsdn","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZacharyJia%2Fopsdn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZacharyJia%2Fopsdn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZacharyJia%2Fopsdn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZacharyJia%2Fopsdn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZacharyJia","download_url":"https://codeload.github.com/ZacharyJia/opsdn/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZacharyJia%2Fopsdn/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273629551,"owners_count":25140171,"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_record":{"login":"ZacharyJia","name":"Zachary Jia","uuid":"7402471","kind":"user","description":"PhD candidate / Developer","email":"","website":null,"location":"Beijing, China","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/7402471?u=1c447d370a1559016cf1f0e76c389fa053bc30d7\u0026v=4","repositories_count":77,"last_synced_at":"2024-04-24T02:34:28.511Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ZacharyJia","funding_links":[],"total_stars":152,"followers":53,"following":30,"created_at":"2022-11-12T00:23:37.224Z","updated_at":"2024-04-24T02:34:48.729Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZacharyJia","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZacharyJia/repositories"},"tags":[{"name":"v0.2.2","sha":"b9a1dcd42951e95391f7bb43fe54fb1f55b0e7ab","kind":"commit","published_at":"2023-03-08T13:12:21.000Z","download_url":"https://codeload.github.com/ZacharyJia/opsdn/tar.gz/v0.2.2","html_url":"https://github.com/ZacharyJia/opsdn/releases/tag/v0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ZacharyJia/opsdn@v0.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZacharyJia%2Fopsdn/tags/v0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZacharyJia%2Fopsdn/tags/v0.2.2/manifests"},{"name":"v0.2.1","sha":"b8724b472769d9232411c5cba3851e005082e392","kind":"commit","published_at":"2022-08-26T08:21:03.000Z","download_url":"https://codeload.github.com/ZacharyJia/opsdn/tar.gz/v0.2.1","html_url":"https://github.com/ZacharyJia/opsdn/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ZacharyJia/opsdn@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZacharyJia%2Fopsdn/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZacharyJia%2Fopsdn/tags/v0.2.1/manifests"},{"name":"v0.2","sha":"9f0d619990fa9a9d41a320fb60f74090e49a28ef","kind":"commit","published_at":"2022-07-03T07:15:05.000Z","download_url":"https://codeload.github.com/ZacharyJia/opsdn/tar.gz/v0.2","html_url":"https://github.com/ZacharyJia/opsdn/releases/tag/v0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ZacharyJia/opsdn@v0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZacharyJia%2Fopsdn/tags/v0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZacharyJia%2Fopsdn/tags/v0.2/manifests"}]},"repo_metadata_updated_at":"2025-09-04T15:28:33.700Z","dependent_packages_count":0,"downloads":6,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":56.12009690289468,"dependent_repos_count":30.61104109666564,"dependent_packages_count":6.633233862033089,"stargazers_count":20.500882617335865,"forks_count":23.200755720688072,"average":27.41320203992347},"purl":"pkg:pypi/opsdnpy","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/opsdnpy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/opsdnpy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/opsdnpy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-31T21:13:03.765Z","issues_count":4,"pull_requests_count":5,"avg_time_to_close_issue":699174.75,"avg_time_to_close_pull_request":438.0,"issues_closed_count":4,"pull_requests_closed_count":5,"pull_request_authors_count":2,"issue_authors_count":1,"avg_comments_per_issue":3.25,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":5,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZacharyJia%2Fopsdn/issues","maintainers":[{"login":"ZacharyJia","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ZacharyJia"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/opsdnpy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/opsdnpy/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/opsdnpy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/opsdnpy/related_packages","maintainers":[{"uuid":"zacharyjia","login":"zacharyjia","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://pypi.org/user/zacharyjia/","role":null,"created_at":"2022-11-24T02:15:40.557Z","updated_at":"2022-11-24T02:15:40.557Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/zacharyjia/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":724829,"maintainers_count":308209,"namespaces_count":0,"keywords_count":237984,"github":"pypi","metadata":{"funded_packages_count":50481},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-09-04T05:23:51.177Z","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":9625102,"full_name":"ZacharyJia/opsdn","default_branch":"master","committers":[{"name":"ZacharyJia","email":"jia199474@gmail.com","login":"ZacharyJia","count":18},{"name":"Daniel S. Katz","email":"d.katz@ieee.org","login":"danielskatz","count":2}],"total_commits":20,"total_committers":2,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":10.0,"dds":0.09999999999999998,"past_year_committers":[],"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2025-08-07T07:56:58.249Z","last_synced_commit":"8c54e49010a2eac642fd2e2943d7686b035517f2","created_at":"2025-04-11T11:06:43.968Z","updated_at":"2025-08-07T07:56:58.249Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZacharyJia%2Fopsdn/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-08-08T00:00:12.331Z","repositories_count":5415433,"commits_count":848633733,"contributors_count":30917352,"owners_count":904148,"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":"ZacharyJia/opsdn","html_url":"https://github.com/ZacharyJia/opsdn","last_synced_at":"2025-08-31T21:13:03.765Z","status":"error","issues_count":4,"pull_requests_count":5,"avg_time_to_close_issue":699174.75,"avg_time_to_close_pull_request":438.0,"issues_closed_count":4,"pull_requests_closed_count":5,"pull_request_authors_count":2,"issue_authors_count":1,"avg_comments_per_issue":3.25,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":5,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-15T04:03:30.838Z","updated_at":"2025-08-31T21:13:03.765Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZacharyJia%2Fopsdn","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZacharyJia%2Fopsdn/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":4},"pull_request_author_associations_count":{"OWNER":3,"CONTRIBUTOR":2},"issue_authors":{"pradeeban":4},"pull_request_authors":{"ZacharyJia":3,"danielskatz":2},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-01T00:00:07.725Z","repositories_count":9966144,"issues_count":29680459,"pull_requests_count":86440165,"authors_count":9648275,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{},"past_year_pull_request_authors":{},"maintainers":[{"login":"ZacharyJia","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ZacharyJia"}],"active_maintainers":[]},"events":{"total":{"WatchEvent":5,"ForkEvent":1},"last_year":{"WatchEvent":5,"ForkEvent":1}},"keywords":[],"dependencies":[{"ecosystem":"pypi","filepath":"src/opsdnpy/package/setup.py","sha":null,"kind":"manifest","created_at":"2022-11-04T07:22:51.369Z","updated_at":"2022-11-04T07:22:51.369Z","repository_link":"https://github.com/ZacharyJia/opsdn/blob/master/src/opsdnpy/package/setup.py","dependencies":[{"id":6596339037,"package_name":"ryu","ecosystem":"pypi","requirements":"==4.34","direct":true,"kind":"runtime","optional":false},{"id":6596339038,"package_name":"networkx","ecosystem":"pypi","requirements":"==2.8.2","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/draft-pdf.yml","sha":null,"kind":"manifest","created_at":"2025-04-14T14:32:51.500Z","updated_at":"2025-04-14T14:32:51.500Z","repository_link":"https://github.com/ZacharyJia/opsdn/blob/master/.github/workflows/draft-pdf.yml","dependencies":[{"id":22683379522,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":22683379523,"package_name":"openjournals/openjournals-draft-action","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false},{"id":22683379524,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]}],"score":6.7661917146603505,"created_at":"2025-09-04T09:17:45.074Z","updated_at":"2025-10-07T08:04:30.877Z","avatar_url":"https://github.com/ZacharyJia.png","language":"Python","category":"Scientific Software","sub_category":"Peer-reviewed","monthly_downloads":6,"funding_links":[],"readme_doi_urls":["https://doi.org/10.21105/joss.04815"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://science.ecosyste.ms/api/v1/projects/1215","html_url":"https://science.ecosyste.ms/projects/1215"}