EPC (RPC stack for Emacs Lisp) server for Python
Project description
Links:
Documentation (at Read the Docs)
Repository (at GitHub)
Issue tracker (at GitHub)
Other resources:
kiwanami/emacs-epc (Client and server implementation in Emacs Lisp and Perl.)
tkf/emacs-jedi (Python completion for Emacs using EPC server.)
What is this?
EPC is an RPC stack for Emacs Lisp and Python-EPC is its server side implementation in Python. Using Python-EPC, you can easily call Emacs Lisp functions from Python and Python functions from Emacs. For example, you can use Python GUI module to build widgets for Emacs (see examples/gtk/server.py for example).
Install
To install Python-EPC and its dependency sexpdata, run the following command.:
pip install epc
Usage
Save the following code as my-server.py. (You can find the same code at the bottom of epc/server.py):
from epc.server import EPCServer server = EPCServer(('localhost', 0)) @server.register_function def echo(*a): return a server.print_port() server.serve_forever()
And then run the following code from Emacs. This is a stripped version of examples/echo/client.el included in Python-EPC repository.:
(require 'epc) (defvar my-epc (epc:start-epc "python" '("my-server.py"))) (deferred:$ (epc:call-deferred my-epc 'echo '(10)) (deferred:nextc it (lambda (x) (message "Return : %S" x)))) (message "Return : %S" (epc:call-sync my-epc 'echo '(10 40)))
If you have carton installed, you can run the above sample by simply typing the following commands:
make elpa # install EPC in a separated environment make run-sample # run examples/echo/client.el
For example of bidirectional communication and integration with GTK, see examples/gtk/server.py. You can run this example by:
make elpa make run-gtk-sample # run examples/gtk/client.el
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.
Source Distribution
File details
Details for the file epc-0.0.1.tar.gz
.
File metadata
- Download URL: epc-0.0.1.tar.gz
- Upload date:
- Size: 15.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbd87183f9b3c651433a01b99c6501e21a80208bc33c942abdb46d19c699f71f |
|
MD5 | 6729877c3f9f6018469e73621592351b |
|
BLAKE2b-256 | 89515a53d50394035625f4ae96f918972bfc6b4412b21acd455a44e8db3c3232 |