{ "info": { "author": "Jay Marcyes", "author_email": "jay@marcyes.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3" ], "description": "Captain\n=======\n\nEasy python cli scripts for people that just want get things done.\n\nUsage\n-----\n\nA valid ``captain`` cli script needs just two things:\n\n1. A ``main`` function\n\n .. code:: python\n\n def main(foo, bar):\n return 0\n\n2. Calling exit using ``captain.exit(__name__)``\n\n .. code:: python\n\n import captain\n\n def main(foo, bar):\n return 0\n\n captain.exit(__name__)\n\nThat\u2019s it! Whatever arguments you define in the ``main`` function will\nbe options on the command line. A captain script is called just like any\nother python command line script, so to run the above example you could\ndo:\n\n::\n\n $ python path/to/script.py --foo=1 --bar=2\n\nArgument Decorator\n------------------\n\nThe ``captain.decorators.arg()`` decorator provides a nice passthrough\napi to the full\n`argparse `__ module if\nyou need to really customize how arguments are passed into your script:\n\n.. code:: python\n\n from captain import exit\n from captain import echo\n from captain.decorators import arg \n\n\n @arg('--foo', '-f')\n @arg('arg', metavar='ARG')\n def main(*args, **kwargs):\n '''this is the help description'''\n echo.out(args)\n echo.out(kwargs)\n\n exit(__name__)\n\nWould print a help string like this:\n\n::\n\n usage: script.py [-h] [--foo FOO] ARG\n\n this is the help description\n\n positional arguments:\n ARG\n\n optional arguments:\n -h, --help show this help message and exit\n --foo FOO, -f FOO\n\nIf you want another nifty way to define arguments, take a look at\n`docopt `__.\n\nEcho\n----\n\nThis small module makes it easy to print stuff in your script while\nstill giving you full control by being able to configure the logger if\nyou need to. It also will obey the global ``--quiet`` flag.\n\n.. code:: python\n\n from captain import echo\n\n var1 = \"print\"\n\n var2 = \"stdout\"\n echo.out(\"this will {} to {}\", var1, var2)\n\n var2 = \"stderr\"\n echo.err(\"this will {} to {}\", var1, var2)\n\n e = ValueError(\"this will print with stacktrace and everything\")\n echo.exception(e)\n\nThe ``echo`` module has a lot of nice little helper features but Captain\nalso can work with modules like\n`clint `__ if you need to do more\nadvanced cli output.\n\nExamples\n--------\n\nA typical standard python cli script\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n import argparse\n\n if __name__ == u'__main__':\n parser = argparse.ArgumentParser(description='fancy script description')\n parser.add_argument(\"--foo\", action='store_true')\n parser.add_argument(\"--bar\", default=0, type=int)\n parser.add_argument(\"args\", nargs='*')\n args = parser.parse_args()\n\nwould become:\n\n.. code:: python\n\n import captain\n\n def main(foo=False, bar=0, *args):\n '''fancy script description'''\n return 0\n\n captain.exit(__name__)\n\nSubcommands\n~~~~~~~~~~~\n\nCaptain supports multiple subcommands defined in the script using the\nformat ``main_subcommand``.\n\n.. code:: python\n\n # cli.py\n\n import captain\n\n def main_foo():\n pass\n\n def main_bar():\n pass\n\n captain.exit(__name__)\n\nSo ``foo`` could be called using:\n\n::\n\n $ python cli.py foo\n\nAnd ``bar`` could be called using:\n\n::\n\n $ python cli.py bar\n\nEmbedding captain in another package\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nIf you want a script from you package to be usable using both\n``python -m example`` and maybe a ``console_scripts`` entry point, you\ncan set up your package\u2019s ``__main__.py`` module like this:\n\n.. code:: python\n\n # example/__main__.py\n\n from captain import exit\n\n def main():\n pass\n\n # hook for setup.py entry_points\n def console():\n exit(__name__)\n \n # hook for python -m MODULE call\n if __name__ == \"__main__\":\n console()\n\nAnd then in your ``setup.py`` script you can add:\n\n.. code:: python\n\n entry_points = {\n 'console_scripts': [\n 'example = example.__main__:console'\n ],\n }\n\nThat\u2019s all there is to it.\n\nEasy listing of all captain scripts in a directory\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nYou can get a list of all available scripts in a directory by running\ncaptain with no arguments:\n\n::\n\n $ captain\n\nInstall\n-------\n\nUse pip:\n\n::\n\n $ pip install captain\n\nFor latest and greatest:\n\n::\n\n $ pip install --upgrade \"git+https://github.com/Jaymon/captain#egg=captain\"\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/jaymon/captain", "keywords": "cli console", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "captain", "package_url": "https://pypi.org/project/captain/", "platform": "", "project_url": "https://pypi.org/project/captain/", "project_urls": { "Homepage": "http://github.com/jaymon/captain" }, "release_url": "https://pypi.org/project/captain/3.0.0/", "requires_dist": null, "requires_python": "", "summary": "python cli scripts for humans", "version": "3.0.0" }, "last_serial": 5466817, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "7ed1e09c1d419914a4393308bcde9d40", "sha256": "adc7e1684a2aacbe923cea02dbe3a3157f93789b7eeeb0c256ef31f0da00a8e5" }, "downloads": -1, "filename": "captain-0.1.tar.gz", "has_sig": false, "md5_digest": "7ed1e09c1d419914a4393308bcde9d40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4357, "upload_time": "2014-02-07T20:28:13", "url": "https://files.pythonhosted.org/packages/52/7c/ec81a6a0797589b48f23482a8130a59385a5b2f3c6c59347847f2ef044a8/captain-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "85938ceb9b619a15004a3555a615a9c0", "sha256": "0b2843efa794b438727fc462f6f1db943f28d1f7b2156589cd40ecb21178545c" }, "downloads": -1, "filename": "captain-0.1.1.tar.gz", "has_sig": false, "md5_digest": "85938ceb9b619a15004a3555a615a9c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4359, "upload_time": "2014-02-07T20:32:55", "url": "https://files.pythonhosted.org/packages/c5/56/412a7ecaabc083a0f5377770ec7ee3846999b4b2426c4c2b0795570ee8d4/captain-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "6159bde803078d701013784604acfb83", "sha256": "13850c0c9e959fa8a109a792937daf3a585945f30649a0dc92b8ab70b33c13cf" }, "downloads": -1, "filename": "captain-0.1.2.tar.gz", "has_sig": false, "md5_digest": "6159bde803078d701013784604acfb83", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5238, "upload_time": "2014-02-22T01:27:29", "url": "https://files.pythonhosted.org/packages/b2/f8/fa7eb2c27be1d80da01d90c3ca9c0f1056261d4ff1ae4da54674e54d2f9e/captain-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "e0f27741a2c2c9f36042f7c00aa5ae57", "sha256": "af5bd0511ec85dc0c8336ae06c7f05df3e3dd53bd6c440e5fda3bb016417801a" }, "downloads": -1, "filename": "captain-0.1.3.tar.gz", "has_sig": false, "md5_digest": "e0f27741a2c2c9f36042f7c00aa5ae57", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5506, "upload_time": "2014-03-07T02:54:20", "url": "https://files.pythonhosted.org/packages/c4/c3/5e55ccad3c9d5b131378b0cb5c37a696e592b9781e4f4a49b1798b6d4e58/captain-0.1.3.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "178646c9b0b3d453ac58462aa276e1c5", "sha256": "07fa218a101cf71ab2d04cbcbd4a77f8ebed90f6685133565e8b18c920100d09" }, "downloads": -1, "filename": "captain-0.1.5.tar.gz", "has_sig": false, "md5_digest": "178646c9b0b3d453ac58462aa276e1c5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6856, "upload_time": "2014-04-08T22:50:04", "url": "https://files.pythonhosted.org/packages/03/8f/fff948e54b68c6798b46ee705053ca99d134740ead377403fc8a1c067402/captain-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "daf0cf30d9101dc6aaf23936837b7706", "sha256": "f2582bcc1df6cf38da50c285af9703bd6b46db5de5d6b85f09fd2dbb2654f636" }, "downloads": -1, "filename": "captain-0.1.6.tar.gz", "has_sig": false, "md5_digest": "daf0cf30d9101dc6aaf23936837b7706", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6945, "upload_time": "2014-04-30T20:36:17", "url": "https://files.pythonhosted.org/packages/85/c5/372e55e3a4303f839099fce95f0766098d1fe0091d43bc16bf60cf06bcd8/captain-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "f1a08f60030960e7dba4ec134272c7bb", "sha256": "09a8cbb9805ed5cc76004ac3c7e2ef7c868da3ac198d202241739a58cdd33e83" }, "downloads": -1, "filename": "captain-0.1.7.tar.gz", "has_sig": false, "md5_digest": "f1a08f60030960e7dba4ec134272c7bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7053, "upload_time": "2014-05-16T03:03:56", "url": "https://files.pythonhosted.org/packages/78/1e/3f4383e700d4bfe155b2ac248bfd5d10954b2ea13cbffefc70305f9dc0cc/captain-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "2f0a6685bbeeb9a20d26b4175ae69966", "sha256": "109cec5e9f3a8cf3272ca288ff0c2147db637b495ba8409dc216f568db3f02d5" }, "downloads": -1, "filename": "captain-0.1.8.tar.gz", "has_sig": false, "md5_digest": "2f0a6685bbeeb9a20d26b4175ae69966", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7074, "upload_time": "2014-05-16T21:20:29", "url": "https://files.pythonhosted.org/packages/4b/ee/358f8cb60f36f48f4c15c080b9af500a796ad94a11b86e1c38dbe58db187/captain-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "3ddf9f391130a0d52396e6af31f363ff", "sha256": "1055917bf852fea38cf60b1f99b5b8d2cb1a60c9060b9b8a5ed11a1aa4f31a26" }, "downloads": -1, "filename": "captain-0.1.9.tar.gz", "has_sig": false, "md5_digest": "3ddf9f391130a0d52396e6af31f363ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7143, "upload_time": "2014-09-05T01:34:39", "url": "https://files.pythonhosted.org/packages/8b/14/38d627929e01279521c7a63bb4d860d4825056502bad021eb8b383ce02d7/captain-0.1.9.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "24c9ad7be3e1aed7dd03a7ae3bf84096", "sha256": "d72301b9bf5543fa250e5575b680be0992285d862d0b5a79c7fa89532949700e" }, "downloads": -1, "filename": "captain-0.2.0.tar.gz", "has_sig": false, "md5_digest": "24c9ad7be3e1aed7dd03a7ae3bf84096", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7368, "upload_time": "2014-09-05T22:48:18", "url": "https://files.pythonhosted.org/packages/fc/b0/ecc0f4ddc9e6b6009f617840b280aed5723391188f27ca6174a1c88b3c25/captain-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "19142138c476c0b3d57d0db85e47bfab", "sha256": "d83fb16d344f595625f4c997a6d5ccd91b36a2dc8e841f687c94b8991db28ab2" }, "downloads": -1, "filename": "captain-0.2.1.tar.gz", "has_sig": false, "md5_digest": "19142138c476c0b3d57d0db85e47bfab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7349, "upload_time": "2014-09-05T23:02:32", "url": "https://files.pythonhosted.org/packages/a6/a9/47d3c6a1887c445ffc920abb1cf372aaf2832744592159950da6d151a14a/captain-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "c8a062297d47b90630f07032792c5406", "sha256": "970ee9000a925c21347dfb35cef1d548c143b94d48637fcc352114f515967a2c" }, "downloads": -1, "filename": "captain-0.2.2.tar.gz", "has_sig": false, "md5_digest": "c8a062297d47b90630f07032792c5406", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7395, "upload_time": "2014-09-06T02:09:58", "url": "https://files.pythonhosted.org/packages/5d/ba/686f5fbab1ded8dc305d0b20bb4870dcaa84cf0783920df517932a949035/captain-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "ba5cd18ac18381a0e21d67e7097b6237", "sha256": "96ad798d2af42787b7aeb0bb339b87a7d9ab7029824dbb5bb2fc3948a456f0b5" }, "downloads": -1, "filename": "captain-0.2.3.tar.gz", "has_sig": false, "md5_digest": "ba5cd18ac18381a0e21d67e7097b6237", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8275, "upload_time": "2015-06-12T01:55:28", "url": "https://files.pythonhosted.org/packages/08/9c/ccd0b4f3552703a4b498219b1e414b4593c4c5bcbfa1271e63b61d0216db/captain-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "a12b21f284b26d54b923f1cde6571cd4", "sha256": "1983664dfb45066d111a1185dfe3c4a66c740fcb52e8a850cff4ecebc7812b93" }, "downloads": -1, "filename": "captain-0.2.4.tar.gz", "has_sig": false, "md5_digest": "a12b21f284b26d54b923f1cde6571cd4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8730, "upload_time": "2015-09-02T23:26:12", "url": "https://files.pythonhosted.org/packages/d8/1b/ce983a277fba6ec22e2781e005286e9ccfb409b44198519c4de37a186a06/captain-0.2.4.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "cd91aa99695e8c5836c8a104bfb0a1d1", "sha256": "ecfdeda5dd9dd85b8acbedb4748cf3cf5c8375fa17e00008c28662d391b6c226" }, "downloads": -1, "filename": "captain-0.2.7.tar.gz", "has_sig": false, "md5_digest": "cd91aa99695e8c5836c8a104bfb0a1d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9037, "upload_time": "2015-09-11T04:08:12", "url": "https://files.pythonhosted.org/packages/89/61/a693f8668ab7da1be79f02a5518f374b529271dcefe468262a30af8da4af/captain-0.2.7.tar.gz" } ], "0.4.11": [ { "comment_text": "", "digests": { "md5": "46dcaf629ce9bbd2d7b4c543e4a4dd78", "sha256": "b459dfb2a82da175e787671a5ff3b25dd03d6a330ac4009dc8ebedb02cae173b" }, "downloads": -1, "filename": "captain-0.4.11.tar.gz", "has_sig": false, "md5_digest": "46dcaf629ce9bbd2d7b4c543e4a4dd78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16841, "upload_time": "2017-12-22T09:09:41", "url": "https://files.pythonhosted.org/packages/c6/8b/dff1c90857ecb756705c0a3e21319544bf63c10fb439d729d6710ed733e5/captain-0.4.11.tar.gz" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "8b9a324469f0a494d048cc4021cd7262", "sha256": "91b321699c7b65f9973f53b3cdf34a0d3c530614c86208aaea940e90e6a62de0" }, "downloads": -1, "filename": "captain-0.4.4.tar.gz", "has_sig": false, "md5_digest": "8b9a324469f0a494d048cc4021cd7262", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13647, "upload_time": "2016-03-28T20:48:14", "url": "https://files.pythonhosted.org/packages/ae/0f/0e45d937f0af87b7324c8ba4d9d578175f161f8d6ab90871ad080200d9f2/captain-0.4.4.tar.gz" } ], "0.4.5": [ { "comment_text": "", "digests": { "md5": "18a65444a9eeca72229738b391df2dd1", "sha256": "be8b7598df0a077f085c0303eae9a06be27f92ec174e26f570199f6914d2946a" }, "downloads": -1, "filename": "captain-0.4.5.tar.gz", "has_sig": false, "md5_digest": "18a65444a9eeca72229738b391df2dd1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14967, "upload_time": "2016-04-13T08:21:28", "url": "https://files.pythonhosted.org/packages/22/66/fe337c6d385a3d2343599be6a9d6fa3bc9cb3fa93bf81617be5ee528d047/captain-0.4.5.tar.gz" } ], "0.4.6": [ { "comment_text": "", "digests": { "md5": "b00276098235816bb0c9a092ffe81b0a", "sha256": "edc4197ef8dbed7b633a151c7c0c1f1290a57db544a7f24774dad74383a0771a" }, "downloads": -1, "filename": "captain-0.4.6.tar.gz", "has_sig": false, "md5_digest": "b00276098235816bb0c9a092ffe81b0a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15310, "upload_time": "2016-04-29T00:47:36", "url": "https://files.pythonhosted.org/packages/7c/a7/f892d6d43cc6f912da49609e2bd4ab3912fdf39d950dfa67152cda776712/captain-0.4.6.tar.gz" } ], "0.4.7": [ { "comment_text": "", "digests": { "md5": "d41ea26f7980d15258a7c79208963e1e", "sha256": "579f6be41fc1589277c2ab2208f248d0d8f022c3e54a121447c9935e25db4a36" }, "downloads": -1, "filename": "captain-0.4.7.tar.gz", "has_sig": false, "md5_digest": "d41ea26f7980d15258a7c79208963e1e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15326, "upload_time": "2016-04-30T01:40:47", "url": "https://files.pythonhosted.org/packages/ce/24/b6b4edfe9bde4023757d0262765a6ed91194dd7631b2040a8334223da473/captain-0.4.7.tar.gz" } ], "0.4.8": [ { "comment_text": "", "digests": { "md5": "52b7b8ccc538f64d4f83b756cd57d571", "sha256": "d8f9ef31853e254feeae504a1c78739fbb7c05cf1838a1a5cf133e7685bb5a02" }, "downloads": -1, "filename": "captain-0.4.8.tar.gz", "has_sig": false, "md5_digest": "52b7b8ccc538f64d4f83b756cd57d571", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15559, "upload_time": "2016-05-02T18:59:27", "url": "https://files.pythonhosted.org/packages/91/3d/d50d010c74b27dc3a88969cdbd0cdeff41cd5c544e9c48bdee4ee85c5710/captain-0.4.8.tar.gz" } ], "0.4.9": [ { "comment_text": "", "digests": { "md5": "46b93c971571a4b1c296265c69928757", "sha256": "d57cbde7ac80da6abdbaeacbf9b34198598a91d0f19a1e6dcc844d72aef5568b" }, "downloads": -1, "filename": "captain-0.4.9.tar.gz", "has_sig": false, "md5_digest": "46b93c971571a4b1c296265c69928757", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15684, "upload_time": "2016-05-11T01:18:00", "url": "https://files.pythonhosted.org/packages/10/b3/39d447fde67a83914d9c4a12ef0ecaf6600ba2f92e63b26aac1edf1a8943/captain-0.4.9.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "2da7966fb2e1ed5ad05cfb0f07e1759a", "sha256": "9347439c7de1c3fd15a44cb6448828313f9be995e2db7606fc56a8c3b739414f" }, "downloads": -1, "filename": "captain-1.0.0.tar.gz", "has_sig": false, "md5_digest": "2da7966fb2e1ed5ad05cfb0f07e1759a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17740, "upload_time": "2018-01-26T08:45:44", "url": "https://files.pythonhosted.org/packages/b3/20/89999a2b098263b3316caee2b6b79aef6c5b5afc6d725beb7a87d1834fe5/captain-1.0.0.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "181995f51dd3a8aa65166221cbdb12c0", "sha256": "d08dbd5e499d09ce2b25f82ca1ca076408fceeb2eaf1dfa4c19c2fe09f8b0fba" }, "downloads": -1, "filename": "captain-2.0.0.tar.gz", "has_sig": false, "md5_digest": "181995f51dd3a8aa65166221cbdb12c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18623, "upload_time": "2018-02-16T08:34:20", "url": "https://files.pythonhosted.org/packages/6e/4a/4f48caedc61604b346d3264a34ae036c986245987fb57ed887ed976f36a1/captain-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "06f999c5d72c89c247cc9e6c57e424bf", "sha256": "bceb3247b550ab92e69d859a49c07ebbd656b41137614956ddb567327a7a501d" }, "downloads": -1, "filename": "captain-2.0.1.tar.gz", "has_sig": false, "md5_digest": "06f999c5d72c89c247cc9e6c57e424bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18627, "upload_time": "2018-03-16T22:50:10", "url": "https://files.pythonhosted.org/packages/32/62/6d077503714635acdc5b1a0acf554750740af9b5c427ae1400298360ee7f/captain-2.0.1.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "534daeb310fb9632c8ed1d31823d5969", "sha256": "2f1a155ee370454d83a300569f8cbd1cf31464b5128080f433dbb0a9c5696d7b" }, "downloads": -1, "filename": "captain-2.0.2.tar.gz", "has_sig": false, "md5_digest": "534daeb310fb9632c8ed1d31823d5969", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20299, "upload_time": "2018-04-18T06:42:17", "url": "https://files.pythonhosted.org/packages/6f/c4/a115d67b0249190a729651eb348616b2463a87833491af443aa5bf117861/captain-2.0.2.tar.gz" } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "fe543342e39d972125139227d385239c", "sha256": "a1da5097a8b05fda49be5c8cf16534bc286a5d3b09a5db8fde7e9b7485f39562" }, "downloads": -1, "filename": "captain-2.0.3.tar.gz", "has_sig": false, "md5_digest": "fe543342e39d972125139227d385239c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20354, "upload_time": "2018-04-22T23:34:52", "url": "https://files.pythonhosted.org/packages/17/38/8628c25c3f9d38f3a26a7012173d1cf5ff02574003f55adbff2a31a667aa/captain-2.0.3.tar.gz" } ], "2.0.4": [ { "comment_text": "", "digests": { "md5": "710e551a859e5e21968c51ad89b20028", "sha256": "d1a8cfe0a80fee450c2c9362ffc252cab0122c7363c93524426c311cd805fd78" }, "downloads": -1, "filename": "captain-2.0.4.tar.gz", "has_sig": false, "md5_digest": "710e551a859e5e21968c51ad89b20028", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21609, "upload_time": "2018-05-09T06:37:08", "url": "https://files.pythonhosted.org/packages/83/87/e5e7ce665a134030762ff4538e50ed5f6f01074cb22981ed627b0ec64a83/captain-2.0.4.tar.gz" } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "ad94585a93ade7a8e0546089e5531c94", "sha256": "1baebb0d69af2989dbf7a7d822cae9758135de3db975637e75643e026447bef2" }, "downloads": -1, "filename": "captain-3.0.0.tar.gz", "has_sig": false, "md5_digest": "ad94585a93ade7a8e0546089e5531c94", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22473, "upload_time": "2019-06-30T02:45:58", "url": "https://files.pythonhosted.org/packages/25/3b/f472bab022da127a7cf308ad3f18815573ed74d278a8e8a3a73b6ffb86f1/captain-3.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ad94585a93ade7a8e0546089e5531c94", "sha256": "1baebb0d69af2989dbf7a7d822cae9758135de3db975637e75643e026447bef2" }, "downloads": -1, "filename": "captain-3.0.0.tar.gz", "has_sig": false, "md5_digest": "ad94585a93ade7a8e0546089e5531c94", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22473, "upload_time": "2019-06-30T02:45:58", "url": "https://files.pythonhosted.org/packages/25/3b/f472bab022da127a7cf308ad3f18815573ed74d278a8e8a3a73b6ffb86f1/captain-3.0.0.tar.gz" } ] }