{"id":97,"name":"NanoVer Server","description":"NanoVer Server: A Python Package for Serving Real-Time Multi-User Interactive Molecular Dynamics in Virtual Reality - Published in JOSS (2025)","url":"https://github.com/irl2/nanover-server-py","last_synced_at":"2025-09-04T15:55:50.557Z","repository":{"id":224915690,"uuid":"633317121","full_name":"IRL2/nanover-server-py","owner":"IRL2","description":"Interactive Molecular Dynamics (iMD) in VR","archived":false,"fork":false,"pushed_at":"2025-08-28T11:02:59.000Z","size":108527,"stargazers_count":2,"open_issues_count":30,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-09-01T00:10:16.149Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://irl2.github.io/nanover-docs/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IRL2.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2023-04-27T08:37:30.000Z","updated_at":"2025-08-28T11:03:02.000Z","dependencies_parsed_at":"2024-04-25T11:49:25.308Z","dependency_job_id":"f16b25cb-6d0e-4d6c-86aa-9b842dd38a81","html_url":"https://github.com/IRL2/nanover-server-py","commit_stats":null,"previous_names":["irl2/nanover-protocol","irl2/nanover-server-py"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/IRL2/nanover-server-py","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IRL2%2Fnanover-server-py","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IRL2%2Fnanover-server-py/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IRL2%2Fnanover-server-py/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IRL2%2Fnanover-server-py/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IRL2","download_url":"https://codeload.github.com/IRL2/nanover-server-py/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IRL2%2Fnanover-server-py/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273585572,"owners_count":25132377,"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":"IRL2","name":"IRL2.0","uuid":"1699106","kind":"organization","description":"","email":null,"website":"https://www.intangiblerealitieslab.org/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/1699106?v=4","repositories_count":1,"last_synced_at":"2023-03-10T09:56:40.145Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/IRL2","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-03-10T09:56:40.163Z","updated_at":"2023-03-10T09:56:40.163Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IRL2","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IRL2/repositories"},"packages":[],"commits":{"id":10896161,"full_name":"irl2/nanover-server-py","default_branch":"master","committers":null,"total_commits":null,"total_committers":null,"total_bot_commits":null,"total_bot_committers":null,"mean_commits":null,"dds":null,"past_year_committers":null,"past_year_total_commits":null,"past_year_total_committers":null,"past_year_total_bot_commits":null,"past_year_total_bot_committers":null,"past_year_mean_commits":null,"past_year_dds":null,"last_synced_at":null,"last_synced_commit":null,"created_at":"2025-09-04T09:37:38.933Z","updated_at":"2025-09-04T09:37:38.933Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/irl2%2Fnanover-server-py/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-04T00:00:25.936Z","repositories_count":5480019,"commits_count":853389012,"contributors_count":31098138,"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":"IRL2/nanover-server-py","html_url":"https://github.com/IRL2/nanover-server-py","last_synced_at":"2025-08-31T09:08:02.838Z","status":null,"issues_count":38,"pull_requests_count":60,"avg_time_to_close_issue":5144759.75,"avg_time_to_close_pull_request":660309.8571428572,"issues_closed_count":24,"pull_requests_closed_count":42,"pull_request_authors_count":4,"issue_authors_count":7,"avg_comments_per_issue":0.7368421052631579,"avg_comments_per_pull_request":0.2833333333333333,"merged_pull_requests_count":38,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":37,"past_year_pull_requests_count":60,"past_year_avg_time_to_close_issue":3963557.5217391304,"past_year_avg_time_to_close_pull_request":660309.8571428572,"past_year_issues_closed_count":23,"past_year_pull_requests_closed_count":42,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":6,"past_year_avg_comments_per_issue":0.7297297297297297,"past_year_avg_comments_per_pull_request":0.2833333333333333,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":38,"created_at":"2025-08-29T11:48:08.375Z","updated_at":"2025-09-03T04:44:25.982Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/IRL2%2Fnanover-server-py","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/IRL2%2Fnanover-server-py/issues","issue_labels_count":{"bug":10,"tech debt":6,"documentation":5,"enhancement":5,"tests":4,"Parity with rust":1},"pull_request_labels_count":{"documentation":5,"bug":2,"enhancement":2,"invalid":2,"Parity with rust":1},"issue_author_associations_count":{"COLLABORATOR":46},"pull_request_author_associations_count":{"COLLABORATOR":80},"issue_authors":{"Ragzouken":20,"rhoslynroebuck":11,"hjstroud":10,"Mohamed-Dhouioui":2,"jbarnoud":2,"ludovicaisa":1},"pull_request_authors":{"Ragzouken":59,"hjstroud":11,"rhoslynroebuck":4,"ludovicaisa":4,"Mohamed-Dhouioui":2},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-04T00:00:25.939Z","repositories_count":10076258,"issues_count":31295120,"pull_requests_count":95897354,"authors_count":10691925,"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":{"bug":10,"tech debt":5,"tests":4,"documentation":4,"enhancement":4},"past_year_pull_request_labels_count":{"documentation":5,"bug":2,"enhancement":2,"invalid":2,"Parity with rust":1},"past_year_issue_author_associations_count":{"COLLABORATOR":43},"past_year_pull_request_author_associations_count":{"COLLABORATOR":80},"past_year_issue_authors":{"Ragzouken":19,"rhoslynroebuck":11,"hjstroud":10,"Mohamed-Dhouioui":2,"ludovicaisa":1},"past_year_pull_request_authors":{"Ragzouken":59,"hjstroud":11,"ludovicaisa":4,"rhoslynroebuck":4,"Mohamed-Dhouioui":2},"maintainers":[{"login":"Ragzouken","count":79,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Ragzouken"},{"login":"hjstroud","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hjstroud"},{"login":"rhoslynroebuck","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rhoslynroebuck"},{"login":"ludovicaisa","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ludovicaisa"},{"login":"Mohamed-Dhouioui","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Mohamed-Dhouioui"},{"login":"jbarnoud","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jbarnoud"}],"active_maintainers":[{"login":"Ragzouken","count":78,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Ragzouken"},{"login":"hjstroud","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hjstroud"},{"login":"rhoslynroebuck","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rhoslynroebuck"},{"login":"ludovicaisa","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ludovicaisa"},{"login":"Mohamed-Dhouioui","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Mohamed-Dhouioui"}]},"events":{"total":{"CreateEvent":81,"ReleaseEvent":3,"IssuesEvent":78,"WatchEvent":2,"DeleteEvent":81,"IssueCommentEvent":98,"PushEvent":433,"PullRequestReviewCommentEvent":49,"PullRequestReviewEvent":95,"PullRequestEvent":139},"last_year":{"CreateEvent":81,"ReleaseEvent":3,"IssuesEvent":78,"WatchEvent":2,"DeleteEvent":81,"IssueCommentEvent":98,"PushEvent":433,"PullRequestReviewCommentEvent":49,"PullRequestReviewEvent":95,"PullRequestEvent":139}},"keywords":[],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/conda.yml","sha":null,"kind":"manifest","created_at":"2024-02-28T11:57:33.215Z","updated_at":"2024-02-28T11:57:33.215Z","repository_link":"https://github.com/IRL2/nanover-server-py/blob/main/.github/workflows/conda.yml","dependencies":[{"id":16498071954,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":16498071955,"package_name":"conda-incubator/setup-miniconda","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":16498071956,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":16498071957,"package_name":"actions/download-artifact","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/tests.yml","sha":null,"kind":"manifest","created_at":"2024-02-28T11:57:33.255Z","updated_at":"2024-02-28T11:57:33.255Z","repository_link":"https://github.com/IRL2/nanover-server-py/blob/main/.github/workflows/tests.yml","dependencies":[{"id":16498071966,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":16498071967,"package_name":"conda-incubator/setup-miniconda","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":16498071968,"package_name":"actions/setup-dotnet","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"nuget","filepath":"csharp-libraries/Essd/Essd.csproj","sha":null,"kind":"manifest","created_at":"2024-02-28T11:57:33.331Z","updated_at":"2024-02-28T11:57:33.331Z","repository_link":"https://github.com/IRL2/nanover-server-py/blob/main/csharp-libraries/Essd/Essd.csproj","dependencies":[{"id":16498071969,"package_name":"Newtonsoft.Json","ecosystem":"nuget","requirements":"12.0.3-beta1","direct":true,"kind":"runtime","optional":false},{"id":16498071970,"package_name":"System.Interactive.Async","ecosystem":"nuget","requirements":"4.0.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"nuget","filepath":"csharp-libraries/Essd.Test/Essd.Test.csproj","sha":null,"kind":"manifest","created_at":"2024-02-28T11:57:33.362Z","updated_at":"2024-02-28T11:57:33.362Z","repository_link":"https://github.com/IRL2/nanover-server-py/blob/main/csharp-libraries/Essd.Test/Essd.Test.csproj","dependencies":[{"id":16498071971,"package_name":"nunit","ecosystem":"nuget","requirements":"3.11.0","direct":true,"kind":"runtime","optional":false},{"id":16498071972,"package_name":"NUnit3TestAdapter","ecosystem":"nuget","requirements":"3.11.0","direct":true,"kind":"runtime","optional":false},{"id":16498071973,"package_name":"Microsoft.NET.Test.Sdk","ecosystem":"nuget","requirements":"15.9.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"nuget","filepath":"csharp-libraries/EssdClientCLI/EssdClientCLI.csproj","sha":null,"kind":"manifest","created_at":"2024-02-28T11:57:33.370Z","updated_at":"2024-02-28T11:57:33.370Z","repository_link":"https://github.com/IRL2/nanover-server-py/blob/main/csharp-libraries/EssdClientCLI/EssdClientCLI.csproj","dependencies":[]},{"ecosystem":"nuget","filepath":"csharp-libraries/Nanover.Protocol/Nanover.Protocol.csproj","sha":null,"kind":"manifest","created_at":"2024-02-28T11:57:33.378Z","updated_at":"2024-02-28T11:57:33.378Z","repository_link":"https://github.com/IRL2/nanover-server-py/blob/main/csharp-libraries/Nanover.Protocol/Nanover.Protocol.csproj","dependencies":[{"id":16498071974,"package_name":"Castle.Core","ecosystem":"nuget","requirements":"4.4.0","direct":true,"kind":"runtime","optional":false},{"id":16498071975,"package_name":"Google.Protobuf","ecosystem":"nuget","requirements":"3.10.1","direct":true,"kind":"runtime","optional":false},{"id":16498071976,"package_name":"Grpc","ecosystem":"nuget","requirements":"2.25.0","direct":true,"kind":"runtime","optional":false},{"id":16498071977,"package_name":"Grpc.Tools","ecosystem":"nuget","requirements":"1.19.0","direct":true,"kind":"development","optional":false},{"id":16498071978,"package_name":"JetBrains.Annotations","ecosystem":"nuget","requirements":"2019.1.1","direct":true,"kind":"runtime","optional":false},{"id":16498074580,"package_name":"NSubstitute","ecosystem":"nuget","requirements":"4.2.1","direct":true,"kind":"runtime","optional":false},{"id":16498074581,"package_name":"NUnit","ecosystem":"nuget","requirements":"3.11.0","direct":true,"kind":"runtime","optional":false},{"id":16498074582,"package_name":"System.Buffers","ecosystem":"nuget","requirements":"4.4.0","direct":true,"kind":"runtime","optional":false},{"id":16498074583,"package_name":"System.Memory","ecosystem":"nuget","requirements":"4.5.3","direct":true,"kind":"runtime","optional":false},{"id":16498074584,"package_name":"System.Threading.Channels","ecosystem":"nuget","requirements":"4.6.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"nuget","filepath":"csharp-libraries/Nanover.Protocol.Test/Nanover.Protocol.Test.csproj","sha":null,"kind":"manifest","created_at":"2024-02-28T11:57:35.371Z","updated_at":"2024-02-28T11:57:35.371Z","repository_link":"https://github.com/IRL2/nanover-server-py/blob/main/csharp-libraries/Nanover.Protocol.Test/Nanover.Protocol.Test.csproj","dependencies":[{"id":16498074585,"package_name":"Microsoft.NET.Test.Sdk","ecosystem":"nuget","requirements":"15.7.0","direct":true,"kind":"runtime","optional":false},{"id":16498074586,"package_name":"NUnit","ecosystem":"nuget","requirements":"3.11.0","direct":true,"kind":"runtime","optional":false},{"id":16498074587,"package_name":"NUnit3TestAdapter","ecosystem":"nuget","requirements":"3.13.0","direct":true,"kind":"runtime","optional":false},{"id":16498074588,"package_name":"xunit","ecosystem":"nuget","requirements":"2.3.1","direct":true,"kind":"runtime","optional":false},{"id":16498074589,"package_name":"xunit.runner.visualstudio","ecosystem":"nuget","requirements":"2.3.1","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"python-libraries/nanover-ase/setup.py","sha":null,"kind":"manifest","created_at":"2024-02-28T11:57:35.400Z","updated_at":"2024-02-28T11:57:35.400Z","repository_link":"https://github.com/IRL2/nanover-server-py/blob/main/python-libraries/nanover-ase/setup.py","dependencies":[]},{"ecosystem":"pypi","filepath":"python-libraries/nanover-core/requirements.txt","sha":null,"kind":"manifest","created_at":"2024-02-28T11:57:35.405Z","updated_at":"2024-02-28T11:57:35.405Z","repository_link":"https://github.com/IRL2/nanover-server-py/blob/main/python-libraries/nanover-core/requirements.txt","dependencies":[{"id":16498074590,"package_name":"setuptools","ecosystem":"pypi","requirements":"\u003e=40.1.1","direct":true,"kind":"runtime","optional":false},{"id":16498074591,"package_name":"grpcio","ecosystem":"pypi","requirements":"\u003e=1.33.2","direct":true,"kind":"runtime","optional":false},{"id":16498074592,"package_name":"grpcio-tools","ecosystem":"pypi","requirements":"\u003e=1.0,\u003c1.62","direct":true,"kind":"runtime","optional":false},{"id":16498074593,"package_name":"pytest","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":16498074594,"package_name":"aiogrpc","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":16498074595,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":16498074596,"package_name":"hypothesis","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":16498074597,"package_name":"typing_extensions","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"python-libraries/nanover-core/setup.py","sha":null,"kind":"manifest","created_at":"2024-02-28T11:57:35.811Z","updated_at":"2024-02-28T11:57:35.811Z","repository_link":"https://github.com/IRL2/nanover-server-py/blob/main/python-libraries/nanover-core/setup.py","dependencies":[]},{"ecosystem":"pypi","filepath":"python-libraries/nanover-essd/setup.py","sha":null,"kind":"manifest","created_at":"2024-02-28T11:57:35.817Z","updated_at":"2024-02-28T11:57:35.817Z","repository_link":"https://github.com/IRL2/nanover-server-py/blob/main/python-libraries/nanover-essd/setup.py","dependencies":[]},{"ecosystem":"pypi","filepath":"python-libraries/nanover-lammps/setup.py","sha":null,"kind":"manifest","created_at":"2024-02-28T11:57:35.824Z","updated_at":"2024-02-28T11:57:35.824Z","repository_link":"https://github.com/IRL2/nanover-server-py/blob/main/python-libraries/nanover-lammps/setup.py","dependencies":[]},{"ecosystem":"pypi","filepath":"python-libraries/nanover-mdanalysis/setup.py","sha":null,"kind":"manifest","created_at":"2024-02-28T11:57:35.829Z","updated_at":"2024-02-28T11:57:35.829Z","repository_link":"https://github.com/IRL2/nanover-server-py/blob/main/python-libraries/nanover-mdanalysis/setup.py","dependencies":[]},{"ecosystem":"pypi","filepath":"python-libraries/nanover-openmm/setup.py","sha":null,"kind":"manifest","created_at":"2024-02-28T11:57:35.856Z","updated_at":"2024-02-28T11:57:35.856Z","repository_link":"https://github.com/IRL2/nanover-server-py/blob/main/python-libraries/nanover-openmm/setup.py","dependencies":[]},{"ecosystem":"pypi","filepath":"python-libraries/prototypes/requirements.txt","sha":null,"kind":"manifest","created_at":"2024-02-28T11:57:35.861Z","updated_at":"2024-02-28T11:57:35.861Z","repository_link":"https://github.com/IRL2/nanover-server-py/blob/main/python-libraries/prototypes/requirements.txt","dependencies":[{"id":16498074598,"package_name":"python-osc","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]}],"score":null,"created_at":"2025-09-04T09:17:29.877Z","updated_at":"2025-10-07T08:04:22.914Z","avatar_url":"https://github.com/IRL2.png","language":"Jupyter Notebook","category":"Scientific Software","sub_category":"Peer-reviewed","monthly_downloads":0,"funding_links":[],"readme_doi_urls":["https://doi.org/10.21105/joss.08118","https://doi.org/10.1145/3388536.3407891","https://doi.org/10.1021/acs.jcim.0c01030"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://science.ecosyste.ms/api/v1/projects/97","html_url":"https://science.ecosyste.ms/projects/97","bibtex_url":"https://science.ecosyste.ms/projects/97/export.bibtex","apalike_url":"https://science.ecosyste.ms/projects/97/export.apalike"}