{"id":33995,"name":"upkie","description":"Open-source wheeled biped robots","url":"https://github.com/upkie/upkie","last_synced_at":"2025-09-05T06:03:10.026Z","repository":{"id":41808362,"uuid":"493355698","full_name":"upkie/upkie","owner":"upkie","description":"Open-source wheeled biped robots","archived":false,"fork":false,"pushed_at":"2025-08-13T22:42:11.000Z","size":5895,"stargazers_count":278,"open_issues_count":4,"forks_count":39,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-09-01T05:45:53.219Z","etag":null,"topics":["legged-robotics","legged-robots","locomotion","model-predictive-control","pid-control","python","reinforcement-learning","robotics","simulation","wheeled-biped"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/upkie.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":"2022-05-17T17:46:37.000Z","updated_at":"2025-08-29T09:30:38.000Z","dependencies_parsed_at":"2023-12-22T17:26:36.160Z","dependency_job_id":"d8659161-e1e1-431a-85d3-a60afb9cb6cc","html_url":"https://github.com/upkie/upkie","commit_stats":{"total_commits":2595,"total_committers":14,"mean_commits":"185.35714285714286","dds":0.3961464354527938,"last_synced_commit":"b5af2bef92673dcf840bc7c8876a923faa725b4a"},"previous_names":["tasts-robots/upkie","upkie/upkie","tasts-robots/upkie_locomotion"],"tags_count":33,"template":false,"template_full_name":null,"purl":"pkg:github/upkie/upkie","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/upkie","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273718340,"owners_count":25155489,"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":"upkie","name":"Upkie","uuid":"100861845","kind":"organization","description":"Open source wheeled biped robots","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/100861845?v=4","repositories_count":1,"last_synced_at":"2023-11-10T14:52:17.722Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/upkie","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-15T08:16:36.841Z","updated_at":"2023-11-10T14:52:17.734Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/upkie","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/upkie/repositories"},"packages":[{"id":7902573,"name":"upkie","ecosystem":"pypi","description":"Python module to control Upkie wheeled bipeds.","homepage":"https://hackaday.io/project/185729-upkie-wheeled-biped-robots","licenses":"Apache Software License","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/upkie/upkie","keywords_array":["wheeled","biped","robot","balance","motion","control","robotics"],"namespace":null,"versions_count":30,"first_release_published_at":"2023-06-06T13:14:51.000Z","latest_release_published_at":"2025-08-13T22:38:20.000Z","latest_release_number":"9.0.0","last_synced_at":"2025-08-13T22:45:43.394Z","created_at":"2023-07-07T10:41:20.074Z","updated_at":"2025-08-13T22:45:43.690Z","registry_url":"https://pypi.org/project/upkie/","install_command":"pip install upkie --index-url https://pypi.org/simple","documentation_url":"https://upkie.github.io/upkie/","metadata":{"funding":null,"documentation":"https://upkie.github.io/upkie/","classifiers":["Development Status :: 4 - Beta","Framework :: Robot Framework :: Library","Intended Audience :: Developers","Intended Audience :: Science/Research","License :: OSI Approved :: Apache Software License","Operating System :: OS Independent","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.9","Topic :: Scientific/Engineering"],"normalized_name":"upkie"},"repo_metadata":{"id":41808362,"uuid":"493355698","full_name":"upkie/upkie","owner":"upkie","description":"Open-source wheeled biped robots","archived":false,"fork":false,"pushed_at":"2025-07-18T13:11:33.000Z","size":4994,"stargazers_count":267,"open_issues_count":7,"forks_count":37,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-07-18T13:36:34.234Z","etag":null,"topics":["legged-robotics","legged-robots","locomotion","model-predictive-control","pid-control","python","reinforcement-learning","robotics","simulation","wheeled-biped"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/upkie.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":"2022-05-17T17:46:37.000Z","updated_at":"2025-07-02T03:06:33.000Z","dependencies_parsed_at":"2023-12-22T17:26:36.160Z","dependency_job_id":"d8659161-e1e1-431a-85d3-a60afb9cb6cc","html_url":"https://github.com/upkie/upkie","commit_stats":{"total_commits":2595,"total_committers":14,"mean_commits":"185.35714285714286","dds":0.3961464354527938,"last_synced_commit":"b5af2bef92673dcf840bc7c8876a923faa725b4a"},"previous_names":["tasts-robots/upkie","upkie/upkie","tasts-robots/upkie_locomotion"],"tags_count":33,"template":false,"template_full_name":null,"purl":"pkg:github/upkie/upkie","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/upkie","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267177519,"owners_count":24047945,"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-26T02:00:08.937Z","response_time":62,"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":"upkie","name":"Upkie","uuid":"100861845","kind":"organization","description":"Open source wheeled biped robots","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/100861845?v=4","repositories_count":1,"last_synced_at":"2023-11-10T14:52:17.722Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/upkie","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-15T08:16:36.841Z","updated_at":"2023-11-10T14:52:17.734Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/upkie","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/upkie/repositories"},"tags":[{"name":"v8.1.1","sha":"7b4bb4566b27b7615640211bf77297f4da855150","kind":"commit","published_at":"2025-07-21T20:20:47.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v8.1.1","html_url":"https://github.com/upkie/upkie/releases/tag/v8.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v8.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v8.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v8.1.1/manifests"},{"name":"v8.1.0","sha":"7e44580a9d3da879903457f3d442278beb94feaf","kind":"commit","published_at":"2025-07-21T09:04:01.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v8.1.0","html_url":"https://github.com/upkie/upkie/releases/tag/v8.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v8.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v8.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v8.1.0/manifests"},{"name":"v8.0.0","sha":"541b8ed686508c159a643f8c22316627a96f71ef","kind":"commit","published_at":"2025-05-08T10:36:40.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v8.0.0","html_url":"https://github.com/upkie/upkie/releases/tag/v8.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v8.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v8.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v8.0.0/manifests"},{"name":"v7.0.0","sha":"d349a0218ea67cf25e193016d249834713bcd5c4","kind":"commit","published_at":"2025-03-10T16:37:27.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v7.0.0","html_url":"https://github.com/upkie/upkie/releases/tag/v7.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v7.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v7.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v7.0.0/manifests"},{"name":"v6.1.0","sha":"ee23b03f1fdfd2907f06634c6f04b7505188fc1b","kind":"commit","published_at":"2024-12-12T19:46:07.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v6.1.0","html_url":"https://github.com/upkie/upkie/releases/tag/v6.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v6.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v6.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v6.1.0/manifests"},{"name":"v6.0.0","sha":"0ecbee823313e384af7f6abc731f183f9fd6be71","kind":"commit","published_at":"2024-11-01T11:50:29.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v6.0.0","html_url":"https://github.com/upkie/upkie/releases/tag/v6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v6.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v6.0.0/manifests"},{"name":"v5.2.0","sha":"f99df3279eaf05029b619dfd583c072b13df3530","kind":"commit","published_at":"2024-09-30T19:15:46.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v5.2.0","html_url":"https://github.com/upkie/upkie/releases/tag/v5.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v5.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v5.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v5.2.0/manifests"},{"name":"v5.1.0","sha":"29a81385afd121888868c25217fc9cb3f5b1a694","kind":"commit","published_at":"2024-08-14T14:03:38.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v5.1.0","html_url":"https://github.com/upkie/upkie/releases/tag/v5.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v5.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v5.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v5.1.0/manifests"},{"name":"v5.0.1","sha":"51d8c56235bf4c77eecf63ecc2e68824c10d616d","kind":"commit","published_at":"2024-08-01T13:54:28.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v5.0.1","html_url":"https://github.com/upkie/upkie/releases/tag/v5.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v5.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v5.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v5.0.1/manifests"},{"name":"v5.0.0","sha":"3a7c74d987af661923c530e642ff19e19849ea7e","kind":"commit","published_at":"2024-08-01T11:39:51.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v5.0.0","html_url":"https://github.com/upkie/upkie/releases/tag/v5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v5.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v5.0.0/manifests"},{"name":"v4.0.0","sha":"a881b70f5e8b5facd7c4667b0ff3d4be053f5061","kind":"commit","published_at":"2024-06-12T17:35:49.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v4.0.0","html_url":"https://github.com/upkie/upkie/releases/tag/v4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v4.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v4.0.0/manifests"},{"name":"v3.4.0","sha":"d6b91e4bcacc60e814637e9a59faba1a0e092eb3","kind":"commit","published_at":"2024-03-21T14:54:13.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v3.4.0","html_url":"https://github.com/upkie/upkie/releases/tag/v3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v3.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v3.4.0/manifests"},{"name":"v3.3.0","sha":"ce731580cf4c91fc767d82ce914e78fa53add959","kind":"commit","published_at":"2024-02-20T11:15:45.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v3.3.0","html_url":"https://github.com/upkie/upkie/releases/tag/v3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v3.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v3.3.0/manifests"},{"name":"v3.2.0","sha":"56d2715f4908ce95b60016b8c5e5b8a7fef86438","kind":"commit","published_at":"2024-02-08T09:37:23.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v3.2.0","html_url":"https://github.com/upkie/upkie/releases/tag/v3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v3.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v3.2.0/manifests"},{"name":"v3.1.0","sha":"b7a5db2d2f3315c96d6daabfb82c0b0b8574d510","kind":"commit","published_at":"2023-12-22T17:38:03.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v3.1.0","html_url":"https://github.com/upkie/upkie/releases/tag/v3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v3.1.0/manifests"},{"name":"v3.0.0","sha":"bc979b7a97086cfa92b442f91ab2cc7fcff0564e","kind":"commit","published_at":"2023-12-01T16:03:15.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v3.0.0","html_url":"https://github.com/upkie/upkie/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v3.0.0/manifests"},{"name":"v2.0.0","sha":"899dc0214aa2da31d0cdce1dd9f7bacba1c9615d","kind":"commit","published_at":"2023-10-26T17:01:29.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v2.0.0","html_url":"https://github.com/upkie/upkie/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v2.0.0/manifests"},{"name":"v1.5.0","sha":"6552827a09c018b202e57f78318ac4badeb973bf","kind":"commit","published_at":"2023-09-29T16:14:02.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v1.5.0","html_url":"https://github.com/upkie/upkie/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v1.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v1.5.0/manifests"},{"name":"v1.4.0","sha":"7a8280c0b41d356bd8ccdf75f207a596798b1ce0","kind":"commit","published_at":"2023-08-24T09:59:38.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v1.4.0","html_url":"https://github.com/upkie/upkie/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v1.4.0/manifests"},{"name":"v1.3.4","sha":"2a29a7afcd637cdff5a64e499df71c3b080ea3ea","kind":"commit","published_at":"2023-08-09T09:32:18.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v1.3.4","html_url":"https://github.com/upkie/upkie/releases/tag/v1.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v1.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v1.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v1.3.4/manifests"},{"name":"v1.3.3","sha":"73939daf20782c13ff967c505d645ff1d24b5f07","kind":"commit","published_at":"2023-08-07T10:14:14.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v1.3.3","html_url":"https://github.com/upkie/upkie/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v1.3.3/manifests"},{"name":"v1.3.2","sha":"03e5fc7a3ebd96945f473a32d66ee79490f02ac7","kind":"commit","published_at":"2023-08-07T09:32:22.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v1.3.2","html_url":"https://github.com/upkie/upkie/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"75ca2e4e0d4f3b4ea45e74e3a19b4aa4e723e10f","kind":"commit","published_at":"2023-07-28T17:57:24.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v1.3.1","html_url":"https://github.com/upkie/upkie/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"9994005870d6cdfbafdbdee7c19948535d8bef6d","kind":"commit","published_at":"2023-07-26T08:27:45.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v1.3.0","html_url":"https://github.com/upkie/upkie/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v1.3.0/manifests"},{"name":"v1.2.1","sha":"b3bdcdad72c93b1346ca8e8956537a0e87f42c7f","kind":"commit","published_at":"2023-07-18T17:27:08.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v1.2.1","html_url":"https://github.com/upkie/upkie/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v1.2.1/manifests"},{"name":"v1.2.0","sha":"1944f7d1668de087b82edcd304c0c1be1f4bc868","kind":"commit","published_at":"2023-07-18T17:10:54.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v1.2.0","html_url":"https://github.com/upkie/upkie/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v1.2.0/manifests"},{"name":"v1.1.0","sha":"8ed519babc2708a9319635cf6a40b42b9df6e4d2","kind":"commit","published_at":"2023-07-07T10:07:05.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v1.1.0","html_url":"https://github.com/upkie/upkie/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v1.1.0/manifests"},{"name":"v1.0.0","sha":"01508dae09368c2a266f20ebefa93765af7794f1","kind":"commit","published_at":"2023-06-12T17:38:46.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v1.0.0","html_url":"https://github.com/upkie/upkie/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v1.0.0/manifests"},{"name":"v0.5.0","sha":"bf662776383abbe6b27d765871679f56d6a8022f","kind":"commit","published_at":"2023-06-05T16:52:54.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v0.5.0","html_url":"https://github.com/upkie/upkie/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"94f42eaff150f0db0707fdcf1cf0bf320cad3373","kind":"commit","published_at":"2023-04-06T12:06:29.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v0.4.0","html_url":"https://github.com/upkie/upkie/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"6c5c1c87e3f1fb79f0e71641c8abfafdb1335ef5","kind":"commit","published_at":"2023-03-13T15:12:17.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v0.3.0","html_url":"https://github.com/upkie/upkie/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"20eb96c5e56456759adfe18ad7282ae71b63f450","kind":"commit","published_at":"2023-03-03T10:52:52.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v0.2.0","html_url":"https://github.com/upkie/upkie/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v0.2.0/manifests"},{"name":"v0.1.0","sha":"4d5cdddb5047ee4203dd75a229be78a48d43b7cc","kind":"commit","published_at":"2022-09-12T16:39:20.000Z","download_url":"https://codeload.github.com/upkie/upkie/tar.gz/v0.1.0","html_url":"https://github.com/upkie/upkie/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/upkie/upkie@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2025-07-29T18:04:40.482Z","dependent_packages_count":0,"downloads":285,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":17.15201412319851,"dependent_repos_count":41.476427848116934,"dependent_packages_count":7.24104434054296,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":21.956495437286133},"purl":"pkg:pypi/upkie","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/upkie","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/upkie","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/upkie/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-06-29T16:04:01.381Z","issues_count":61,"pull_requests_count":157,"avg_time_to_close_issue":8026299.872727273,"avg_time_to_close_pull_request":468441.4423076923,"issues_closed_count":55,"pull_requests_closed_count":156,"pull_request_authors_count":7,"issue_authors_count":10,"avg_comments_per_issue":1.4426229508196722,"avg_comments_per_pull_request":1.2038216560509554,"merged_pull_requests_count":151,"bot_issues_count":0,"bot_pull_requests_count":7,"past_year_issues_count":11,"past_year_pull_requests_count":26,"past_year_avg_time_to_close_issue":2611194.8571428573,"past_year_avg_time_to_close_pull_request":388660.76,"past_year_issues_closed_count":7,"past_year_pull_requests_closed_count":25,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":6,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":1.3461538461538463,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":24,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/issues","maintainers":[{"login":"stephane-caron","count":77,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/stephane-caron"}],"active_maintainers":[{"login":"stephane-caron","count":27,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/stephane-caron"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/upkie/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/upkie/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/upkie/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/upkie/related_packages","maintainers":[{"uuid":"stephane-caron","login":"stephane-caron","name":null,"email":null,"url":null,"packages_count":26,"html_url":"https://pypi.org/user/stephane-caron/","role":null,"created_at":"2023-07-07T10:41:21.254Z","updated_at":"2023-07-07T10:41:21.254Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/stephane-caron/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":725002,"maintainers_count":308313,"namespaces_count":0,"keywords_count":238006,"github":"pypi","metadata":{"funded_packages_count":50519},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-09-05T05:40:58.860Z","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":5044899,"full_name":"upkie/upkie","default_branch":"main","committers":[{"name":"Stéphane Caron","email":"stephane.caron@normalesup.org","login":"stephane-caron","count":2541},{"name":"Tordjx","email":"valentin.tordjman--levavasseur@ensae.fr","login":"Tordjx","count":103},{"name":"pgraverdy","email":"pgraverdy@gmail.com","login":"pgraverdy","count":45},{"name":"boragokbakan","email":"bgokbakan@gmail.com","login":"ubgk","count":38},{"name":"perrin-isir","email":"nicolas.perrin@sorbonne-universite.fr","login":null,"count":24},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":18},{"name":"Valentin Tordjman--Levavasseur","email":"vtordjma@ptb-02009426.paris.inria.fr","login":null,"count":11},{"name":"Viviane Ledoux","email":"viviane.ledoux@inria.fr","login":"vivianeledoux","count":3},{"name":"Antonin RAFFIN","email":"antonin.raffin@ensta.org","login":"araffin","count":2},{"name":"shaoanlu","email":"shaoanlu@gmail.com","login":"shaoanlu","count":1},{"name":"=","email":"=","login":null,"count":1},{"name":"Stéphane Caron","email":"stephane@scaron.info","login":null,"count":1}],"total_commits":2788,"total_committers":12,"total_bot_commits":18,"total_bot_committers":1,"mean_commits":232.33333333333334,"dds":0.0885939741750359,"past_year_committers":[{"name":"Stéphane Caron","email":"stephane.caron@inria.fr","login":"stephane-caron","count":893},{"name":"Tordjx","email":"valentin.tordjman--levavasseur@ensae.fr","login":"Tordjx","count":103},{"name":"ubgk","email":"82390536+ubgk","login":"ubgk","count":13},{"name":"Valentin Tordjman--Levavasseur","email":"vtordjma@ptb-02009426.paris.inria.fr","login":null,"count":11},{"name":"shaoanlu","email":"shaoanlu@gmail.com","login":"shaoanlu","count":1},{"name":"=","email":"=","login":null,"count":1}],"past_year_total_commits":1022,"past_year_total_committers":6,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":170.33333333333334,"past_year_dds":0.1262230919765166,"last_synced_at":"2025-05-16T00:57:43.776Z","last_synced_commit":"5243e680b473073c626f512b152daa7bcda3f532","created_at":"2024-11-11T01:18:26.375Z","updated_at":"2025-05-16T00:57:43.799Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/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":"upkie/upkie","html_url":"https://github.com/upkie/upkie","last_synced_at":"2025-08-31T14:13:10.333Z","status":null,"issues_count":28,"pull_requests_count":80,"avg_time_to_close_issue":10117921.652173912,"avg_time_to_close_pull_request":314469.41333333333,"issues_closed_count":23,"pull_requests_closed_count":75,"pull_request_authors_count":7,"issue_authors_count":8,"avg_comments_per_issue":1.4642857142857142,"avg_comments_per_pull_request":1.1375,"merged_pull_requests_count":73,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":9,"past_year_pull_requests_count":37,"past_year_avg_time_to_close_issue":252543.0,"past_year_avg_time_to_close_pull_request":367208.4375,"past_year_issues_closed_count":6,"past_year_pull_requests_closed_count":32,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":1.1081081081081081,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":31,"created_at":"2024-11-11T01:18:29.372Z","updated_at":"2025-09-03T04:43:34.969Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/upkie%2Fupkie/issues","issue_labels_count":{"bug":16,"enhancement":15},"pull_request_labels_count":{"dependencies":7,"no changelog":5},"issue_author_associations_count":{"MEMBER":28,"NONE":10,"CONTRIBUTOR":4},"pull_request_author_associations_count":{"MEMBER":153,"CONTRIBUTOR":27,"NONE":5},"issue_authors":{"stephane-caron":28,"ubgk":2,"itazap":2,"mariogpascual":2,"perrin-isir":2,"pgraverdy":2,"one-for-all":1,"FEIPNG":1,"Wyzard1004":1,"Wyzard2025":1},"pull_request_authors":{"stephane-caron":153,"ubgk":8,"Tordjx":8,"dependabot[bot]":7,"pgraverdy":3,"shaoanlu":2,"marlinlm":1,"araffin":1,"perrin-isir":1,"vivianeledoux":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-04T00:00:25.939Z","repositories_count":10082405,"issues_count":31230170,"pull_requests_count":96100294,"authors_count":10694153,"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,"enhancement":2},"past_year_pull_request_labels_count":{"no changelog":3},"past_year_issue_author_associations_count":{"MEMBER":6,"NONE":6,"CONTRIBUTOR":1},"past_year_pull_request_author_associations_count":{"MEMBER":54,"CONTRIBUTOR":10,"NONE":1},"past_year_issue_authors":{"stephane-caron":6,"itazap":2,"FEIPNG":1,"one-for-all":1,"ubgk":1,"Wyzard1004":1,"Wyzard2025":1},"past_year_pull_request_authors":{"stephane-caron":54,"Tordjx":5,"ubgk":4,"shaoanlu":2},"maintainers":[{"login":"stephane-caron","count":181,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/stephane-caron"}],"active_maintainers":[{"login":"stephane-caron","count":60,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/stephane-caron"}]},"events":{"total":{"CreateEvent":32,"ReleaseEvent":5,"IssuesEvent":20,"WatchEvent":107,"DeleteEvent":30,"IssueCommentEvent":57,"PushEvent":353,"PullRequestReviewCommentEvent":31,"PullRequestReviewEvent":21,"GollumEvent":8,"PullRequestEvent":57,"ForkEvent":11},"last_year":{"CreateEvent":32,"ReleaseEvent":5,"IssuesEvent":20,"WatchEvent":107,"DeleteEvent":30,"IssueCommentEvent":57,"PushEvent":353,"PullRequestReviewCommentEvent":31,"PullRequestReviewEvent":21,"GollumEvent":8,"PullRequestEvent":57,"ForkEvent":11}},"keywords":["legged-robotics","legged-robots","locomotion","model-predictive-control","pid-control","python","reinforcement-learning","robotics","simulation","wheeled-biped"],"dependencies":null,"score":13.782805531545966,"created_at":"2025-09-04T15:51:07.341Z","updated_at":"2025-10-07T08:14:16.273Z","avatar_url":"https://github.com/upkie.png","language":"C++","category":null,"sub_category":null,"monthly_downloads":285,"funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["neutronics","mesh","interpretability","simulations","hydrology","benchmarking","gym-environment","sequences","projection","interactive"],"project_url":"https://science.ecosyste.ms/api/v1/projects/33995","html_url":"https://science.ecosyste.ms/projects/33995","bibtex_url":"https://science.ecosyste.ms/projects/33995/export.bibtex","apalike_url":"https://science.ecosyste.ms/projects/33995/export.apalike"}