summaryrefslogtreecommitdiff
path: root/.emacs.d.back/.python-environments/default/lib/python3.7/site-packages/epc/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to '.emacs.d.back/.python-environments/default/lib/python3.7/site-packages/epc/__init__.py')
-rw-r--r--.emacs.d.back/.python-environments/default/lib/python3.7/site-packages/epc/__init__.py135
1 files changed, 135 insertions, 0 deletions
diff --git a/.emacs.d.back/.python-environments/default/lib/python3.7/site-packages/epc/__init__.py b/.emacs.d.back/.python-environments/default/lib/python3.7/site-packages/epc/__init__.py
new file mode 100644
index 00000000..3c5c2f41
--- /dev/null
+++ b/.emacs.d.back/.python-environments/default/lib/python3.7/site-packages/epc/__init__.py
@@ -0,0 +1,135 @@
+# [[[cog import cog; cog.outl('"""\n%s\n"""' % file('../README.rst').read())]]]
+"""
+EPC (RPC stack for Emacs Lisp) for Python
+=========================================
+
+Links:
+
+* `Documentation <http://python-epc.readthedocs.org/>`_ (at Read the Docs)
+* `Repository <https://github.com/tkf/python-epc>`_ (at GitHub)
+* `Issue tracker <https://github.com/tkf/python-epc/issues>`_ (at GitHub)
+* `PyPI <http://pypi.python.org/pypi/epc>`_
+* `Travis CI <https://travis-ci.org/#!/tkf/python-epc>`_ |build-status|
+
+Other resources:
+
+* `kiwanami/emacs-epc <https://github.com/kiwanami/emacs-epc>`_
+ (Client and server implementation in Emacs Lisp and Perl.)
+* `tkf/emacs-jedi <https://github.com/tkf/emacs-jedi>`_
+ (Python completion for Emacs using EPC server.)
+
+.. |build-status|
+ image:: https://secure.travis-ci.org/tkf/python-epc.png
+ ?branch=master
+ :target: http://travis-ci.org/tkf/python-epc
+ :alt: Build Status
+
+
+What is this?
+-------------
+
+EPC is an RPC stack for Emacs Lisp and Python-EPC is its server side
+and client 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).
+
+Python-EPC is tested against Python 2.6, 2.7 and 3.2.
+
+Install
+-------
+
+To install Python-EPC and its dependency sexpdata_, run the following
+command.::
+
+ pip install epc
+
+.. _sexpdata: https://github.com/tkf/sexpdata
+
+
+Usage
+-----
+
+Save the following code as ``my-server.py``.
+(You can find functionally the same code in `examples/echo/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)))
+
+
+.. _examples/echo/server.py:
+ https://github.com/tkf/python-epc/blob/master/examples/echo/server.py
+.. _examples/echo/client.el:
+ https://github.com/tkf/python-epc/blob/master/examples/echo/client.el
+
+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
+
+.. _carton: https://github.com/rejeep/carton
+
+
+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
+
+.. _examples/gtk/server.py:
+ https://github.com/tkf/python-epc/blob/master/examples/gtk/server.py
+
+
+License
+-------
+
+Python-EPC is licensed under GPL v3.
+See COPYING for details.
+
+"""
+# [[[end]]]
+
+# Copyright (C) 2012- Takafumi Arakaki
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+
+__version__ = '0.0.5'
+__author__ = 'Takafumi Arakaki'
+__license__ = 'GNU General Public License v3 (GPLv3)'