{ "info": { "author": "Ryan Jung", "author_email": "gradysghost@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "A generic client library and command line client for Pyjojo, which lives\n[here](https://github.com/atarola/pyjojo). Together, they are\n[Mojojojo](http://i.imgur.com/TW2EiMb.gif)!\n\n## Important Note\n\nPyjojo implemented some\n[breaking changes](https://github.com/atarola/pyjojo#recent-breaking-changes)\nrecently. This version of Pymojo, v0.8.x, is the first version that supports\nversions of Pyjojo after these changes. As of v0.8.3, Pymojo is compatible with\nboth new and old versions of Pyjojo.\n\n## Installation\n\n pip install pymojo\n\n## Usage\n\n### Command Line Client\n\nIn brief, for a totally default Jojo...\n\nList the Jojo's scripts by name:\n\n mojo list\n\nShow details on a script called \"echo\":\n\n mojo show echo\n\nRun the \"echo\" script:\n\n mojo run echo text='Hello, world!'\n\nReload the Jojo's script listing:\n\n mojo reload\n\nMore officially, mojo works like this...\n\n mojo [-h] [-c CONFIG] [-e ENDPOINT] [-g GROUP] [-p PORT] [-s] [-i]\n [-u USER] [-w PASSWORD] [-n ENV] [-b {and,or,not}] [-t TAGS]\n {list,show,run,reload} [script] ...\n \n Mojo command line client\n \n positional arguments:\n {list,show,run,reload}\n The action you want to take\n script For 'show' and 'run' commands, this is the relevant\n script\n params Params to pass through the 'run' command in\n 'key1=value' format\n \n optional arguments:\n -h, --help show this help message and exit\n -c CONFIG, --config CONFIG\n A YAML configuration file\n -e ENDPOINT, --endpoint ENDPOINT\n The host to connect to a Jojo instance on\n -g GROUP, --group GROUP\n The group of Jojo instances to perform actions\n -p PORT, --port PORT The port Jojo is listening on\n -s, --ssl Use SSL\n -i, --ignore-warnings\n Ignore SSL certificate security warnings\n -u USER, --user USER The user to authenticate with\n -w PASSWORD, --password PASSWORD\n The password to authenticate with\n -n ENV, --environment ENV\n The name of the configured environment to control\n -b {and,or,not}, --list-boolean {and,or,not}\n When listing with a script tag filter, this specifies\n the boolean operator to use describing the tag filter.\n -t TAGS, --tags TAGS When listing with a script tag filter, this specifies\n the list of tags to filter by. Also see the -b flag.\n\n\nThe `show` and `run` actions require that you specify a `script` by name, which\nyou can discover with a `list`. The `run` action also optionally accepts a\nseries of key/value pairs to pass into said script as environment variables.\nThese should be written like this: `key1=value1 key2=value2`\n\n#### Configuration\n\nYou can configure the command line client with YAML files defining connection\nsettings (using the options the library's constructor accepts). A sample\nconfiguration might look like this:\n\n environments:\n local:\n endpoint: \"localhost\"\n port: 9090\n use_ssl: True\n verify: False\n user: localUserName\n password: l0calU$erP@ss\n bobs-jojo-server:\n endpoint: \"192.168.1.201\"\n steves-jojo-server:\n endpoint: \"192.168.1.253\"\n \n groups:\n jojos:\n - bobs-jojo-server\n - steves-jojo-server\n \n default_environment: \"local\"\n\nThat defines three environments, called \"local\", \"bobs-jojo-server\", and\n\"steves-jojo-server\", whose settings can be used with the `-n` option, like so:\n\n mojo -n bobs-jojo-server list\n\nIf you don't provide a `-n` option, Mojo will try to use the\n`default_environment`.\n\nIt also defines a group called \"jojos\" that targets both the \"bobs-jojo-server\"\nand \"steves-jojo-server\" environments. This can be called up with the `-g`\noption:\n\n mojo -g jojos list\n\nMojo will automatically pull in configration files found at `/etc/mojo.yml` and\n`~/.mojo.yml`, but you can specify an additional config file with `-c`.\nConfigurations will be applied in the following order:\n\n 1. `/etc/mojo.yml`, the global config file\n 2. `~/.mojo.yml`, the user config file\n 3. The optional custom config file defined with `-c`\n 4. Connection options specified with other command line flags\n\nIf a config file does not define one of the constructor arguments defined in the\n`Library` section below, the default value for that option will be used.\n\n### Library\n\nMojo's constructor accepts the following arguments:\n\n * `endpoint` - The network path to the server. This should be an IP or domain.\n (default: \"localhost\")\n * `port` - The port Jojo listens on (default: 3000)\n * `use_ssl` - Whether or not to use HTTPS (default: False)\n * `verify` - Whether to bother verifying Jojo's SSL certificate (default: True)\n * `user` - The username for HTTP Basic Auth (default: None)\n * `password` - The password for HTTP Basic Auth (default: None)\n\nSo if all of those defaults are what you need, then getting your Mojo on is\nquite simple indeed:\n\n from pymojo.mojo import Mojo\n\n mojo = Mojo()\n\nAs an example of using every last option Mojo's constructor accepts, here's how\nto interact with a Jojo server running on `192.168.0.123:9090`, which uses a\nself-signed SSL certificate and HTTP Basic Authentication...\n\n mojo = Mojo(endpoint=\"192.168.0.123\", port=9090, use_ssl=True, verify=False,\n user=\"username\", password=\"A good password\")\n \nOnce you have a Mojo, it's easy to use:\n\n # Print a list of every script the Jojo knows about\n for s in mojo.scripts:\n print s\n\n # Get script details from Mojo's cache\n script = mojo.get_script(\"my_script\")\n # script is now a JSON object detailing the remote script\n\n # Get script details, forcing a refresh of this data from the Jojo server\n script = mojo.get_script(\"my_script\", False)\n # script is the script JSON data, and Mojo's cache has been updated\n\n # Get a list of scripts with the 'foo' or 'bar' tag\n scripts = mojo.get_scripts(param=\"any_tags\", tags=\"foo,bar\")\n # Get a list of scripts with both the 'foo' and 'bar' tags\n scripts = mojo.get_scripts(param=\"tags\", tags=\"foo,bar\")\n # Get a list of scripts with neither the 'foo' nor 'bar' tags\n scripts = mojo.get_scripts(param=\"not_tags\", tags=\"foo,bar\")\n \n # Just get the names of scripts with a 'foo' or 'bar' tag\n script_names = mojo.get_script_names(param=\"any_tags\", tags=\"foo,bar\")\n\n # Run a Jojo script\n resp = mojo.run(\"my_script\", {foo:\"bar\", bar:\"foo\"})\n # resp is a requests response object from which you can gather a\n # resp.status_code and get the JSON body with resp.json()\n\n # Reload the Jojo's configuration and Mojo's cache\n mojo.reload()\n\n## Extending Mojo\n\nPyjojo is merely a remote script execution engine, and is meant to be extended\nto meet the needs of its users. As-is, Pymojo can act on any custom scripts on\na Jojo server, but the specifics of a Jojo deployment can be easily wrapped up\nin a class that inherits a Mojo.\n\nRealistically, you'll use Jojo for things like remote service control or\nsoftware deployments, but for the sake of example, let's say our Jojo server\nonly knows how to execute one script, `echo.sh`, which looks like this:\n\n #!/bin/bash\n \n # -- jojo --\n # description: echo\n # param: text - Text to echo\n # -- jojo --\n \n echo ${TEXT}\n exit 0\n\nWe'll make a special kind of Mojo built to run this echo script. We'll call it\nan Echojo.\n\n class Echojo(Mojo):\n def __init__(self, **kwargs):\n Mojo.__init__(self, **kwargs)\n \n def echo(self, text):\n return self.run(\"echo\", {\"text\" : text})\n\nSimply put, it takes the same Jojo configuration options that Mojo takes,\nand then passes them on to the superconstructor. The `echo` function passes\ndata through the superclass's `run` function and passes the result back up.", "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/GradysGhost/pymojo", "keywords": null, "license": "LICENSE", "maintainer": null, "maintainer_email": null, "name": "PyMoJo", "package_url": "https://pypi.org/project/PyMoJo/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/PyMoJo/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/GradysGhost/pymojo" }, "release_url": "https://pypi.org/project/PyMoJo/0.9.3/", "requires_dist": null, "requires_python": null, "summary": "PyJoJo client library", "version": "0.9.3" }, "last_serial": 1934207, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "222bfe14f138bd2a49f6faeb891021a2", "sha256": "4ee6041688b82485a259113e08a7792297c21153ff094cdffb0a113316b25f5b" }, "downloads": -1, "filename": "PyMoJo-0.1.0.tar.gz", "has_sig": false, "md5_digest": "222bfe14f138bd2a49f6faeb891021a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2274, "upload_time": "2014-03-21T14:30:08", "url": "https://files.pythonhosted.org/packages/93/29/2b1f2f31e365a9e39756577533e7311f6e8a522b5410496a7a20e324363f/PyMoJo-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "6993817c2630180b2f06c25e4f19dd53", "sha256": "e7a1840922cd9103281af6b97bc970784e29dedb106d4f1475a17a6b2876ebeb" }, "downloads": -1, "filename": "PyMoJo-0.2.0.tar.gz", "has_sig": false, "md5_digest": "6993817c2630180b2f06c25e4f19dd53", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2554, "upload_time": "2014-03-21T15:15:52", "url": "https://files.pythonhosted.org/packages/68/a3/4427bf19ef0951926e783f2863bd54f12739c6debb5f971a5733e0d97fcc/PyMoJo-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "6a70280789887d33fc7f0584692f93a2", "sha256": "7918201ae91791a51009dd78f4d93525fd5405ac95b4eee05eec062188041adf" }, "downloads": -1, "filename": "PyMoJo-0.2.1.tar.gz", "has_sig": false, "md5_digest": "6a70280789887d33fc7f0584692f93a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2568, "upload_time": "2014-03-21T15:31:16", "url": "https://files.pythonhosted.org/packages/08/64/dad0e5fba565649dca87cc32d1ec705748939c89abddddf24c7dd1a3633f/PyMoJo-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "f6ba4e4f2609d66a3400bf6bed4d0367", "sha256": "8110cded68e9e46de5f7acf20a63b71c2c60ec8b5a1454292392fa874915de36" }, "downloads": -1, "filename": "PyMoJo-0.2.2.tar.gz", "has_sig": false, "md5_digest": "f6ba4e4f2609d66a3400bf6bed4d0367", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2772, "upload_time": "2014-03-21T15:34:00", "url": "https://files.pythonhosted.org/packages/47/a1/663b99a113e5aa9c151c3e8a38a21113910839f468096faba3fa0c793807/PyMoJo-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "e90bb78c0f6eafec09a7a179f3b4bece", "sha256": "4a9bc50bd7c92a24be56b3eb5f14a3bd9d86ee218d8f18353a07d7026ae5b58d" }, "downloads": -1, "filename": "PyMoJo-0.2.3.tar.gz", "has_sig": false, "md5_digest": "e90bb78c0f6eafec09a7a179f3b4bece", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3116, "upload_time": "2014-03-23T16:30:51", "url": "https://files.pythonhosted.org/packages/07/d5/ee0e419acc7f60c3bcae7ae42bdcb4e3976bd792e47363f79efefbdaa3a0/PyMoJo-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "47aec3efe71d3a212b84305210bf5192", "sha256": "63f967721848559110d39461196f8443d39af6c71823ade59df18baf8b00d18c" }, "downloads": -1, "filename": "PyMoJo-0.2.4.tar.gz", "has_sig": false, "md5_digest": "47aec3efe71d3a212b84305210bf5192", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3488, "upload_time": "2014-03-23T16:35:34", "url": "https://files.pythonhosted.org/packages/74/6d/3611315d3743fae310443aefe3d66e70da92c9224c508f5ca2881cd783ad/PyMoJo-0.2.4.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "72be2c07d369ded6c3cefe9d2a3a549a", "sha256": "48fb8d02a20a5c64dae0c62b03f536be588bc28f24da35b0d27d8016c5eb75ce" }, "downloads": -1, "filename": "PyMoJo-0.3.tar.gz", "has_sig": false, "md5_digest": "72be2c07d369ded6c3cefe9d2a3a549a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3425, "upload_time": "2014-03-24T18:44:50", "url": "https://files.pythonhosted.org/packages/79/17/d1dcf293d40817476aa4cb80283bb0918bd6b64cb4a5e38b677b21ceab6e/PyMoJo-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "6e46401ccefe5d1366ae78c9568b6517", "sha256": "19a5fc61686de2046662c8459d439f24227d68457241a2f034050636abda2289" }, "downloads": -1, "filename": "PyMoJo-0.4.tar.gz", "has_sig": false, "md5_digest": "6e46401ccefe5d1366ae78c9568b6517", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4907, "upload_time": "2014-04-03T14:41:37", "url": "https://files.pythonhosted.org/packages/8f/9c/5e390c1499d673e5091384a77f12b76cd1e12662f7eb5329cfe35e55dcdc/PyMoJo-0.4.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "f4d628a60f392e79f957dace891e6bc2", "sha256": "797d4acee78f25996f71aec4eaa23f81b34f8f871ccd91dda064a7e460272f59" }, "downloads": -1, "filename": "PyMoJo-0.4.1.tar.gz", "has_sig": false, "md5_digest": "f4d628a60f392e79f957dace891e6bc2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4968, "upload_time": "2014-04-03T17:20:28", "url": "https://files.pythonhosted.org/packages/b0/4f/53e8ccb772bf530032bc944f8b163c12b8d69e241caef94536dcc2d757d0/PyMoJo-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "349fefab1b0d765a9ee462e5e8d33964", "sha256": "9ae67423a5e7253e96a3ad19ee44961f28d7c42af5a33aa4c8f4583a32575c4d" }, "downloads": -1, "filename": "PyMoJo-0.4.2.tar.gz", "has_sig": false, "md5_digest": "349fefab1b0d765a9ee462e5e8d33964", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5051, "upload_time": "2014-04-03T17:57:03", "url": "https://files.pythonhosted.org/packages/a3/07/2744da39973a4f011f74b89e38d3b44f553d3729c92221e50f12cfd6e819/PyMoJo-0.4.2.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "d72ceffac437202ca10869c3ecf2bb97", "sha256": "f3f3ebdad34237aa91b0768d15da2188781a7b590d80e8f7fe9461ae0f7a071e" }, "downloads": -1, "filename": "PyMoJo-0.5.0.tar.gz", "has_sig": false, "md5_digest": "d72ceffac437202ca10869c3ecf2bb97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6651, "upload_time": "2014-04-08T15:14:51", "url": "https://files.pythonhosted.org/packages/27/5c/a1d5bd403210fcecf80108814930c37c53b5b3f0215bfcb223ac579d5886/PyMoJo-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "1def9ce0ddd124aedde195260f589666", "sha256": "59e18f5f2ac9741f4e6e7971dac2cfe951a27cd0e013d2bc5d1423ccefadb80e" }, "downloads": -1, "filename": "PyMoJo-0.5.1.tar.gz", "has_sig": false, "md5_digest": "1def9ce0ddd124aedde195260f589666", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6670, "upload_time": "2014-04-08T16:33:25", "url": "https://files.pythonhosted.org/packages/0b/4c/e31fc7953526ed585f1ab4abe310712190d4f9fcb46b5f05d64ea848d141/PyMoJo-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "1040b8f440df719c428b8092989860f0", "sha256": "01eda3535bfad936a0d400c444e260f9fc258b939ccc0f42ff58d1d118b64f84" }, "downloads": -1, "filename": "PyMoJo-0.5.2.tar.gz", "has_sig": false, "md5_digest": "1040b8f440df719c428b8092989860f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6878, "upload_time": "2014-04-09T18:50:21", "url": "https://files.pythonhosted.org/packages/e0/06/a962086586f8e829189b176eb2d94118a1f65c2e2b5f1653f3f17b27ed20/PyMoJo-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "1b87a303c181b371a84d258cfc6c1b8a", "sha256": "282f76ba8c4b7c891ac6da701724b310dd7ba54186e0984408e0eaec316c8acc" }, "downloads": -1, "filename": "PyMoJo-0.5.3.tar.gz", "has_sig": false, "md5_digest": "1b87a303c181b371a84d258cfc6c1b8a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6971, "upload_time": "2014-04-18T13:42:07", "url": "https://files.pythonhosted.org/packages/c9/82/d52f30352f9cfac8ed3397244359ee251988576b6999a23076aa98a15a65/PyMoJo-0.5.3.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "831b6bb9a5fc261659a8c893a24c4d8d", "sha256": "43bf1d42aa16873b7a31d3425bd6edee0ec80820c99deaa7c525476d4eb3b691" }, "downloads": -1, "filename": "PyMoJo-0.6.tar.gz", "has_sig": false, "md5_digest": "831b6bb9a5fc261659a8c893a24c4d8d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9453, "upload_time": "2014-06-11T00:12:01", "url": "https://files.pythonhosted.org/packages/6d/a9/4d64866d0ce19164767942258596ebf644dda3a352a1f72c8ddff8cd2d89/PyMoJo-0.6.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "c86f2804d449d46f859dee941a3e1414", "sha256": "80ccc4046a01f69ca6bd08a5b0ec52bcfc561706c44317aabb1e744867215b87" }, "downloads": -1, "filename": "PyMoJo-0.6.1.tar.gz", "has_sig": false, "md5_digest": "c86f2804d449d46f859dee941a3e1414", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7653, "upload_time": "2014-06-11T03:35:55", "url": "https://files.pythonhosted.org/packages/af/cd/18fdf85ddb525b8fe8640fc9eaca100d24c69a9a5ec3a97c09e210ce6547/PyMoJo-0.6.1.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "2a105ce1958dff9c0d311dd9cc5531d6", "sha256": "ecfb72094ce3e86edd596d2e35dfdd60ca825095afb65dff2781d69b5776a4fe" }, "downloads": -1, "filename": "PyMoJo-0.8.0.tar.gz", "has_sig": false, "md5_digest": "2a105ce1958dff9c0d311dd9cc5531d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8181, "upload_time": "2014-06-11T05:52:58", "url": "https://files.pythonhosted.org/packages/55/52/5806a747e4cc5cac0a8c8948c67eb7aa5afea46344c341f49aa2f80c6b53/PyMoJo-0.8.0.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "dd77aa4fa7bfb0b2a87b180326c955dc", "sha256": "9ff7e1071aa294afacf352f3130de9e38707400b666f20bcc9031edb9ca761fd" }, "downloads": -1, "filename": "PyMoJo-0.8.1.tar.gz", "has_sig": false, "md5_digest": "dd77aa4fa7bfb0b2a87b180326c955dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8042, "upload_time": "2014-06-11T06:03:36", "url": "https://files.pythonhosted.org/packages/e8/9c/38103b35e39853ebeef8e0d61ba76cce0a581e4029b10f6da147ac207959/PyMoJo-0.8.1.tar.gz" } ], "0.8.2": [ { "comment_text": "", "digests": { "md5": "4ced8e42d28250ddf67f363248e2ebca", "sha256": "71003ff01a3df6dea6d2c232e13b81f5527ef8ca1d1548f96e7335d228c406dd" }, "downloads": -1, "filename": "PyMoJo-0.8.2.tar.gz", "has_sig": false, "md5_digest": "4ced8e42d28250ddf67f363248e2ebca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8034, "upload_time": "2014-06-11T13:02:26", "url": "https://files.pythonhosted.org/packages/a4/b5/cdcdd79c85163a6fc67d231581030267ca40a7d9a740a75fe5e3109c3f15/PyMoJo-0.8.2.tar.gz" } ], "0.8.3": [ { "comment_text": "", "digests": { "md5": "7f41d47c4c63f553a0b98277eeea21ac", "sha256": "e31fe14587b5fcd0f1e77cdcb9114b607e29994fc074ff304775be1ddf451548" }, "downloads": -1, "filename": "PyMoJo-0.8.3.tar.gz", "has_sig": false, "md5_digest": "7f41d47c4c63f553a0b98277eeea21ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7941, "upload_time": "2014-06-13T19:35:22", "url": "https://files.pythonhosted.org/packages/46/e5/9f28c579db74d22d9ea563151a2ce4abe7fa8f638df5e2e4f1e238941a70/PyMoJo-0.8.3.tar.gz" } ], "0.8.4": [ { "comment_text": "", "digests": { "md5": "d98d9d77228716a2ef18aa1fca6a5b46", "sha256": "69a92ee8a6de586b165370245ce1bfb34c02f0c2efbf7bc9c44df16804235f65" }, "downloads": -1, "filename": "PyMoJo-0.8.4.tar.gz", "has_sig": false, "md5_digest": "d98d9d77228716a2ef18aa1fca6a5b46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7955, "upload_time": "2014-07-25T20:47:15", "url": "https://files.pythonhosted.org/packages/a3/e8/aa0e424a1248677ecf51688e67dbfae7142c362842ed911d64a7318916eb/PyMoJo-0.8.4.tar.gz" } ], "0.8.5": [ { "comment_text": "", "digests": { "md5": "089c33f56c2e2ac4113b0ae74b44f708", "sha256": "2806847df06a6788a67863f8b6a704549d45d9be3b1e4696579fef05a82127ba" }, "downloads": -1, "filename": "PyMoJo-0.8.5.tar.gz", "has_sig": false, "md5_digest": "089c33f56c2e2ac4113b0ae74b44f708", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7959, "upload_time": "2014-08-04T18:33:15", "url": "https://files.pythonhosted.org/packages/c3/58/381cd886b7cdadedb5273d9e69178e1113f96da8745753f1bfe6a84503be/PyMoJo-0.8.5.tar.gz" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "d0b7ff978966a964a4beb8f8a16d37a6", "sha256": "f40db76a683875c24a8fb62690e9f55ff699af76e0da055d5961a054fa9b23ec" }, "downloads": -1, "filename": "PyMoJo-0.9.tar.gz", "has_sig": false, "md5_digest": "d0b7ff978966a964a4beb8f8a16d37a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8497, "upload_time": "2014-09-18T21:44:48", "url": "https://files.pythonhosted.org/packages/93/3f/8ecd187ee822fee7defeaa552de0c585613bb6b3771ee27a0d165673f251/PyMoJo-0.9.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "051387fc74c30e8d0084a40772280341", "sha256": "a4266558cf15577bf38a290989e8d3c90533276f9ecc9af3275411e472cde01d" }, "downloads": -1, "filename": "PyMoJo-0.9.1.tar.gz", "has_sig": false, "md5_digest": "051387fc74c30e8d0084a40772280341", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8490, "upload_time": "2014-09-18T21:49:51", "url": "https://files.pythonhosted.org/packages/3d/88/74f30897e7725905c82b98281bcc8f189ff3a78e520082c3ee1fdc05f296/PyMoJo-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "6ae81c93b6aa48a5ec349149988f50b1", "sha256": "0c8a8bf627188d8d4f40344f645be3be4b7c14badc9741732f5a6adb150bcaf6" }, "downloads": -1, "filename": "PyMoJo-0.9.2.tar.gz", "has_sig": false, "md5_digest": "6ae81c93b6aa48a5ec349149988f50b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8730, "upload_time": "2016-02-01T18:14:47", "url": "https://files.pythonhosted.org/packages/f3/16/ebc3b0b1e306dc19680b92d729c4dcdc72096f808943d6ed0ddac2c44558/PyMoJo-0.9.2.tar.gz" } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "9922e8a108271cdc0136d22cf8831b2c", "sha256": "9d7ca2c31bf5c8f3288f003c91a5eeb4eb561a254dbc9a3721754c340963368f" }, "downloads": -1, "filename": "PyMoJo-0.9.3.tar.gz", "has_sig": false, "md5_digest": "9922e8a108271cdc0136d22cf8831b2c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8729, "upload_time": "2016-02-01T18:19:12", "url": "https://files.pythonhosted.org/packages/a4/f3/b6952c925ec879805cb9ce481ed5a4d316343a6d5e53d8d0839b3867f4fe/PyMoJo-0.9.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9922e8a108271cdc0136d22cf8831b2c", "sha256": "9d7ca2c31bf5c8f3288f003c91a5eeb4eb561a254dbc9a3721754c340963368f" }, "downloads": -1, "filename": "PyMoJo-0.9.3.tar.gz", "has_sig": false, "md5_digest": "9922e8a108271cdc0136d22cf8831b2c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8729, "upload_time": "2016-02-01T18:19:12", "url": "https://files.pythonhosted.org/packages/a4/f3/b6952c925ec879805cb9ce481ed5a4d316343a6d5e53d8d0839b3867f4fe/PyMoJo-0.9.3.tar.gz" } ] }