{"id":16851405,"url":"https://github.com/marcelbuesing/arduino-cli-client","last_synced_at":"2025-03-18T09:26:42.736Z","repository":{"id":57493189,"uuid":"313347467","full_name":"marcelbuesing/arduino-cli-client","owner":"marcelbuesing","description":"Rust Arduino CLI client gRPC bindings","archived":false,"fork":false,"pushed_at":"2020-11-17T19:35:13.000Z","size":30,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-14T22:40:38.780Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marcelbuesing.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-11-16T15:35:26.000Z","updated_at":"2023-08-14T23:50:40.000Z","dependencies_parsed_at":"2022-08-28T11:24:29.876Z","dependency_job_id":null,"html_url":"https://github.com/marcelbuesing/arduino-cli-client","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcelbuesing%2Farduino-cli-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcelbuesing%2Farduino-cli-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcelbuesing%2Farduino-cli-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcelbuesing%2Farduino-cli-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcelbuesing","download_url":"https://codeload.github.com/marcelbuesing/arduino-cli-client/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244191307,"owners_count":20413272,"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","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"}},"keywords":[],"created_at":"2024-10-13T13:28:07.542Z","updated_at":"2025-03-18T09:26:42.713Z","avatar_url":"https://github.com/marcelbuesing.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"![arduino-cli-client](https://socialify.git.ci/marcelbuesing/arduino-cli-client/image?description=1\u0026descriptionEditable=arduino-cli%20%20gRPC%20client%20bindings%20for%20Rust\u0026font=Inter\u0026forks=1\u0026issues=1\u0026language=1\u0026pattern=Circuit%20Board\u0026pulls=1\u0026stargazers=1\u0026theme=Light)\n\ngRPC bindings for [arduino-cli](https://github.com/arduino/arduino-cli).\nBindings are generated based on the protobuf definitions defined [here](https://github.com/arduino/arduino-cli/tree/master/rpc).\n\n[![asciicast](https://asciinema.org/a/373560.svg)](https://asciinema.org/a/373560)\n\n## Example\n\nThis examples demonstrates retrieving the list of connected boards.\nMake sure you run `arduino-cli daemon` before running this example.\n\nYou can run the example via `cargo run --example list_boards`.\n\n```Rust\nuse arduino_cli_client::commands::arduino_core_client::ArduinoCoreClient;\nuse arduino_cli_client::commands::{BoardListReq, InitReq};\n\n#[tokio::main]\nasync fn main() -\u003e Result\u003c(), Box\u003cdyn std::error::Error\u003e\u003e {\n    let mut client = ArduinoCoreClient::connect(\"http://localhost:50051\").await?;\n\n    // Start a new instance of the Arduino Core Service\n    let mut init_stream = client\n        .init(InitReq {\n            library_manager_only: false,\n        })\n        .await?\n        .into_inner();\n\n    let resp_instance = init_stream.message().await?.expect(\"Failed to init\");\n\n    // List the boards currently connected to the computer.\n    let resp_boards = client\n        .board_list(BoardListReq {\n            instance: resp_instance.instance,\n        })\n        .await?\n        .into_inner();\n\n    print!(\"Boards: {:?}\", resp_boards.ports);\n\n    Ok(())\n}\n```\n\n## Example - Client\n\nThe `examples/` folder contains a client example that is analogue to `arduino-cli/client-example`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcelbuesing%2Farduino-cli-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcelbuesing%2Farduino-cli-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcelbuesing%2Farduino-cli-client/lists"}