{"id":15130254,"url":"https://github.com/rickert-lab/italo","last_synced_at":"2025-10-30T23:34:18.418Z","repository":{"id":253344620,"uuid":"843123960","full_name":"rickert-lab/Italo","owner":"rickert-lab","description":"Image transfer tool for Indica Labs' HALO","archived":false,"fork":false,"pushed_at":"2024-11-15T18:37:19.000Z","size":1356,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-21T04:40:30.420Z","etag":null,"topics":["api","copy","graphql","halo","indica","labs","search","sql","transfer"],"latest_commit_sha":null,"homepage":"","language":"Python","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/rickert-lab.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":"2024-08-15T20:44:06.000Z","updated_at":"2025-02-25T00:47:14.000Z","dependencies_parsed_at":"2024-12-19T02:21:36.094Z","dependency_job_id":"fe87c424-5d18-439b-8b25-13edee5d78f5","html_url":"https://github.com/rickert-lab/Italo","commit_stats":null,"previous_names":["christianrickert/italo","rickert-lab/italo"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/rickert-lab/Italo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rickert-lab%2FItalo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rickert-lab%2FItalo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rickert-lab%2FItalo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rickert-lab%2FItalo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rickert-lab","download_url":"https://codeload.github.com/rickert-lab/Italo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rickert-lab%2FItalo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281899548,"owners_count":26580734,"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-10-30T02:00:06.501Z","response_time":61,"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"}},"keywords":["api","copy","graphql","halo","indica","labs","search","sql","transfer"],"created_at":"2024-09-26T02:43:05.944Z","updated_at":"2025-10-30T23:34:18.384Z","avatar_url":"https://github.com/rickert-lab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Italo\nImage transfer tool for Indica Labs' HALO  🤌\n\u003cimg src=\"./Italo.png\" alt=\"GUI with macOS\" width=\"712\"\u003e\n\u003e[!TIP]\n\u003eItalo requires access to HALO's GraphQL API server with a `scope=serviceuser|graphql` service client. For details on how to create the HALO service client, please see [Step 2](https://gitlab.com/indica_labs_public/example-code#step-2-create-halo-service-client) of Indica Labs' python example. In short, run the following command from an elevated Windows Command Prompt (\"Run as adminstrator\") on the HALO server system to request a new service client named `Italo`:\n\u003e```terminal\n\u003e\"C:\\Program Files\\Indica Labs\\Identity Provider\\IndicaLabs.ApplicationLayer.Halo.IdentityProvider.exe\" reconfigure --script AddResearchServiceClient \"client_type=Italo;scopes=serviceuser|graphql\"\n\u003e```\n\u003eDetails for the newly created service client can then be found on the HALO server system with the Identity Provider's config file:\n\u003e\n\u003e`C:\\ProgramData\\Indica Labs\\Configuration\\IndicaLabs.ApplicationLayer.Halo.IdentityProvider\\local-production.yml`\n\u003e```YAML\n\u003e  - !OidcClient/ClientCredentials\n\u003e    id: [GraphQL client name]\n\u003e    scopes:\n\u003e    - serviceuser\n\u003e    - graphql\n\u003e    require_client_secret: true\n\u003e    secrets:\n\u003e    - secret: [GraphQL client secret]\n\u003e```\n\u003eHowever, the creation of new service clients won't come into effect until the corresponding Windows service has been restarted: Either restart the HALO server system or open the \"Services\" application to restart the service: Select the \"HALO Identity Provider\" service and restart the service from either the service description on the left (hyperlink) or from the drop-down menu (right-click).\n\u003e\n\u003eNotice: The `[GraphQL client name]` is composed of the service client name `Italo`, an underscore `_`, and the `[GraphQL server name]`.\n\n\u003e[!WARNING]\n\u003eUpon first start, press the `Search` button. Italo will then write a template configuration file named `secrets.json` to the current folder. Replace the values indicated by squared brackets `[ ]` with your custom configuration values:\n\u003e```JSON\n\u003e{\n\u003e  \"client_name\": \"[GraphQL client name]\",\n\u003e  \"client_secrect\": \"[GraphQL client secret]\",\n\u003e  \"client_scope\": \"serviceuser graphql\",\n\u003e  \"grant_type\": \"client_credentials\",\n\u003e  \"server_name\": \"[GraphQL server name]\"\n\u003e}\n\u003e```\n\u003e**Make sure to _limit access_ to the `secrets.json` file to people you trust with modifying HALO's SQL database.**\n\n\u003e[!CAUTION]\n\u003eModifying entries in a database or copying files between storage systems bears the risk of unexpected behaviour and failures. HALO's SQL database reports errors upon failing transfer requests, and Italo only **copies** files without modification of the source or the target: However, you should use stable network connections (ethernet \u003e wifi) and avoid tunneling protocols (vpn) to improve your user experience. If the connection to the server times out (progress bar stops), simply hit \"Search\" and \"Transfer\" again to continue.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frickert-lab%2Fitalo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frickert-lab%2Fitalo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frickert-lab%2Fitalo/lists"}