A minimal Hy utility library, using mostly the standard libraries.
Project description
🦑 Hyjinx
Functions and macros useful for modern living in the Hy REPL.
Compatible with Hy 0.28.0.
Hylights
- REPL syntax highlighting (put
(import hyjinx.source [hylight]) (setv repl-output-fn hylight)
in your .hyrc) - pretty tracebacks with correct syntax highlighting for hy or python
- print/get/edit source code of a function, module etc.
- in-repl code analysis and discussion using LLMs
defmethod
(ifmultimethod
is installed)- numpy array pretty printing
- a zmq lazy pirate protocol
- a minimal ncurses class
Modules
-
hyjinx.lib: a smorgasbord of convenience functions.
-
hyjinx.source: code inspection.
-
hyjinx.doc: peruse hy documentation.
-
hyjinx.screen: a convenient ncurses wrapper.
-
hyjinx.mat: numpy pretty-printing for humans. (requires numpy, jax optional)
-
hyjinx.[zmq_client, zmq_server, crypto, wire]: lazy-pirate zmq RPC architecture. (requires zmq, ecdsa, zstandard)
-
hyjinx.llm: discuss code with a Large Language Model (AI). TabbyAPI and OpenAI-compatible are supported. (requires openai)
Install
$ pip install -U hyjinx
or, with optional dependencies,
$ pip install -U hyjinx[zmq]
$ pip install -U hyjinx[llm]
To install offline hy/hyrule documentation,
$ hy -m hyjinx.docs
See hyjinx.hyrc for example usage.
Optional dependencies
You can install with the [zmq]
option which also installs ecdsa, pyzmq and zstandard for the zmq server/client
You can install with the [llm]
option which also installs openai and lets you discuss code objects with ChatGPT or a locally-served LLM (via TabbyAPI or similar).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.