{"id":36815400,"url":"https://github.com/code-butter/selektor","last_synced_at":"2026-01-12T13:53:00.982Z","repository":{"id":235554308,"uuid":"790465534","full_name":"code-butter/selektor","owner":"code-butter","description":"A nice pop-up GUI selector for your scripts. ","archived":false,"fork":false,"pushed_at":"2024-04-26T19:12:34.000Z","size":1791,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2024-04-27T15:44:28.167Z","etag":null,"topics":["cross-platform","scripting","tool"],"latest_commit_sha":null,"homepage":"","language":"Svelte","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/code-butter.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2024-04-22T23:38:02.000Z","updated_at":"2024-04-26T19:12:38.000Z","dependencies_parsed_at":"2024-04-25T15:49:10.824Z","dependency_job_id":null,"html_url":"https://github.com/code-butter/selektor","commit_stats":null,"previous_names":["code-butter/selektor"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/code-butter/selektor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-butter%2Fselektor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-butter%2Fselektor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-butter%2Fselektor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-butter%2Fselektor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/code-butter","download_url":"https://codeload.github.com/code-butter/selektor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-butter%2Fselektor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28339729,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T12:22:26.515Z","status":"ssl_error","status_checked_at":"2026-01-12T12:22:10.856Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["cross-platform","scripting","tool"],"created_at":"2026-01-12T13:53:00.082Z","updated_at":"2026-01-12T13:53:00.965Z","avatar_url":"https://github.com/code-butter.png","language":"Svelte","funding_links":[],"categories":[],"sub_categories":[],"readme":"# selektor\n\nSelect from available options with scripting. This is a simple GUI application that pipes the selected option back to \nthe script.\n\n![Visual demo: opening the interface via script](./demo.webp)\n\n## Installation\n\n### Prebuilt Binaries\n\n* Visit the latest release to get the binary for your platform. \n* Copy it to a directory in your PATH environment variable. \n  * rename it to 'selektor' if you downloaded the MacOS or Linux version \n  \nThe MacOS build is universal and will work on Intel and ARM Macs. \n\nThese binaries are not currently signed, but will be eventually.\n\n### Build it yourself\n\n* [Install all the dependencies for Tauri development](https://tauri.app/v1/guides/getting-started/prerequisites/)\n* `npm install`\n* `npm run tauri build` \n\nCopy the resulting binary nested somewhere in `src-tauri/target` to a directory in your PATH. \n\n## Usage\n\nPass a JSON object with this format into `selektor`: `[{label: \"Label value\", value: \"Program value\"}]`. You can pass this \nin either through an environment variable `SELEKTOR_OPTIONS`, through a CLI argument `--options json-text`, or through STDIN.   \n\nIf you use STDIN, append a newline to the JSON string. \n\nIf you'd like to change the prompt in the text box you can do it through the environment variable `SELKTOR_PROMPT` or\nthrough the CLI argument `--prompt \"Your Prompt Here...\"`. \n\n\n## Example\n\nThis can be run in Python 3. You can similarly use this in other languages and in shell scripts.\n\n```python\n#!/usr/env python3\n\nimport sys\nimport json\nimport subprocess\n\ndata = [\n    {\"label\": \"Test Option 1\", \"value\": \"test_option_1\"},\n    {\"label\": \"Test Option 2\", \"value\": \"test_option_2\"},\n    {\"label\": \"Test Option 3\", \"value\": \"test_option_3\"}\n]\n\nprocess = subprocess.Popen([\"selektor\", \"--prompt\", \"Choose a thing\"], text=True, stdin=subprocess.PIPE,\n                           stdout=subprocess.PIPE, stderr=subprocess.PIPE)\nstdout, stderr = process.communicate(\"%s\\n\" % json.dumps(data))\n\nsys.stderr.write(stderr)\n\nif process.returncode != 0:\n    sys.stderr.write(\"Process exited with code %d\\n\" % process.returncode)\nelse:\n    sys.stdout.write(\"You selected %s\\n\" % stdout)\n\n```\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode-butter%2Fselektor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcode-butter%2Fselektor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode-butter%2Fselektor/lists"}