{ "info": { "author": "Takafumi Arakaki", "author_email": "aka.tkf@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Programming Language :: Emacs-Lisp", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2" ], "description": "EPC (RPC stack for Emacs Lisp) for Python\n=========================================\n\nLinks:\n\n* `Documentation `_ (at Read the Docs)\n* `Repository `_ (at GitHub)\n* `Issue tracker `_ (at GitHub)\n* `PyPI `_\n* `Travis CI `_ |build-status|\n\nOther resources:\n\n* `kiwanami/emacs-epc `_\n (Client and server implementation in Emacs Lisp and Perl.)\n* `tkf/emacs-jedi `_\n (Python completion for Emacs using EPC server.)\n\n.. |build-status|\n image:: https://secure.travis-ci.org/tkf/python-epc.png\n ?branch=master\n :target: http://travis-ci.org/tkf/python-epc\n :alt: Build Status\n\n\nWhat is this?\n-------------\n\nEPC is an RPC stack for Emacs Lisp and Python-EPC is its server side\nand client side implementation in Python. Using Python-EPC, you can\neasily call Emacs Lisp functions from Python and Python functions from\nEmacs. For example, you can use Python GUI module to build widgets\nfor Emacs (see `examples/gtk/server.py`_ for example).\n\nPython-EPC is tested against Python 2.6, 2.7 and 3.2.\n\nInstall\n-------\n\nTo install Python-EPC and its dependency sexpdata_, run the following\ncommand.::\n\n pip install epc\n\n.. _sexpdata: https://github.com/tkf/sexpdata\n\n\nUsage\n-----\n\nSave the following code as ``my-server.py``.\n(You can find functionally the same code in `examples/echo/server.py`_)::\n\n from epc.server import EPCServer\n\n server = EPCServer(('localhost', 0))\n\n @server.register_function\n def echo(*a):\n return a\n\n server.print_port()\n server.serve_forever()\n\n\nAnd then run the following code from Emacs.\nThis is a stripped version of `examples/echo/client.el`_ included in\nPython-EPC repository_.::\n\n (require 'epc)\n\n (defvar my-epc (epc:start-epc \"python\" '(\"my-server.py\")))\n\n (deferred:$\n (epc:call-deferred my-epc 'echo '(10))\n (deferred:nextc it\n (lambda (x) (message \"Return : %S\" x))))\n\n (message \"Return : %S\" (epc:call-sync my-epc 'echo '(10 40)))\n\n\n.. _examples/echo/server.py:\n https://github.com/tkf/python-epc/blob/master/examples/echo/server.py\n.. _examples/echo/client.el:\n https://github.com/tkf/python-epc/blob/master/examples/echo/client.el\n\nIf you have carton_ installed, you can run the above sample by\nsimply typing the following commands::\n\n make elpa # install EPC in a separated environment\n make run-sample # run examples/echo/client.el\n\n.. _carton: https://github.com/rejeep/carton\n\n\nFor example of bidirectional communication and integration with GTK,\nsee `examples/gtk/server.py`_. You can run this example by::\n\n make elpa\n make run-gtk-sample # run examples/gtk/client.el\n\n.. _examples/gtk/server.py:\n https://github.com/tkf/python-epc/blob/master/examples/gtk/server.py\n\n\nLicense\n-------\n\nPython-EPC is licensed under GPL v3.\nSee COPYING for details.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tkf/python-epc", "keywords": "Emacs,RPC", "license": "GNU General Public License v3 (GPLv3)", "maintainer": null, "maintainer_email": null, "name": "epc", "package_url": "https://pypi.org/project/epc/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/epc/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/tkf/python-epc" }, "release_url": "https://pypi.org/project/epc/0.0.5/", "requires_dist": null, "requires_python": null, "summary": "EPC (RPC stack for Emacs Lisp) implementation in Python", "version": "0.0.5" }, "last_serial": 4172176, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "6729877c3f9f6018469e73621592351b", "sha256": "cbd87183f9b3c651433a01b99c6501e21a80208bc33c942abdb46d19c699f71f" }, "downloads": -1, "filename": "epc-0.0.1.tar.gz", "has_sig": false, "md5_digest": "6729877c3f9f6018469e73621592351b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15729, "upload_time": "2012-11-18T21:04:05", "url": "https://files.pythonhosted.org/packages/89/51/5a53d50394035625f4ae96f918972bfc6b4412b21acd455a44e8db3c3232/epc-0.0.1.tar.gz" } ], "0.0.1.dev0": [ { "comment_text": "", "digests": { "md5": "64e58714e4b76632719a8e76ee64a243", "sha256": "2282bd73e501291f2467388da262268bfd8d2e1974a0b6b6ed1f1376cd682758" }, "downloads": -1, "filename": "epc-0.0.1.dev0.tar.gz", "has_sig": false, "md5_digest": "64e58714e4b76632719a8e76ee64a243", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4073, "upload_time": "2012-10-16T18:11:17", "url": "https://files.pythonhosted.org/packages/ea/ab/7691b49addec98a0082f73ccab35915fc6f25f2dfb8bb835ca569f77fcc5/epc-0.0.1.dev0.tar.gz" } ], "0.0.1.dev1": [ { "comment_text": "", "digests": { "md5": "86a7e8d0a72688466f7a8171e511cd83", "sha256": "e32839497ce2232f05228d0523b3154f15f035a31fd606562e7662535bc49d26" }, "downloads": -1, "filename": "epc-0.0.1.dev1.tar.gz", "has_sig": false, "md5_digest": "86a7e8d0a72688466f7a8171e511cd83", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4094, "upload_time": "2012-10-17T19:55:09", "url": "https://files.pythonhosted.org/packages/0e/c0/5c7a46270ca7212f609cf572fc7d2b240352077d8adb8e3268507ef0a289/epc-0.0.1.dev1.tar.gz" } ], "0.0.1.dev2": [ { "comment_text": "", "digests": { "md5": "9e4b54dbd9bf8d3013d68a7ec2825634", "sha256": "fc6fafd0b8927f93f68af5ee1af02d8f5d4d6f2688bb11f9036ed7b0d7d87f9c" }, "downloads": -1, "filename": "epc-0.0.1.dev2.tar.gz", "has_sig": false, "md5_digest": "9e4b54dbd9bf8d3013d68a7ec2825634", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6526, "upload_time": "2012-11-02T00:25:36", "url": "https://files.pythonhosted.org/packages/48/8c/7888014fba3447e3be0ea16ff84d86ebb756e7ce1033a0644f07f5c2f34f/epc-0.0.1.dev2.tar.gz" } ], "0.0.1.dev3": [ { "comment_text": "", "digests": { "md5": "a9428af6de818e0cc480a206e2ca5f5f", "sha256": "d9816c7b26fc28a443f949c16b63a9ebee315fc1d47cafb03f805cb24ad06511" }, "downloads": -1, "filename": "epc-0.0.1.dev3.tar.gz", "has_sig": false, "md5_digest": "a9428af6de818e0cc480a206e2ca5f5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6904, "upload_time": "2012-11-10T21:54:49", "url": "https://files.pythonhosted.org/packages/25/cb/c115ca23a6a7519be410cde1267f97f2b5c278a9445ce3fe9a57ce0bc08f/epc-0.0.1.dev3.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "233a72b510d5110fc2112d8190a6bf08", "sha256": "056f1a16048c270f016b6a7cac20bae79aa7b3b343f9f0739059a26740180bd7" }, "downloads": -1, "filename": "epc-0.0.2.tar.gz", "has_sig": false, "md5_digest": "233a72b510d5110fc2112d8190a6bf08", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16688, "upload_time": "2012-12-01T22:49:00", "url": "https://files.pythonhosted.org/packages/d9/ae/954d417979efe869973327c8c7ac1db6fdfc6ab6ad39968b4837c4c74629/epc-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "04a93c0cd32b496969ead09f414dac74", "sha256": "30b594bd4a4acbd5bda0d3fa3d25b4e8117f2ff8f24d2d1e3e36c90374f3c55e" }, "downloads": -1, "filename": "epc-0.0.3.tar.gz", "has_sig": false, "md5_digest": "04a93c0cd32b496969ead09f414dac74", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17609, "upload_time": "2013-01-15T20:31:56", "url": "https://files.pythonhosted.org/packages/a4/13/64d65a55ac90c72a474f730bd5d95750d0ec775bd4b473d4c02694c67487/epc-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "9b91654edf64a5e841f64243b5251eed", "sha256": "4381044cbb5eccde24f0ac3d90c6ba9a09a11742e2d4300cbf6e49294f3d4794" }, "downloads": -1, "filename": "epc-0.0.4.tar.gz", "has_sig": false, "md5_digest": "9b91654edf64a5e841f64243b5251eed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17970, "upload_time": "2013-06-15T14:51:22", "url": "https://files.pythonhosted.org/packages/7b/dc/430f54e872f821e33e90f12571e51b5688c3582d813ff25bbf4f1560e240/epc-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "de54a24ace8a9b3f5b2d8f014b8c4a42", "sha256": "a14d2ea74817955a20eb00812e3a4630a132897eb4d976420240f1152c0d7d25" }, "downloads": -1, "filename": "epc-0.0.5.tar.gz", "has_sig": false, "md5_digest": "de54a24ace8a9b3f5b2d8f014b8c4a42", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17968, "upload_time": "2013-06-22T19:14:18", "url": "https://files.pythonhosted.org/packages/55/ae/f7b329fa2bc9932a416e8846e78e06ce3e13a20e5c3f2cf80a18f489dec1/epc-0.0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "de54a24ace8a9b3f5b2d8f014b8c4a42", "sha256": "a14d2ea74817955a20eb00812e3a4630a132897eb4d976420240f1152c0d7d25" }, "downloads": -1, "filename": "epc-0.0.5.tar.gz", "has_sig": false, "md5_digest": "de54a24ace8a9b3f5b2d8f014b8c4a42", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17968, "upload_time": "2013-06-22T19:14:18", "url": "https://files.pythonhosted.org/packages/55/ae/f7b329fa2bc9932a416e8846e78e06ce3e13a20e5c3f2cf80a18f489dec1/epc-0.0.5.tar.gz" } ] }