{ "info": { "author": "Alexander Solovyov", "author_email": "alexander@solovyov.net", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development" ], "description": ".. -*- mode: rst -*-\n\n========\n Opster\n========\n\nOpster is a command line options parser, intended to make writing command line\napplications easy and painless. It uses built-in Python types (lists,\ndictionaries, etc) to define options, which makes configuration clear and\nconcise. Additionally it contains possibility to handle subcommands (i.e.\n``hg commit`` or ``svn update``).\n\n.. image:: https://secure.travis-ci.org/piranha/opster.png\n :target: https://travis-ci.org/piranha/opster\n\n**Supported Python versions**: Python >= 2.6 (including 3.x)\n\n\nQuick example\n-------------\n\nThat's an example of an option definition\n\n.. code:: python\n\n import sys\n from opster import command\n\n @command()\n def main(message,\n no_newline=('n', False, \"don't print a newline\")):\n '''Simple echo program'''\n sys.stdout.write(message)\n if not no_newline:\n sys.stdout.write('\\n')\n\n if __name__ == '__main__':\n main.command()\n\nRunning this program will print help message::\n\n > ./echo.py\n echo.py: invalid arguments\n echo.py [OPTIONS] MESSAGE\n\n Simple echo program\n\n options:\n\n -n --no-newline don't print a newline\n -h --help show help\n\nAs you can see, here we have defined option to not print newline: keyword\nargument name is a long name for option, default value is a 3-tuple, containing\nshort name for an option (can be empty), default value (on base of which\nprocessing is applied - `see description`_) and a help string.\n\nUnderscores in long names of options are converted into dashes.\n\nIf you are calling a command with option using long name, you can supply it\npartially. In this case it could look like ``./echo.py --no-new``. This is also\ntrue for subcommands: read about them and everything else you'd like to know in\n`documentation`_.\n\n.. _documentation: http://opster.readthedocs.org/en/latest/\n.. _see description: http://opster.readthedocs.org/en/latest/overview.html#options-processing\n\n\nChangelog\n---------\n\n4.2 (2018.10.21)\n~~~~~~~~~~~~~~~~\n\n - When function arguments (which become command line options) had underscores\n in them, they appeared in help as unnamed argument (GH-60_). No more.\n\n.. _GH-60: https://github.com/piranha/opster/issues/60\n \n4.1 (2013.08.19)\n~~~~~~~~~~~~~~~~\n\n - Improve guessing abilities under Python 3 (options in keyword arguments and\n keyword only arguments are combined now).\n\n4.0 (2013.06.03)\n~~~~~~~~~~~~~~~~\n\n - Infinitely `nested subcommands`_.\n - Tuple options (one of given enumerated values).\n - A lot of fixes.\n\nMost of changes were done by `Oscar Benjamin`_.\n\n.. _nested subcommands: http://opster.readthedocs.org/en/latest/overview.html#nested-subcommands\n\n3.7 (2012.05.03)\n~~~~~~~~~~~~~~~~\n\n - Fixed name in usage on Windows.\n - Improved and documented preparsing of global options when using subcommands (GH-25).\n\n3.6 (2012.04.23)\n~~~~~~~~~~~~~~~~\n\n - Now commands can have ``-h`` option (GH-2).\n - Better Windows compatibility (GH-18, GH-20).\n - Refactored internal options representation with easier introspectability\n (GH-19).\n - Tests support Python 3 (GH-21).\n\nThanks for this release are going to `Oscar Benjamin`_, every point in this\nrelease is his work.\n\n.. _Oscar Benjamin: https://github.com/oscarbenjamin\n \n\n3.5 (2012.03.25)\n~~~~~~~~~~~~~~~~\n\n - Added `command.Error`_ to facilitate easy exits from scripts (GH-12).\n - Fixed opster.t output.\n\n.. _command.Error: http://opster.readthedocs.org/en/latest/overview.html#error-messages\n\n3.4 (2012.01.24)\n~~~~~~~~~~~~~~~~\n\n - Fix for installation issue (MANIFEST.in wasn't included).\n - Fix for pep8.py complaints (most of them).\n - Fix for script name when calling as a command (and not a dispatcher) (GH-4).\n - Fix for some 2to3 issues (GH-5).\n - Fixed bug with empty arguments for ``opster.command`` (GH-6).\n - opster.t is now able to run under ``dash``.\n - More output encodings supported (GH-7).\n - Coverage support for cram tests (GH-8).\n - Fixed combination of varargs and option name with underscore (GH-10).\n\n3.3 (2011.09.04)\n~~~~~~~~~~~~~~~~\n\n - Multicommands: ability to specify `global options`_ before specifying name of\n command\n\n.. _global options: http://opster.readthedocs.org/en/latest/overview.html#global-options\n\n3.2 (2011.08.27)\n~~~~~~~~~~~~~~~~\n\n - `Fix`_ for ``TypeError: func() got multiple values for 'argument'``\n\n.. _Fix: http://opster.readthedocs.org/en/latest/tests.html#multivalues\n\n3.1 (2011.08.27)\n~~~~~~~~~~~~~~~~\n\n - Better `aliases`_ support.\n - Fixes for options and usage discovery.\n - Fix for error handling of dictionary options in multicommands.\n - Fix for help not working when global options are defined.\n\n.. _aliases: http://readthedocs.org/docs/opster/en/latest/api.html#opster.command\n\n3.0 (2011.08.14)\n~~~~~~~~~~~~~~~~\n\n - **Backward incompatible** Single commands now don't attempt to parse.\n arguments if you call them. `Use`_ ``function.command()`` attribute (much like\n earlier ``function.help()``) to parse arguments now.\n - Switch to Python 2.6.\n - Ability to have few subcommand `dispatchers`_ in a single runtime (no single\n global ``CMDTABLE`` dictionary anymore).\n\n.. _Use: http://opster.readthedocs.org/en/latest/#quick-example\n.. _dispatchers: http://opster.readthedocs.org/en/latest/api.html#opster.Dispatcher\n\n2.2 (2011.03.23)\n~~~~~~~~~~~~~~~~\n\n - adjust indentation level in multiline docstrings (compare `1`_ and `2`_)\n - small fix for internal getopt exception handling\n\n.. _1: http://opster.readthedocs.org/en/latest/tests.html#multihelp1\n.. _2: http://opster.readthedocs.org/en/latest/tests.html#multihelp2\n\n\n2.1 (2011.01.23)\n~~~~~~~~~~~~~~~~\n\n - fix help display in case middleware returns original function\n\n2.0 (2011.01.23)\n~~~~~~~~~~~~~~~~\n\n - fix help display when there is no __doc__ declared for function\n - ``dict`` type `handling`_\n - ``.help()`` attribute for every function, printing help on call\n\n.. _handling: http://opster.readthedocs.org/en/latest/overview.html#options-processing\n\n1.2 (2010.12.29)\n~~~~~~~~~~~~~~~~\n\n - fix option display for a list of subcommands if docstring starts with a blank\n line\n\n1.1 (2010.12.07)\n~~~~~~~~~~~~~~~~\n\n - _completion was failing to work when global options were supplied to command\n dispatcher\n\n1.0 (2010.12.06)\n~~~~~~~~~~~~~~~~\n\n - when middleware was used and command called without arguments, instead of\n help, traceback was displayed\n\n0.9.13 (2010.11.18)\n~~~~~~~~~~~~~~~~~~~\n\n - fixed exception handling (cleanup previous fix, actually)\n - display only name of application, without full path\n\n0.9.12 (2010.11.02)\n~~~~~~~~~~~~~~~~~~~\n\n - fixed trouble with non-ascii characters in docstrings\n\n0.9.11 (2010.09.19)\n~~~~~~~~~~~~~~~~~~~\n\n - fixed exceptions handling\n - autocompletion improvements (skips middleware, ability of options completion)\n\n0.9.10 (2010.04.10)\n~~~~~~~~~~~~~~~~~~~\n\n - if default value of an option is a fuction, always call it (None is passed in\n case when option is not supplied)\n - always call a function if it's default argument for an option\n - some cleanup with better support for python 3\n - initial support for autocompletion (borrowed from PIP)\n\n0.9 - 0.9.9 (since 2009.07.13)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nAncient history ;-)\n", "description_content_type": "", "docs_url": "https://pythonhosted.org/opster/", "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/piranha/opster/", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "opster", "package_url": "https://pypi.org/project/opster/", "platform": "any", "project_url": "https://pypi.org/project/opster/", "project_urls": { "Homepage": "http://github.com/piranha/opster/" }, "release_url": "https://pypi.org/project/opster/4.2/", "requires_dist": null, "requires_python": "", "summary": "command line parsing speedster", "version": "4.2" }, "last_serial": 4400187, "releases": { "0.9.10": [ { "comment_text": "", "digests": { "md5": "67d4c92ae23a67e64fb5986482d7b342", "sha256": "e5de2cf34e70d582ecedea450f9a9f1330ce764afff9ac0baf61a50be5166fe9" }, "downloads": -1, "filename": "opster-0.9.10.tar.gz", "has_sig": false, "md5_digest": "67d4c92ae23a67e64fb5986482d7b342", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8201, "upload_time": "2010-04-10T11:16:12", "url": "https://files.pythonhosted.org/packages/ee/09/d8a6bfaae28e446a1da021e9195bb5ef8ed99c17df3501bf5901bbd6f3be/opster-0.9.10.tar.gz" } ], "0.9.11": [ { "comment_text": "", "digests": { "md5": "24b2349fa3930eb17e28e6fc7cf78575", "sha256": "299be8618a6a6f57613e7a72a13c600bf90f2763156c03a307f4d36008e59d63" }, "downloads": -1, "filename": "opster-0.9.11.tar.gz", "has_sig": false, "md5_digest": "24b2349fa3930eb17e28e6fc7cf78575", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8302, "upload_time": "2010-09-19T19:18:06", "url": "https://files.pythonhosted.org/packages/30/99/f2e14daadd08f314a42aa65765c25bca256436ae790cc0819d97c160d35e/opster-0.9.11.tar.gz" } ], "0.9.12": [ { "comment_text": "", "digests": { "md5": "eed94b4cd16752e426d115cb0843f1d2", "sha256": "2ca57eda115e49805ca8c950a15f2a1f66a89b9db14b515198d9413a473fffcb" }, "downloads": -1, "filename": "opster-0.9.12.tar.gz", "has_sig": false, "md5_digest": "eed94b4cd16752e426d115cb0843f1d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8460, "upload_time": "2010-11-02T13:38:27", "url": "https://files.pythonhosted.org/packages/09/a6/bc63924f6b1fb0332452afd94008f137a0a443dfa6ecc1c90a06064bbfcb/opster-0.9.12.tar.gz" } ], "0.9.13": [ { "comment_text": "", "digests": { "md5": "462b102563886fc9dda9719470549c9e", "sha256": "2fe55816916e94a8ef8d6c473b63d00a462b85e69f9c6f1dcc8188c01b311ae0" }, "downloads": -1, "filename": "opster-0.9.13.tar.gz", "has_sig": false, "md5_digest": "462b102563886fc9dda9719470549c9e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8705, "upload_time": "2010-11-18T22:22:08", "url": "https://files.pythonhosted.org/packages/2f/02/30934df370901265d7f56eb57b55c72dc2bbdaa83f6cae9eeb53faf14c1f/opster-0.9.13.tar.gz" } ], "0.9.7": [ { "comment_text": "", "digests": { "md5": "448588d277495658634da549572719c2", "sha256": "ff31259a14d49f39016120252fd05a035a2710b16d1e35700956ae223448410c" }, "downloads": -1, "filename": "opster-0.9.7.tar.gz", "has_sig": false, "md5_digest": "448588d277495658634da549572719c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6714, "upload_time": "2009-08-19T11:36:01", "url": "https://files.pythonhosted.org/packages/41/f9/600fdf6ec8f7c9cae31b449e6302f601f12232c03ef746fe87b86b7aac16/opster-0.9.7.tar.gz" } ], "0.9.8": [ { "comment_text": "", "digests": { "md5": "f4a12a1eda402ac55b6f17ad47e0609d", "sha256": "4016cdc60a3af0144bba152ab3ec6b389b3e77bde23c29f14f2be864934ad8d3" }, "downloads": -1, "filename": "opster-0.9.8.tar.gz", "has_sig": false, "md5_digest": "f4a12a1eda402ac55b6f17ad47e0609d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6764, "upload_time": "2009-09-02T11:57:41", "url": "https://files.pythonhosted.org/packages/d3/5a/156719e9ed145fe68e09fa79abc0dbe5b8facc91eda84c16bc6beb68fc0b/opster-0.9.8.tar.gz" } ], "0.9.9": [ { "comment_text": "", "digests": { "md5": "c6a874f7b39db0d0c4bc1218e01e6239", "sha256": "467b3faca1383c70f7d4675d502ab5e09b7edf8bce0bb9edcd92243a67b91be4" }, "downloads": -1, "filename": "opster-0.9.9.tar.gz", "has_sig": false, "md5_digest": "c6a874f7b39db0d0c4bc1218e01e6239", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7056, "upload_time": "2009-09-11T21:51:05", "url": "https://files.pythonhosted.org/packages/68/14/65b25279bdad6876510c915d05d8ad7dba43835781fcfa00e7b054ab1feb/opster-0.9.9.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "b5b7bf16f406645fff7edb5ea8bdf33d", "sha256": "a3d397cb030131ab75b2b5cdbe511b0687eae3fb80a5ca10249d054568dc2eb4" }, "downloads": -1, "filename": "opster-1.0.tar.gz", "has_sig": false, "md5_digest": "b5b7bf16f406645fff7edb5ea8bdf33d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8434, "upload_time": "2010-12-06T23:43:40", "url": "https://files.pythonhosted.org/packages/fa/b5/dfb5f38bd85301943af2e1847528982e98ccd6a65c8c499380b4b473f4d7/opster-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "412c3ebfc70e6d3b094a7f5847edb481", "sha256": "59dd3c86574e89227bbb7144544c40690fb539032bfba5997488a46ae384f40b" }, "downloads": -1, "filename": "opster-1.1.tar.gz", "has_sig": false, "md5_digest": "412c3ebfc70e6d3b094a7f5847edb481", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8530, "upload_time": "2010-12-07T12:26:48", "url": "https://files.pythonhosted.org/packages/f4/0a/28af745d5c1b68bfa4cbf2388d12dab41fb839055f926d4062af9fd42b02/opster-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "0effe6d98d0b8436cb371fe0d3a30915", "sha256": "13f83e8d89ae8cdb6b6fdcf92138be1270d497a51956aadc51fb8faca83a52a7" }, "downloads": -1, "filename": "opster-1.2.tar.gz", "has_sig": false, "md5_digest": "0effe6d98d0b8436cb371fe0d3a30915", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8595, "upload_time": "2010-12-29T10:06:55", "url": "https://files.pythonhosted.org/packages/5b/6a/6beee4660f41bc8ad162de46e6fcc50bacd4b5184f7ace7d81efc1bc9e01/opster-1.2.tar.gz" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "96da56d00b2ba93503b0eb00374176ce", "sha256": "3c4f40fdbe4dafa490ebc0d082328b9d7d93e9f79a850423786db700f03b89ae" }, "downloads": -1, "filename": "opster-2.0.tar.gz", "has_sig": false, "md5_digest": "96da56d00b2ba93503b0eb00374176ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8808, "upload_time": "2011-01-23T18:37:21", "url": "https://files.pythonhosted.org/packages/ad/89/93d63bc62e9a05454f374cc4043675e8d6148144f5b43d68aec29010af01/opster-2.0.tar.gz" } ], "2.1": [ { "comment_text": "", "digests": { "md5": "771ff7f0b5de4ed99b2228b5a9f85c0e", "sha256": "4fb1239ea42dfe7ba006bde8601d4756cfd66dd539d8fe823c1ff8c455bf810b" }, "downloads": -1, "filename": "opster-2.1.tar.gz", "has_sig": false, "md5_digest": "771ff7f0b5de4ed99b2228b5a9f85c0e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9292, "upload_time": "2011-01-23T22:39:48", "url": "https://files.pythonhosted.org/packages/e9/ef/23afc369f678d3b5d4140b621fa9eeafc6d1cf93c16010cb16f013eff3c8/opster-2.1.tar.gz" } ], "2.2": [ { "comment_text": "", "digests": { "md5": "ce9163c8e6c47bc7a8cf91392a6781bd", "sha256": "1ca95271d41b2abee1908aecd193f02a7f367dedebd9caf6f53c1550fcc99ef2" }, "downloads": -1, "filename": "opster-2.2.tar.gz", "has_sig": false, "md5_digest": "ce9163c8e6c47bc7a8cf91392a6781bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9501, "upload_time": "2011-03-29T10:35:10", "url": "https://files.pythonhosted.org/packages/1f/a8/e68e66681cc71dc9a7b7176e336ccb67952a76f40aac224b0447a3a6b1c3/opster-2.2.tar.gz" } ], "3.0": [ { "comment_text": "", "digests": { "md5": "014e7df926a40fe7e46a6a13c74452a6", "sha256": "b9f83c2c9f3037ce9d7d0eae20bebb78689f3e9cfb2a5ed223ec4183b56ef1bd" }, "downloads": -1, "filename": "opster-3.0.tar.gz", "has_sig": false, "md5_digest": "014e7df926a40fe7e46a6a13c74452a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11557, "upload_time": "2011-08-14T11:31:29", "url": "https://files.pythonhosted.org/packages/d9/8d/e5f04d2a185323b2380c14a76d9a13f4a743cb8b4f02ed040a94bffc6a26/opster-3.0.tar.gz" } ], "3.1": [ { "comment_text": "", "digests": { "md5": "994fd8db4f7ade0d6d927f2ffcf5385a", "sha256": "685d64fc8ae811998448663b71fff3e65ab2fdbd443221806ca83a6f175ef14d" }, "downloads": -1, "filename": "opster-3.1.tar.gz", "has_sig": false, "md5_digest": "994fd8db4f7ade0d6d927f2ffcf5385a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9692, "upload_time": "2011-08-27T15:05:46", "url": "https://files.pythonhosted.org/packages/62/28/5c226ba52f5a8d9707b435d38ab4c31c603a416c5cc0a03931ea86c5b8b1/opster-3.1.tar.gz" } ], "3.1.1": [ { "comment_text": "", "digests": { "md5": "6535b60b7ce7a56d9ecc6f39b999daa8", "sha256": "da688d47d35e1b87478094afd38d028902d59796c8f437feffa1a89868b7eee7" }, "downloads": -1, "filename": "opster-3.1.1.tar.gz", "has_sig": false, "md5_digest": "6535b60b7ce7a56d9ecc6f39b999daa8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9705, "upload_time": "2011-08-27T15:11:48", "url": "https://files.pythonhosted.org/packages/be/13/d7515b6b5790b82c9fe20310bd8783fbd08b0eaf01faca18c1dabf28f2c0/opster-3.1.1.tar.gz" } ], "3.2": [ { "comment_text": "", "digests": { "md5": "40c6803b25eae63427b24c2d29fa31c0", "sha256": "135b4556fddb491ce59101fd5580bb80c8fe725cd2f6acd5eb8e4891293be393" }, "downloads": -1, "filename": "opster-3.2.tar.gz", "has_sig": false, "md5_digest": "40c6803b25eae63427b24c2d29fa31c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12074, "upload_time": "2011-08-27T19:24:47", "url": "https://files.pythonhosted.org/packages/fd/c4/464954562c1c7702ff1d5a06762601e4d1c96718775dc31ee479b11a9f17/opster-3.2.tar.gz" } ], "3.2.1": [ { "comment_text": "", "digests": { "md5": "a0f7c6c5d81b9337acfe0e39b50f537b", "sha256": "20bf741c84f199d7807e223e0dbe12abb874533b358fabc95dd3dae61a178e82" }, "downloads": -1, "filename": "opster-3.2.1.tar.gz", "has_sig": false, "md5_digest": "a0f7c6c5d81b9337acfe0e39b50f537b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10104, "upload_time": "2011-08-28T16:37:45", "url": "https://files.pythonhosted.org/packages/7e/ba/f52d55a456ad029750233689ff5cf13514c888d412b758b5bffe3df964ba/opster-3.2.1.tar.gz" } ], "3.2.2": [ { "comment_text": "", "digests": { "md5": "69395516de8ce069f9c59ebf0ba20ce1", "sha256": "9ef12fb211bf42adbe578653ad4546a7765264f88227842a24ded9914c3ae6a0" }, "downloads": -1, "filename": "opster-3.2.2.tar.gz", "has_sig": false, "md5_digest": "69395516de8ce069f9c59ebf0ba20ce1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10100, "upload_time": "2011-08-31T17:10:14", "url": "https://files.pythonhosted.org/packages/ac/e9/e394260864153d58dc3672bc544e87347ffa48b4358938aea454957e705e/opster-3.2.2.tar.gz" } ], "3.3": [ { "comment_text": "", "digests": { "md5": "cc00283af510c29ec5f794cd9abbddcc", "sha256": "180318f8c69db4ab7ea036713a0a9ac9fe1277d263a5da300035a60093837e5f" }, "downloads": -1, "filename": "opster-3.3.tar.gz", "has_sig": false, "md5_digest": "cc00283af510c29ec5f794cd9abbddcc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10274, "upload_time": "2011-09-04T10:41:02", "url": "https://files.pythonhosted.org/packages/42/c8/4b482af52b8fee34885cd74211e3a55ffa8beafc9eb13b9a344cfe080a7e/opster-3.3.tar.gz" } ], "3.3.1": [ { "comment_text": "", "digests": { "md5": "0bc62a2c8114a45b7c2f91f2ff1d95c2", "sha256": "8cb2258e3a98e5febf5c4b8d623aaacdd5f8399ca3176f7025a05e2dff79db50" }, "downloads": -1, "filename": "opster-3.3.1.tar.gz", "has_sig": false, "md5_digest": "0bc62a2c8114a45b7c2f91f2ff1d95c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10400, "upload_time": "2011-09-17T07:45:20", "url": "https://files.pythonhosted.org/packages/2e/cb/97ba517be7f3bb96a963f4fcca8fc9c632c81c2ee00acc0222b01e3f63f8/opster-3.3.1.tar.gz" } ], "3.4": [ { "comment_text": "", "digests": { "md5": "0ad76ff8e0465313897aef56dbadcf97", "sha256": "6b6db5f59641bac16c11667aea77e8f6626e71c465144ce7c8ef1a460b063c9f" }, "downloads": -1, "filename": "opster-3.4.tar.gz", "has_sig": false, "md5_digest": "0ad76ff8e0465313897aef56dbadcf97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10982, "upload_time": "2012-01-24T22:43:10", "url": "https://files.pythonhosted.org/packages/23/2a/c2483fd2478c74c1705f5b2f8add5317f16eecc510adb24f2f79e4354ed7/opster-3.4.tar.gz" } ], "3.5": [ { "comment_text": "", "digests": { "md5": "5b7014e8b862d526c071100068ccc4af", "sha256": "2948bb779fc07e8efe5d696374e87e37d1b270e095121c41105c0288abac2c12" }, "downloads": -1, "filename": "opster-3.5.tar.gz", "has_sig": false, "md5_digest": "5b7014e8b862d526c071100068ccc4af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11106, "upload_time": "2012-03-25T14:05:31", "url": "https://files.pythonhosted.org/packages/c9/27/1f07443127e33c84665018c541cb1845485e03d43b8de3621b283788cf84/opster-3.5.tar.gz" } ], "3.6": [ { "comment_text": "", "digests": { "md5": "e55cf6747f0b155647f0aa702dbb810f", "sha256": "42f3047d1dd0d3e87b859bbd21724543681c655f94b5a8c12b2648df9a0023df" }, "downloads": -1, "filename": "opster-3.6.tar.gz", "has_sig": false, "md5_digest": "e55cf6747f0b155647f0aa702dbb810f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11994, "upload_time": "2012-04-23T10:53:54", "url": "https://files.pythonhosted.org/packages/f2/fe/b7e8988bbcbe4c3e7198d8ad05d61a6c9ca7f87c18e89a11a25327e73116/opster-3.6.tar.gz" } ], "3.7": [ { "comment_text": "", "digests": { "md5": "ee7149a5d0929bc4847b31c359383fe4", "sha256": "c74c133717622cf4b2fce266da9d9074f639a26c2c991fedc174ccec951d6744" }, "downloads": -1, "filename": "opster-3.7.tar.gz", "has_sig": false, "md5_digest": "ee7149a5d0929bc4847b31c359383fe4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12081, "upload_time": "2012-05-03T16:57:38", "url": "https://files.pythonhosted.org/packages/97/9f/7cd40f751011911580c1d00c45dc2822809f2da94a3c7e3002066bfd49db/opster-3.7.tar.gz" } ], "3.8": [ { "comment_text": "", "digests": { "md5": "cdcc9cfb497f663afd84b6565094dd90", "sha256": "5a6e49ebb2981a6afa785bec917c269f7b90eeea219b58a6bcf1eb24026428ac" }, "downloads": -1, "filename": "opster-3.8.tar.gz", "has_sig": false, "md5_digest": "cdcc9cfb497f663afd84b6565094dd90", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12042, "upload_time": "2012-09-27T07:14:42", "url": "https://files.pythonhosted.org/packages/98/83/75803728b58b5d371f34eaa9d2d26e5145034561fa9793723037c0c4af95/opster-3.8.tar.gz" } ], "4.0": [ { "comment_text": "", "digests": { "md5": "98212d77fef4e5fedd43246ef629d4e4", "sha256": "52ca0a75c794d2130abb31a7241c9932a67a5bca2e152b657f502a8892dc456f" }, "downloads": -1, "filename": "opster-4.0.tar.gz", "has_sig": false, "md5_digest": "98212d77fef4e5fedd43246ef629d4e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13650, "upload_time": "2013-06-03T18:58:45", "url": "https://files.pythonhosted.org/packages/02/e0/c8f197882e39e371c5db1dfae40f7becd3033b1a5b2d0c5fe73311044427/opster-4.0.tar.gz" } ], "4.1": [ { "comment_text": "", "digests": { "md5": "3fb50a62f5fa43a0521063daf8189316", "sha256": "77514c48cc6918791d818a75473dd1e1fb89993e28ca0b9f3978a8b70a2975c5" }, "downloads": -1, "filename": "opster-4.1.tar.gz", "has_sig": false, "md5_digest": "3fb50a62f5fa43a0521063daf8189316", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13812, "upload_time": "2013-08-19T12:06:56", "url": "https://files.pythonhosted.org/packages/63/d6/a9b310171fdf7ab26fe72d5a9e8c938894756b7ba8e00d65f194f8fee3e8/opster-4.1.tar.gz" } ], "4.2": [ { "comment_text": "", "digests": { "md5": "dc545e7008aa70da9196fcf05d3d9534", "sha256": "220af1ada6f2f2bb1100d0c0f73cc09a3ddd641888a6b56a8af62f9f1871946f" }, "downloads": -1, "filename": "opster-4.2.tar.gz", "has_sig": false, "md5_digest": "dc545e7008aa70da9196fcf05d3d9534", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14175, "upload_time": "2018-10-21T19:06:15", "url": "https://files.pythonhosted.org/packages/ce/57/c527704b78ab2763c32ac3e6d7b1940c069bfeebcfafe7b948a80f30bcff/opster-4.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "dc545e7008aa70da9196fcf05d3d9534", "sha256": "220af1ada6f2f2bb1100d0c0f73cc09a3ddd641888a6b56a8af62f9f1871946f" }, "downloads": -1, "filename": "opster-4.2.tar.gz", "has_sig": false, "md5_digest": "dc545e7008aa70da9196fcf05d3d9534", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14175, "upload_time": "2018-10-21T19:06:15", "url": "https://files.pythonhosted.org/packages/ce/57/c527704b78ab2763c32ac3e6d7b1940c069bfeebcfafe7b948a80f30bcff/opster-4.2.tar.gz" } ] }