{"id":2441,"name":"Pybotics","description":"Pybotics: Python Toolbox for Robotics - Published in JOSS (2019)","url":"https://github.com/engnadeau/pybotics","last_synced_at":"2025-09-04T16:46:38.222Z","repository":{"id":11114068,"uuid":"66797360","full_name":"engnadeau/pybotics","owner":"engnadeau","description":"The Python Toolbox for Robotics","archived":true,"fork":false,"pushed_at":"2024-10-08T03:04:44.000Z","size":6377,"stargazers_count":349,"open_issues_count":33,"forks_count":63,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-08-28T02:32:18.892Z","etag":null,"topics":["calibration","doi","dynamics","hacktoberfest","impedance-control","inverse-kinematics","kinematics","math","mathematics","numpy","pypi","python","python-toolbox","research","robot","robotics","scipy","trajectory"],"latest_commit_sha":null,"homepage":"https://pybotics.readthedocs.io/","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/engnadeau.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["engnadeau"],"ko_fi":"engnadeau"}},"created_at":"2016-08-29T00:07:34.000Z","updated_at":"2025-05-30T08:49:17.000Z","dependencies_parsed_at":"2023-09-24T06:32:08.506Z","dependency_job_id":"416e3e90-0099-4ac2-8ec5-e94d24871048","html_url":"https://github.com/engnadeau/pybotics","commit_stats":{"total_commits":1411,"total_committers":13,"mean_commits":"108.53846153846153","dds":0.6761162296243799,"last_synced_commit":"ab8e188a387447f9ce47aedcfacad487f4d0135a"},"previous_names":["nnadeau/pybotics"],"tags_count":36,"template":false,"template_full_name":null,"purl":"pkg:github/engnadeau/pybotics","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/engnadeau","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273523663,"owners_count":25120864,"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-03T02:00:09.631Z","response_time":76,"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":"engnadeau","name":"Nicholas Nadeau, Ph.D., P.Eng.","uuid":"6395915","kind":"user","description":"Building Personal Intelligence","email":"","website":"https://nicholasnadeau.com/","location":"Canada","twitter":"EngNadeau","company":"@Onix-AI ","icon_url":"https://avatars.githubusercontent.com/u/6395915?u=747f5d9cf92dd6e8b6fb835a0da72dc579297865\u0026v=4","repositories_count":109,"last_synced_at":"2025-08-29T11:42:39.716Z","metadata":{"has_sponsors_listing":true},"html_url":"https://github.com/engnadeau","funding_links":["https://github.com/sponsors/engnadeau"],"total_stars":387,"followers":71,"following":46,"created_at":"2022-11-06T07:07:39.390Z","updated_at":"2025-08-29T11:42:39.716Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/engnadeau","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/engnadeau/repositories"},"packages":[{"id":2866232,"name":"pybotics","ecosystem":"pypi","description":"Python Toolbox for Robotics","homepage":"https://github.com/engnadeau/pybotics","licenses":"OSI Approved,MIT License","normalized_licenses":["MIT"],"repository_url":"https://github.com/engnadeau/pybotics","keywords_array":["robot","research","automation","kinematics","geometry"],"namespace":null,"versions_count":26,"first_release_published_at":"2017-01-22T00:00:37.000Z","latest_release_published_at":"2023-04-24T14:16:51.000Z","latest_release_number":"3.1.2","last_synced_at":"2025-09-03T23:11:09.168Z","created_at":"2022-04-10T12:10:10.885Z","updated_at":"2025-09-04T10:14:04.224Z","registry_url":"https://pypi.org/project/pybotics/","install_command":"pip install pybotics --index-url https://pypi.org/simple","documentation_url":"https://github.com/engnadeau/pybotics","metadata":{"funding":null,"documentation":"https://github.com/engnadeau/pybotics","classifiers":["Development Status :: 5 - Production/Stable","Framework :: Robot Framework","Framework :: Robot Framework :: Library","Framework :: Robot Framework :: Tool","Intended Audience :: Developers","Intended Audience :: Education","Intended Audience :: End Users/Desktop","Intended Audience :: Manufacturing","Intended Audience :: Science/Research","License :: OSI Approved","License :: OSI Approved :: MIT License","Natural Language :: English","Operating System :: MacOS","Operating System :: Microsoft","Operating System :: Microsoft :: Windows","Operating System :: OS Independent","Operating System :: POSIX","Operating System :: POSIX :: Linux","Programming Language :: Python :: 3","Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9","Programming Language :: Python :: Implementation :: CPython","Topic :: Education","Topic :: Other/Nonlisted Topic","Topic :: Scientific/Engineering","Topic :: Scientific/Engineering :: Artificial Intelligence","Topic :: Scientific/Engineering :: Human Machine Interfaces","Topic :: Scientific/Engineering :: Mathematics","Topic :: Scientific/Engineering :: Physics","Topic :: Software Development","Topic :: Software Development :: Libraries","Topic :: Software Development :: Libraries :: Python Modules","Topic :: Software Development :: Testing :: Mocking","Topic :: System","Topic :: System :: Hardware","Topic :: Utilities","Typing :: Typed"],"normalized_name":"pybotics","project_status":null},"repo_metadata":{"id":11114068,"uuid":"66797360","full_name":"engnadeau/pybotics","owner":"engnadeau","description":"The Python Toolbox for Robotics","archived":true,"fork":false,"pushed_at":"2024-10-08T03:04:44.000Z","size":6377,"stargazers_count":349,"open_issues_count":33,"forks_count":63,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-08-28T02:32:18.892Z","etag":null,"topics":["calibration","doi","dynamics","hacktoberfest","impedance-control","inverse-kinematics","kinematics","math","mathematics","numpy","pypi","python","python-toolbox","research","robot","robotics","scipy","trajectory"],"latest_commit_sha":null,"homepage":"https://pybotics.readthedocs.io/","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/engnadeau.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["engnadeau"],"ko_fi":"engnadeau"}},"created_at":"2016-08-29T00:07:34.000Z","updated_at":"2025-05-30T08:49:17.000Z","dependencies_parsed_at":"2023-09-24T06:32:08.506Z","dependency_job_id":"416e3e90-0099-4ac2-8ec5-e94d24871048","html_url":"https://github.com/engnadeau/pybotics","commit_stats":{"total_commits":1411,"total_committers":13,"mean_commits":"108.53846153846153","dds":0.6761162296243799,"last_synced_commit":"ab8e188a387447f9ce47aedcfacad487f4d0135a"},"previous_names":["nnadeau/pybotics"],"tags_count":36,"template":false,"template_full_name":null,"purl":"pkg:github/engnadeau/pybotics","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/engnadeau","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273523663,"owners_count":25120864,"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-03T02:00:09.631Z","response_time":76,"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":"engnadeau","name":"Nicholas Nadeau, Ph.D., P.Eng.","uuid":"6395915","kind":"user","description":"Building Personal Intelligence","email":"","website":"https://nicholasnadeau.com/","location":"Canada","twitter":"EngNadeau","company":"@Onix-AI ","icon_url":"https://avatars.githubusercontent.com/u/6395915?u=747f5d9cf92dd6e8b6fb835a0da72dc579297865\u0026v=4","repositories_count":109,"last_synced_at":"2025-08-29T11:42:39.716Z","metadata":{"has_sponsors_listing":true},"html_url":"https://github.com/engnadeau","funding_links":["https://github.com/sponsors/engnadeau"],"total_stars":387,"followers":71,"following":46,"created_at":"2022-11-06T07:07:39.390Z","updated_at":"2025-08-29T11:42:39.716Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/engnadeau","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/engnadeau/repositories"},"tags":[{"name":"3.1.3","sha":"63f6e5346f7503b5a618728f9524b90498ab4db1","kind":"commit","published_at":"2023-08-30T19:34:53.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/3.1.3","html_url":"https://github.com/engnadeau/pybotics/releases/tag/3.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@3.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/3.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/3.1.3/manifests"},{"name":"3.1.2","sha":"f735e8c919a0fa63f7b58aa30357d60830e0ec25","kind":"commit","published_at":"2023-04-24T14:15:52.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/3.1.2","html_url":"https://github.com/engnadeau/pybotics/releases/tag/3.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@3.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/3.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/3.1.2/manifests"},{"name":"3.1.1","sha":"7f133fa829e9cf03705cb651153cc6b912c07ce8","kind":"commit","published_at":"2023-04-19T15:36:04.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/3.1.1","html_url":"https://github.com/engnadeau/pybotics/releases/tag/3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@3.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/3.1.1/manifests"},{"name":"3.1.0","sha":"90f825b5acb2542a1748719d8673c0295bcafc15","kind":"commit","published_at":"2022-09-26T15:05:11.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/3.1.0","html_url":"https://github.com/engnadeau/pybotics/releases/tag/3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/3.1.0/manifests"},{"name":"3.0.1","sha":"5dbe23bdd5d893af79d8cadca8d8ecf9a2d34e43","kind":"commit","published_at":"2022-08-30T05:46:08.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/3.0.1","html_url":"https://github.com/engnadeau/pybotics/releases/tag/3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/3.0.1/manifests"},{"name":"3.0.0","sha":"2e4cf7a2040eceb5832977865255c69b3ff3d73f","kind":"commit","published_at":"2022-08-30T04:07:26.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/3.0.0","html_url":"https://github.com/engnadeau/pybotics/releases/tag/3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/3.0.0/manifests"},{"name":"2.0.1","sha":"8f5dfab37b0a34f552387a700958309b5e0997fa","kind":"commit","published_at":"2022-08-26T17:49:58.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/2.0.1","html_url":"https://github.com/engnadeau/pybotics/releases/tag/2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/2.0.1/manifests"},{"name":"2.0.0","sha":"a4acc2233eab20795f216fb3d8568f06785db0f0","kind":"commit","published_at":"2022-08-22T21:18:17.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/2.0.0","html_url":"https://github.com/engnadeau/pybotics/releases/tag/2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/2.0.0/manifests"},{"name":"1.1.0","sha":"98c08fc423407f66b4f09439d54336bbd21c0eb5","kind":"commit","published_at":"2022-01-03T23:42:06.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/1.1.0","html_url":"https://github.com/engnadeau/pybotics/releases/tag/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/1.1.0/manifests"},{"name":"1.0.0","sha":"d5862a5098908877aca1433c9c7cfedf4d5a649d","kind":"commit","published_at":"2020-08-17T18:34:23.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/1.0.0","html_url":"https://github.com/engnadeau/pybotics/releases/tag/1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/1.0.0/manifests"},{"name":"0.8.1","sha":"539ab5419c460c63239e30bac6248799da5e4173","kind":"commit","published_at":"2020-08-17T16:36:54.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/0.8.1","html_url":"https://github.com/engnadeau/pybotics/releases/tag/0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@0.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.8.1/manifests"},{"name":"0.8.0","sha":"60a2a3c862a0ccf4e41533f18b6f3f56761eae89","kind":"commit","published_at":"2020-08-17T16:05:11.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/0.8.0","html_url":"https://github.com/engnadeau/pybotics/releases/tag/0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.8.0/manifests"},{"name":"0.7.5","sha":"743f5cb47e9b7fbd641155357acad96843e8767a","kind":"commit","published_at":"2020-08-08T18:20:18.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/0.7.5","html_url":"https://github.com/engnadeau/pybotics/releases/tag/0.7.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@0.7.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.7.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.7.5/manifests"},{"name":"0.7.4","sha":"39e2ffab6abd25d50705706da39c866574ae9e93","kind":"commit","published_at":"2020-08-08T16:32:33.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/0.7.4","html_url":"https://github.com/engnadeau/pybotics/releases/tag/0.7.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@0.7.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.7.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.7.4/manifests"},{"name":"0.7.3","sha":"ef8ceac9046c4387889bfc44469ad81646f451a0","kind":"commit","published_at":"2019-09-30T02:46:49.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/0.7.3","html_url":"https://github.com/engnadeau/pybotics/releases/tag/0.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@0.7.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.7.3/manifests"},{"name":"0.7.2","sha":"a5b12f25e362fe102802192c06611e32d13614f3","kind":"commit","published_at":"2019-09-30T02:10:40.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/0.7.2","html_url":"https://github.com/engnadeau/pybotics/releases/tag/0.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@0.7.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.7.2/manifests"},{"name":"0.7.1","sha":"ded1d4fd45a258a6da39bc743a28240c7e6ac6f2","kind":"commit","published_at":"2019-09-13T12:41:35.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/0.7.1","html_url":"https://github.com/engnadeau/pybotics/releases/tag/0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@0.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.7.1/manifests"},{"name":"0.7.0","sha":"e2cd6b10fcae40f768b0d054f43b122fde9d12f0","kind":"commit","published_at":"2019-09-10T12:55:02.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/0.7.0","html_url":"https://github.com/engnadeau/pybotics/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.7.0/manifests"},{"name":"0.6.0","sha":"4115abbc8ab0e34137609a05038fd01f0f3da7c6","kind":"commit","published_at":"2018-04-10T18:51:41.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/0.6.0","html_url":"https://github.com/engnadeau/pybotics/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.6.0/manifests"},{"name":"0.5.0","sha":"bc5af98c3a22a23a955c661af5a041378da44aff","kind":"commit","published_at":"2017-11-19T02:53:46.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/0.5.0","html_url":"https://github.com/engnadeau/pybotics/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.5.0/manifests"},{"name":"0.4.1","sha":"0db7370b4ffe1eccd0759ba30cfaae9ecf373af1","kind":"commit","published_at":"2017-11-11T04:19:42.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/0.4.1","html_url":"https://github.com/engnadeau/pybotics/releases/tag/0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.4.1/manifests"},{"name":"0.4.0","sha":"b3aabfe0f8324774ee8d1468c488771204a7ce31","kind":"commit","published_at":"2017-11-09T03:56:40.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/0.4.0","html_url":"https://github.com/engnadeau/pybotics/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.4.0/manifests"},{"name":"0.3.2","sha":"9d4f4f1dd279768e88364ed13c09c7e984989056","kind":"commit","published_at":"2017-06-21T01:34:24.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/0.3.2","html_url":"https://github.com/engnadeau/pybotics/releases/tag/0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.3.2/manifests"},{"name":"0.3.1","sha":"9e24634ba245b31b2c9fce9fa47598b81fe54f3a","kind":"commit","published_at":"2017-06-16T02:21:28.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/0.3.1","html_url":"https://github.com/engnadeau/pybotics/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.3.1/manifests"},{"name":"0.3.0","sha":"ac895b73803a419952afb5b2f77361b88f52a4e8","kind":"commit","published_at":"2017-06-15T02:07:54.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/0.3.0","html_url":"https://github.com/engnadeau/pybotics/releases/tag/0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.3.0/manifests"},{"name":"0.2.7","sha":"d62384d391c975323a6a85d6ca508fabd715f9f1","kind":"tag","published_at":"2017-01-22T03:24:51.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/0.2.7","html_url":"https://github.com/engnadeau/pybotics/releases/tag/0.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@0.2.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.2.7/manifests"},{"name":"0.2.6","sha":"1b96d6d6617158fbc694d4d81609a07282492683","kind":"tag","published_at":"2017-01-22T02:39:04.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/0.2.6","html_url":"https://github.com/engnadeau/pybotics/releases/tag/0.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@0.2.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.2.6/manifests"},{"name":"0.2.3","sha":"e189840e37a26c71c4cf17f81c5b7eac571036d4","kind":"tag","published_at":"2017-01-22T02:15:33.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/0.2.3","html_url":"https://github.com/engnadeau/pybotics/releases/tag/0.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@0.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.2.3/manifests"},{"name":"0.2.2","sha":"080f8c5865b28698d0a49fc44ce4630190110a68","kind":"tag","published_at":"2017-01-22T02:08:01.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/0.2.2","html_url":"https://github.com/engnadeau/pybotics/releases/tag/0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@0.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.2.2/manifests"},{"name":"0.2.1","sha":"93c94a512aadee4e86df1f78214d41e2c96286ac","kind":"tag","published_at":"2017-01-22T01:31:48.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/0.2.1","html_url":"https://github.com/engnadeau/pybotics/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.2.1/manifests"},{"name":"0.2.0","sha":"0d280c012442fde8901657d586f1c989fdcd8d99","kind":"tag","published_at":"2017-01-21T22:08:05.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/0.2.0","html_url":"https://github.com/engnadeau/pybotics/releases/tag/0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.2.0/manifests"},{"name":"0.1.4","sha":"589e0bb6a7b1ac53a022e3ee6be4d304b53e6672","kind":"commit","published_at":"2017-01-05T02:28:25.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/0.1.4","html_url":"https://github.com/engnadeau/pybotics/releases/tag/0.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@0.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.1.4/manifests"},{"name":"0.1.3","sha":"ba19539659dabbca64e41fe43464835589312104","kind":"tag","published_at":"2017-01-01T03:18:50.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/0.1.3","html_url":"https://github.com/engnadeau/pybotics/releases/tag/0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.1.3/manifests"},{"name":"0.1.2","sha":"8bdd90059edb2d06251ce0869b0d2df33a21bd15","kind":"tag","published_at":"2016-12-31T23:15:26.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/0.1.2","html_url":"https://github.com/engnadeau/pybotics/releases/tag/0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.1.2/manifests"},{"name":"0.1.1","sha":"bfc8608a9a10aea412067e3cf6eb955aa8a4aea8","kind":"tag","published_at":"2016-12-31T16:47:21.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/0.1.1","html_url":"https://github.com/engnadeau/pybotics/releases/tag/0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@0.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.1.1/manifests"},{"name":"0.1.0","sha":"1fbe10313ed07f4873b93a7eb2bef4f0ce3392ca","kind":"tag","published_at":"2016-09-16T18:58:15.000Z","download_url":"https://codeload.github.com/engnadeau/pybotics/tar.gz/0.1.0","html_url":"https://github.com/engnadeau/pybotics/releases/tag/0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/engnadeau/pybotics@0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/tags/0.1.0/manifests"}]},"repo_metadata_updated_at":"2025-09-04T10:14:04.224Z","dependent_packages_count":0,"downloads":245,"downloads_period":"last-month","dependent_repos_count":1,"rankings":{"downloads":20.51975764219923,"dependent_repos_count":22.087784936889527,"dependent_packages_count":7.31012528119255,"stargazers_count":3.6395988669930492,"forks_count":5.452769354551381,"docker_downloads_count":null,"average":11.802007216365148},"purl":"pkg:pypi/pybotics","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/pybotics","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/pybotics","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/pybotics/dependencies","status":null,"funding_links":["https://github.com/sponsors/engnadeau","https://ko-fi.com/engnadeau"],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-31T21:39:50.392Z","issues_count":27,"pull_requests_count":114,"avg_time_to_close_issue":1194564.5,"avg_time_to_close_pull_request":822167.4509803922,"issues_closed_count":8,"pull_requests_closed_count":102,"pull_request_authors_count":3,"issue_authors_count":5,"avg_comments_per_issue":0.3333333333333333,"avg_comments_per_pull_request":0.5526315789473685,"merged_pull_requests_count":87,"bot_issues_count":1,"bot_pull_requests_count":86,"past_year_issues_count":0,"past_year_pull_requests_count":3,"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":2,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":3,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/issues","maintainers":[{"login":"engnadeau","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/engnadeau"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pybotics/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pybotics/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pybotics/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pybotics/related_packages","maintainers":[{"uuid":"nnadeau","login":"nnadeau","name":null,"email":null,"url":null,"packages_count":3,"html_url":"https://pypi.org/user/nnadeau/","role":null,"created_at":"2023-02-25T02:51:22.424Z","updated_at":"2023-02-25T02:51:22.424Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/nnadeau/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":724742,"maintainers_count":308195,"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":1377078,"full_name":"engnadeau/pybotics","default_branch":"master","committers":[{"name":"Nicholas Nadeau","email":"nicholas.nadeau@gmail.com","login":"engnadeau","count":457},{"name":"Nicholas Nadeau","email":"nicholas.nadeau.1@ens.etsmtl.ca","login":"nnadeau","count":442},{"name":"pyup-bot","email":"github-bot@pyup.io","login":"pyup-bot","count":260},{"name":"Nicholas Nadeau","email":"nicholas@aon3d.com","login":null,"count":98},{"name":"Nicholas Nadeau","email":"nicholas@rogue-research.com","login":null,"count":55},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":38},{"name":"renovate[bot]","email":"29139614+renovate[bot]","login":"renovate[bot]","count":37},{"name":"Nicholas Nadeau","email":"nicholas@odin.local","login":null,"count":11},{"name":"requires.io","email":"support@requires.io","login":"requires","count":10},{"name":"Sean Alford","email":"sean.alford@icloud.com","login":"seanalford","count":1},{"name":"Pablo","email":"p.gonzalez7027@gmail.com","login":"pangoro24","count":1},{"name":"Bas van Schaik","email":"github@s.traiectum.net","login":"sj","count":1}],"total_commits":1411,"total_committers":12,"total_bot_commits":75,"total_bot_committers":2,"mean_commits":117.58333333333333,"dds":0.6761162296243799,"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-07T08:21:45.339Z","last_synced_commit":"ab8e188a387447f9ce47aedcfacad487f4d0135a","created_at":"2023-09-18T13:39:12.020Z","updated_at":"2025-08-07T08:21:46.394Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-08-27T00:00:29.048Z","repositories_count":5479765,"commits_count":853308191,"contributors_count":31095157,"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":"engnadeau/pybotics","html_url":"https://github.com/engnadeau/pybotics","last_synced_at":"2025-08-31T21:39:50.392Z","status":"error","issues_count":27,"pull_requests_count":114,"avg_time_to_close_issue":1194564.5,"avg_time_to_close_pull_request":822167.4509803922,"issues_closed_count":8,"pull_requests_closed_count":102,"pull_request_authors_count":3,"issue_authors_count":5,"avg_comments_per_issue":0.3333333333333333,"avg_comments_per_pull_request":0.5526315789473685,"merged_pull_requests_count":87,"bot_issues_count":1,"bot_pull_requests_count":86,"past_year_issues_count":0,"past_year_pull_requests_count":3,"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":2,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":3,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-14T20:53:35.294Z","updated_at":"2025-09-02T05:05:53.710Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/engnadeau%2Fpybotics/issues","issue_labels_count":{"enhancement":17,"bug":4,"released":2,"help wanted":1,"good first issue":1},"pull_request_labels_count":{"released":54,"dependencies":53},"issue_author_associations_count":{"OWNER":23,"NONE":3,"CONTRIBUTOR":1},"pull_request_author_associations_count":{"CONTRIBUTOR":109,"OWNER":29},"issue_authors":{"engnadeau":23,"yagizyalcintas":1,"Jad-Tawil":1,"renovate[bot]":1,"niklasconbotics":1},"pull_request_authors":{"renovate[bot]":56,"dependabot[bot]":53,"engnadeau":29},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-02T00:00:07.986Z","repositories_count":10042729,"issues_count":30645220,"pull_requests_count":91402388,"authors_count":10443886,"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":"engnadeau","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/engnadeau"}],"active_maintainers":[]},"events":{"total":{"WatchEvent":13,"ForkEvent":3},"last_year":{"WatchEvent":13,"ForkEvent":3}},"keywords":["calibration","doi","dynamics","hacktoberfest","impedance-control","inverse-kinematics","kinematics","math","mathematics","numpy","pypi","python","python-toolbox","research","robot","robotics","scipy","trajectory"],"dependencies":[{"ecosystem":"pypi","filepath":"docs/requirements.txt","sha":null,"kind":"manifest","created_at":"2022-08-24T09:21:16.862Z","updated_at":"2022-08-24T09:21:16.862Z","repository_link":"https://github.com/engnadeau/pybotics/blob/master/docs/requirements.txt","dependencies":[{"id":2478605399,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":2478605406,"package_name":"scipy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":2478605408,"package_name":"attrs","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"poetry.lock","sha":null,"kind":"lockfile","created_at":"2022-08-24T09:21:17.006Z","updated_at":"2022-08-24T09:21:17.006Z","repository_link":"https://github.com/engnadeau/pybotics/blob/master/poetry.lock","dependencies":[{"id":2478605578,"package_name":"alabaster","ecosystem":"pypi","requirements":"0.7.12","direct":false,"kind":"develop","optional":false},{"id":2478605579,"package_name":"appdirs","ecosystem":"pypi","requirements":"1.4.4","direct":false,"kind":"develop","optional":false},{"id":2478605580,"package_name":"appnope","ecosystem":"pypi","requirements":"0.1.0","direct":false,"kind":"develop","optional":false},{"id":2478605581,"package_name":"argh","ecosystem":"pypi","requirements":"0.26.2","direct":false,"kind":"develop","optional":false},{"id":2478605582,"package_name":"argon2-cffi","ecosystem":"pypi","requirements":"20.1.0","direct":false,"kind":"develop","optional":false},{"id":2478605583,"package_name":"atomicwrites","ecosystem":"pypi","requirements":"1.4.0","direct":false,"kind":"develop","optional":false},{"id":2478605584,"package_name":"attrs","ecosystem":"pypi","requirements":"19.3.0","direct":false,"kind":"runtime","optional":false},{"id":2478605585,"package_name":"babel","ecosystem":"pypi","requirements":"2.9.1","direct":false,"kind":"develop","optional":false},{"id":2478605586,"package_name":"backcall","ecosystem":"pypi","requirements":"0.2.0","direct":false,"kind":"develop","optional":false},{"id":2478605587,"package_name":"black","ecosystem":"pypi","requirements":"19.10b0","direct":false,"kind":"develop","optional":false},{"id":2478605588,"package_name":"bleach","ecosystem":"pypi","requirements":"3.3.0","direct":false,"kind":"develop","optional":false},{"id":2478605589,"package_name":"certifi","ecosystem":"pypi","requirements":"2020.6.20","direct":false,"kind":"develop","optional":false},{"id":2478605590,"package_name":"cffi","ecosystem":"pypi","requirements":"1.14.2","direct":false,"kind":"develop","optional":false},{"id":2478605591,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"2.0.9","direct":false,"kind":"develop","optional":false},{"id":2478605592,"package_name":"click","ecosystem":"pypi","requirements":"7.1.2","direct":false,"kind":"develop","optional":false},{"id":2478605593,"package_name":"colorama","ecosystem":"pypi","requirements":"0.4.3","direct":false,"kind":"develop","optional":false},{"id":2478605594,"package_name":"coverage","ecosystem":"pypi","requirements":"5.2.1","direct":false,"kind":"develop","optional":false},{"id":2478605595,"package_name":"cycler","ecosystem":"pypi","requirements":"0.10.0","direct":false,"kind":"develop","optional":false},{"id":2478605596,"package_name":"decorator","ecosystem":"pypi","requirements":"4.4.2","direct":false,"kind":"develop","optional":false},{"id":2478605597,"package_name":"defusedxml","ecosystem":"pypi","requirements":"0.6.0","direct":false,"kind":"develop","optional":false},{"id":2478605598,"package_name":"docutils","ecosystem":"pypi","requirements":"0.16","direct":false,"kind":"develop","optional":false},{"id":2478605599,"package_name":"entrypoints","ecosystem":"pypi","requirements":"0.3","direct":false,"kind":"develop","optional":false},{"id":2478605600,"package_name":"flake8","ecosystem":"pypi","requirements":"3.8.3","direct":false,"kind":"develop","optional":false},{"id":2478605601,"package_name":"flake8-bugbear","ecosystem":"pypi","requirements":"20.1.4","direct":false,"kind":"develop","optional":false},{"id":2478605602,"package_name":"flake8-docstrings","ecosystem":"pypi","requirements":"1.5.0","direct":false,"kind":"develop","optional":false},{"id":2478605603,"package_name":"flake8-import-order","ecosystem":"pypi","requirements":"0.18.1","direct":false,"kind":"develop","optional":false},{"id":2478605604,"package_name":"flake8-polyfill","ecosystem":"pypi","requirements":"1.0.2","direct":false,"kind":"develop","optional":false},{"id":2478605605,"package_name":"hypothesis","ecosystem":"pypi","requirements":"5.26.0","direct":false,"kind":"develop","optional":false},{"id":2478605606,"package_name":"idna","ecosystem":"pypi","requirements":"2.10","direct":false,"kind":"develop","optional":false},{"id":2478605607,"package_name":"imagesize","ecosystem":"pypi","requirements":"1.2.0","direct":false,"kind":"develop","optional":false},{"id":2478605608,"package_name":"importlib-metadata","ecosystem":"pypi","requirements":"1.7.0","direct":false,"kind":"develop","optional":false},{"id":2478605609,"package_name":"iniconfig","ecosystem":"pypi","requirements":"1.0.1","direct":false,"kind":"develop","optional":false},{"id":2478605610,"package_name":"ipykernel","ecosystem":"pypi","requirements":"5.3.4","direct":false,"kind":"develop","optional":false},{"id":2478605611,"package_name":"ipython","ecosystem":"pypi","requirements":"7.16.3","direct":false,"kind":"develop","optional":false},{"id":2478605612,"package_name":"ipython-genutils","ecosystem":"pypi","requirements":"0.2.0","direct":false,"kind":"develop","optional":false},{"id":2478605613,"package_name":"isort","ecosystem":"pypi","requirements":"5.4.2","direct":false,"kind":"develop","optional":false},{"id":2478605614,"package_name":"jedi","ecosystem":"pypi","requirements":"0.17.2","direct":false,"kind":"develop","optional":false},{"id":2478605615,"package_name":"jinja2","ecosystem":"pypi","requirements":"2.11.3","direct":false,"kind":"develop","optional":false},{"id":2478605616,"package_name":"joblib","ecosystem":"pypi","requirements":"0.16.0","direct":false,"kind":"develop","optional":false},{"id":2478605617,"package_name":"jsonschema","ecosystem":"pypi","requirements":"3.2.0","direct":false,"kind":"develop","optional":false},{"id":2478605618,"package_name":"jupyter-client","ecosystem":"pypi","requirements":"6.1.6","direct":false,"kind":"develop","optional":false},{"id":2478605619,"package_name":"jupyter-contrib-core","ecosystem":"pypi","requirements":"0.3.3","direct":false,"kind":"develop","optional":false},{"id":2478605620,"package_name":"jupyter-contrib-nbextensions","ecosystem":"pypi","requirements":"0.5.1","direct":false,"kind":"develop","optional":false},{"id":2478605621,"package_name":"jupyter-core","ecosystem":"pypi","requirements":"4.6.3","direct":false,"kind":"develop","optional":false},{"id":2478605622,"package_name":"jupyter-highlight-selected-word","ecosystem":"pypi","requirements":"0.2.0","direct":false,"kind":"develop","optional":false},{"id":2478605623,"package_name":"jupyter-latex-envs","ecosystem":"pypi","requirements":"1.4.6","direct":false,"kind":"develop","optional":false},{"id":2478605624,"package_name":"jupyter-nbextensions-configurator","ecosystem":"pypi","requirements":"0.4.1","direct":false,"kind":"develop","optional":false},{"id":2478605625,"package_name":"kiwisolver","ecosystem":"pypi","requirements":"1.2.0","direct":false,"kind":"develop","optional":false},{"id":2478605626,"package_name":"livereload","ecosystem":"pypi","requirements":"2.6.2","direct":false,"kind":"develop","optional":false},{"id":2478605627,"package_name":"lxml","ecosystem":"pypi","requirements":"4.9.1","direct":false,"kind":"develop","optional":false},{"id":2478605628,"package_name":"markupsafe","ecosystem":"pypi","requirements":"1.1.1","direct":false,"kind":"develop","optional":false},{"id":2478605629,"package_name":"matplotlib","ecosystem":"pypi","requirements":"3.3.1","direct":false,"kind":"develop","optional":false},{"id":2478605630,"package_name":"mccabe","ecosystem":"pypi","requirements":"0.6.1","direct":false,"kind":"develop","optional":false},{"id":2478605631,"package_name":"mistune","ecosystem":"pypi","requirements":"0.8.4","direct":false,"kind":"develop","optional":false},{"id":2478605632,"package_name":"more-itertools","ecosystem":"pypi","requirements":"8.4.0","direct":false,"kind":"develop","optional":false},{"id":2478605633,"package_name":"mypy","ecosystem":"pypi","requirements":"0.782","direct":false,"kind":"develop","optional":false},{"id":2478605634,"package_name":"mypy-extensions","ecosystem":"pypi","requirements":"0.4.3","direct":false,"kind":"develop","optional":false},{"id":2478605635,"package_name":"nbconvert","ecosystem":"pypi","requirements":"5.6.1","direct":false,"kind":"develop","optional":false},{"id":2478605636,"package_name":"nbformat","ecosystem":"pypi","requirements":"5.0.7","direct":false,"kind":"develop","optional":false},{"id":2478605637,"package_name":"nest-asyncio","ecosystem":"pypi","requirements":"1.5.5","direct":false,"kind":"develop","optional":false},{"id":2478605638,"package_name":"notebook","ecosystem":"pypi","requirements":"6.4.10","direct":false,"kind":"develop","optional":false},{"id":2478605639,"package_name":"numpy","ecosystem":"pypi","requirements":"1.19.1","direct":false,"kind":"runtime","optional":false},{"id":2478605640,"package_name":"packaging","ecosystem":"pypi","requirements":"20.4","direct":false,"kind":"develop","optional":false},{"id":2478605641,"package_name":"pandas","ecosystem":"pypi","requirements":"1.1.0","direct":false,"kind":"develop","optional":false},{"id":2478605642,"package_name":"pandocfilters","ecosystem":"pypi","requirements":"1.4.2","direct":false,"kind":"develop","optional":false},{"id":2478605643,"package_name":"parso","ecosystem":"pypi","requirements":"0.7.1","direct":false,"kind":"develop","optional":false},{"id":2478605644,"package_name":"pathspec","ecosystem":"pypi","requirements":"0.8.0","direct":false,"kind":"develop","optional":false},{"id":2478605645,"package_name":"pathtools","ecosystem":"pypi","requirements":"0.1.2","direct":false,"kind":"develop","optional":false},{"id":2478605646,"package_name":"pbr","ecosystem":"pypi","requirements":"5.4.5","direct":false,"kind":"develop","optional":false},{"id":2478605647,"package_name":"pep8-naming","ecosystem":"pypi","requirements":"0.11.1","direct":false,"kind":"develop","optional":false},{"id":2478605648,"package_name":"pexpect","ecosystem":"pypi","requirements":"4.8.0","direct":false,"kind":"develop","optional":false},{"id":2478605649,"package_name":"pickleshare","ecosystem":"pypi","requirements":"0.7.5","direct":false,"kind":"develop","optional":false},{"id":2478605650,"package_name":"pillow","ecosystem":"pypi","requirements":"8.3.2","direct":false,"kind":"develop","optional":false},{"id":2478605651,"package_name":"pluggy","ecosystem":"pypi","requirements":"0.13.1","direct":false,"kind":"develop","optional":false},{"id":2478605652,"package_name":"port-for","ecosystem":"pypi","requirements":"0.3.1","direct":false,"kind":"develop","optional":false},{"id":2478605653,"package_name":"prometheus-client","ecosystem":"pypi","requirements":"0.8.0","direct":false,"kind":"develop","optional":false},{"id":2478605654,"package_name":"prompt-toolkit","ecosystem":"pypi","requirements":"3.0.3","direct":false,"kind":"develop","optional":false},{"id":2478605655,"package_name":"ptyprocess","ecosystem":"pypi","requirements":"0.6.0","direct":false,"kind":"develop","optional":false},{"id":2478605656,"package_name":"py","ecosystem":"pypi","requirements":"1.10.0","direct":false,"kind":"develop","optional":false},{"id":2478605657,"package_name":"pycodestyle","ecosystem":"pypi","requirements":"2.6.0","direct":false,"kind":"develop","optional":false},{"id":2478605658,"package_name":"pycparser","ecosystem":"pypi","requirements":"2.20","direct":false,"kind":"develop","optional":false},{"id":2478605659,"package_name":"pydocstyle","ecosystem":"pypi","requirements":"5.0.2","direct":false,"kind":"develop","optional":false},{"id":2478605660,"package_name":"pyflakes","ecosystem":"pypi","requirements":"2.2.0","direct":false,"kind":"develop","optional":false},{"id":2478605661,"package_name":"pygments","ecosystem":"pypi","requirements":"2.7.4","direct":false,"kind":"develop","optional":false},{"id":2478605662,"package_name":"pyparsing","ecosystem":"pypi","requirements":"2.4.7","direct":false,"kind":"develop","optional":false},{"id":2478605663,"package_name":"pyrsistent","ecosystem":"pypi","requirements":"0.16.0","direct":false,"kind":"develop","optional":false},{"id":2478605664,"package_name":"pytest","ecosystem":"pypi","requirements":"6.0.1","direct":false,"kind":"develop","optional":false},{"id":2478605665,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"2.10.1","direct":false,"kind":"develop","optional":false},{"id":2478605666,"package_name":"pytest-randomly","ecosystem":"pypi","requirements":"3.4.1","direct":false,"kind":"develop","optional":false},{"id":2478605667,"package_name":"pytest-runner","ecosystem":"pypi","requirements":"5.2","direct":false,"kind":"develop","optional":false},{"id":2478605668,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"2.8.1","direct":false,"kind":"develop","optional":false},{"id":2478605669,"package_name":"pytz","ecosystem":"pypi","requirements":"2020.1","direct":false,"kind":"develop","optional":false},{"id":2478605670,"package_name":"pywin32","ecosystem":"pypi","requirements":"301","direct":false,"kind":"develop","optional":false},{"id":2478605671,"package_name":"pywinpty","ecosystem":"pypi","requirements":"0.5.7","direct":false,"kind":"develop","optional":false},{"id":2478605672,"package_name":"pyyaml","ecosystem":"pypi","requirements":"5.4","direct":false,"kind":"develop","optional":false},{"id":2478605673,"package_name":"pyzmq","ecosystem":"pypi","requirements":"19.0.2","direct":false,"kind":"develop","optional":false},{"id":2478605674,"package_name":"regex","ecosystem":"pypi","requirements":"2020.7.14","direct":false,"kind":"develop","optional":false},{"id":2478605675,"package_name":"requests","ecosystem":"pypi","requirements":"2.26.0","direct":false,"kind":"develop","optional":false},{"id":2478605676,"package_name":"rope","ecosystem":"pypi","requirements":"0.17.0","direct":false,"kind":"develop","optional":false},{"id":2478605677,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"0.23.2","direct":false,"kind":"develop","optional":false},{"id":2478605678,"package_name":"scipy","ecosystem":"pypi","requirements":"1.5.2","direct":false,"kind":"runtime","optional":false},{"id":2478605679,"package_name":"send2trash","ecosystem":"pypi","requirements":"1.8.0","direct":false,"kind":"develop","optional":false},{"id":2478605680,"package_name":"six","ecosystem":"pypi","requirements":"1.15.0","direct":false,"kind":"develop","optional":false},{"id":2478605681,"package_name":"snowballstemmer","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"develop","optional":false},{"id":2478605682,"package_name":"sortedcontainers","ecosystem":"pypi","requirements":"2.2.2","direct":false,"kind":"develop","optional":false},{"id":2478605683,"package_name":"sphinx","ecosystem":"pypi","requirements":"3.2.1","direct":false,"kind":"develop","optional":false},{"id":2478605684,"package_name":"sphinx-autobuild","ecosystem":"pypi","requirements":"0.7.1","direct":false,"kind":"develop","optional":false},{"id":2478605685,"package_name":"sphinx-rtd-theme","ecosystem":"pypi","requirements":"0.5.0","direct":false,"kind":"develop","optional":false},{"id":2478605686,"package_name":"sphinxcontrib-apidoc","ecosystem":"pypi","requirements":"0.3.0","direct":false,"kind":"develop","optional":false},{"id":2478605687,"package_name":"sphinxcontrib-applehelp","ecosystem":"pypi","requirements":"1.0.2","direct":false,"kind":"develop","optional":false},{"id":2478605688,"package_name":"sphinxcontrib-devhelp","ecosystem":"pypi","requirements":"1.0.2","direct":false,"kind":"develop","optional":false},{"id":2478605689,"package_name":"sphinxcontrib-htmlhelp","ecosystem":"pypi","requirements":"1.0.3","direct":false,"kind":"develop","optional":false},{"id":2478605690,"package_name":"sphinxcontrib-jsmath","ecosystem":"pypi","requirements":"1.0.1","direct":false,"kind":"develop","optional":false},{"id":2478605691,"package_name":"sphinxcontrib-qthelp","ecosystem":"pypi","requirements":"1.0.3","direct":false,"kind":"develop","optional":false},{"id":2478605692,"package_name":"sphinxcontrib-serializinghtml","ecosystem":"pypi","requirements":"1.1.4","direct":false,"kind":"develop","optional":false},{"id":2478605693,"package_name":"terminado","ecosystem":"pypi","requirements":"0.8.3","direct":false,"kind":"develop","optional":false},{"id":2478605694,"package_name":"testpath","ecosystem":"pypi","requirements":"0.4.4","direct":false,"kind":"develop","optional":false},{"id":2478605695,"package_name":"threadpoolctl","ecosystem":"pypi","requirements":"2.1.0","direct":false,"kind":"develop","optional":false},{"id":2478605696,"package_name":"toml","ecosystem":"pypi","requirements":"0.10.1","direct":false,"kind":"develop","optional":false},{"id":2478605697,"package_name":"tornado","ecosystem":"pypi","requirements":"6.1","direct":false,"kind":"develop","optional":false},{"id":2478605698,"package_name":"traitlets","ecosystem":"pypi","requirements":"4.3.3","direct":false,"kind":"develop","optional":false},{"id":2478605699,"package_name":"typed-ast","ecosystem":"pypi","requirements":"1.4.1","direct":false,"kind":"develop","optional":false},{"id":2478605700,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"3.7.4.2","direct":false,"kind":"develop","optional":false},{"id":2478605701,"package_name":"urllib3","ecosystem":"pypi","requirements":"1.26.5","direct":false,"kind":"develop","optional":false},{"id":2478605702,"package_name":"vulture","ecosystem":"pypi","requirements":"2.0","direct":false,"kind":"develop","optional":false},{"id":2478605703,"package_name":"watchdog","ecosystem":"pypi","requirements":"0.10.3","direct":false,"kind":"develop","optional":false},{"id":2478605704,"package_name":"wcwidth","ecosystem":"pypi","requirements":"0.2.5","direct":false,"kind":"develop","optional":false},{"id":2478605705,"package_name":"webencodings","ecosystem":"pypi","requirements":"0.5.1","direct":false,"kind":"develop","optional":false},{"id":2478605706,"package_name":"zipp","ecosystem":"pypi","requirements":"3.1.0","direct":false,"kind":"develop","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2022-08-24T09:21:17.119Z","updated_at":"2022-08-24T09:21:17.119Z","repository_link":"https://github.com/engnadeau/pybotics/blob/master/pyproject.toml","dependencies":[{"id":2478605994,"package_name":"python","ecosystem":"pypi","requirements":"^3.7","direct":true,"kind":"runtime","optional":false},{"id":2478605995,"package_name":"attrs","ecosystem":"pypi","requirements":"\u003e=19.0","direct":true,"kind":"runtime","optional":false},{"id":2478605996,"package_name":"numpy","ecosystem":"pypi","requirements":"^1.20","direct":true,"kind":"runtime","optional":false},{"id":2478605997,"package_name":"scipy","ecosystem":"pypi","requirements":"^1","direct":true,"kind":"runtime","optional":false},{"id":2478605998,"package_name":"black","ecosystem":"pypi","requirements":"\u003e=22.1","direct":true,"kind":"develop","optional":false},{"id":2478605999,"package_name":"coverage","ecosystem":"pypi","requirements":"\u003e=6","direct":true,"kind":"develop","optional":false},{"id":2478606000,"package_name":"flake8","ecosystem":"pypi","requirements":"\u003e=4","direct":true,"kind":"develop","optional":false},{"id":2478606001,"package_name":"flake8-bugbear","ecosystem":"pypi","requirements":"*","direct":true,"kind":"develop","optional":false},{"id":2478606002,"package_name":"hypothesis","ecosystem":"pypi","requirements":"\u003e=6","direct":true,"kind":"develop","optional":false},{"id":2478606003,"package_name":"isort","ecosystem":"pypi","requirements":"\u003e=5.5","direct":true,"kind":"develop","optional":false},{"id":2478606004,"package_name":"matplotlib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"develop","optional":false},{"id":2478606005,"package_name":"mccabe","ecosystem":"pypi","requirements":"*","direct":true,"kind":"develop","optional":false},{"id":2478606006,"package_name":"mypy","ecosystem":"pypi","requirements":"\u003e=0.960","direct":true,"kind":"develop","optional":false},{"id":2478606007,"package_name":"notebook","ecosystem":"pypi","requirements":"*","direct":true,"kind":"develop","optional":false},{"id":2478606008,"package_name":"pandas","ecosystem":"pypi","requirements":"*","direct":true,"kind":"develop","optional":false},{"id":2478606009,"package_name":"pep8-naming","ecosystem":"pypi","requirements":"*","direct":true,"kind":"develop","optional":false},{"id":2478606010,"package_name":"pydocstyle","ecosystem":"pypi","requirements":"\u003e=6","direct":true,"kind":"develop","optional":false},{"id":2478606011,"package_name":"pytest","ecosystem":"pypi","requirements":"\u003e=7","direct":true,"kind":"develop","optional":false},{"id":2478606012,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"*","direct":true,"kind":"develop","optional":false},{"id":2478606013,"package_name":"pytest-randomly","ecosystem":"pypi","requirements":"*","direct":true,"kind":"develop","optional":false},{"id":2478606014,"package_name":"pytest-runner","ecosystem":"pypi","requirements":"*","direct":true,"kind":"develop","optional":false},{"id":2478606015,"package_name":"rope","ecosystem":"pypi","requirements":"\u003e=1","direct":true,"kind":"develop","optional":false},{"id":2478606016,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"*","direct":true,"kind":"develop","optional":false},{"id":2478606017,"package_name":"sphinx","ecosystem":"pypi","requirements":"*","direct":true,"kind":"develop","optional":false},{"id":2478606018,"package_name":"sphinx-autobuild","ecosystem":"pypi","requirements":"*","direct":true,"kind":"develop","optional":false},{"id":2478606019,"package_name":"sphinx-rtd-theme","ecosystem":"pypi","requirements":"*","direct":true,"kind":"develop","optional":false},{"id":2478606020,"package_name":"sphinxcontrib-apidoc","ecosystem":"pypi","requirements":"*","direct":true,"kind":"develop","optional":false},{"id":2478606022,"package_name":"vulture","ecosystem":"pypi","requirements":"\u003e=2.0","direct":true,"kind":"develop","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/codeql-analysis.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T16:20:24.618Z","updated_at":"2023-01-13T16:20:24.618Z","repository_link":"https://github.com/engnadeau/pybotics/blob/master/.github/workflows/codeql-analysis.yml","dependencies":[{"id":6890138353,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":6890138354,"package_name":"github/codeql-action/init","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6890138355,"package_name":"github/codeql-action/analyze","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/publish.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T16:20:24.853Z","updated_at":"2023-01-13T16:20:24.853Z","repository_link":"https://github.com/engnadeau/pybotics/blob/master/.github/workflows/publish.yml","dependencies":[{"id":6890138356,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":6890138357,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/release.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T16:20:25.076Z","updated_at":"2023-01-13T16:20:25.076Z","repository_link":"https://github.com/engnadeau/pybotics/blob/master/.github/workflows/release.yml","dependencies":[{"id":6890138358,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":6890138359,"package_name":"actions/setup-node","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/test.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T16:20:25.855Z","updated_at":"2023-01-13T16:20:25.855Z","repository_link":"https://github.com/engnadeau/pybotics/blob/master/.github/workflows/test.yml","dependencies":[{"id":6890138360,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":6890138361,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false}]}],"score":13.939715595022554,"created_at":"2025-09-04T09:18:01.551Z","updated_at":"2025-10-07T08:04:39.845Z","avatar_url":"https://github.com/engnadeau.png","language":"Python","category":"Scientific Software","sub_category":"Peer-reviewed","monthly_downloads":245,"funding_links":["https://github.com/sponsors/engnadeau","https://ko-fi.com/engnadeau"],"readme_doi_urls":["https://doi.org/10.21105/joss.01738","http://dx.doi.org/10.3390/robotics8020033"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["simulator","metaheuristics","chemistry","dynamic-analysis","electrochemistry","fuel-cell","opem","pem","physics","physics-simulation"],"project_url":"https://science.ecosyste.ms/api/v1/projects/2441","html_url":"https://science.ecosyste.ms/projects/2441"}