{ "info": { "author": "Sardorbek Imomaliev", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 6 - Mature", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Utilities" ], "description": "======\nptrepl\n======\n\n.. image:: https://travis-ci.com/imomaliev/ptrepl.svg?branch=master\n :target: https://travis-ci.com/imomaliev/ptrepl\n.. image:: https://badge.fury.io/py/ptrepl.svg\n :target: https://badge.fury.io/py/ptrepl\n\nAbout\n-----\nMake REPL out of any bash command\n\n- has bash completion\n- has vi mode\n- has PS1 parsing(experimental)\n- stores history in ``$XDG_DATA_HOME/ptrepl/history``\n- bash like history expansion\n- list history\n- command mode\n- aliases\n\nInstallation\n------------\nRequires ``python>=3.6``, ``prompt_toolkit>=2.0.7``, ``pygments``\n\n.. code:: bash\n\n pip install ptrepl\n\n``ptrepl`` vendors https://github.com/xonsh/py-bash-completion\n\nUsage\n-----\nBasic Usage\n^^^^^^^^^^^\n.. code:: bash\n\n $ ptrepl --help\n Usage: ptrepl [OPTIONS] COMMAND\n\n Options:\n --prompt TEXT Override prompt\n --help Show this message and exit.\n $ ptrepl git\n $ git >\n # to call \"git status\"\n $ git > status\n # if you need execute some other bash command see system mode below\n\nCustom prompt command\n^^^^^^^^^^^^^^^^^^^^^\n.. code:: bash\n\n $ ptrepl git --prompt g\n $ g >\n\nMultiword command\n^^^^^^^^^^^^^^^^^\n.. code:: bash\n\n $ ptrepl \"echo prefix\"\n $ echo prefix > 1\n echo prefix 1\n\nConfig\n------\nPlace settings file in :bash:``$XDG_CONFIG_HOME/ptrepl/config.json``\n\nHere is example of config with enabled vi mode and git alias\n\n.. code:: json\n\n {\n \"settings\": {\n \"EXIT_COMMAND\": \"exit\",\n \"EDITING_MODE\": \"vi\",\n \"SHOW_MODE_IN_PROMPT\": true,\n \"EMACS_MODE_STRING\": \"@\",\n \"VI_INS_MODE_STRING\": \"+\",\n \"VI_CMD_MODE_STRING\": \":\",\n \"READLINE_COMPLETION\": false,\n \"PARSE_PS1\": false,\n \"LOCAL_SHADA\": false,\n \"LOCAL_SHADA_PATH\": \"$PWD/.ptrepl/\",\n },\n \"alias\": {\n \"git st\": \"git status\"\n }\n }\n\nAvailable settings\n^^^^^^^^^^^^^^^^^^\n- EXIT_COMMAND - change exit command\n- EDITING_MODE - choose mode vi/emacs\n- SHOW_MODE_IN_PROMPT - show editing mode string in prompt\n- EMACS_MODE_STRING - set emacs mode prompt string\n- VI_INS_MODE_STRING - set vi insert mode prompt string\n- VI_CMD_MODE_STRING - set vi command mode prompt string\n- READLINE_COMPLETION: use readline like completion instead of dropdown one\n- PARSE_PS1 {experimental} - will try to adgust ptrepl's prompt according to your PS1 setting\n- LOCAL_SHADA - store shada(history) in LOCAL_SHADA_PATH\n- LOCAL_SHADA_PATH - path to local shada\n\nDefault settings\n^^^^^^^^^^^^^^^^\n.. code:: json\n\n {\n \"EXIT_COMMAND\": \"exit\",\n \"EDITING_MODE\": \"emacs\",\n \"SHOW_MODE_IN_PROMPT\": false,\n \"EMACS_MODE_STRING\": \"@\",\n \"VI_INS_MODE_STRING\": \"(ins)\",\n \"VI_CMD_MODE_STRING\": \"(cmd)\",\n \"READLINE_COMPLETION\": false,\n \"PARSE_PS1\": false,\n \"LOCAL_SHADA\": false,\n \"LOCAL_SHADA_PATH\": \"$DIRENV_DIR/.direnv/ptrepl/\",\n }\n\nFeatures\n--------\n\nParsing PS1(requires PARSE_PS1 set to true)\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nHere is how my bash prompt(PS1) looks like by default\n\n.. code:: bash\n\n {ptrepl} ~/Development/Python/ptrepl [master] |19:18:36 07-Feb-18|\n + \u276f ptrepl git\n {ptrepl} ~/Development/Python/ptrepl [master] |19:20:15 07-Feb-18|\n + git \u276f\n\nCompletion\n^^^^^^^^^^\n.. code:: bash\n\n $ ptrepl git\n $ git > sta (press TAB)\n # result\n $ git > sta\n status\n stage\n stash\n\nReadline like completion(requires READLINE_COMPLETION set to true)\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n.. code:: bash\n\n $ ptrepl git\n $ git > sta (press TAB)\n # result\n $ git > sta\n stage stash status\n\n\nSystem mode\n^^^^^^^^^^^\n.. code:: bash\n\n $ ptrepl git\n $ git > (press Escape + !)\n # result\n # you could enter your shell commands here\n Shell command: ls\n\nCommand mode\n^^^^^^^^^^^^\n.. code:: bash\n\n $ ptrepl git\n $ git > (press Escape + :)\n # result\n # you could enter your command mode commands here\n # to list history\n Command mode: history\n\nBash like history expansion\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\n.. code:: bash\n\n $ ptrepl git\n $ git > status\n # repeat last command\n $ git > !!\n # repeat 10th command\n $ git > !10\n # repeat 10th command from bottom of history stack\n $ git > !-10\n\nBash like aliases\n^^^^^^^^^^^^^^^^^\n.. code:: bash\n\n $ ptrepl git\n $ git > (press Escape + :)\n # you could enter your command mode commands here\n # to list alias\n Command mode: alias\n alias \"git st\"=\"git status\"\n $ git > st\n\nSimilar projects\n-------------------\nWritten in Ruby\n^^^^^^^^^^^^^^^\nhttps://github.com/defunkt/repl\n\nWritten in Bash\n^^^^^^^^^^^^^^^\nhttps://github.com/joh6nn/shrepl\n\nhttps://github.com/mchav/with\n\nWritten in Python\n^^^^^^^^^^^^^^^^^\nhttps://github.com/mbr/repl\n\nhttps://github.com/renanivo/with\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/imomaliev/ptrepl", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "ptrepl", "package_url": "https://pypi.org/project/ptrepl/", "platform": "", "project_url": "https://pypi.org/project/ptrepl/", "project_urls": { "Homepage": "https://github.com/imomaliev/ptrepl" }, "release_url": "https://pypi.org/project/ptrepl/0.9.7/", "requires_dist": [ "prompt-toolkit (>=2.0.7)", "pygments (>=2.3.1)", "xdg (>=3.0.2)" ], "requires_python": "", "summary": "Run command as REPL-environment", "version": "0.9.7" }, "last_serial": 5423877, "releases": { "0.8.2": [ { "comment_text": "", "digests": { "md5": "cefcf99f0d98d731cfbff41d64cd6abd", "sha256": "133345bd8a4b700380de50c5a54cc7e0ea5e83c62ec4de5aa81abf861aa58e20" }, "downloads": -1, "filename": "ptrepl-0.8.2-py3-none-any.whl", "has_sig": false, "md5_digest": "cefcf99f0d98d731cfbff41d64cd6abd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21384, "upload_time": "2018-11-29T10:26:48", "url": "https://files.pythonhosted.org/packages/69/ad/70006bf1203fda2a195b91d10ea05373b7935b59d05c19ae22aa25314196/ptrepl-0.8.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "704e9fd22518418f5862d51295a3f34f", "sha256": "f8451ff593d14957f2cd6521f3095e442121a9ab109d9b0791f035b3e4bbc4eb" }, "downloads": -1, "filename": "ptrepl-0.8.2.tar.gz", "has_sig": false, "md5_digest": "704e9fd22518418f5862d51295a3f34f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18752, "upload_time": "2018-11-29T10:26:51", "url": "https://files.pythonhosted.org/packages/0e/ca/1c0403dfa29e0f68397f1a678e5f5b15c02d61ac6d66a16af9057e99dcc7/ptrepl-0.8.2.tar.gz" } ], "0.8.3": [ { "comment_text": "", "digests": { "md5": "189d82658ad294bea25b2d97cc06827e", "sha256": "678911f66c34db960c19ba88f36d0e571e62b9ac7741dd19aca72a1ea967bc01" }, "downloads": -1, "filename": "ptrepl-0.8.3-py3-none-any.whl", "has_sig": false, "md5_digest": "189d82658ad294bea25b2d97cc06827e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21415, "upload_time": "2018-11-29T11:24:54", "url": "https://files.pythonhosted.org/packages/ba/52/9d6a6191df5585cc9dc5470cd07d0f42de8a37fb91c6fb278e5c05d9efea/ptrepl-0.8.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7341b738869cd241962b008c07fd39b8", "sha256": "8c8b7749f26da4ef56662505e7a74de945aa28a233fdc3c216d1da8135b150cf" }, "downloads": -1, "filename": "ptrepl-0.8.3.tar.gz", "has_sig": false, "md5_digest": "7341b738869cd241962b008c07fd39b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18815, "upload_time": "2018-11-29T11:24:56", "url": "https://files.pythonhosted.org/packages/97/a5/a45900a03baa2704fdd05de7d37596ba5cd55808a0b12ef3ec77e9470de3/ptrepl-0.8.3.tar.gz" } ], "0.8.4": [ { "comment_text": "", "digests": { "md5": "5fb3cdc7adea09ef70261a8ea3611199", "sha256": "36fceee6af1e97bd7a4e2e35c09935ccd5d21756ba1509d39b2a7303541e7b3f" }, "downloads": -1, "filename": "ptrepl-0.8.4-py3-none-any.whl", "has_sig": false, "md5_digest": "5fb3cdc7adea09ef70261a8ea3611199", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21416, "upload_time": "2018-11-29T11:17:58", "url": "https://files.pythonhosted.org/packages/5b/60/4eaa9a9288eee49af7a67202a4a1eaef270da1907df5281d3a6f31ad18fb/ptrepl-0.8.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "40baeca8516bca79eee604c217392046", "sha256": "766156a1d54b871adf1e265b3f325d9dd0a078924e863ba3d59ad8789fc58b4a" }, "downloads": -1, "filename": "ptrepl-0.8.4.tar.gz", "has_sig": false, "md5_digest": "40baeca8516bca79eee604c217392046", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18776, "upload_time": "2018-11-29T11:17:59", "url": "https://files.pythonhosted.org/packages/62/a0/bd5ad48179ec8f43a28412620d0b26cf258e2d7714705f25ef8cc1bd8c62/ptrepl-0.8.4.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "1840edd4f80704a7f1de89b87dde3ca9", "sha256": "2ac81fa658d3e15756959d61e2d340e32e02951396d9c862830b0d49deecce51" }, "downloads": -1, "filename": "ptrepl-0.9.0-py3-none-any.whl", "has_sig": false, "md5_digest": "1840edd4f80704a7f1de89b87dde3ca9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21886, "upload_time": "2018-12-01T09:15:57", "url": "https://files.pythonhosted.org/packages/82/1f/06f3d7f918feab81baedf82d0773facfcb90bc9e645a6b6e42ba7e261277/ptrepl-0.9.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e1f31b774c56539ee146a99fd7a15953", "sha256": "6067fa24886f2be3a33891c0a216f2b870342108e054bb645092af655b192af8" }, "downloads": -1, "filename": "ptrepl-0.9.0.tar.gz", "has_sig": false, "md5_digest": "e1f31b774c56539ee146a99fd7a15953", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19549, "upload_time": "2018-12-01T09:15:58", "url": "https://files.pythonhosted.org/packages/62/fd/a8044c90cf5603e1bc757fb34c338619a785b3fa847065aae8fed3f3dcb3/ptrepl-0.9.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "2ac91b2e8c9068b216f85721c84c566d", "sha256": "4b25afe9d9e52927da667586e421a47e17075beacb93e9f67310f1bfdca29830" }, "downloads": -1, "filename": "ptrepl-0.9.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2ac91b2e8c9068b216f85721c84c566d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22011, "upload_time": "2018-12-19T11:42:37", "url": "https://files.pythonhosted.org/packages/c7/a7/551b6cd18f212b90590b46c1c7acc7b83bd70a464753b52588b25f087186/ptrepl-0.9.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "512f0f47484550447e2ac81344ef910d", "sha256": "fa4d56e0b2358aee99fba25afd35a43fd82bdf4b5539be3874f55da7cdc0139c" }, "downloads": -1, "filename": "ptrepl-0.9.1.tar.gz", "has_sig": false, "md5_digest": "512f0f47484550447e2ac81344ef910d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19836, "upload_time": "2018-12-19T11:42:39", "url": "https://files.pythonhosted.org/packages/93/ae/dc450c83e351a1fa2dbd21e7e31a71f88df20dea3d7dda6e5f76dde17fdb/ptrepl-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "06295f55a2414bf185454202cdb618cd", "sha256": "2a9b3f20f60f970547c922f4fb797250180d6ad8601b89b5270196398b310bf9" }, "downloads": -1, "filename": "ptrepl-0.9.2-py3-none-any.whl", "has_sig": false, "md5_digest": "06295f55a2414bf185454202cdb618cd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22085, "upload_time": "2018-12-19T12:11:04", "url": "https://files.pythonhosted.org/packages/ea/2f/b3c229c689611c7e4b6ffcce80fd8ff2c9e6527bb57d6f316d04287582c9/ptrepl-0.9.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "414fb8eda8dc19a05c9a6728b75f1f2a", "sha256": "d510e0e426e31d188998d1ff35485e79451457f28089d326c44d9dd01404b437" }, "downloads": -1, "filename": "ptrepl-0.9.2.tar.gz", "has_sig": false, "md5_digest": "414fb8eda8dc19a05c9a6728b75f1f2a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19780, "upload_time": "2018-12-19T12:11:06", "url": "https://files.pythonhosted.org/packages/2d/1c/71dce83cc9de99c089b403402cdea486301125c9dde5bbf0a5cd89793bfd/ptrepl-0.9.2.tar.gz" } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "ef484b55ef4ee9982961bb172f1e0b91", "sha256": "a29b5c3dda3927e29770b61c4137f9dfd219c7cfd16f35b021911717e24edf72" }, "downloads": -1, "filename": "ptrepl-0.9.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ef484b55ef4ee9982961bb172f1e0b91", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22130, "upload_time": "2018-12-31T07:35:58", "url": "https://files.pythonhosted.org/packages/54/d2/24b9403335b407d23a354735e43393778520b936562f38d89a93f3aa8c1a/ptrepl-0.9.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3e1655707265ffd7a065838b0fda0671", "sha256": "7426d2b9ca98b9259b020f7eec85f3399dca6d5df05557723f7df75e97192af5" }, "downloads": -1, "filename": "ptrepl-0.9.3.tar.gz", "has_sig": false, "md5_digest": "3e1655707265ffd7a065838b0fda0671", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19930, "upload_time": "2018-12-31T07:36:00", "url": "https://files.pythonhosted.org/packages/cf/16/1414cb97f50726f0f30072bdfd36ce42005357f9fd03e51a10ee356d5db9/ptrepl-0.9.3.tar.gz" } ], "0.9.4": [ { "comment_text": "", "digests": { "md5": "4257a01df9df157d64f8b2543c8e1b33", "sha256": "21161d5fc2f9faabaefa73c203ef05ef2f1f33476e6d8d589a2da74340d56341" }, "downloads": -1, "filename": "ptrepl-0.9.4-py3-none-any.whl", "has_sig": false, "md5_digest": "4257a01df9df157d64f8b2543c8e1b33", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20832, "upload_time": "2019-01-01T14:43:01", "url": "https://files.pythonhosted.org/packages/92/28/3715e2f02531ab6dd046c4c7e26f5b0cc2de78d351673e98bf9b32d9d556/ptrepl-0.9.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9095f4fa80904419ee8d3c4fddcb35df", "sha256": "0106a96a3400df8110125bddf02a6c1c8283f82c8f57769dc37bbc342349019a" }, "downloads": -1, "filename": "ptrepl-0.9.4.tar.gz", "has_sig": false, "md5_digest": "9095f4fa80904419ee8d3c4fddcb35df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18959, "upload_time": "2019-01-01T14:43:02", "url": "https://files.pythonhosted.org/packages/06/ec/c88d4d83ea87c72b47355cf388a1bc59084f9973dc2d96ddc59ab9840f3b/ptrepl-0.9.4.tar.gz" } ], "0.9.5": [ { "comment_text": "", "digests": { "md5": "f2231a9cdcef4128a0c2e9640397e39c", "sha256": "0d7ce5e35d3daaf7834cdad4b504e85833d53839e12bccae1537b202b98607f5" }, "downloads": -1, "filename": "ptrepl-0.9.5-py3-none-any.whl", "has_sig": false, "md5_digest": "f2231a9cdcef4128a0c2e9640397e39c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20909, "upload_time": "2019-01-02T07:54:15", "url": "https://files.pythonhosted.org/packages/ad/3d/728c906cb43727c66472fd9446a7a1774768bbb451a677c480cf814b26a3/ptrepl-0.9.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7c42e3b0f2d39c8afad01f0b1e51948a", "sha256": "040c90fd5978f78f191be0af6367f516fdca453035a79aebbc08fade987b10a7" }, "downloads": -1, "filename": "ptrepl-0.9.5.tar.gz", "has_sig": false, "md5_digest": "7c42e3b0f2d39c8afad01f0b1e51948a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19078, "upload_time": "2019-01-02T07:54:16", "url": "https://files.pythonhosted.org/packages/cc/cf/b2d73f8ce4f98cd40a6fec4983f43e804e5f5596c2b12359bd263b683da0/ptrepl-0.9.5.tar.gz" } ], "0.9.6": [ { "comment_text": "", "digests": { "md5": "285a9d29a3ce763f491ffb1031796ced", "sha256": "002600608c536f1e245c65fae8fa9f018c2aa3692a4279a6be3289f959cd23ce" }, "downloads": -1, "filename": "ptrepl-0.9.6-py3-none-any.whl", "has_sig": false, "md5_digest": "285a9d29a3ce763f491ffb1031796ced", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20924, "upload_time": "2019-01-22T05:12:27", "url": "https://files.pythonhosted.org/packages/d6/7a/0613fae483b4284cd68bd4121d9434ced7b282c1fbce24bd2f036b9f2f6a/ptrepl-0.9.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "af7cc7e40dcbc6f2fe3bd33844b784d6", "sha256": "b581a3b1bc721a7b1dde3b51a86f1f528b1df2fd54a60f241dcb39f3f475bd4a" }, "downloads": -1, "filename": "ptrepl-0.9.6.tar.gz", "has_sig": false, "md5_digest": "af7cc7e40dcbc6f2fe3bd33844b784d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19091, "upload_time": "2019-01-22T05:12:29", "url": "https://files.pythonhosted.org/packages/95/0c/8e311189c8c57563d656efb430e25d7675672ae876730e47e902408a5d9d/ptrepl-0.9.6.tar.gz" } ], "0.9.7": [ { "comment_text": "", "digests": { "md5": "32c69e1588ad47e37170f8f80dd343d7", "sha256": "688cb4338c571cc4726073d27ebac6682806163156be492cd1bee818a8f4b145" }, "downloads": -1, "filename": "ptrepl-0.9.7-py3-none-any.whl", "has_sig": false, "md5_digest": "32c69e1588ad47e37170f8f80dd343d7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21035, "upload_time": "2019-06-20T04:59:31", "url": "https://files.pythonhosted.org/packages/c0/a8/e616072ca31cfae511c748d9af3a083cbce5b938acf780e2021a79177a3a/ptrepl-0.9.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d921d7c37cde66405b6a84354191f230", "sha256": "415b89a1c8e99d3b818395e84c7bb2d9552656399cb8968ab29c459d287b5a23" }, "downloads": -1, "filename": "ptrepl-0.9.7.tar.gz", "has_sig": false, "md5_digest": "d921d7c37cde66405b6a84354191f230", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19200, "upload_time": "2019-06-20T04:59:33", "url": "https://files.pythonhosted.org/packages/24/4f/fbad567d3685bac578552ca8006b93b89e6b209a6bfa2ffcb4ce54c5346a/ptrepl-0.9.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "32c69e1588ad47e37170f8f80dd343d7", "sha256": "688cb4338c571cc4726073d27ebac6682806163156be492cd1bee818a8f4b145" }, "downloads": -1, "filename": "ptrepl-0.9.7-py3-none-any.whl", "has_sig": false, "md5_digest": "32c69e1588ad47e37170f8f80dd343d7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21035, "upload_time": "2019-06-20T04:59:31", "url": "https://files.pythonhosted.org/packages/c0/a8/e616072ca31cfae511c748d9af3a083cbce5b938acf780e2021a79177a3a/ptrepl-0.9.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d921d7c37cde66405b6a84354191f230", "sha256": "415b89a1c8e99d3b818395e84c7bb2d9552656399cb8968ab29c459d287b5a23" }, "downloads": -1, "filename": "ptrepl-0.9.7.tar.gz", "has_sig": false, "md5_digest": "d921d7c37cde66405b6a84354191f230", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19200, "upload_time": "2019-06-20T04:59:33", "url": "https://files.pythonhosted.org/packages/24/4f/fbad567d3685bac578552ca8006b93b89e6b209a6bfa2ffcb4ce54c5346a/ptrepl-0.9.7.tar.gz" } ] }