{"id":13343211,"url":"https://github.com/eugenesvk/xontrib-mise","last_synced_at":"2025-12-14T00:19:45.168Z","repository":{"id":65738727,"uuid":"598510290","full_name":"eugenesvk/xontrib-mise","owner":"eugenesvk","description":"Xonsh-initialize rtx (polyglot runtime manager) in a more performant and flexible way","archived":false,"fork":false,"pushed_at":"2024-04-29T15:44:24.000Z","size":29,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-05-29T15:03:47.442Z","etag":null,"topics":["asdf","mise","rtx","xonsh","xontrib"],"latest_commit_sha":null,"homepage":"","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/eugenesvk.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}},"created_at":"2023-02-07T09:03:12.000Z","updated_at":"2024-07-19T18:56:00.383Z","dependencies_parsed_at":"2024-02-28T17:09:40.964Z","dependency_job_id":"abff3cc9-ea5e-48f9-ad70-122e61f733e4","html_url":"https://github.com/eugenesvk/xontrib-mise","commit_stats":{"total_commits":13,"total_committers":1,"mean_commits":13.0,"dds":0.0,"last_synced_commit":"9fed79a3b544ffe772c63ba8f276e4a865d92d98"},"previous_names":["eugenesvk/xontrib-mise","eugenesvk/xontrib-rtx"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eugenesvk%2Fxontrib-mise","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eugenesvk%2Fxontrib-mise/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eugenesvk%2Fxontrib-mise/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eugenesvk%2Fxontrib-mise/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eugenesvk","download_url":"https://codeload.github.com/eugenesvk/xontrib-mise/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248109782,"owners_count":21049372,"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":["asdf","mise","rtx","xonsh","xontrib"],"created_at":"2024-07-29T19:30:42.633Z","updated_at":"2025-12-14T00:19:45.094Z","avatar_url":"https://github.com/eugenesvk.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\nInitialize \u003ca href=\"https://github.com/jdx/mise\" target=\"_blank\"\u003emise\u003c/a\u003e (polyglot asdf-like runtime manager in Rust)\u003c/br\u003e\nin a more performant and flexible way\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e  \nIf you like the idea click ⭐ on the repo and \u003ca href=\"https://twitter.com/intent/tweet?text=Nice%20xontrib%20for%20the%20xonsh%20shell!\u0026url=https://github.com/eugenesvk/xontrib-mise\" target=\"_blank\"\u003etweet\u003c/a\u003e.\n\u003c/p\u003e\n\nThis xontrib adds a couple of (maybe too tiny to notice) improvements:\n\n  - (no cost) replaces the subprocess syntax for the hook mise function with a pure python syntax, which for some reason improves hook runtime by __~60%__ (but in absolute terms maybe just a dozen or two `ms`)\n  - (less convenient) replaces a hook on every prompt paint with hooks on\n    - shell launch\n    - changing dirs\n    - empty commands\u003c/br\u003e\n      useful to refresh shell status when you edit `.tool-versions` _outside_ of shell (optional)\n    - commands that containt custom text chunks\u003c/br\u003e\n      useful to refresh shell status when you edit `.tool-versions`  _in_ a shell (optional)\n\n## Installation\n\nTo install use pip:\n\n```bash\nxpip install xontrib-mise\n# or: xpip install -U git+https://github.com/eugenesvk/xontrib-mise\n```\n\n## Usage\n\nThis xontrib requires `mise` to be in `PATH` or `~/bin`; or if it's added to `PATH` via another xontrib (e.g, you installed it via Homebrew and use `xontrib-homebrew`), then you should load this xontrib after the one setting `PATH`\n\n1. Add the following to your `.py` xontrib loading config and `import` it in your xonsh run control file (`~/.xonshrc` or `~/.config/rc.xsh`):\n```py\nfrom xonsh.xontribs \timport xontribs_load\nfrom xonsh.built_ins\timport XSH\nenvx = XSH.env\n\nxontribs = [ \"mise\", # Initializes mise (polyglot asdf-like runtime manager)\n # your other xontribs\n]\n# ↓ optional configuration variables\nif 'mise' in xontribs: # Configure mise only if you're actually loading\n  # config var                        \t  value             \t  |default|alt_cmd¦ comment\n  envx['XONTRIB_MISE_CHUNK_LIST']     \t= ['.tool-versions']\t# |['.tool-versions']|False¦ (feeble attempts to track edits to `.tool-versions` in the command line) update mise status if command contains any of the string chunks in this list; False to disable this listener completely\n  envx['XONTRIB_MISE_NEWLINE_REFRESH']\t= True              \t# |True|False¦ update mise status if command is empty (e.g, ⏎ on a blank line to refresh after editing `.tool-versions` in a text editor); False to disable this listener completely\n  envx['XONTRIB_MISE_FORCE_COLOR']    \t= True              \t# |True|False¦ preserve colored mise output\n  envx['XONTRIB_MISE_LOGLEVEL']       \t= 1                 \t# |1|0¦ print xontrib log messages: 0 none, 1 error; 'mise' stderr is always passed through\n# (old variables with _RTX_ in the name continue to work)\nxontribs_load(xontribs) # actually load all xontribs in the list\n```\n\n2. Or just add this to your xonsh run control file\n```xsh\nxontrib load mise # Initializes mise (polyglot asdf-like runtime manager)\n# configure like in the example above, but replace envx['VAR'] with $VAR\n$XONTRIB_MISE_LOGLEVEL = 1\n```\n\n## Known issues\n\n- In the future xontrib-mise will be autoloaded, but this is currently blocked due to a [xonsh bug](https://github.com/xonsh/xonsh/issues/5020): too early autoload prevents reading user config; also, autoloading can't be disabled\n\n## Credits\n\nThis package was created with [xontrib template](https://github.com/xonsh/xontrib-template)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feugenesvk%2Fxontrib-mise","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feugenesvk%2Fxontrib-mise","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feugenesvk%2Fxontrib-mise/lists"}