{"id":26965589,"url":"https://github.com/zubax/kucher","last_synced_at":"2025-04-03T07:30:10.778Z","repository":{"id":31001629,"uuid":"116160892","full_name":"Zubax/kucher","owner":"Zubax","description":"GUI tool for the Telega motor control platform","archived":false,"fork":false,"pushed_at":"2023-08-14T01:23:53.000Z","size":1028,"stargazers_count":7,"open_issues_count":4,"forks_count":5,"subscribers_count":8,"default_branch":"master","last_synced_at":"2023-08-19T07:10:32.628Z","etag":null,"topics":["cross-platform","gui","linux","motor-controller","osx","pyqt5","python","python3","telega","windows"],"latest_commit_sha":null,"homepage":"https://zubax.com","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/Zubax.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":"2018-01-03T16:54:59.000Z","updated_at":"2022-11-08T18:37:42.000Z","dependencies_parsed_at":"2022-08-07T16:00:31.588Z","dependency_job_id":null,"html_url":"https://github.com/Zubax/kucher","commit_stats":null,"previous_names":[],"tags_count":2,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zubax%2Fkucher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zubax%2Fkucher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zubax%2Fkucher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zubax%2Fkucher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Zubax","download_url":"https://codeload.github.com/Zubax/kucher/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246955853,"owners_count":20860369,"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":["cross-platform","gui","linux","motor-controller","osx","pyqt5","python","python3","telega","windows"],"created_at":"2025-04-03T07:30:10.072Z","updated_at":"2025-04-03T07:30:10.743Z","avatar_url":"https://github.com/Zubax.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Forum](https://img.shields.io/discourse/https/forum.zubax.com/users.svg?color=e00000)](https://forum.zubax.com)\n\n# Kucher\n\n**Kucher is a configuration, management, and diagnostic GUI tool for the\n[Telega motor control platform](https://zubax.com/technologies/telega).**\n\nKucher is an open source product distributed under the terms of the GPLv3 license.\n\nKucher is cross-platform. It is designed to run at least on GNU/Linux and Windows;\nit is also compatible with some other platforms, such as OS X,\nbut is not actively tested against them.\n\n## Installation and usage\n\nKucher installation and setup instructions can be found at the\n[Telega home page](https://zubax.com/technologies/telega).\nIf you don't see a version suitable for your OS published there, please open a ticket.\nLinks to usage instructions and examples can be found there as well.\n\nGet support and ask questions at the [Zubax Forum](https://forum.zubax.com).\n\n## Development\n\n### Conventions\n\nFollow PEP8 with one exception: the maximum line length shall be 120 characters.\nFind more info on the [Zubax Knowledge Base article](https://kb.zubax.com/x/_oAh).\n\nWe are using PyCharm with PEP8 compliance checks enabled.\nNon-conforming contributions should not be accepted.\n\n### Configuring the environment\n\nThis section describes how to configure the local system for development.\nAn AMD64 GNU/Linux system is required.\n\nKucher requires Python version 3.10 or newer.\n\n```bash\ngit clone --recursive https://github.com/Zubax/kucher\ncd kucher\npip3 install -r requirements.txt  # You may need to run this as root depending on your environment\n```\n\n### Running the application\n\nJust execute `zubax-kucher`.\nThe following command line options are available:\n\n* `--debug` - activates verbose logging; useful for troubleshooting.\n* `--profile` - creates a profile file after the application is closed.\n\n### Running the unit tests\n\nFrom the root directory, on Linux:\n\n```bash\npytest\n```\n\nOn Windows:\n\n```bash\npytest\n```\n\n### CI artifacts\n\nThe CI builds redistributable release binaries automatically.\nFollow the CI status link from the [commits page](https://github.com/Zubax/kucher/commits/master)\nto find the binaries for a particular commit.\nThe Linux binaries can be shipped directly; the Windows binaries must be signed first.\n\n### Signing Windows executables\n\nRequirements:\n* Windows 10\n* An unsigned executable file named `Kucher.exe`\n* Certum cryptographic card (USB dongle), with a valid certificate installed\n* Signtool: available in [Windows development Kit](https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk)\n\n1 - Connect the USB dongle to the PC. Open it, launch \"Start.exe\", click \"Install Code Signing\" and follow the instructions. \nReboot the system if required.\n\n2 - Launch proCertum CardManager. Click \"Options\" and tick the box \"EV Code Signing - replace CSP with minidriver library\".\nClick \"Ok\" and reboot the system.\n\n3 - Make sure that signtool is included in the [Windows PATH variable](https://www.architectryan.com/2018/03/17/add-to-the-path-on-windows-10/).\nIts path usually is\n`C:\\Program Files (x86)\\Windows Kits\\10\\App Certification Kit`.\n\n4 - Open command prompt and use this command the executable's directory:\n```bash\nsigntool sign /n \"Open Source Developer, Pavel Kirienko\" /t http://time.certum.pl /fd sha256 /v Kucher.exe\n```\nEnter the card's PIN when asked. The executable should now be signed.\n\n5 - To verify the file, use:\n```bash\nsigntool verify /pa Kucher.exe\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzubax%2Fkucher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzubax%2Fkucher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzubax%2Fkucher/lists"}