{ "info": { "author": "Brennan Fieck", "author_email": "Brennan_WilliamFieck@comcast.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: Telecommunications Industry", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Internet", "Topic :: Internet :: WWW/HTTP", "Topic :: Scientific/Engineering :: Information Analysis", "Topic :: Utilities" ], "description": "connvitals\n==========\n\n|License|\n\nChecks a machine's connection to a specific host or list of hosts in\nterms of packet loss, icmp latency, routing, and anything else that\nwinds up getting added.\n\n*Note: Does not recognize duplicate hosts passed on ``argv`` and will\ntest each as though unique.*\n\n*Note: Under normal execution conditions, requires super-user privileges\nto run.*\n\nDependencies\n------------\n\nThe utility runs on Python 3 (tested 3.6.3), but requires no\nnon-standard external modules.\n\nHowever, in most cases you will need ``setuptools`` after installation,\nand if you are using an older version of Python (< 3.5) then you will\nneed to install the backport of ``typing``. These should be handled for\nyou if you are using an ``.rpm`` file or ``pip`` to install\n``connvitals``.\n\nInstallation\n------------\n\nBinary packages\n~~~~~~~~~~~~~~~\n\nBinary packages are offered in ``.rpm`` format for Fedora/CentOS/RHEL\nand ``.whl`` format for all other operating systems under\n'`Releases `__'.\n\nVia ``pip`` (standard)\n~~~~~~~~~~~~~~~~~~~~~~\n\nBy far the simplest way to install this package is to simply use ``pip``\nlike so:\n\n::\n\n pip install connvitals\n\nNote that it's likely you'll need to either run this command as an\nadministrator (Windows), with ``sudo`` (Everything Else), or with the\n``--user`` option (Everything Including Windows).\n\nVia ``pip`` (From This Repository)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nIf for some reason the standard python package index is unavailable to\nyou, you can install directly from this repository without needing to\nmanually download it by running\n\n.. code:: bash\n\n user@hostname ~ $ pip install git+https://github.com/connvitals.git#egg=connvitals\n\nNote that you may need to run this command as root/with ``sudo`` or with\n``--user``, depending on your ``pip`` installation. Also ensure that\n``pip`` is installing packages for Python 3.x. Typically, if both\nPython2 and Python3 exist on a system with ``pip`` installed for both,\nthe ``pip`` to use for Python3 packages is accessible as ``pip3``.\n\nManually\n~~~~~~~~\n\nTo install manually, first download or clone this repository. Then, in\nthe directory you downloaded/cloned it into, run the command\n\n.. code:: bash\n\n user@hostname ~/connvitals $ python setup.py install\n\n| Note that it's highly likely that you will need to run this command as\n root/with ``sudo``. Also ensure that the ``python`` command points to\n a valid Python3 interpreter (you can check with ``python --version``).\n On many systems, it is common for ``python`` to point to a Python2\n interpreter. If you have both Python3 and Python2 installed, it's\n common that they be accessible as ``python3`` and ``python2``,\n respectively.\n| Finally, if you are choosing this option because you do not have a\n Python3 ``pip`` installation, you may not have ``setuptools``\n installed. On most 'nix distros, this can be installed without\n installing ``pip`` by running\n ``sudo apt-get install python3-setuptools`` (Debian/Ubuntu),\n ``sudo pacman -S python3-setuptools`` (Arch),\n ``sudo yum install python3-setuptools`` (RedHat/Fedora/CentOS), or\n ``brew install python3-setuptools`` (macOS with ``brew`` installed).\n\nUsage\n-----\n\n.. code:: bash\n\n connvitals [ -h --help ] [ -V --version ] [ -H --hops HOPS ] [ -p --pings PINGS ] [ -P --no-ping ] [ -t --trace ] [ --payload-size PAYLOAD ] [ -s --port-scan ] host [ hosts... ]\n\n- ``hosts`` - The host or hosts to check connection to. May be ipv4\n addresses, ipv6 addresses, fqdn's, or any combination thereof.\n- ``-h`` or ``--help`` - Prints help text, then exits successfully.\n- ``-V`` or ``--version`` - Prints the program's version information,\n then exits successfully.\n- ``-H`` or ``--hops`` - Sets max hops for route tracing (default 30).\n- ``-p`` or ``--pings`` - Sets the number of pings to use for aggregate\n statistics (default 4).\n- ``-P`` or ``--no-ping`` - Don't run ping tests.\n- ``-t`` or ``--trace`` - Run route tracing.\n- ``-j`` or ``--json`` - Prints output as one line of JSON-formatted\n text.\n- ``-s`` or ``--port-scan`` - Perform a limited scan on each hosts'\n ports.\n- ``--payload-size`` - Sets the size (in B) of ping packet payloads\n (default 41).\n\nOutput Format\n~~~~~~~~~~~~~\n\nNormal Output\n^^^^^^^^^^^^^\n\nFor each host tested, results are printed in the newline-separated order\n\"host->Ping Results->Route Trace Results->Port Scan Results\" where\n\"host\" is the name of the host, as passed on argv. If the name passed\nfor a host on ``argv`` is not what ends up being used to test connection\nvitals (e.g. the program may translate ``google.com`` into\n``216.58.218.206``), then the \"host\" line will contain\n``host-as-typed (host IP used)``.\n\nPing tests output their results as a tab-separated list containing - in\nthis order - minimum round-trip time in milliseconds (rtt), mean rtt,\nmaximum rtt, rtt standard deviation, and packet loss in percent. If all\npackets are lost, the min/mean/max/std are all reported as -1.\n\nRoute traces output their results as a list of network hops, separated\nfrom each other by newlines. Each network hop is itself a tab-separated\nlist of data containing - in this order - a network address for the\nmachine this hop ended at, and the rtt of a packet traversing this\nroute. If the packet was lost, a star (``*``) is shown instead of an\naddress and rtt.\n\nPort scans check for http(s) servers on ports 80 and 443, and MySQL\nservers running on port 3306. It outputs its results as a tab-separated\nlist containing - in this order - port 80 results, port 443 results,\nport 3306 results. Results for ports 80 and 443 consist of sending a\n``HEAD / HTTP/1.1`` request and recording \"rtt (in milliseconds),\nresponse code, server\" from the server's response. \"server\" will be the\ncontents of the \"Server\" header if found within the first kilobyte of\nthe response, but if it is not found will simply be \"Unknown\". Port 3306\nresults report the version of the MySQL server listening on that port if\none is found (Note that this version number may be mangled if the server\nallows unauthenticated connection or supports some other automatic\nauthentication mechanism for the machine running connvitals). If a\nserver is not found on a port, its results are reported as \"None\",\nindicating no listening server. If a server on port 80 expects\nencryption or a server on port 443 does not expect encryption, they will\nbe \"erroneously\" reported as not existing.\n\nExample Output (with localhost running mysql server):\n\n.. code:: bash\n\n root@hostname / # connvitals -stp 100 google.com 2607:f8b0:400f:807::200e localhost\n google.com (172.217.3.14)\n 3.543 4.955 11.368 1.442 0.000\n 10.169.240.1 3.108\n 10.168.253.8 2.373\n 10.168.254.252 3.659\n 10.168.255.226 2.399\n 198.178.8.94 3.059\n 69.241.22.33 51.104\n 68.86.103.13 16.470\n 68.86.92.121 5.488\n 68.86.86.77 4.257\n 68.86.83.6 3.946\n 173.167.58.142 5.290\n *\n 216.239.49.247 4.491\n 172.217.3.14 3.927\n 56.446, 200, gws 75.599, 200, gws None\n 2607:f8b0:400f:807::200e\n 3.446 4.440 12.422 1.526 0.000\n 2001:558:1418:49::1 8.846\n 2001:558:3da:74::1 1.453\n 2001:558:3da:6f::1 2.955\n 2001:558:3da:1::2 2.416\n 2001:558:3c2:15::1 2.605\n 2001:558:fe1c:6::1 47.516\n 2001:558:1c0:65::1 45.442\n 2001:558:0:f71e::1 9.165\n *\n *\n 2001:559:0:9::6 3.984\n *\n 2001:4860:0:1::10ad 3.970\n 2607:f8b0:400f:807::200e 3.891\n 57.706, 200, gws 77.736, 200, gws None\n localhost (127.0.0.1)\n 0.045 0.221 0.665 0.112 1.000\n 127.0.0.1 0.351\n None None 0.165, 5.7.2\n\nJSON Output Format\n^^^^^^^^^^^^^^^^^^\n\n| The JSON output format option (``-j`` or ``--json``) will render the\n output on one line. Each host is represented as an object, indexed by\n its **address**. This is not necessarily the same as the host as given\n on the command line, which may be found as an attribute of the host,\n named ``'name'``.\n| Results for ping tests are a dictionary attribute named ``'ping'``,\n with floating point values labeled as ``'min'``, ``'avg'``, ``'max'``,\n ``'std'`` and ``'loss'``. As with all floating point numbers in json\n output, these values are **not rounded or truncated** and are printed\n exactly as calculated, to the greatest degree of precision afforded by\n the system.\n| Route traces are output as a list attribute, labeled ``'trace'``,\n where each each step in the route is itself a list. The first element\n in each list is either the address of the discovered host at that\n point in the route, or the special string ``'*'`` which indicates the\n packet was lost and no host was discovered at this point. The second\n element, if it exists, is a floating point number giving the\n round-trip-time of the packet sent at this step, in milliseconds. Once\n again, unlike normal output format, these floating point numbers **are\n not rounded or truncated** and are printed exactly as calculated, to\n the greatest degree of precision afforded by the system.\n| Port scans are represented as a dictionary attribute named ``'scan'``.\n The label of each element of ``'scan'`` is the name of the server\n checked for. ``'http'`` and ``'https'`` results will report a\n dictionary of values containing:\n| \\* ``'rtt'`` - the time taken for the server to respond\n| \\* ``'response code'`` - The decimal representation of the server's\n response code to a ``HEAD / HTML/1.1`` request.\n| \\* ``'server'`` - the name of the server, if found within the first\n kilobyte of the server's response, otherwise \"Unknown\".\n| ``'mysql'`` fields will also contain a dictionary of values, and that\n dictionary should also contain the ``'rtt'`` field with the same\n meaning as for ``'http'`` and ``'https'``, but will replace the other\n two fields used by those protocols with ``'version'``, which will give\n the version number of the MySQL server.\n| If any of these three server types is not detected, the value of its\n label will be the string 'None', rather than a dictionary of values.\n\nExample JSON Output (with localhost running mysql server):\n\n.. code:: bash\n\n root@hostname / # sudo connvitals -j --port-scan -tp 100 google.com 2607:f8b0:400f:807::200e localhost\n\n.. code:: json\n\n {\"addr\":\"172.217.3.14\",\"name\":\"google.com\",\"ping\":{\"min\": 3.525257110595703, \"avg\": 4.422152042388916, \"max\": 5.756855010986328, \"std\": 0.47761748430602524, \"loss\": 0.0},\"trace\":[[\"*\"], [\"10.168.253.8\", 2.187013626098633], [\"10.168.254.252\", 4.266977310180664], [\"10.168.255.226\", 3.283977508544922], [\"198.178.8.94\", 2.7751922607421875], [\"69.241.22.33\", 3.7970542907714844], [\"68.86.103.13\", 3.8001537322998047], [\"68.86.92.121\", 7.291316986083984], [\"68.86.86.77\", 5.874156951904297], [\"68.86.83.6\", 4.465818405151367], [\"173.167.58.142\", 4.443883895874023], [\"*\"], [\"216.239.49.231\", 4.090785980224609], [\"172.217.3.14\", 4.895925521850586]],\"scan\":{\"http\": {\"rtt\": 59.095, \"response code\": \"200\", \"server\": \"gws\"}, \"https\": {\"rtt\": 98.238, \"response code\": \"200\", \"server\": \"gws\"}, \"mysql\": \"None\"}}}\n {\"addr\":\"2607:f8b0:400f:807::200e\",\"name\":\"2607:f8b0:400f:807::200e\",\"ping\":{\"min\": 3.62396240234375, \"avg\": 6.465864181518555, \"max\": 24.2769718170166, \"std\": 5.133322111766303, \"loss\": 0.0},\"trace\":[[\"*\"], [\"2001:558:3da:74::1\", 1.9710063934326172], [\"2001:558:3da:6f::1\", 2.904176712036133], [\"2001:558:3da:1::2\", 2.5751590728759766], [\"2001:558:3c2:15::1\", 2.7141571044921875], [\"2001:558:fe1c:6::1\", 4.7512054443359375], [\"2001:558:1c0:65::1\", 3.927946090698242], [\"*\"], [\"*\"], [\"2001:558:0:f8c1::2\", 3.635406494140625], [\"2001:559:0:18::2\", 3.8270950317382812], [\"*\"], [\"2001:4860:0:1::10ad\", 4.517078399658203], [\"2607:f8b0:400f:807::200e\", 3.91387939453125]],\"scan\":{\"http\": {\"rtt\": 51.335, \"response code\": \"200\", \"server\": \"gws\"}, \"https\": {\"rtt\": 70.521, \"response code\": \"200\", \"server\": \"gws\"}, \"mysql\": \"None\"}}}\n {\"addr\":\"127.0.0.1\",\"name\":\"localhost\",\"ping\":{\"min\": 0.04792213439941406, \"avg\": 0.29621124267578125, \"max\": 0.5612373352050781, \"std\": 0.0995351687014057, \"loss\": 0.0},\"trace\":[[\"127.0.0.1\", 1.9199848175048828]],\"scan\":{\"http\": \"None\", \"https\": \"None\", \"mysql\": {\"rtt\": 0.148, \"version\": \"5.7.2\"}}}}\n\nError Output Format\n^^^^^^^^^^^^^^^^^^^\n\nWhen an error occurs, it is printed to ``stderr`` in the following\nformat:\n\n::\n\n EE: : : - \n\n``EE:`` is prepended for ease of readability in the common case that\nstdout and stderr are being read/parsed from the same place.\n```` is commonly just ``str`` or ``Exception``, but can in\nsome cases represent more specific error types. ````\nholds extra information describing why the error occurred. Note that\nstack traces are not commonly logged, and only occur when the program\ncrashes for unforseen reasons. ```` is the time at which the\nerror occurred, given in the system's ``ctime`` format, which will\nusually look like ``Mon Jan 1 12:59:59 2018``.\n\nSome errors do not affect execution in a large scope, and are printed\nlargely for debugging purposes. These are printed as warnings to\n``stderr`` in the following format:\n\n::\n\n WW: - \n\nWhere ``WW:`` is prepended both for ease of readability and to\ndifferentiate it from an error, ```` is the warning message,\nand ```` is the time at which the warning was issued, given\nin the system's ``ctime`` format.\n\nIn the case that ``stderr`` is a tty, ``connvitals`` will attempt to\nprint errors in red and warnings in yellow, using ANSI control sequences\n(supports all VT/100-compatible terminal emulators).\n\n.. |License| image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg\n :target: https://opensource.org/licenses/Apache-2.0\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/connvitals", "keywords": "network statistics connection ping traceroute port ip", "license": "", "maintainer": "", "maintainer_email": "", "name": "connvitals", "package_url": "https://pypi.org/project/connvitals/", "platform": "", "project_url": "https://pypi.org/project/connvitals/", "project_urls": { "Homepage": "https://github.com/connvitals" }, "release_url": "https://pypi.org/project/connvitals/4.3.2/", "requires_dist": [ "setuptools", "typing" ], "requires_python": "~=3.4", "summary": "Checks a machines connection to a specific host or list of hosts", "version": "4.3.2" }, "last_serial": 4223248, "releases": { "4.0.1": [ { "comment_text": "", "digests": { "md5": "98b16276aef4a6d22afd28e261195a24", "sha256": "be648f93e96a8ee308b3b87efdca33d6ed143cab6859760ed9d8bc3702023a8a" }, "downloads": -1, "filename": "connvitals-4.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "98b16276aef4a6d22afd28e261195a24", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.4", "size": 21122, "upload_time": "2018-06-01T14:12:31", "url": "https://files.pythonhosted.org/packages/1a/e7/4514b7140e38448483ee7c1b8afe77eaf41813b13e223d440a08aff92f04/connvitals-4.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "90f5af24a1d6aec6fc0064a7c968bb67", "sha256": "48af58982ba07098d8f9ad78af2c84020b31ec2591a550b7608056b961fabbae" }, "downloads": -1, "filename": "connvitals-4.0.1.tar.gz", "has_sig": false, "md5_digest": "90f5af24a1d6aec6fc0064a7c968bb67", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.4", "size": 31416, "upload_time": "2018-06-01T14:12:32", "url": "https://files.pythonhosted.org/packages/42/0e/201773bf1208233fc9b1a081a24384dea01f54363bc3c3be8eec2656a982/connvitals-4.0.1.tar.gz" } ], "4.0.2": [ { "comment_text": "", "digests": { "md5": "d784df2809d7ffb414e0282b82cb58d6", "sha256": "deb6bc2ed86857620a4913ff06cfa74a317f8edd62bb965c6ce6be85507c5f9e" }, "downloads": -1, "filename": "connvitals-4.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "d784df2809d7ffb414e0282b82cb58d6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.4", "size": 21394, "upload_time": "2018-07-11T17:23:11", "url": "https://files.pythonhosted.org/packages/63/dd/3daa6a7affb60323e44d3e0bb021bdb9e7f2070a7d6b82ad94d8f9acf924/connvitals-4.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7b183e035e626c2f7c50763c210408a7", "sha256": "05cda6077d39589f77a0b71b067274b2006bb1b365c147c7ddbfcd10e362bc6b" }, "downloads": -1, "filename": "connvitals-4.0.2.tar.gz", "has_sig": false, "md5_digest": "7b183e035e626c2f7c50763c210408a7", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.4", "size": 31870, "upload_time": "2018-07-11T17:23:12", "url": "https://files.pythonhosted.org/packages/9f/d4/0061c1a0c1dec972dcd14abf85eb4e5a4aae046b58f970d91b2eefdac894/connvitals-4.0.2.tar.gz" } ], "4.1.0": [ { "comment_text": "", "digests": { "md5": "f3bb4a9b21b3428d47eebe46871e7f7b", "sha256": "bd697bcf0b2801a67dc0a91172cf8d280f3783dfb73153f2cbbf955851ccc8a8" }, "downloads": -1, "filename": "connvitals-4.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f3bb4a9b21b3428d47eebe46871e7f7b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.4", "size": 21499, "upload_time": "2018-07-16T15:43:40", "url": "https://files.pythonhosted.org/packages/3a/4b/69c4ca9bb51a30c2d3dd257b69f46d2048adf5ffab6e8a18fc91f4b60658/connvitals-4.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "67685a56bbf86d2264ab514eb93c65e4", "sha256": "88d3af5d6a71baa597da2950ea6e710c1d42fb7a48bada8e4a5fe259583bc840" }, "downloads": -1, "filename": "connvitals-4.1.0.tar.gz", "has_sig": false, "md5_digest": "67685a56bbf86d2264ab514eb93c65e4", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.4", "size": 31943, "upload_time": "2018-07-16T15:43:41", "url": "https://files.pythonhosted.org/packages/55/c2/75863d6dfdbc49662569eae1828f32e4d98bad04055ce89aa2fac8d9d2b6/connvitals-4.1.0.tar.gz" } ], "4.2.0": [ { "comment_text": "", "digests": { "md5": "7fc43994e679acf131c12a2e158fc587", "sha256": "7e28be52d20f0b269365dc7fcec7c94284607edeef075f143ba33909622e2952" }, "downloads": -1, "filename": "connvitals-4.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7fc43994e679acf131c12a2e158fc587", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.4", "size": 21641, "upload_time": "2018-07-31T14:54:58", "url": "https://files.pythonhosted.org/packages/1d/df/5ad9c07f71a62bc83a5d3424d0c14a963ce0635d4efd110d0205fcc8395f/connvitals-4.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b8110ddf836e3e4bf9bf210da89b07be", "sha256": "7dee8a77bbb34d19db25e913797ac0faa1e2f4e50f6f5b4b829c41e467864013" }, "downloads": -1, "filename": "connvitals-4.2.0.tar.gz", "has_sig": false, "md5_digest": "b8110ddf836e3e4bf9bf210da89b07be", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.4", "size": 31762, "upload_time": "2018-07-31T14:54:59", "url": "https://files.pythonhosted.org/packages/3e/c7/4f694228e4caa3399c09665f4cb9bc669911821d23da270bbff4310db71c/connvitals-4.2.0.tar.gz" } ], "4.3.0": [ { "comment_text": "", "digests": { "md5": "f73b35a7ce69c0e6c1478188a00d8403", "sha256": "a7cce606393c0890305f544d1b7b06b9549e969caeec42fb08158de62f818608" }, "downloads": -1, "filename": "connvitals-4.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f73b35a7ce69c0e6c1478188a00d8403", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.4", "size": 27982, "upload_time": "2018-08-07T14:31:01", "url": "https://files.pythonhosted.org/packages/0d/33/dcc10a0f5393009f9cd9fc76dc8ede53e183eb6693de68b4bddcacd5f0b6/connvitals-4.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "17d7c86649e827d7e83333b1c985cbd7", "sha256": "140a2c1d8a1f57a3f7469bf2f64120adf7e6714201869a7ee7c9838a23979b71" }, "downloads": -1, "filename": "connvitals-4.3.0.tar.gz", "has_sig": false, "md5_digest": "17d7c86649e827d7e83333b1c985cbd7", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.4", "size": 36374, "upload_time": "2018-08-07T14:31:02", "url": "https://files.pythonhosted.org/packages/41/e4/cbf64fb7a57c9660c7d413a39eef370283a7d4baa7ec41ff0214fb2ab52d/connvitals-4.3.0.tar.gz" } ], "4.3.1": [ { "comment_text": "", "digests": { "md5": "05b055a6393c17ac52b51957be5d0a51", "sha256": "1d4865a19d37811c02b882a02da3dd1adc2979de6aa1a80eaf461913625ef570" }, "downloads": -1, "filename": "connvitals-4.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "05b055a6393c17ac52b51957be5d0a51", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.4", "size": 28410, "upload_time": "2018-08-13T14:14:59", "url": "https://files.pythonhosted.org/packages/49/78/d063f23bbcfa94c1327be45a36f7bedee490c399d86ecfc7b478df5f340b/connvitals-4.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c25b651608bfb434020485a9ee92fecb", "sha256": "2f816805641791dd1a01e6bfe2ac52f86a7aedcede9609e9ebc11db131d0eca7" }, "downloads": -1, "filename": "connvitals-4.3.1.tar.gz", "has_sig": false, "md5_digest": "c25b651608bfb434020485a9ee92fecb", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.4", "size": 36791, "upload_time": "2018-08-13T14:15:01", "url": "https://files.pythonhosted.org/packages/a0/86/ec8f87ca2588f92e87d6afae0dbcaa892844031643d866b83c81402e9851/connvitals-4.3.1.tar.gz" } ], "4.3.2": [ { "comment_text": "", "digests": { "md5": "1fd8973e2b7e4ec6b9591e4008e72b34", "sha256": "927d2e307c30d053f5eac186856730fb63def2a6982cef55d9a87ccd822b0016" }, "downloads": -1, "filename": "connvitals-4.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "1fd8973e2b7e4ec6b9591e4008e72b34", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.4", "size": 28451, "upload_time": "2018-08-30T16:22:18", "url": "https://files.pythonhosted.org/packages/c8/06/cecd5e3ac8d82bc623a902358739311f1c61c95bf0ae69f22ed9cec3649a/connvitals-4.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "add72016c18ee89d7c9736c4d0a9518b", "sha256": "9c03d2c7861b001623bff4c08ee9797d283a85ecadf350bb5d1f311daa3323e6" }, "downloads": -1, "filename": "connvitals-4.3.2.tar.gz", "has_sig": false, "md5_digest": "add72016c18ee89d7c9736c4d0a9518b", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.4", "size": 36837, "upload_time": "2018-08-30T16:22:19", "url": "https://files.pythonhosted.org/packages/27/ca/c3f59e59a73328e0a54631e1459480447b85de0594cecfc16e8c3670be18/connvitals-4.3.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1fd8973e2b7e4ec6b9591e4008e72b34", "sha256": "927d2e307c30d053f5eac186856730fb63def2a6982cef55d9a87ccd822b0016" }, "downloads": -1, "filename": "connvitals-4.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "1fd8973e2b7e4ec6b9591e4008e72b34", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.4", "size": 28451, "upload_time": "2018-08-30T16:22:18", "url": "https://files.pythonhosted.org/packages/c8/06/cecd5e3ac8d82bc623a902358739311f1c61c95bf0ae69f22ed9cec3649a/connvitals-4.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "add72016c18ee89d7c9736c4d0a9518b", "sha256": "9c03d2c7861b001623bff4c08ee9797d283a85ecadf350bb5d1f311daa3323e6" }, "downloads": -1, "filename": "connvitals-4.3.2.tar.gz", "has_sig": false, "md5_digest": "add72016c18ee89d7c9736c4d0a9518b", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.4", "size": 36837, "upload_time": "2018-08-30T16:22:19", "url": "https://files.pythonhosted.org/packages/27/ca/c3f59e59a73328e0a54631e1459480447b85de0594cecfc16e8c3670be18/connvitals-4.3.2.tar.gz" } ] }