{"id":37733301,"url":"https://github.com/townk/skim","last_synced_at":"2026-04-23T05:01:19.841Z","repository":{"id":332673027,"uuid":"1134574878","full_name":"Townk/skim","owner":"Townk","description":"Svalboard Keymap Image Maker is a command-line tool that generates beautiful, publication-ready images of your keyboard layouts. It takes keymap configuration files from popular keyboard firmware tools and produces SVG or PNG images that you can use for documentation, reference cards, or sharing your layouts with the community.","archived":false,"fork":false,"pushed_at":"2026-04-23T03:12:59.000Z","size":4563,"stargazers_count":3,"open_issues_count":3,"forks_count":1,"subscribers_count":0,"default_branch":"mainline","last_synced_at":"2026-04-23T04:24:20.892Z","etag":null,"topics":["image","keyboard","keymap","layout","png","svalboard","svg","typst"],"latest_commit_sha":null,"homepage":"https://townk.github.io/skim/","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/Townk.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-14T22:48:20.000Z","updated_at":"2026-04-23T03:12:52.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Townk/skim","commit_stats":null,"previous_names":["townk/skim"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/Townk/skim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Townk%2Fskim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Townk%2Fskim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Townk%2Fskim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Townk%2Fskim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Townk","download_url":"https://codeload.github.com/Townk/skim/tar.gz/refs/heads/mainline","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Townk%2Fskim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32166660,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-23T02:19:40.750Z","status":"ssl_error","status_checked_at":"2026-04-23T02:17:55.737Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["image","keyboard","keymap","layout","png","svalboard","svg","typst"],"created_at":"2026-01-16T13:54:20.422Z","updated_at":"2026-04-23T05:01:19.836Z","avatar_url":"https://github.com/Townk.png","language":"Python","readme":"# qmk-skim (Svalboard Keymap Image Maker)\n\n[![Coverage](https://img.shields.io/badge/coverage-81%25-yellowgreen.svg)](https://github.com/Townk/skim)\n[![Python Version](https://img.shields.io/badge/python-3.10-blue.svg)](https://www.python.org/downloads/)\n[![Build Status](https://github.com/Townk/skim/actions/workflows/release.yml/badge.svg)](https://github.com/Townk/skim/actions/workflows/release.yml)\n[![PyPI version](https://badge.fury.io/py/qmk-skim.svg)](https://badge.fury.io/py/qmk-skim)\n\nA Python CLI tool for generating high-quality keymap layout images for the\n[Svalboard](https://svalboard.com) keyboard.\n\n## Features\n\n- Generate individual layer keymap images\n- Generate overview images showing all layers\n- Support for multiple keymap formats:\n  - Keybard (`.kbi`)\n  - Vial (`.vil`)\n  - QMK c2json (`.json`)\n- Configurable colors and appearance\n- High-quality output in multiple formats:\n  - Vector: SVG\n  - Raster: PNG, JPEG, WEBP, AVIF\n\n## Installation\n\nYou can install `qmk-skim` using `pip`, `pipx`, or `uv`.\n\n### Using uv (Recommended)\n\n```bash\nuv tool install qmk-skim\n```\n\n### Using pipx\n\n```bash\npipx install qmk-skim\n```\n\n### Using pip\n\n```bash\npip install qmk-skim\n```\n\n## Usage\n\nThe package installs the `skim` command-line tool.\n\n### Generate keymap images\n\n```bash\n# Generate from a keymap file\nskim generate --keymap my-keymap.kbi --output-dir ./images\n\n# Generate with custom configuration\nskim generate --keymap my-keymap.kbi --config skim-config.yaml --output-dir ./images\n\n# Generate specific layers only\nskim generate --keymap my-keymap.kbi --layer 1 --layer 3-5 --layer overview\n```\n\n### Configuration helper\n\n```bash\n# Create a configuration file from QMK color.h\nskim configure --qmk-color-header /path/to/qmk/quantum/color.h --output skim-config.yaml\n```\n\n## Development\n\nThis project uses `uv` for dependency management and `just` as a command runner.\n\n### Setup\n\n```bash\n# Clone the repository\ngit clone https://github.com/Townk/skim.git\ncd skim\n\n# Install dependencies\njust sync\n```\n\n### Testing\n\n```bash\n# Run all tests (unit + integration)\njust tests\n\n# Run only unit tests\njust unit-tests\n\n# Run only integration tests\njust integration-tests\n```\n\n### Code Quality\n\nRun the full suite of checks (linting, formatting, type checking) before\nsubmitting a PR:\n\n```bash\njust check\n```\n\nIndividual checks:\n\n```bash\njust lint      # Run ruff linter\njust format    # Format code with ruff\njust typecheck # Run basedpyright\n```\n\n### Building Documentation\n\n```bash\njust build-docs\n```\n\n## License\n\nMIT License\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftownk%2Fskim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftownk%2Fskim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftownk%2Fskim/lists"}