{"id":84,"name":"awebox","description":"Modelling and optimal control of single- and multiple-kite systems for airborne wind energy.","url":"https://github.com/awebox/awebox","last_synced_at":"2026-04-13T20:00:31.746Z","repository":{"id":34777694,"uuid":"183597133","full_name":"awebox/awebox","owner":"awebox","description":"Modelling and optimal control of single- and multiple-kite systems for airborne wind energy","archived":false,"fork":false,"pushed_at":"2025-12-13T22:19:40.000Z","size":20144,"stargazers_count":31,"open_issues_count":20,"forks_count":21,"subscribers_count":5,"default_branch":"master","last_synced_at":"2026-01-27T18:30:02.235Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/awebox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-04-26T09:12:42.000Z","updated_at":"2026-01-27T09:54:11.000Z","dependencies_parsed_at":"2023-02-10T11:16:02.321Z","dependency_job_id":"96ae0f04-e12b-4bf4-bc6f-9200c4b29069","html_url":"https://github.com/awebox/awebox","commit_stats":{"total_commits":975,"total_committers":6,"mean_commits":162.5,"dds":"0.36717948717948723","last_synced_commit":"3d700801e9a56b6bc7e90d76963d8cf30be410ba"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/awebox/awebox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awebox%2Fawebox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awebox%2Fawebox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awebox%2Fawebox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awebox%2Fawebox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/awebox","download_url":"https://codeload.github.com/awebox/awebox/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awebox%2Fawebox/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29082065,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-04T03:31:03.593Z","status":"ssl_error","status_checked_at":"2026-02-04T03:29:50.742Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":"awebox","name":"awebox","uuid":"49553965","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/49553965?v=4","repositories_count":1,"last_synced_at":"2023-03-02T19:50:32.121Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/awebox","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-13T10:28:27.180Z","updated_at":"2023-03-02T19:50:32.137Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/awebox","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/awebox/repositories"},"packages":[{"id":11879756,"name":"github.com/awebox/awebox","ecosystem":"go","description":null,"homepage":null,"licenses":"lgpl-3.0","normalized_licenses":["LGPL-3.0"],"repository_url":"https://github.com/awebox/awebox","keywords_array":[],"namespace":null,"versions_count":2,"first_release_published_at":"2025-07-04T07:40:23.000Z","latest_release_published_at":"2025-09-16T14:27:59.000Z","latest_release_number":"v1.0.1","last_synced_at":"2026-04-11T19:01:30.305Z","created_at":"2025-07-05T10:26:58.008Z","updated_at":"2026-04-11T19:01:30.305Z","registry_url":"https://pkg.go.dev/github.com/awebox/awebox","install_command":"go get github.com/awebox/awebox","documentation_url":"https://pkg.go.dev/github.com/awebox/awebox#section-documentation","metadata":{},"repo_metadata":{"id":34777694,"uuid":"183597133","full_name":"awebox/awebox","owner":"awebox","description":"Modelling and optimal control of single- and multiple-kite systems for airborne wind energy","archived":false,"fork":false,"pushed_at":"2025-09-16T14:32:11.000Z","size":20031,"stargazers_count":29,"open_issues_count":19,"forks_count":21,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-09-23T17:44:34.548Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/awebox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-04-26T09:12:42.000Z","updated_at":"2025-09-16T14:28:07.000Z","dependencies_parsed_at":"2023-02-10T11:16:02.321Z","dependency_job_id":"5fb73749-2aef-4f3d-9a37-b9d6c59a44c3","html_url":"https://github.com/awebox/awebox","commit_stats":{"total_commits":975,"total_committers":6,"mean_commits":162.5,"dds":"0.36717948717948723","last_synced_commit":"3d700801e9a56b6bc7e90d76963d8cf30be410ba"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/awebox/awebox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awebox%2Fawebox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awebox%2Fawebox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awebox%2Fawebox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awebox%2Fawebox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/awebox","download_url":"https://codeload.github.com/awebox/awebox/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awebox%2Fawebox/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276662407,"owners_count":25682029,"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-23T02:00:09.130Z","response_time":73,"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":"awebox","name":"awebox","uuid":"49553965","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/49553965?v=4","repositories_count":1,"last_synced_at":"2023-03-02T19:50:32.121Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/awebox","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-13T10:28:27.180Z","updated_at":"2023-03-02T19:50:32.137Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/awebox","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/awebox/repositories"},"tags":[]},"repo_metadata_updated_at":"2025-09-30T21:12:26.045Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":5.665946810909923,"dependent_packages_count":5.309176041623606,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":5.4875614262667645},"purl":"pkg:golang/github.com/awebox/awebox","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/awebox/awebox","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/awebox/awebox","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/awebox/awebox/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-30T10:00:34.991Z","issues_count":31,"pull_requests_count":161,"avg_time_to_close_issue":5172825.105263158,"avg_time_to_close_pull_request":4345966.595744681,"issues_closed_count":19,"pull_requests_closed_count":141,"pull_request_authors_count":8,"issue_authors_count":6,"avg_comments_per_issue":1.129032258064516,"avg_comments_per_pull_request":0.937888198757764,"merged_pull_requests_count":127,"bot_issues_count":0,"bot_pull_requests_count":9,"past_year_issues_count":2,"past_year_pull_requests_count":33,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":1223240.44,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":25,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.3939393939393939,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":18,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/awebox%2Fawebox/issues","maintainers":[{"login":"rcleuthold","count":23,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rcleuthold"},{"login":"thilobro","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/thilobro"},{"login":"JakobHarz","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/JakobHarz"}],"active_maintainers":[{"login":"rcleuthold","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rcleuthold"},{"login":"JakobHarz","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/JakobHarz"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fawebox%2Fawebox/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fawebox%2Fawebox/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fawebox%2Fawebox/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fawebox%2Fawebox/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fawebox%2Fawebox/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2096403,"maintainers_count":0,"namespaces_count":780937,"keywords_count":112785,"github":"golang","metadata":{"funded_packages_count":53472},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-12T05:07:59.798Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}}],"commits":{"id":1253928,"full_name":"awebox/awebox","default_branch":"master","total_commits":1365,"total_committers":8,"total_bot_commits":3,"total_bot_committers":1,"mean_commits":170.625,"dds":0.4234432234432235,"past_year_total_commits":67,"past_year_total_committers":3,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":22.333333333333332,"past_year_dds":0.5970149253731343,"last_synced_at":"2026-04-11T00:59:53.291Z","last_synced_commit":"03adf9504772b3c405f9c1aae460ce7705c09473","created_at":"2023-03-27T10:48:32.735Z","updated_at":"2026-04-11T00:59:52.216Z","committers":[{"name":"Jochem De Schutter","email":"jochem.de.schutter@imtek.uni-freiburg.de","login":"jdeschut","count":787},{"name":"rcleuthold","email":"rcleuthold@gmail.com","login":"rcleuthold","count":478},{"name":"Jakob Harzer","email":"jakob.harzer@imtek.uni-freiburg.de","login":"JakobHarz","count":35},{"name":"Thilo Bronnenmeyer","email":"thilo@kiteswarms.com","login":"thilobro","count":26},{"name":"Hasan Berkay Çağır","email":"berkay@cagir.com.tr","login":"berkaycagir","count":24},{"name":"Thomas Haas","email":"thomash@cfdclu15.ugent.be","login":null,"count":11},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":3},{"name":"Michael K. McWilliam","email":"mimc@dtu.dk","login":"mimcAtDTU","count":1}],"past_year_committers":[{"name":"Jochem De Schutter","email":"jochem.de.schutter@imtek.uni-freiburg.de","login":"jdeschut","count":27},{"name":"RCLeuthold","email":"rcleuthold@gmail.com","login":"rcleuthold","count":27},{"name":"Jakob Harzer","email":"jakob.harzer@imtek.uni-freiburg.de","login":"JakobHarz","count":13}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/awebox%2Fawebox/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-09T00:00:23.197Z","repositories_count":6212740,"commits_count":905229879,"contributors_count":34959493,"owners_count":1143725,"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":"awebox/awebox","html_url":"https://github.com/awebox/awebox","last_synced_at":"2026-03-27T12:00:23.097Z","status":"active","issues_count":31,"pull_requests_count":163,"avg_time_to_close_issue":5172825.105263158,"avg_time_to_close_pull_request":4315366.330985916,"issues_closed_count":19,"pull_requests_closed_count":142,"pull_request_authors_count":8,"issue_authors_count":6,"avg_comments_per_issue":1.129032258064516,"avg_comments_per_pull_request":0.9938650306748467,"merged_pull_requests_count":128,"bot_issues_count":0,"bot_pull_requests_count":9,"past_year_issues_count":0,"past_year_pull_requests_count":19,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":1211133.1666666667,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":12,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.9473684210526315,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":10,"created_at":"2023-05-09T10:37:03.448Z","updated_at":"2026-03-27T12:00:23.097Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/awebox%2Fawebox","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/awebox%2Fawebox/issues","issue_labels_count":{"enhancement":3,"bug":3},"pull_request_labels_count":{"dependencies":9},"issue_author_associations_count":{"CONTRIBUTOR":19,"COLLABORATOR":7,"NONE":5},"pull_request_author_associations_count":{"CONTRIBUTOR":121,"COLLABORATOR":30,"NONE":12},"issue_authors":{"jdeschut":19,"rcleuthold":6,"ufechner7":2,"jcrismer":2,"thilobro":1,"Laxnring":1},"pull_request_authors":{"jdeschut":112,"rcleuthold":17,"thilobro":9,"dependabot[bot]":9,"JakobHarz":7,"pilotmm":4,"thfhaas":4,"abavoil":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-09T00:00:10.509Z","repositories_count":14210836,"issues_count":34657220,"pull_requests_count":113242396,"authors_count":11232570,"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":{"CONTRIBUTOR":11,"COLLABORATOR":5,"NONE":1},"past_year_issue_authors":{},"past_year_pull_request_authors":{"jdeschut":11,"JakobHarz":3,"rcleuthold":2,"abavoil":1},"maintainers":[{"login":"rcleuthold","count":23,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rcleuthold"},{"login":"thilobro","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/thilobro"},{"login":"JakobHarz","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/JakobHarz"}],"active_maintainers":[{"login":"JakobHarz","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/JakobHarz"},{"login":"rcleuthold","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rcleuthold"}]},"events":{"total":{"ReleaseEvent":1,"PullRequestEvent":21,"ForkEvent":2,"IssuesEvent":2,"WatchEvent":5,"IssueCommentEvent":11,"PushEvent":16,"PullRequestReviewCommentEvent":2,"PullRequestReviewEvent":5,"CreateEvent":1},"last_year":{"ReleaseEvent":1,"PullRequestEvent":11,"WatchEvent":1,"IssueCommentEvent":11,"PushEvent":11,"PullRequestReviewCommentEvent":2,"PullRequestReviewEvent":5,"CreateEvent":1}},"keywords":[],"dependencies":[{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2022-09-20T22:02:22.880Z","updated_at":"2022-09-20T22:02:22.880Z","repository_link":"https://github.com/awebox/awebox/blob/master/requirements.txt","dependencies":[{"id":5665102179,"package_name":"casadi","ecosystem":"pypi","requirements":"==3.5.5","direct":true,"kind":"runtime","optional":false},{"id":5665102180,"package_name":"cycler","ecosystem":"pypi","requirements":"==0.11.0","direct":true,"kind":"runtime","optional":false},{"id":5665102181,"package_name":"fonttools","ecosystem":"pypi","requirements":"==4.34.4","direct":true,"kind":"runtime","optional":false},{"id":5665102182,"package_name":"kiwisolver","ecosystem":"pypi","requirements":"==1.4.4","direct":true,"kind":"runtime","optional":false},{"id":5665102183,"package_name":"matplotlib","ecosystem":"pypi","requirements":"==3.5.2","direct":true,"kind":"runtime","optional":false},{"id":5665102184,"package_name":"numpy","ecosystem":"pypi","requirements":"==1.23.1","direct":true,"kind":"runtime","optional":false},{"id":5665102185,"package_name":"packaging","ecosystem":"pypi","requirements":"==21.3","direct":true,"kind":"runtime","optional":false},{"id":5665102186,"package_name":"Pillow","ecosystem":"pypi","requirements":"==9.2.0","direct":true,"kind":"runtime","optional":false},{"id":5665102187,"package_name":"pyparsing","ecosystem":"pypi","requirements":"==3.0.9","direct":true,"kind":"runtime","optional":false},{"id":5665102188,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"==2.8.2","direct":true,"kind":"runtime","optional":false},{"id":5665102189,"package_name":"scipy","ecosystem":"pypi","requirements":"==1.9.0rc3","direct":true,"kind":"runtime","optional":false},{"id":5665102190,"package_name":"six","ecosystem":"pypi","requirements":"==1.16.0","direct":true,"kind":"runtime","optional":false},{"id":5665102191,"package_name":"tk","ecosystem":"pypi","requirements":"==0.1.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2022-09-20T22:02:22.997Z","updated_at":"2022-09-20T22:02:22.997Z","repository_link":"https://github.com/awebox/awebox/blob/master/setup.py","dependencies":[{"id":5665104030,"package_name":"casadi","ecosystem":"pypi","requirements":"==3.5.5","direct":true,"kind":"runtime","optional":false},{"id":5665104031,"package_name":"cycler","ecosystem":"pypi","requirements":"==0.11.0","direct":true,"kind":"runtime","optional":false},{"id":5665104032,"package_name":"fonttools","ecosystem":"pypi","requirements":"==4.34.4","direct":true,"kind":"runtime","optional":false},{"id":5665104033,"package_name":"kiwisolver","ecosystem":"pypi","requirements":"==1.4.4","direct":true,"kind":"runtime","optional":false},{"id":5665104034,"package_name":"matplotlib","ecosystem":"pypi","requirements":"==3.5.2","direct":true,"kind":"runtime","optional":false},{"id":5665104035,"package_name":"numpy","ecosystem":"pypi","requirements":"==1.23.1","direct":true,"kind":"runtime","optional":false},{"id":5665104036,"package_name":"packaging","ecosystem":"pypi","requirements":"==21.3","direct":true,"kind":"runtime","optional":false},{"id":5665104037,"package_name":"Pillow","ecosystem":"pypi","requirements":"==9.2.0","direct":true,"kind":"runtime","optional":false},{"id":5665104038,"package_name":"pyparsing","ecosystem":"pypi","requirements":"==3.0.9","direct":true,"kind":"runtime","optional":false},{"id":5665104039,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"==2.8.2","direct":true,"kind":"runtime","optional":false},{"id":5665104040,"package_name":"scipy","ecosystem":"pypi","requirements":"==1.9.0rc3","direct":true,"kind":"runtime","optional":false},{"id":5665104041,"package_name":"six","ecosystem":"pypi","requirements":"==1.16.0","direct":true,"kind":"runtime","optional":false},{"id":5665104042,"package_name":"tk","ecosystem":"pypi","requirements":"==0.1.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/python-app.yml","sha":null,"kind":"manifest","created_at":"2023-01-15T09:15:36.695Z","updated_at":"2023-01-15T09:15:36.695Z","repository_link":"https://github.com/awebox/awebox/blob/master/.github/workflows/python-app.yml","dependencies":[{"id":6921080776,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6921080777,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]}],"score":null,"created_at":"2023-09-11T11:54:33.754Z","updated_at":"2026-04-13T20:00:31.747Z","avatar_url":"https://github.com/awebox.png","language":"Python","category":"Renewable Energy","sub_category":"Wind Energy","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# AWEbox\n\n[![build](https://github.com/awebox/awebox/actions/workflows/python-app.yml/badge.svg?branch=master)](https://github.com/awebox/awebox/actions/workflows/python-app.yml)\n[![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0)\n\nAWEbox is a Python toolbox for modelling and optimal control of multiple-kite systems for Airborne Wind Energy (AWE). It provides interfaces that aim to take away from the user the burden of\n\n- generating optimization-friendly high-fidelity system dynamics for different modeling options.\n- formulating and solving the trajectory optimization problem efficiently and reliably, also for long time horizons\n- postprocessing and visualizing the solution and performing quality checks\n- tracking MPC design and solver generation for closed-loop simulations\n\nThe main focus of the toolbox are _rigid-wing_, _lift_- and _drag_-mode multiple-kite systems.\n\nSingle-kite optimal trajectory             |  Dual-kite optimal trajectory (reel-out)\n:-------------------------:|:-------------------------:\n\u003cimg src=\"https://github.com/jdeschut/awebox/blob/README-figures/docs/single_kite.png\" width=\"400\"\u003e  |  \u003cimg src=\"https://github.com/jdeschut/awebox/blob/README-figures/docs/dual_kites.png\" width=\"400\"\u003e\n\n\n## Implemented aircraft models\n\n- Ampyx AP2 (6DOF)\n- MegAWES (6DOF)\n- point-mass model with lift and roll control (3DOF)\n\n## Installation\n\n`awebox` runs on Python 3. It depends heavily on the modeling language CasADi, which is a symbolic framework for algorithmic differentiation. CasADi also provides the interface to the NLP solver IPOPT.  \nIt is optional but highly recommended to use HSL linear solvers as a plugin with IPOPT.\n\n1.   Get a local copy of the latest `awebox` release:\n\n     ```\n     git clone https://github.com/awebox/awebox.git\n     ```\n\n2.   Install using pip\n\n     ```\n     pip3 install awebox/\n     ```\n\n3.   In order to get the HSL solvers and render them visible to CasADi, follow these [instructions](https://github.com/casadi/casadi/wiki/Obtaining-HSL). Additional installation instructions can be found [here](https://github.com/awebox/awebox/blob/develop/INSTALLATION.md).\n\n\n## Getting started\n\nTo run one of the examples from the `awebox` root folder:\n\n```\npython3 examples/ampyx_ap2_trajectory.py\n```\n\n## Acknowledgments\n\nAWEbox has been developed under the supervision of Prof. Dr. Moritz Diehl (University of Freiburg, Germany) and has received financial support from the company Kiteswarms GmbH through an industrial research project as well as from the EU Horizon 2020 programme under the Marie Skłodowska-Curie grant agreement No 642682 (AWESCO) and from the German DFG via Grant No 525018088 (MAWERO).\n\n## Citing `awebox`\nPlease use the following citation: \n\n_De Schutter, J.; Leuthold, R.; Bronnenmeyer, T.; Malz, E.; Gros, S.; Diehl, M. AWEbox: An Optimal Control Framework for Single- and Multi-Aircraft Airborne Wind Energy Systems. Energies 2023, 16, 1900. https://doi.org/10.3390/en16041900_\n\nand see also:\n\n_Harzer, J,; De Schutter, J.; Diehl, M. Numerical Trajectory Optimization of Airborne Wind Energy Systems With Stroboscopic Averaging Methods, IEEE Control Systems Letters 2025 (9), pp. 703-708.   https://doi.org/10.1109/LCSYS.2025.3577225_\n","funding_links":[],"readme_doi_urls":["https://doi.org/10.3390/en16041900_","https://doi.org/10.1109/LCSYS.2025.3577225_"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["optimize","archiving","measur","transforms","generic","compose","observation","conversion","projection","animals"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/84","html_url":"https://ost.ecosyste.ms/projects/84"}