{"id":25149,"name":"pyvrp","description":"Open-source, state-of-the-art vehicle routing problem solver in an easy-to-use Python package.","url":"https://github.com/pyvrp/pyvrp","last_synced_at":"2025-09-05T02:39:49.504Z","repository":{"id":65695533,"uuid":"565752037","full_name":"PyVRP/PyVRP","owner":"PyVRP","description":"Open-source, state-of-the-art vehicle routing problem solver in an easy-to-use Python package.","archived":false,"fork":false,"pushed_at":"2025-08-27T13:16:13.000Z","size":12167,"stargazers_count":460,"open_issues_count":40,"forks_count":89,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-08-27T22:15:14.069Z","etag":null,"topics":["cpp","metaheuristic","multi-depot","multi-trip","operations-research","optimization","orienteering","pickup-and-delivery","prize-collecting","python","rich-vrp","solver","time-windows","vehicle-routing-problem","vrp"],"latest_commit_sha":null,"homepage":"https://pyvrp.org/","language":"Python","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/PyVRP.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":".github/CODE_OF_CONDUCT.md","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":"2022-11-14T08:54:57.000Z","updated_at":"2025-08-27T13:54:23.000Z","dependencies_parsed_at":"2023-11-13T22:23:55.792Z","dependency_job_id":"e27cf59c-7aa2-48ea-a9d4-b949fb8bc0f8","html_url":"https://github.com/PyVRP/PyVRP","commit_stats":null,"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/PyVRP/PyVRP","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyVRP%2FPyVRP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyVRP%2FPyVRP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyVRP%2FPyVRP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyVRP%2FPyVRP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyVRP","download_url":"https://codeload.github.com/PyVRP/PyVRP/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyVRP%2FPyVRP/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273703045,"owners_count":25152997,"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-05T02:00:09.113Z","response_time":402,"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":"PyVRP","name":"PyVRP","uuid":"129956415","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/129956415?v=4","repositories_count":1,"last_synced_at":"2023-04-19T19:21:36.769Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/PyVRP","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-04-19T19:21:36.773Z","updated_at":"2023-04-19T19:21:36.773Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyVRP","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyVRP/repositories"},"packages":null,"commits":{"message":"Repository syncing started."},"issues_stats":{"full_name":"PyVRP/PyVRP","html_url":"https://github.com/PyVRP/PyVRP","last_synced_at":"2025-09-03T19:03:00.557Z","status":null,"issues_count":266,"pull_requests_count":642,"avg_time_to_close_issue":11568228.206521738,"avg_time_to_close_pull_request":644571.8777589134,"issues_closed_count":184,"pull_requests_closed_count":589,"pull_request_authors_count":9,"issue_authors_count":43,"avg_comments_per_issue":3.4398496240601504,"avg_comments_per_pull_request":2.5031152647975077,"merged_pull_requests_count":526,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":67,"past_year_pull_requests_count":270,"past_year_avg_time_to_close_issue":259530.32432432432,"past_year_avg_time_to_close_pull_request":413550.0468085106,"past_year_issues_closed_count":37,"past_year_pull_requests_closed_count":235,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":33,"past_year_avg_comments_per_issue":1.537313432835821,"past_year_avg_comments_per_pull_request":2.585185185185185,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":203,"created_at":"2023-05-15T03:49:40.429Z","updated_at":"2025-09-03T19:03:00.559Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyVRP%2FPyVRP","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyVRP%2FPyVRP/issues","issue_labels_count":{"enhancement":92,"maintenance":31,"documentation":20,"bug":15,"discussion":13,"question":11,"performance":11,"support":10,"build-install":9,"experiment":9,"help wanted":8,"release-notes":6,"good first issue":3,"benchmark":3,"research":2,"waiting for funding":1,"waiting for use case":1,"triage":1},"pull_request_labels_count":{"maintenance":8,"bug":7,"documentation":4,"enhancement":2,"experiment":2,"build-install":1},"issue_author_associations_count":{"MEMBER":162,"COLLABORATOR":52,"NONE":51,"CONTRIBUTOR":1},"pull_request_author_associations_count":{"MEMBER":550,"COLLABORATOR":72,"CONTRIBUTOR":14,"NONE":6},"issue_authors":{"N-Wouda":138,"leonlan":48,"wouterkool":28,"yxz777":3,"braktar":3,"HarryZhangHH":2,"camold":2,"shubhampaliwal-fareye":2,"ChristianP85":2,"SemUijen":2,"abb-omidi":2,"bmorlo":2,"Olivier418":2,"dimauloagustin":1,"libklein":1,"HJP-HPS":1,"ljwolf":1,"NUllmann99":1,"selting":1,"flazerain":1,"dirkcremers":1,"pchtsp":1,"sivarathinam":1,"HodaBinaei":1,"shubham441996":1,"Stanpol":1,"pravin4u":1,"omganeshdahale":1,"tassinlouise":1,"keinccgithub":1,"greatathrun":1,"kingofuniverse":1,"CurtisFei":1,"mau-p":1,"nicedouble":1,"Snoeprol":1,"rastislavkopal":1,"ChenChihYuan":1,"PFonteijn":1,"markkvdb":1,"JY00002":1,"Wooonster":1,"KhanhJobs":1},"pull_request_authors":{"N-Wouda":472,"leonlan":113,"wouterkool":37,"joopvdh":10,"alessio-locatelli":4,"libklein":2,"shkangomelet":2,"braktar":1,"ericemrick-8451":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-05T00:00:10.444Z","repositories_count":10083752,"issues_count":31254324,"pull_requests_count":96222393,"authors_count":10694625,"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":{"enhancement":14,"support":7,"maintenance":7,"performance":4,"build-install":3,"bug":3,"release-notes":3,"experiment":2,"question":2,"documentation":2,"triage":1},"past_year_pull_request_labels_count":{"bug":5,"maintenance":4,"enhancement":2,"experiment":2,"documentation":2},"past_year_issue_author_associations_count":{"NONE":36,"MEMBER":26,"COLLABORATOR":3,"CONTRIBUTOR":1},"past_year_pull_request_author_associations_count":{"MEMBER":251,"CONTRIBUTOR":14,"NONE":3,"COLLABORATOR":2},"past_year_issue_authors":{"N-Wouda":24,"yxz777":3,"braktar":3,"wouterkool":3,"Olivier418":2,"leonlan":2,"shubhampaliwal-fareye":2,"HarryZhangHH":2,"ChristianP85":2,"sivarathinam":1,"Snoeprol":1,"shubham441996":1,"selting":1,"PFonteijn":1,"pchtsp":1,"tassinlouise":1,"Wooonster":1,"NUllmann99":1,"nicedouble":1,"ljwolf":1,"libklein":1,"kingofuniverse":1,"KhanhJobs":1,"keinccgithub":1,"HodaBinaei":1,"HJP-HPS":1,"greatathrun":1,"dirkcremers":1,"dimauloagustin":1,"CurtisFei":1,"ChenChihYuan":1,"abb-omidi":1},"past_year_pull_request_authors":{"N-Wouda":206,"leonlan":45,"joopvdh":10,"alessio-locatelli":4,"libklein":2,"wouterkool":2,"braktar":1},"maintainers":[{"login":"N-Wouda","count":610,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/N-Wouda"},{"login":"leonlan","count":161,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/leonlan"},{"login":"wouterkool","count":65,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wouterkool"}],"active_maintainers":[{"login":"N-Wouda","count":230,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/N-Wouda"},{"login":"leonlan","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/leonlan"},{"login":"wouterkool","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wouterkool"}]},"events":null,"keywords":["cpp","metaheuristic","multi-depot","multi-trip","operations-research","optimization","orienteering","pickup-and-delivery","prize-collecting","python","rich-vrp","solver","time-windows","vehicle-routing-problem","vrp"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/CD.yml","sha":null,"kind":"manifest","created_at":"2023-03-04T02:00:26.756Z","updated_at":"2023-03-04T02:00:26.756Z","repository_link":"https://github.com/PyVRP/PyVRP/blob/main/.github/workflows/CD.yml","dependencies":[{"id":7987277458,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7987277461,"package_name":"pypa/cibuildwheel","ecosystem":"actions","requirements":"v2.12.0","direct":true,"kind":"composite","optional":false},{"id":7987277473,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7987277506,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":7987277509,"package_name":"actions/download-artifact","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/CI.yml","sha":null,"kind":"manifest","created_at":"2023-03-04T02:00:26.903Z","updated_at":"2023-03-04T02:00:26.903Z","repository_link":"https://github.com/PyVRP/PyVRP/blob/main/.github/workflows/CI.yml","dependencies":[{"id":7987277553,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7987277554,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":7987277555,"package_name":"actions/cache","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7987277556,"package_name":"egor-tensin/setup-clang","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7987277571,"package_name":"egor-tensin/setup-gcc","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7987277572,"package_name":"codecov/codecov-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2023-03-04T02:00:26.982Z","updated_at":"2023-03-04T02:00:26.982Z","repository_link":"https://github.com/PyVRP/PyVRP/blob/main/pyproject.toml","dependencies":[{"id":7987277650,"package_name":"python","ecosystem":"pypi","requirements":"^3.8,\u003c4.0","direct":true,"kind":"runtime","optional":false},{"id":7987277655,"package_name":"numpy","ecosystem":"pypi","requirements":"\u003e=1.15.2","direct":true,"kind":"runtime","optional":false},{"id":7987277656,"package_name":"matplotlib","ecosystem":"pypi","requirements":"\u003e=2.2.0","direct":true,"kind":"runtime","optional":false},{"id":7987277657,"package_name":"vrplib","ecosystem":"pypi","requirements":"^1.0.0","direct":true,"kind":"runtime","optional":false},{"id":7987277672,"package_name":"tqdm","ecosystem":"pypi","requirements":"^4.64.1","direct":true,"kind":"runtime","optional":false},{"id":7987277676,"package_name":"tomli","ecosystem":"pypi","requirements":"^2.0.1","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/DOC.yml","sha":null,"kind":"manifest","created_at":"2023-09-30T13:36:59.272Z","updated_at":"2023-09-30T13:36:59.272Z","repository_link":"https://github.com/PyVRP/PyVRP/blob/main/.github/workflows/DOC.yml","dependencies":[{"id":14022756752,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":14022756753,"package_name":"actions/configure-pages","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":14022756754,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":14022756755,"package_name":"actions/cache","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":14022756756,"package_name":"egor-tensin/setup-gcc","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":14022756757,"package_name":"actions/upload-pages-artifact","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":14022756758,"package_name":"actions/deploy-pages","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]}],"score":null,"created_at":"2025-09-04T15:50:57.085Z","updated_at":"2025-10-07T08:11:29.682Z","avatar_url":"https://github.com/PyVRP.png","language":"Python","category":null,"sub_category":null,"monthly_downloads":0,"funding_links":[],"readme_doi_urls":["https://doi.org/10.1287/ijoc.2023.0055","https://doi.org/10.1016/j.cor.2021.105643"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://science.ecosyste.ms/api/v1/projects/25149","html_url":"https://science.ecosyste.ms/projects/25149","bibtex_url":"https://science.ecosyste.ms/projects/25149/export.bibtex","apalike_url":"https://science.ecosyste.ms/projects/25149/export.apalike"}