# hy-nrepl
[](https://github.com/masatoi/hy-nrepl/actions/workflows/hy_nrepl_test.yaml)
hy-nrepl is an implementation of the [nREPL](https://nrepl.org) protocol for [Hy](https://github.com/hylang/hy).
hy-nrepl is a fork from [HyREPL](https://github.com/allison-casey/HyREPL) and has been adjusted to work with the current Hy.
## Implemented Operations
from [nREPL Built-in Ops](https://nrepl.org/nrepl/1.3/ops.html)
- [ ] add-middleware
- [x] clone
- [x] close
- [x] completions
- [x] describe
- [x] eval
- [x] interrupt
- [x] load-file
- [x] lookup
- [ ] ls-middleware
- [x] ls-sessions
- [x] stdin
- [ ] swap-middleware
## Usage
hy-nrepl requires Python >= 3.11 and Hy >= 0.29.0.
To install
```sh
pip install hy-nrepl
```
To run server, (default port is 7888)
```sh
hy-nrepl
# Output debug log and specify port
hy-nrepl --debug 7888
```
Testing
-------
Install test dependencies, then run pytest:
```sh
pip install -e .[test]
pytest tests
```
## Confirmed working nREPL clients
### Emacs
The following combinations are currently confirmed to work stably.
- [hy-mode](https://github.com/hylang/hy-mode) + [Rail](https://github.com/masatoi/Rail)
- REPL (Eval and Interruption)
- Symbol completion
- Eldoc (Function arg documentations)
- Jump to source
Raw data
{
"_id": null,
"home_page": null,
"name": "hy-nrepl",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "hy, hylang, nrepl, repl",
"author": "Morten Linderud, Gregor Best, Satoshi Imai",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/a2/52/19f613c22efaa6903a2b3d182b23517ed23139ba4d14c8184cfc029c592d/hy_nrepl-1.0.3.tar.gz",
"platform": null,
"description": "# hy-nrepl\n[](https://github.com/masatoi/hy-nrepl/actions/workflows/hy_nrepl_test.yaml)\n\nhy-nrepl is an implementation of the [nREPL](https://nrepl.org) protocol for [Hy](https://github.com/hylang/hy).\nhy-nrepl is a fork from [HyREPL](https://github.com/allison-casey/HyREPL) and has been adjusted to work with the current Hy.\n\n## Implemented Operations\n\nfrom [nREPL Built-in Ops](https://nrepl.org/nrepl/1.3/ops.html)\n\n- [ ] add-middleware\n- [x] clone\n- [x] close\n- [x] completions\n- [x] describe\n- [x] eval\n- [x] interrupt\n- [x] load-file\n- [x] lookup\n- [ ] ls-middleware\n- [x] ls-sessions\n- [x] stdin\n- [ ] swap-middleware\n\n## Usage\nhy-nrepl requires Python >= 3.11 and Hy >= 0.29.0.\n\nTo install\n\n```sh\npip install hy-nrepl\n```\n\nTo run server, (default port is 7888)\n```sh\nhy-nrepl\n\n# Output debug log and specify port\nhy-nrepl --debug 7888\n```\n\nTesting\n-------\n\nInstall test dependencies, then run pytest:\n\n```sh\npip install -e .[test]\n\npytest tests\n```\n\n## Confirmed working nREPL clients\n\n### Emacs\nThe following combinations are currently confirmed to work stably.\n\n- [hy-mode](https://github.com/hylang/hy-mode) + [Rail](https://github.com/masatoi/Rail)\n - REPL (Eval and Interruption)\n - Symbol completion\n - Eldoc (Function arg documentations)\n - Jump to source\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "nREPL implementation for Hy (Hylang)",
"version": "1.0.3",
"project_urls": {
"CI": "https://github.com/masatoi/hy-nrepl/actions",
"Homepage": "https://github.com/masatoi/hy-nrepl",
"Issues": "https://github.com/masatoi/hy-nrepl/issues"
},
"split_keywords": [
"hy",
" hylang",
" nrepl",
" repl"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "071e2c3de483360675cc07e9518e993ee957bbbfa040f3c5f675e1f64a1c1dca",
"md5": "9d0003bbb0dd77c94650c429c3f47b67",
"sha256": "ef698a375953e40c8f575fc3f4267f31357c9b3e87f578cb2a24f8a6292583fe"
},
"downloads": -1,
"filename": "hy_nrepl-1.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9d0003bbb0dd77c94650c429c3f47b67",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 19961,
"upload_time": "2025-08-09T08:48:25",
"upload_time_iso_8601": "2025-08-09T08:48:25.640030Z",
"url": "https://files.pythonhosted.org/packages/07/1e/2c3de483360675cc07e9518e993ee957bbbfa040f3c5f675e1f64a1c1dca/hy_nrepl-1.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a25219f613c22efaa6903a2b3d182b23517ed23139ba4d14c8184cfc029c592d",
"md5": "2e86b393a906aa916012800b1b945bc1",
"sha256": "dd9ccb09b7c90db4fa575d9065e4067609716e3eb5f791275ea0fc56da74b012"
},
"downloads": -1,
"filename": "hy_nrepl-1.0.3.tar.gz",
"has_sig": false,
"md5_digest": "2e86b393a906aa916012800b1b945bc1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 16585,
"upload_time": "2025-08-09T08:48:26",
"upload_time_iso_8601": "2025-08-09T08:48:26.700292Z",
"url": "https://files.pythonhosted.org/packages/a2/52/19f613c22efaa6903a2b3d182b23517ed23139ba4d14c8184cfc029c592d/hy_nrepl-1.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-09 08:48:26",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "masatoi",
"github_project": "hy-nrepl",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "hy-nrepl"
}