{"id":28561696,"url":"https://github.com/ultimaker/curaengine_grpc_definitions","last_synced_at":"2026-02-15T01:32:57.989Z","repository":{"id":167454068,"uuid":"641907723","full_name":"Ultimaker/CuraEngine_grpc_definitions","owner":"Ultimaker","description":null,"archived":false,"fork":false,"pushed_at":"2025-09-07T16:20:06.000Z","size":661,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-10-03T02:50:28.470Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/Ultimaker.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-17T12:17:43.000Z","updated_at":"2025-09-07T16:20:09.000Z","dependencies_parsed_at":"2023-09-16T01:12:50.259Z","dependency_job_id":"7778b7e7-9be7-4295-aee6-c6c2d8f2f82e","html_url":"https://github.com/Ultimaker/CuraEngine_grpc_definitions","commit_stats":null,"previous_names":["ultimaker/curaengine_grpc_defintions","ultimaker/curaengine_grpc_definitions"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/Ultimaker/CuraEngine_grpc_definitions","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ultimaker%2FCuraEngine_grpc_definitions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ultimaker%2FCuraEngine_grpc_definitions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ultimaker%2FCuraEngine_grpc_definitions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ultimaker%2FCuraEngine_grpc_definitions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ultimaker","download_url":"https://codeload.github.com/Ultimaker/CuraEngine_grpc_definitions/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ultimaker%2FCuraEngine_grpc_definitions/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29464129,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T01:01:38.065Z","status":"ssl_error","status_checked_at":"2026-02-15T01:01:23.809Z","response_time":53,"last_error":"SSL_read: 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"}},"keywords":[],"created_at":"2025-06-10T11:15:31.584Z","updated_at":"2026-02-15T01:32:57.985Z","avatar_url":"https://github.com/Ultimaker.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gRPC definitions for CuraEngine\nThis repository contains the gRPC proto definitions for CuraEngine. These definitions are used to generate the gRPC code for the CuraEngine gRPC plugin system.\n\n## Overview\nAs part of the [CuraEngine](https://github.com/Ultimaker/CuraEngine) plugin system, the CuraEngine serves as gRPC client. The functionality of CuraEngine can be extended with CuraEngine plugins, which behaves as servers. The gRPC client/server uses the [Protocol Buffers](https://developers.google.com/protocol-buffers) format. This repository contains the definitions for the gRPC server and client(s).\n\n## Usage\nThe gRPC definitions are available for the following languages:\n\n\u003cdetails\u003e\n  \u003csummary\u003eConan\u003c/summary\u003e\n\n  Usage in `conanfile.py`\n  ```python\n  class CuraEnginePluginConan(ConanFile):\n      ...\n  \n      def requirements(self):\n        self.requires(\"asio-grpc/2.4.0\")\n        self.requires(\"curaengine_grpc_definitions/(latest)@ultimaker/testing\")\n        ...\n  \n      def generate(self):\n        tc = CMakeToolchain(self)\n        cpp_info = self.dependencies[\"curaengine_grpc_definitions\"].cpp_info\n        tc.variables[\"GRPC_IMPORT_DIRS\"] = cpp_info.resdirs[0]\n        tc.variables[\"GRPC_PROTOS\"] = \";\".join([str(p).replace(\"\\\\\", \"/\") for p in Path(cpp_info.resdirs[0]).rglob(\"*.proto\")])\n        tc.generate()\n  \n      ...  \n  ```\n  \n  \n  Usage in `CMakeLists.txt`\n  ```cmake\n  ...\n  find_package(asio-grpc REQUIRED)\n  \nasio_grpc_protobuf_generate(PROTOS \"${GRPC_PROTOS}\" \n        IMPORT_DIRS ${GRPC_IMPORT_DIRS}\n        OUT_VAR \"ASIO_GRPC_PLUGIN_PROTO_SOURCES\"\n        OUT_DIR \"${CMAKE_CURRENT_BINARY_DIR}/generated\"\n        GENERATE_GRPC GENERATE_MOCK_CODE)\n  \n  add_executable(engine_plugin_target_name ${PROTO_SRCS} ${ASIO_GRPC_PLUGIN_PROTO_SOURCES} main.cpp ...)\n\n  target_include_directories(engine_plugin_target_name\n          PUBLIC\n          ...\n          PRIVATE\n          ${CMAKE_CURRENT_BINARY_DIR}/generated\n          )\n\n  target_link_libraries(simplify_boost_plugin PUBLIC asio-grpc::asio-grpc ...)\n  ...\n  ```\n  \n  See: https://github.com/Ultimaker/Cura/wiki/Running-Cura-from-Source#1-configure-conan how to configure Conan\n  \n  ```bash\n  conan install . --build=missing --update\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003ePython\u003c/summary\u003e\n\n ```bash\n pip install git+https://github.com/Ultimaker/CuraEngine_grpc_definitions.git\n ```\n\n```python\nimport grpc\n\nfrom CuraEngineGRPC.cura_pb2_grpc import CuraStub\nimport CuraEngineGRPC.cura_pb2 as cura_pb\n\n....\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eRust\u003c/summary\u003e\n  Required dependencies before the gRPC definitions can be used are: [`protoc`, `protobuf`](https://github.com/hyperium/tonic#dependencies).\n  \n  Then add the following package to your `Cargo.toml`:\n  ```bash\n  cargo add --git https://github.com/Ultimaker/curaengine_grpc_definitions.git\n  ```\n\u003c/details\u003e\n\n## License\n\nThis project is licensed under the [MIT license](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fultimaker%2Fcuraengine_grpc_definitions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fultimaker%2Fcuraengine_grpc_definitions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fultimaker%2Fcuraengine_grpc_definitions/lists"}