{ "info": { "author": "Adam Meily", "author_email": "meily.adam@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: ISC License (ISCL)", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Application Frameworks", "Topic :: Software Development :: User Interfaces", "Topic :: Terminals" ], "description": "Pypsi - Python Pluggable Shell Interface\n========================================\n\n.. image:: https://coveralls.io/repos/ameily/pypsi/badge.svg?branch=master&service=github\n :target: https://coveralls.io/github/ameily/pypsi?branch=master\n\n.. image:: https://travis-ci.org/ameily/pypsi.svg?branch=master\n :target: https://travis-ci.org/ameily/pypsi\n\nDevelop extensible and powerful command line interface shells with minimal code.\n\nPython Pluggable Shell Interface, or pypsi, is a framework for developing\ncommand line based shell interfaces, akin to bash or csh. It is intended to be\na replacement for the builtin Python ``cmd`` module.\n\nPypsi is targeted towards both large scale and rapid prototype interface\nshells. The bootstraping code is very small with very little boilerplate. Pypsi\nships with a great deal of capabilities out of the box, all of which can be used\nor ignored. Pypsi is pluggable which allows commands, features, and plugins to be\ndeveloped independently in their own source files and/or Python classes. This\nresults in a very clean source repository. The actual code to setup and run the\nshell is extremely small, on the order of ~20-50 lines of code.\n\nPypsi, at its core, is pluggable. There are many hooks that allow plugin authors\nto extend and modify the core behavior of pypsi. Commands are isolated classes\nthat make distribution, sharing, and modification easy.\n\nReleases\n--------\n\nThe pypsi source code is hosted at `GitHub `_\nand releases are stored at `PyPI `_. The\nlatest version can also be install via pip:\n\n::\n\n $ pip install pypsi\n\nDocumentation can be found on `GitHub Pages `_.\n\nFeatures\n--------\n\nThe following capabilities ship with pypsi and are available out of the box.\n\n- I/O redirection\n- Flexible API\n- Tab completion\n- Multiplatform\n- Minimal dependencies\n- Colors\n- Session tips and message of the day (MOTD)\n- Automated help, usage messages, and argument parsing\n- Word wrapping\n- Term highlighting (grep)\n- Tables\n- Prompt wizards\n- ``cmd`` plugin to migrate existing ``cmd`` commands into pypsi\n\nDemo\n----\n\nThe ``demo.py`` source file can be run to demonstrate the base commands and\nfeatures that ship with pypsi (the ``demo.py`` file can be downloaded from the\ngit repo at https://github.com/ameily/pypsi/blob/master/demo.py). The commands\ndisplayed below are all optional: pypsi does not require the use of any command\nor plugin. The ``demo.py`` file is meant to be a reference to the Pypsi API and\ndesign. Use it as a starting point for your first shell.\n\nVariables\n~~~~~~~~~\n\n::\n\n pypsi)> var name = \"Paul\"\n\n pypsi)> var house = \"Atredis\"\n\n pypsi)> echo My name is $name, and I belong to House $house\n\n My name is Paul, and I belong to House Atredis\n\n pypsi)> var --list\n\n name Paul\n house Atredis\n\n pypsi)> var -d name\n\n pypsi)> echo $name\n\n pypsi)> var name = \"Paul $house\"\n\n pypsi)> echo $name\n\n Paul Atredis\n\nI/O redirection\n~~~~~~~~~~~~~~~\n\n::\n\n pypsi)> echo Hello\n\n Hello\n\n pypsi)> echo Hello > output.txt\n\n pypsi)> echo Goodbye\n\n pypsi)> xargs -I{} \"echo line: {}\" < output.txt\n\n line: Hello\n line: Goodbye\n\n pypsi)> cat output.txt | grep ll\n\n Hello\n\nSystem commands\n~~~~~~~~~~~~~~~\n\nAllows execution of external applications. Command mimics Python's\n``os.system()`` function.\n\n::\n\n pypsi)> ls\n\n pypsi: ls: command not found\n\n pypsi)> system ls\n\n include/\n src/\n README.md\n\n pypsi)> system ls | system grep md\n\n README.md\n\nFallback command\n~~~~~~~~~~~~~~~~\n\nAllows the developer to set which command gets called if one does not exist in\nthe current shell. This is very useful, for example, if you want to fallback on\nany OS installed executables. In this example, the fallback command is\n``system``.\n\n::\n\n pypsi)> ls\n\n include/\n src/\n README.md\n\nCommand chaining\n~~~~~~~~~~~~~~~~\n\n::\n\n pypsi)> echo Hello && echo --bad-arg && echo goodbye\n\n Hello\n echo: unrecgonized arguments: --bad-arg\n\n pypsi)> echo Hello ; echo --bad-arg ; echo goodbye\n\n Hello\n echo: unrecgonized arguments: --bad-arg\n goodbye\n\n pypsi)> echo --bad-arg || echo first failed\n\n echo: unrecgonized arguments: --bad-arg\n first failed\n\nMultiline commands\n~~~~~~~~~~~~~~~~~~\n\n::\n\n pypsi)> echo Hello, \\\n > Dave\n\n Hello, Dave\n\n pypsi)> echo This \\\n > is \\\n > pypsi \\\n > and it rocks\n\n This is pypsi and it rocks\n\nMacros\n~~~~~~\n\nMacros are analogous to functions in bash. They provide the ability to create\nnew commands in the shell.\n\n::\n\n pypsi)> macro hello\n > echo Hello, $1\n > echo Goodbye from macro $0\n > end\n\n pypsi)> hello Adam\n\n Hello, Adam\n Goodbye from macro hello\n\nTab Complete\n~~~~~~~~~~~~\n\nTab completion is easier than ever with PyPsi. Using the included ``command_completer()``\nfunction, arguments and sub-commands are completed automatically when the ``tab``\nkey is pressed. To get started, add the use of ``command_completer`` to your\ncustom command's complete function:\n\n.. code-block:: python\n\n def complete(self, shell, args, prefix):\n from pypsi.completers import command_completer\n return completions = command_completer(self.parser, shell, args, prefix)\n\nJust pass ``command_completer`` the parser you created for the command, along with\nthe standard arguments to the ``complete`` function, and let PyPsi work it's magic!\n\n::\n\n pypsi)> macro -\n --delete --help --list --show -d -h -l -s\n\nFor each argument added to a PyPsi Argument parser, a callback function to get\nthe possible completions can be specified via the `completer` argument.\nThe callback function will be called from ``command_completer`` anytime tab is\npressed while the user is currently entering that argument's value. Ex:\n\n.. code-block:: python\n\n # Snippet from macro.py\n self.parser.add_argument(\n '-s', '--show', help='print macro body',\n metavar='NAME', completer=self.complete_macros\n )\n ...\n def complete_macros(self, shell, args, prefix):\n # returns a list of macro names in the current shell\n return list(shell.ctx.macros.keys())\n\n::\n\n pypsi)> macro --show \n hello goodbye\n\nSee ``tail.py``, ``help.py``, and ``macro.py`` for examples.\n\n\nPrompt Wizards\n~~~~~~~~~~~~~~\n\nPrompt wizards ask the user a series of questions and request input. Input is\ntab completed, validated, and returned. The wizard can be used for easy\nconfiguration of components that require a substantial amount of input.\n\n::\n\n pypsi)> wizard\n +-----------------------------------------------------------------------------+\n | Entering Example Configuration Wizard |\n +-----------------------------------------------------------------------------+\n Shows various examples of wizard steps\n\n To exit, enter either Ctrl+C, Ctrl+D, or 'quit'. For help about the current\n step, enter 'help' or '?'.\n\n IP Address: \n\n Error: Value is required\n Local IP Address or Host name\n\n IP Address: 192.168.0.10\n\n TCP Port [1337]: \n\n File path: /var/lo\n\n local/ lock/ log/\n\n File path: /var/log/\n\n Xorg.1.log btmp faillog upstart/\n Xorg.1.log.old dist-upgrade/ fontconfig.log wtmp\n alternatives.log distccd.log fsck/\n apt/ dmesg lastlog\n bootstrap.log dpkg.log mongodb/\n\n File path: /var/log/dpkg.log\n\n Shell mode [local]: asdf\n\n Error: Invalid choice\n\n Mode of the shell\n\n Shell mode [local]: remote\n\n Config ID Config Value\n ================================================================================\n ip_addr 172.16.11.204\n port 1337\n path /var/log/dpkg.log\n mode remote\n\nLicense\n-------\n\n``pypsi`` is released under the ISC permissive license.\n", "description_content_type": "", "docs_url": "https://pythonhosted.org/pypsi/", "download_url": "https://pypi.python.org/pypi/pypsi", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ameily/pypsi", "keywords": "cli", "license": "ISC", "maintainer": "", "maintainer_email": "", "name": "pypsi", "package_url": "https://pypi.org/project/pypsi/", "platform": "", "project_url": "https://pypi.org/project/pypsi/", "project_urls": { "Download": "https://pypi.python.org/pypi/pypsi", "Homepage": "https://github.com/ameily/pypsi" }, "release_url": "https://pypi.org/project/pypsi/1.4.5/", "requires_dist": null, "requires_python": "", "summary": "Python Pluggable Shell Interface", "version": "1.4.5" }, "last_serial": 4503274, "releases": { "0.1": [], "1.0": [ { "comment_text": "", "digests": { "md5": "e75d635389106e80ca37e52b5dd58b93", "sha256": "ae0f87ca8a4be512e0cf9fab78832de3192597764422137a6b5cdfa8f6399411" }, "downloads": -1, "filename": "pypsi-1.0-py3-none-any.whl", "has_sig": true, "md5_digest": "e75d635389106e80ca37e52b5dd58b93", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 66448, "upload_time": "2014-07-16T13:54:26", "url": "https://files.pythonhosted.org/packages/03/bc/5f2a98e21a62001d63a2c14d7b79a360063532bc686fefda9aa2196220b0/pypsi-1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fcfbdc3ae97d223b1b8e49b14ef4eece", "sha256": "8e79b333a917ad61d76138b9d817db56cc51b6b9fd4bf3f12fd83221e3625fbe" }, "downloads": -1, "filename": "pypsi-1.0.tar.gz", "has_sig": true, "md5_digest": "fcfbdc3ae97d223b1b8e49b14ef4eece", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34250, "upload_time": "2014-07-16T13:54:17", "url": "https://files.pythonhosted.org/packages/67/d5/afc37f046303fc645a645e2454f7cef7de83b5364095896ea1e5093d9796/pypsi-1.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "d920b4ee7fb2eb92a88f3b8acd57e934", "sha256": "8dc582f314021a780815dcc86ca5e9276fac9c56c7ebb6320b0702b6778a4e73" }, "downloads": -1, "filename": "pypsi-1.0.win32.exe", "has_sig": true, "md5_digest": "d920b4ee7fb2eb92a88f3b8acd57e934", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 259543, "upload_time": "2014-07-16T14:20:44", "url": "https://files.pythonhosted.org/packages/d8/50/77d0c35bccf0657a29d437e3b2edaac6582891473662a29e9c5c745180ff/pypsi-1.0.win32.exe" }, { "comment_text": "", "digests": { "md5": "81e7facb3b62f8e895b0cf96b2998d08", "sha256": "eab0d293e6d41ec239b4e9fc00e138235fd70e732326ab79f73986c34bca3fe7" }, "downloads": -1, "filename": "pypsi-1.0.win-amd64.exe", "has_sig": true, "md5_digest": "81e7facb3b62f8e895b0cf96b2998d08", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 290775, "upload_time": "2014-07-16T14:20:55", "url": "https://files.pythonhosted.org/packages/76/b4/72e094dd4589dc3268d89beec0e04d5430760b1ad4af58e0ea3b82245bd9/pypsi-1.0.win-amd64.exe" } ], "1.0-rc1": [ { "comment_text": "", "digests": { "md5": "71f25ac5cad0a645b8a1e0f30fdeded0", "sha256": "57a72711e996077f079ffd81e78bd2a967cacbaa7b974eddff8cc78fac2f8f04" }, "downloads": -1, "filename": "pypsi-1.0_rc1-py3-none-any.whl", "has_sig": true, "md5_digest": "71f25ac5cad0a645b8a1e0f30fdeded0", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 65264, "upload_time": "2014-07-16T03:08:37", "url": "https://files.pythonhosted.org/packages/bf/ae/7621bf22a9f4ec8d1d6083d7f38425a90b9b3d2949d0faaca3f99c88dacb/pypsi-1.0_rc1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8413ab3021dfba64b399d5d52bf0288b", "sha256": "f50c782d5ceb90e193c82da4b5aed84317e28f71d0a69af787aeb49ac24b1d01" }, "downloads": -1, "filename": "pypsi-1.0-rc1.tar.gz", "has_sig": true, "md5_digest": "8413ab3021dfba64b399d5d52bf0288b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36255, "upload_time": "2014-07-16T03:08:33", "url": "https://files.pythonhosted.org/packages/6e/28/f37ce4a1c03775f0cbd086decbd493a4e18ac2733c5c19fa0a250fb9bf38/pypsi-1.0-rc1.tar.gz" }, { "comment_text": "", "digests": { "md5": "e36fb6b55e11bce71c35df1a159dcd5a", "sha256": "2051aafaea562639623ac158fe00299e2f10c7d46ca3ab6f2201f261520ede12" }, "downloads": -1, "filename": "pypsi-1.0-rc1.win32.exe", "has_sig": false, "md5_digest": "e36fb6b55e11bce71c35df1a159dcd5a", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 251739, "upload_time": "2014-07-16T00:50:31", "url": "https://files.pythonhosted.org/packages/bb/e2/17e4ae621302b33b13fd03982f3c7e6a840b5be30018b3fcc5b4c121b662/pypsi-1.0-rc1.win32.exe" }, { "comment_text": "", "digests": { "md5": "f41653bfcde11eb338b45f7990b88057", "sha256": "60e061ce3285e7fd4c3c293e04d30e03d8ac56999493bf28ea36b7fa4981ec0f" }, "downloads": -1, "filename": "pypsi-1.0-rc1.win-amd64.exe", "has_sig": false, "md5_digest": "f41653bfcde11eb338b45f7990b88057", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 282995, "upload_time": "2014-07-15T22:46:02", "url": "https://files.pythonhosted.org/packages/e0/4d/fe906820e036828bafc914a90ccbc4aa053efe2cba51c8020d63da33f50e/pypsi-1.0-rc1.win-amd64.exe" } ], "1.0-rc2": [ { "comment_text": "", "digests": { "md5": "6fceb97aeb3658e2255e46b9f66b31fd", "sha256": "ef1b134589a2ad2aaa355f6e10381418866cb6e56cdb50675620c4875a191ceb" }, "downloads": -1, "filename": "pypsi-1.0_rc2-py3-none-any.whl", "has_sig": true, "md5_digest": "6fceb97aeb3658e2255e46b9f66b31fd", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 66514, "upload_time": "2014-07-16T05:57:20", "url": "https://files.pythonhosted.org/packages/d6/09/40b34da26ad3654c7988e765f27144236d44691e0127a28a81132dc1a6cf/pypsi-1.0_rc2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "785e7099955065d019823fe3c5fffd78", "sha256": "59df170043925054454f4f5039fd3c63d55266d6ea6ce751654ecd7286ce445f" }, "downloads": -1, "filename": "pypsi-1.0-rc2.tar.gz", "has_sig": true, "md5_digest": "785e7099955065d019823fe3c5fffd78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36623, "upload_time": "2014-07-16T05:57:17", "url": "https://files.pythonhosted.org/packages/02/45/f6be0c3a574c12882ba94f42d5b278819a8c1e9b51112bfc736777001e50/pypsi-1.0-rc2.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "0c1fd6098860ccc9e32c541590e803df", "sha256": "99713ae6bfc66a335b3c23cb2f6980e041219fe52b8d1fcdd5df7c4971fcf07b" }, "downloads": -1, "filename": "pypsi-1.1-py3-none-any.whl", "has_sig": true, "md5_digest": "0c1fd6098860ccc9e32c541590e803df", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 77262, "upload_time": "2014-12-12T18:46:32", "url": "https://files.pythonhosted.org/packages/1e/0c/fc3b577e7e8e1a0f108ae0bd60e842b690edfd349c2aca4c940d48ca063c/pypsi-1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "30207f1a6e7c48bc3b75ee9570b145c5", "sha256": "3fe9d8c78fd5850adf5c0cdc214eed755022e95286e8fa1e3fcf58a13e3d5049" }, "downloads": -1, "filename": "pypsi-1.1.tar.gz", "has_sig": true, "md5_digest": "30207f1a6e7c48bc3b75ee9570b145c5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41946, "upload_time": "2014-12-12T18:46:20", "url": "https://files.pythonhosted.org/packages/44/c3/e4cd3ef54ec43458993562bbb652109f4a8a6af688b3bf7ed4f6b4291a72/pypsi-1.1.tar.gz" }, { "comment_text": "", "digests": { "md5": "db465ce8ee01203ddd232103f370c8c1", "sha256": "1c2ce50633fe1c27540d71184d50c92cb43788aafb1c925f2e089a7e0f6f3eac" }, "downloads": -1, "filename": "pypsi-1.1.win32.exe", "has_sig": false, "md5_digest": "db465ce8ee01203ddd232103f370c8c1", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 268367, "upload_time": "2014-12-15T14:44:39", "url": "https://files.pythonhosted.org/packages/a5/ca/1e34e837067c9d138522ee5b8e3ccb4134b65863a35114b700e322ce1363/pypsi-1.1.win32.exe" }, { "comment_text": "", "digests": { "md5": "5e27e1b907ca5b86c7a3ea1842df28f2", "sha256": "d8185d3ba29fcd346995efc59f224297319794abb6aaba6837e691fbe11d8def" }, "downloads": -1, "filename": "pypsi-1.1.win-amd64.exe", "has_sig": false, "md5_digest": "5e27e1b907ca5b86c7a3ea1842df28f2", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 299599, "upload_time": "2014-12-15T14:44:48", "url": "https://files.pythonhosted.org/packages/d0/fe/ea6f75def7e281eadb6a623acd60903968117bf6ca579eccc714dfb9b0b8/pypsi-1.1.win-amd64.exe" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "fbafbc38ed2e71dc1ca951275e4a6780", "sha256": "b525e512f57c80daa898a53e836d477acb2ac30e9927a1978852fe80e64d5b9f" }, "downloads": -1, "filename": "pypsi-1.1.1-py3-none-any.whl", "has_sig": true, "md5_digest": "fbafbc38ed2e71dc1ca951275e4a6780", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 78173, "upload_time": "2014-12-22T00:28:16", "url": "https://files.pythonhosted.org/packages/db/9a/59a7d1b8f70f60f289129378eb23d1df80271d9e6e8b302417ef26b89b49/pypsi-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8fe8dbb5eca92f6a07e4c18adcdd1211", "sha256": "a6d01e7fbd3bb48e25841036f0d2eb0601079ca6805860427161f2333b1d1fa9" }, "downloads": -1, "filename": "pypsi-1.1.1.tar.gz", "has_sig": true, "md5_digest": "8fe8dbb5eca92f6a07e4c18adcdd1211", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42956, "upload_time": "2014-12-22T00:28:09", "url": "https://files.pythonhosted.org/packages/b7/7e/192b534f8dc94e640f685d724d554487091077bbba3a7277e2d207ce3c87/pypsi-1.1.1.tar.gz" }, { "comment_text": "", "digests": { "md5": "b1e788b684e4a1cd3507cb77fa7c8cae", "sha256": "cdd39ad82470f93c4c4bb876e904c9608f73783f541a1b6d616d64663f10df64" }, "downloads": -1, "filename": "pypsi-1.1.1.win32.exe", "has_sig": false, "md5_digest": "b1e788b684e4a1cd3507cb77fa7c8cae", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 272839, "upload_time": "2014-12-22T07:28:24", "url": "https://files.pythonhosted.org/packages/3f/a3/f52dd4fe91e1f24117dd898a407492e87e4201d649bef082ddb91c22e106/pypsi-1.1.1.win32.exe" }, { "comment_text": "", "digests": { "md5": "502387aa7a7d3b99b06a96a311cdce0d", "sha256": "16f21ab7bb24212e642fc0413a7c23566db6b3d88010bb988231bf329f9c1717" }, "downloads": -1, "filename": "pypsi-1.1.1.win-amd64.exe", "has_sig": false, "md5_digest": "502387aa7a7d3b99b06a96a311cdce0d", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 304070, "upload_time": "2014-12-22T07:27:56", "url": "https://files.pythonhosted.org/packages/85/74/a33c8e4310f99a9af8f7b402fa82ec7db58de589c35b882f7646eeed07dc/pypsi-1.1.1.win-amd64.exe" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "bda10883d4a97e35cffa760893f2ef4e", "sha256": "437bde477b3525e15095129a73db619de3b5eb1fc49bb5b8a915cf70709fd645" }, "downloads": -1, "filename": "pypsi-1.2-py3-none-any.whl", "has_sig": true, "md5_digest": "bda10883d4a97e35cffa760893f2ef4e", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 80924, "upload_time": "2015-01-02T22:09:19", "url": "https://files.pythonhosted.org/packages/8a/61/d6a6774883b02a2aaa79c1ec21eb990711deba9e5c97781ee4ab67980c41/pypsi-1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "109e5a94d3bd925e58bad020f7f936dc", "sha256": "8f31ff74411c73f1e6eac7f5033d62a15116151f8a11481315f9eb37e3de3d6a" }, "downloads": -1, "filename": "pypsi-1.2.tar.gz", "has_sig": true, "md5_digest": "109e5a94d3bd925e58bad020f7f936dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45866, "upload_time": "2015-01-02T22:09:13", "url": "https://files.pythonhosted.org/packages/9e/7a/5e88676b243ccb9d2b25bbdedee2ffae1d80cfc7d834dc848aabb8419f97/pypsi-1.2.tar.gz" }, { "comment_text": "", "digests": { "md5": "a14b8018b7d10c0369ed9c3f7335e661", "sha256": "e8aa235639563247e6532d0b647f7808f1ef5f36ff68b529ff70e963616e3f0d" }, "downloads": -1, "filename": "pypsi-1.2.win32.exe", "has_sig": false, "md5_digest": "a14b8018b7d10c0369ed9c3f7335e661", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 277108, "upload_time": "2015-01-02T22:15:38", "url": "https://files.pythonhosted.org/packages/71/b0/a1386ab1954cb15a8fa801d0a3a1001b01eb0d6d869c002ffaf1f77cebac/pypsi-1.2.win32.exe" }, { "comment_text": "", "digests": { "md5": "64d8f1c3a3ebaf1dd7ae958d79a16cf6", "sha256": "ff05daeb4cbaf30dd020d3578c64ce7d6e00128af08e4aeb84c1c304ac1b1727" }, "downloads": -1, "filename": "pypsi-1.2.win-amd64.exe", "has_sig": false, "md5_digest": "64d8f1c3a3ebaf1dd7ae958d79a16cf6", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 308339, "upload_time": "2015-01-02T22:15:11", "url": "https://files.pythonhosted.org/packages/d5/0d/ad4f0e572a54e10a0b1dd5058bbf815d51c3ebb554699059c72f662a43ef/pypsi-1.2.win-amd64.exe" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "10c6512fdcac1726d3afcd66db8edf9d", "sha256": "688288ab9131f3ba00dd4dc8adc6a7024bc508043310ce5cba0cba2ab5ac3f53" }, "downloads": -1, "filename": "pypsi-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "10c6512fdcac1726d3afcd66db8edf9d", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 79512, "upload_time": "2015-04-02T20:43:58", "url": "https://files.pythonhosted.org/packages/36/4b/9836fc7f74d0d943e6e6a5874795d3a9d3a4cdc8a537cd47919fb7ec7510/pypsi-1.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8a87026279cd612499e733425132f08c", "sha256": "c39b32d85dadcdd3957ee5912c0dd6152eb9c7b0c209c88c0bbaf9ef49c9fc0d" }, "downloads": -1, "filename": "pypsi-1.2.1.win32.exe", "has_sig": false, "md5_digest": "8a87026279cd612499e733425132f08c", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 274595, "upload_time": "2015-04-02T20:35:16", "url": "https://files.pythonhosted.org/packages/92/44/c36e8efc577e05436c4e7e9b7395bb44d12f83075ff693fcdd562bddea60/pypsi-1.2.1.win32.exe" }, { "comment_text": "", "digests": { "md5": "8aa439e7e4e81eb901c0a57fa66db03c", "sha256": "1288383ea91ddab017f8e6d244b0c9af504a888a547b5209aa91fc874c94119e" }, "downloads": -1, "filename": "pypsi-1.2.1.win-amd64.exe", "has_sig": false, "md5_digest": "8aa439e7e4e81eb901c0a57fa66db03c", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 305827, "upload_time": "2015-04-02T20:34:53", "url": "https://files.pythonhosted.org/packages/db/98/c33fa24b0760aaa2b1f651e3929bc83051e8178b63d41625e4cfa58071b7/pypsi-1.2.1.win-amd64.exe" }, { "comment_text": "", "digests": { "md5": "dd79344faeb28778eac438e3ec799822", "sha256": "776c9dc75296395b67c01e8c8bef5deade11e5fc9baec196a4992653348e6f3c" }, "downloads": -1, "filename": "pypsi-1.2.1.zip", "has_sig": false, "md5_digest": "dd79344faeb28778eac438e3ec799822", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 83654, "upload_time": "2015-04-02T20:36:04", "url": "https://files.pythonhosted.org/packages/60/bc/b40cd7d62b234f0d2ee8a00e3a8ad21ecbb29bda3693e9e6bae2d618b508/pypsi-1.2.1.zip" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "6bc41b3c99cad39ddf74274dc9b1322a", "sha256": "06ae9a6a42d9635d28e8cc4688e5909a2c1a5617fb4cc248c1c0e7a58b31f8eb" }, "downloads": -1, "filename": "pypsi-1.3.0-py3-none-any.whl", "has_sig": true, "md5_digest": "6bc41b3c99cad39ddf74274dc9b1322a", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 88038, "upload_time": "2015-11-17T17:22:48", "url": "https://files.pythonhosted.org/packages/ee/d1/ed863c60d105bb86705fa44e34448a25f03ca93ff82cf04401c9a8b04194/pypsi-1.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3b884e2cc034f9133315982319cf596c", "sha256": "1bbefb0b7e744012a3ae24f8467e92fba7399bd58ea1682c9d11d80ef01612a7" }, "downloads": -1, "filename": "pypsi-1.3.0.tar.gz", "has_sig": true, "md5_digest": "3b884e2cc034f9133315982319cf596c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44712, "upload_time": "2015-11-17T17:22:43", "url": "https://files.pythonhosted.org/packages/55/37/0ccac5ddd49d9edffbdb8a58be7cdd5b5af82b79051488ea5ce098d1b481/pypsi-1.3.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "3c4d9ed15ed78b51f2615705841c9255", "sha256": "c450c2fe236ac439bbcd18c32b1c1c725658ce22eb3601971d0332924807367f" }, "downloads": -1, "filename": "pypsi-1.3.0.win32.exe", "has_sig": true, "md5_digest": "3c4d9ed15ed78b51f2615705841c9255", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 282757, "upload_time": "2015-11-17T17:54:57", "url": "https://files.pythonhosted.org/packages/ef/e3/bbc25beef7db54ff2581cd986c1316497fe662474856c95cba358de5c656/pypsi-1.3.0.win32.exe" }, { "comment_text": "", "digests": { "md5": "33fb216c5c77a06504ef89ecf0991f62", "sha256": "f2f4b8d39c98b7a40c28bcf6782f4642d4227315476711da687354e72b98cd1a" }, "downloads": -1, "filename": "pypsi-1.3.0.win-amd64.exe", "has_sig": true, "md5_digest": "33fb216c5c77a06504ef89ecf0991f62", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 313989, "upload_time": "2015-11-17T17:54:27", "url": "https://files.pythonhosted.org/packages/dc/e9/005ba259c02ef0fcbb9da49e239ed4013292ac0aa3d3c4cf4fa2e9d46dc7/pypsi-1.3.0.win-amd64.exe" } ], "1.4.0": [], "1.4.1": [ { "comment_text": "", "digests": { "md5": "0488473083c90581209e1e24c54a89a9", "sha256": "e4314eb2ad4ac2c6067aac0d7c853b4c6352ba197843e56ced5f20cf90d3dfdd" }, "downloads": -1, "filename": "pypsi-1.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "0488473083c90581209e1e24c54a89a9", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 91374, "upload_time": "2017-04-05T00:09:05", "url": "https://files.pythonhosted.org/packages/50/96/05f013038a404681788748740028eb584f558401cdee170f2fc17fc04633/pypsi-1.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f993d9462f9dff47ae61e07d52b55fa4", "sha256": "50281c555ecce96f97d187a907ef349863862927f60b436ab96421905fd77cc9" }, "downloads": -1, "filename": "pypsi-1.4.1.zip", "has_sig": false, "md5_digest": "f993d9462f9dff47ae61e07d52b55fa4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95719, "upload_time": "2017-04-05T00:09:01", "url": "https://files.pythonhosted.org/packages/30/7a/b7c105eec8288089e101d8200196f2f65e79dea3e1dfeddd32a131aab74e/pypsi-1.4.1.zip" } ], "1.4.2": [ { "comment_text": "", "digests": { "md5": "f4d0853be2732222ccc385b2cd9ec03a", "sha256": "bfd8c93390bf513661a56687020a76d186f3d6e3c4c4f743044ffb0dc722eb93" }, "downloads": -1, "filename": "pypsi-1.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "f4d0853be2732222ccc385b2cd9ec03a", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 87384, "upload_time": "2018-06-28T13:05:43", "url": "https://files.pythonhosted.org/packages/ae/2e/3ced59b4c19ba73dbf6beb1776277b5a9173de7fe194a283479cf6f92c1a/pypsi-1.4.2-py3-none-any.whl" } ], "1.4.3": [ { "comment_text": "", "digests": { "md5": "fce712e0a9267481e1cf53459eaa3c02", "sha256": "2029fb1dba38de515929f34c8079ae844ac7b6de96b498a40d3acecd954cb37f" }, "downloads": -1, "filename": "pypsi-1.4.3-py3-none-any.whl", "has_sig": false, "md5_digest": "fce712e0a9267481e1cf53459eaa3c02", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 87394, "upload_time": "2018-06-29T13:26:05", "url": "https://files.pythonhosted.org/packages/0c/72/7480444dc0e9f5b426c5e06b6ea2cc05603e88b73529d42ed3ff33e934ea/pypsi-1.4.3-py3-none-any.whl" } ], "1.4.4": [ { "comment_text": "", "digests": { "md5": "de2368f33f90b9f0de2f67bfd7aaf5fc", "sha256": "64d0c8c5cb641f2452826f993666c960c6683ea4709af1b5cefd7077ecadbd45" }, "downloads": -1, "filename": "pypsi-1.4.4-py3-none-any.whl", "has_sig": false, "md5_digest": "de2368f33f90b9f0de2f67bfd7aaf5fc", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 88339, "upload_time": "2018-10-08T17:29:21", "url": "https://files.pythonhosted.org/packages/f7/b5/ae2c37cc9c92c6305f3ab31bdf3a4e114403dfa4347c7e4bfd528e338dcc/pypsi-1.4.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ed941430078a106204f574d60ab57202", "sha256": "eada3c4b6506fb7d14300d98a85e8e4fa40054b6c86fc7adb261833045a25c41" }, "downloads": -1, "filename": "pypsi-1.4.4.tar.gz", "has_sig": false, "md5_digest": "ed941430078a106204f574d60ab57202", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 66614, "upload_time": "2018-10-08T17:29:19", "url": "https://files.pythonhosted.org/packages/eb/19/b06c9d8d690d342b0b03819c998d8daa9c17d6c17e088d4571d7776a9b27/pypsi-1.4.4.tar.gz" } ], "1.4.4.1": [ { "comment_text": "", "digests": { "md5": "bb03bdb51ea62a957339e4aed877e4a4", "sha256": "d3b8440d02be0513da029b901555af881ee54f4eeb15eb349b1408ffce590c6f" }, "downloads": -1, "filename": "pypsi-1.4.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "bb03bdb51ea62a957339e4aed877e4a4", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 88369, "upload_time": "2018-10-08T17:46:17", "url": "https://files.pythonhosted.org/packages/a3/25/f258eb56d413a60243462a2bff1318dd59465ddb166ee46fbd54b31e97e5/pypsi-1.4.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2843df40eb663ce6a98f634d04563686", "sha256": "6f6a8542c8161ad1032c8d274502ba6401d819e1b4c2681f73a22f2560eaf558" }, "downloads": -1, "filename": "pypsi-1.4.4.1.tar.gz", "has_sig": false, "md5_digest": "2843df40eb663ce6a98f634d04563686", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 66643, "upload_time": "2018-10-08T17:46:16", "url": "https://files.pythonhosted.org/packages/0d/cc/718d14c15d1921f78c6a49d8176421fe1844dfd68f59f0911214514b6cd0/pypsi-1.4.4.1.tar.gz" } ], "1.4.5": [ { "comment_text": "", "digests": { "md5": "dc72f288aef43413619f48a766f48e0f", "sha256": "a14f2d98a0a7da2ae672624b140c0029205d7995325218598990d8ab1ddf9252" }, "downloads": -1, "filename": "pypsi-1.4.5-py3-none-any.whl", "has_sig": false, "md5_digest": "dc72f288aef43413619f48a766f48e0f", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 88744, "upload_time": "2018-11-19T15:11:04", "url": "https://files.pythonhosted.org/packages/e1/88/07078dd8548999a89d28d3fe0d6f338c994ce23cb4fd8c64e0eceae57587/pypsi-1.4.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6b9db7280768c0c14f8c6696a1df03b8", "sha256": "d89340abc1d038f430f2009a44f3fcc63c2c1382b8e58adef356b060b8920668" }, "downloads": -1, "filename": "pypsi-1.4.5.tar.gz", "has_sig": false, "md5_digest": "6b9db7280768c0c14f8c6696a1df03b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 65815, "upload_time": "2018-11-19T15:11:06", "url": "https://files.pythonhosted.org/packages/b7/f7/6fca847d1b8a67ecc30c2dd658dacbcd261bc50afa9c033b6366bec3b358/pypsi-1.4.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "dc72f288aef43413619f48a766f48e0f", "sha256": "a14f2d98a0a7da2ae672624b140c0029205d7995325218598990d8ab1ddf9252" }, "downloads": -1, "filename": "pypsi-1.4.5-py3-none-any.whl", "has_sig": false, "md5_digest": "dc72f288aef43413619f48a766f48e0f", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 88744, "upload_time": "2018-11-19T15:11:04", "url": "https://files.pythonhosted.org/packages/e1/88/07078dd8548999a89d28d3fe0d6f338c994ce23cb4fd8c64e0eceae57587/pypsi-1.4.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6b9db7280768c0c14f8c6696a1df03b8", "sha256": "d89340abc1d038f430f2009a44f3fcc63c2c1382b8e58adef356b060b8920668" }, "downloads": -1, "filename": "pypsi-1.4.5.tar.gz", "has_sig": false, "md5_digest": "6b9db7280768c0c14f8c6696a1df03b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 65815, "upload_time": "2018-11-19T15:11:06", "url": "https://files.pythonhosted.org/packages/b7/f7/6fca847d1b8a67ecc30c2dd658dacbcd261bc50afa9c033b6366bec3b358/pypsi-1.4.5.tar.gz" } ] }