{"id":13819982,"url":"https://github.com/stereobutter/talos-linux-api","last_synced_at":"2025-06-14T19:02:08.942Z","repository":{"id":107211567,"uuid":"606925443","full_name":"stereobutter/talos-linux-api","owner":"stereobutter","description":"Python bindings for the Talos Linux gRPC API","archived":false,"fork":false,"pushed_at":"2024-01-31T08:35:55.000Z","size":221,"stargazers_count":20,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-30T13:36:50.298Z","etag":null,"topics":["asyncio","betterproto","grpc","protobuf","python","talos"],"latest_commit_sha":null,"homepage":"","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/stereobutter.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-02-26T23:54:59.000Z","updated_at":"2025-01-17T17:02:05.000Z","dependencies_parsed_at":"2024-05-14T09:26:10.050Z","dependency_job_id":null,"html_url":"https://github.com/stereobutter/talos-linux-api","commit_stats":{"total_commits":25,"total_committers":2,"mean_commits":12.5,"dds":"0.040000000000000036","last_synced_commit":"057b7ea669ac6c4e6ce8fe737059ba76cea6037f"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/stereobutter/talos-linux-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stereobutter%2Ftalos-linux-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stereobutter%2Ftalos-linux-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stereobutter%2Ftalos-linux-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stereobutter%2Ftalos-linux-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stereobutter","download_url":"https://codeload.github.com/stereobutter/talos-linux-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stereobutter%2Ftalos-linux-api/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259867939,"owners_count":22924228,"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":["asyncio","betterproto","grpc","protobuf","python","talos"],"created_at":"2024-08-04T08:00:56.281Z","updated_at":"2025-06-14T19:02:08.891Z","avatar_url":"https://github.com/stereobutter.png","language":"Python","funding_links":[],"categories":["Table of Contents"],"sub_categories":[],"readme":"# `talos-linux-api` - Python bindings for the Talos Linux gRPC API\n\n## Installation\nMultiple API versions can be installed simultaneously and are made available\nat runtime under an *Implicit Namespace Package* named `talos_linux_api`.\n\nCurrently available API versions:\n\n* `pip install talos-linux-api-v1.2.0`\n* `pip install talos-linux-api-v1.3.0`\n* `pip install talos-linux-api-v1.4.0`\n* `pip install talos-linux-api-v1.5.0`\n* `pip install talos-linux-api-v1.6.0`\n\n\n## Usage example\n```python\nimport ssl\nfrom talos_linux_api.v1_6_0.machine import MachineServiceStub\nfrom grpclib.client import Channel\nfrom betterproto.lib.google.protobuf import Empty\n\nssl_context = ssl.create_default_context()\nssl_context.load_cert_chain('client.crt', 'client.key')\nssl_context.load_verify_locations('ca.crt')\n\nasync with Channel(host=\"example.com\", port=50000, ssl=ssl_context) as channel:\n    machine_service = MachineServiceStub(channel)\n    response = await machine_service.cpu_info(Empty())\n```\n\n\u003e [!NOTE]\n\u003e `openssl` which the `ssl` module relies upon does not like the format of the\n\u003e private key that `talosctl` generates.\n\u003e ```\n\u003e -----BEGIN ED25519 PRIVATE KEY-----\n\u003e               ...\n\u003e -----END ED25519 PRIVATE KEY-----\n\u003e ```\n\u003e To make `openssl` happy you have to fix the header and footer by removing the\n\u003e `ED25519` part.\n\u003e ```\n\u003e -----BEGIN PRIVATE KEY-----\n\u003e               ...\n\u003e -----END PRIVATE KEY-----\n\u003e ```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstereobutter%2Ftalos-linux-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstereobutter%2Ftalos-linux-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstereobutter%2Ftalos-linux-api/lists"}