{"id":15533296,"url":"https://github.com/combatopera/concern","last_synced_at":"2025-04-14T00:37:14.085Z","repository":{"id":62564269,"uuid":"132447620","full_name":"combatopera/Concern","owner":"combatopera","description":"Control pym2149 (via Lurlene) or FoxDot using Vim","archived":false,"fork":false,"pushed_at":"2025-02-05T14:36:08.000Z","size":225,"stargazers_count":7,"open_issues_count":13,"forks_count":1,"subscribers_count":2,"default_branch":"trunk","last_synced_at":"2025-04-11T05:46:26.652Z","etag":null,"topics":["foxdot","live-coding","livecoding","vim"],"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/combatopera.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","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":"2018-05-07T10:56:03.000Z","updated_at":"2025-02-05T14:36:09.000Z","dependencies_parsed_at":"2025-01-15T21:42:42.423Z","dependency_job_id":"e85cc1f5-c0b0-46fe-b4b4-3511dc5553d7","html_url":"https://github.com/combatopera/Concern","commit_stats":{"total_commits":341,"total_committers":2,"mean_commits":170.5,"dds":0.02639296187683282,"last_synced_commit":"593bbe95e21d3bbcf2c160afeeb81661fb9b5cc2"},"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/combatopera%2FConcern","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/combatopera%2FConcern/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/combatopera%2FConcern/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/combatopera%2FConcern/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/combatopera","download_url":"https://codeload.github.com/combatopera/Concern/tar.gz/refs/heads/trunk","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248803604,"owners_count":21164085,"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":["foxdot","live-coding","livecoding","vim"],"created_at":"2024-10-02T11:35:25.620Z","updated_at":"2025-04-14T00:37:14.064Z","avatar_url":"https://github.com/combatopera.png","language":"Python","readme":"# Concern\nControl pym2149 (via Lurlene) or FoxDot using Vim\n\n## Install\nThese are generic installation instructions.\n\n### To use, disposably\nInstall the current release from PyPI to a virtual environment:\n```\npython3 -m venv venvname\nvenvname/bin/pip install -U pip\nvenvname/bin/pip install Concern\n. venvname/bin/activate\n```\nYou will also need one of the following backends.\n\n#### FoxDot backend\n```\n# Simply install, and Concern will use it:\nvenvname/bin/pip install FoxDot\n```\n\n#### pym2149 backend\n```\n# Install as usual:\nvenvname/bin/pip install pym2149\n\n# Tell Concern to use it instead of foxdot:\necho Concern consumerName = pym2149 | tee -a ~/.settings.arid\n```\n\n### To use, permanently\n```\n# Tested on Linux and Mac:\npip3 install --break-system-packages --user Concern\n```\nTo add a backend, substitute `pip3 install --user` for `venvname/bin/pip install` above.\nSee `~/.local/bin` for executables.\n\n### To develop\nFirst install venvpool to get the `motivate` command:\n```\npip3 install --break-system-packages --user venvpool\n```\nGet codebase and install executables:\n```\ngit clone git@github.com:combatopera/Concern.git\nmotivate Concern\n```\nRequirements will be satisfied just in time, using sibling projects with matching .egg-info if any.\n\n## Commands\n\n### Concern\nVim-based live coding environment.\n\n## Usage\n\n### FoxDot\n```\n# Any arguments are passed to vim, here we discover the FoxDot demo directory:\nConcern \"$(venvname/bin/python -c 'from pkg_resources import resource_filename; print(resource_filename(\"FoxDot\", \"demo\"))' | tail -1)\"\n```\n* FoxDot is running in the right hand third of the screen\n* Send code to FoxDot by typing backslash followed by `]`\n    * This will send the smallest top-level suite under the cursor\n    * The backslash is actually your Vim leader key\n* Use visual mode to send multiple top-level suites at once\n* Use backslash enter instead of backslash `]` to send from cursor to the end of the file\n* Use backslash `q` to quit all of Vim, FoxDot and GNU Screen\n\n### pym2149\n```\n# Download some files to play with:\ngit clone git@github.com:combatopera/pym2149.git\n\n# Load a non-trivial tune written in the Lurlene live coding language:\nConcern 'pym2149/contrib/Lemmings 2 Tune 6.py'\n```\n* Once pym2149 has initialised, type backslash enter at the top of the file to send the whole program\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcombatopera%2Fconcern","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcombatopera%2Fconcern","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcombatopera%2Fconcern/lists"}