{ "info": { "author": "Analyze Re", "author_email": "support@analyzere.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "\nAnalyzere Python Client Extras |travis| |Code Health|\n======================================================\n\n\nAn extension to the analyzere python library that facilitates \"extras\"\nincluding visualizations of Analyze Re LayerView objects.\n\n.. |travis| image:: https://travis-ci.org/analyzere/analyzere-python-extras.svg?branch=master\n :alt: Travis-CI Build Status\n :target: https://travis-ci.org/analyzere/analyzere-python-extras\n.. |Code Health| image:: https://landscape.io/github/analyzere/analyzere-python-extras/master/landscape.svg?style=flat\n :target: https://landscape.io/github/analyzere/analyzere-python-extras/master\n :alt: Code Health\n\nInstallation\n------------\n\n::\n\n pip install analyzere_extras\n\n\nGraphing Options\n----------------\n\nThis graphing utility provides some methods of controlling the style and format of the rendered image.\n\nrankdir='XX'\n Option that controls the orientation of the graph. Options include:\n\n - 'BT' bottom to top (default)\n - 'TB' top to bottom\n - 'LR' left to right\n - 'RL' right to left\n\ncompact=True|False\n Controls if duplicate nodes should be omitted (default=True). This option tends to produce smaller graphs, which should be easier to read.\n\nwith_terms=True|False\n Specify that a Layer's terms are included in each node of the graph (default=True).\n\nwarnings=True|False\n Highlight nodes with suspicious terms by coloring the node red. Warning nodes are generated when any of the following conditions are true:\n\n - ``participation = 0.0``\n - ``invert = true`` and ``filters = []``\n - ``attachment`` or ``aggregate_attachment`` = unlimited\n\n\nmax_depth=0\n The maximum depth of the graph to process. For very deeply nested structures this can reduce the size. (default=0 == all levels).\n\nmax_sources=0\n The maximum number of Loss sources to graph in detail for a single node. (default=0 == all sources).\n\ncolors=[1-12]\n The number of colors to be used when coloring nodes and edges. (default=1 == black, max=12).\n\ncolor_mode=['breadth'|'depth']\n The mode to use when applying colors. Options include: ['breadth', 'depth'], default: 'breadth'.\n\n\n**Sample LayerView Images:**\n\n+------------------------------------------------+-----------------------------------------------------------------------------------------------------+\n| ``LayerViewDigraph(lv, ...)`` | ``render(...)`` |\n+--------------+-----------------+---------------+--------------------------------------------------+--------------------------------------------------+\n| ``compact=`` | ``with_terms=`` | ``warnings=`` | ``rankdir='BT'`` | ``rankdir='LR'`` |\n+==============+=================+===============+==================================================+==================================================+\n| *True* | *True* | *True* | |BT_compact_with-terms_warnings-enabled| | |LR_compact_with-terms_warnings-enabled| |\n+--------------+-----------------+---------------+--------------------------------------------------+--------------------------------------------------+\n| *True* | *True* | **False** | |BT_compact_with-terms_warnings-disabled| | |LR_compact_with-terms_warnings-disabled| |\n+--------------+-----------------+---------------+--------------------------------------------------+--------------------------------------------------+\n| *True* | **False** | *True* | |BT_compact_without-terms_warnings-enabled| | |LR_compact_without-terms_warnings-enabled| |\n+--------------+-----------------+---------------+--------------------------------------------------+--------------------------------------------------+\n| **False** | **False** | **False** | |BT_not-compact_without-terms_warnings-disabled| | |LR_not-compact_without-terms_warnings-disabled| |\n+--------------+-----------------+---------------+--------------------------------------------------+--------------------------------------------------+\n\n.. |BT_compact_with-terms_warnings-enabled| image:: /examples/BT_compact_with-terms_warnings-enabled.png\n :width: 40pt\n.. |LR_compact_with-terms_warnings-enabled| image:: /examples/LR_compact_with-terms_warnings-enabled.png\n :width: 40pt\n.. |BT_compact_with-terms_warnings-disabled| image:: /examples/BT_compact_with-terms_warnings-disabled.png\n :width: 40pt\n.. |LR_compact_with-terms_warnings-disabled| image:: /examples/LR_compact_with-terms_warnings-disabled.png\n :width: 40pt\n.. |BT_compact_without-terms_warnings-enabled| image:: /examples/BT_compact_without-terms_warnings-enabled.png\n :width: 40pt\n.. |LR_compact_without-terms_warnings-enabled| image:: /examples/LR_compact_without-terms_warnings-enabled.png\n :width: 40pt\n.. |BT_not-compact_without-terms_warnings-disabled| image:: /examples/BT_not-compact_without-terms_warnings-disabled.png\n :width: 40pt\n.. |LR_not-compact_without-terms_warnings-disabled| image:: /examples/LR_not-compact_without-terms_warnings-disabled.png\n :width: 40pt\n\n\n**Colorization:**\n\n+------------------------------------------------+-------------------------------------------------------------------+\n| ``LayerViewDigraph(lv, ...)`` | ``render(...)`` |\n+--------------+-------------+-------------------+-------------------------------------------------------------------+\n| ``compact=`` | ``colors=`` | ``color_mode=`` | ``rankdir='BT'`` |\n+==============+=============+===================+===================================================================+\n| *True* | **4** | *breadth* | |BT_compact_with-terms_warnings-disabled_4-colors-by-breadth| |\n+--------------+-------------+-------------------+-------------------------------------------------------------------+\n| *True* | **4** | **depth** | |BT_compact_with-terms_warnings-disabled_4-colors-by-depth| |\n+--------------+-------------+-------------------+-------------------------------------------------------------------+\n| **False** | **4** | *breadth* | |BT_not-compact_with-terms_warnings-disabled_4-colors-by-breadth| |\n+--------------+-------------+-------------------+-------------------------------------------------------------------+\n| **False** | **4** | **depth** | |BT_not-compact_with-terms_warnings-disabled_4-colors-by-depth| |\n+--------------+-------------+-------------------+-------------------------------------------------------------------+\n\n.. |BT_compact_with-terms_warnings-disabled_4-colors-by-breadth| image:: /examples/BT_compact_with-terms_warnings-disabled_4-colors-by-breadth.png\n :width: 40pt\n.. |BT_compact_with-terms_warnings-disabled_4-colors-by-depth| image:: /examples/BT_compact_with-terms_warnings-disabled_4-colors-by-depth.png\n :width: 40pt\n.. |BT_not-compact_with-terms_warnings-disabled_4-colors-by-breadth| image:: /examples/BT_not-compact_with-terms_warnings-disabled_4-colors-by-breadth.png\n :width: 40pt\n.. |BT_not-compact_with-terms_warnings-disabled_4-colors-by-depth| image:: /examples/BT_not-compact_with-terms_warnings-disabled_4-colors-by-depth.png\n :width: 40pt\n\n\nUsage\n-----\n\nIn order to make use of the tools in the `analyzere_extras`\nmodule you will need to import the `analyzere` module.\n\nYou will need to define your connection information::\n\n import analyzere\n analyzere.base_url = ''\n analyzere.username = ''\n analyzere.password = ''\n\nVisualization\n~~~~~~~~~~~~~\n\nTo make use of the visualization tool, you will need to query a LayerView\nthat you would like to graph::\n\n from analyzere import LayerView\n\n lv = analyzere.LayerView.retrieve('011785b1-203b-696e-424e-7da9b0ec779a')\n\nNow you can generate a graph of your LayerView::\n\n from analyzere_extras.visualizations import LayerViewDigraph\n\n g = LayerViewDigraph(lv) # defaults: with_terms=True, compact=True, rankdir='TB', warnings=True\n g = LayerViewDigraph(lv, with_terms=False) # omit Layer terms from nodes\n g = LayerViewDigraph(lv, compact=False) # graph duplicate nodes\n g = LayerViewDigraph(lv, rankdir='LR') # render the graph from Left to Right\n g = LayerViewDigraph(lv, warnings=False) # disable error node highlighting\n\nThen to render your graph::\n\n g.render() # defaults: filename=None, view=True, format=None, rankdir=None\n g.render(filename='mygraph') # write graph to 'mygraph'\n g.render(view=True) # attempt to auto display the graph\n g.render(format='pdf') # change the output format 'pdf'\n g.render(rankdir='LR') # render the graph from Left to Right\n\nShortcut: generate a graph for a given LayerView Id::\n\n graph = LayerViewDigraph.from_id('011785b1-203b-696e-424e-7da9b0ec779a')\n\nELT Combination\n~~~~~~~~~~~~~~~\n\nTo make use of the ELT combiner tool, you will need to define the list of\nuuids representing the resources with ELTs that you would like to combine::\n\n uuid_list = ['26a8f73b-0fbb-46c7-8dcf-f4de1e222994', 'cd67ba03-302b-45e5-9341-a4267875c1f8']\n\nYou will need to indicate which catalog these ELTs correspond to::\n\n catalog_uuid = '61378251-ce85-4b6e-a63c-f5d67c4e4877'\n\nThen to combine the ELTs into a single ELT::\n\n from analyzere_extras.combine_elts import ELTCombiner\n\n elt_combiner = ELTCombiner()\n\n combined_elt = elt_combiner.combine_elts_from_resources(\n uuid_list,\n catalog_uuid,\n uuid_type='all',\n description='My Combined ELT'\n )\n\n``uuid_type`` specifies which the type of resources in ``uuid_list``. Valid\nvalues for ``uuid_type`` are:\n\n - ``'Portfolio'``\n - ``'PortfolioView'``\n - ``'Layer'``\n - ``'LayerView'``\n - ``'LossSet'``\n - ``'all'``\n\nIf ``uuid_type='all'`` is set, then the resources in ``uuid_list`` can be a mix\nof Portfolios, PortfolioViews, Layers, LayerViews, and LossSets. The default\nvalue of ``uuid_type`` is ``'all'``.\n\n``description`` defines the description for the uploaded combined ELT. If not\nset, the default is ``'analyzere-python-extras: Combined ELT'``.\n\nTesting\n-------\n\nWe currently commit to being compatible with Python 2.7 and Python 3.4 to 3.7.\nIn order to run tests against against each environment we use\n`tox `_ and `py.test `_. You'll\nneed an interpreter installed for each of the versions of Python we test.\nYou can find these via your system's package manager or\n`on the Python site `_.\n\nTo start, install tox::\n\n pip install tox\n\nThen, run the full test suite::\n\n tox\n\nTo run tests for a specific module, test case, or single test, you can pass\narguments to py.test through tox with ``--``. E.g.::\n\n tox -- tests/test_base_resources.py::TestReferences::test_known_resource\n\nSee ``tox --help`` and ``py.test --help`` for more information.\n\nPublishing\n----------\n\n1. Install `twine `_ and\n `wheel `_::\n\n pip install twine wheel\n\n2. Increment version number in ``setup.py`` according to\n `PEP 440 `_.\n\n3. Commit your change to ``setup.py`` and create a tag for it with the version\n number. e.g.::\n\n git tag 0.1.0\n git push origin 0.1.0\n\n4. Package source and wheel distributions::\n\n python setup.py sdist bdist_wheel\n\n5. Upload to PyPI with twine::\n\n twine upload dist/*\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/analyzere/analyzere-python-extras", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "analyzere-extras", "package_url": "https://pypi.org/project/analyzere-extras/", "platform": "", "project_url": "https://pypi.org/project/analyzere-extras/", "project_urls": { "Homepage": "https://github.com/analyzere/analyzere-python-extras" }, "release_url": "https://pypi.org/project/analyzere-extras/0.2.1/", "requires_dist": [ "lazy-object-proxy (<2,>=1.0)", "requests (<3,>=2.3)", "six (<2,>=1.9)", "analyzere (<1,>=0.5.2)", "graphviz (<1,>=0.5.2)", "certifi (>=2019.3.9<2020)", "futures (>=3.3.0<4) ; python_version == \"2.7\"" ], "requires_python": "", "summary": "Python extras to support the analyzere package", "version": "0.2.1" }, "last_serial": 5699537, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "6cf456a49b856f83bb463b25152d05cb", "sha256": "8dbaefb6817d6eb35ca56e4450289b471a871df5f61c55bdbb4f6edbbe441d32" }, "downloads": -1, "filename": "analyzere_extras-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6cf456a49b856f83bb463b25152d05cb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9268, "upload_time": "2017-02-06T19:58:21", "url": "https://files.pythonhosted.org/packages/02/fa/4f13261d63abd90cf608c7eaec280d87592acd7ea9fb289a33bce0fb6f47/analyzere_extras-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f8eb5b629946e14d70971254fae4bfbd", "sha256": "e032910212bb142dd6dca2bcf59afd2e806d7bc536c69c316342e225f52576da" }, "downloads": -1, "filename": "analyzere_extras-0.1.0.tar.gz", "has_sig": false, "md5_digest": "f8eb5b629946e14d70971254fae4bfbd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7480, "upload_time": "2017-02-06T19:58:25", "url": "https://files.pythonhosted.org/packages/0a/6a/d78898638f9de974ba2afc8b926064c2eb42d4d79f067d816eaf001de734/analyzere_extras-0.1.0.tar.gz" } ], "0.1.1": [], "0.1.10": [ { "comment_text": "", "digests": { "md5": "6a365d26ddf7169774b3e8f97a0af97f", "sha256": "16bce3f7cdfee8f32d898c8e4bbb3c5f7835ea5a71d0b79cfcbae79ffb926a53" }, "downloads": -1, "filename": "analyzere_extras-0.1.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6a365d26ddf7169774b3e8f97a0af97f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12515, "upload_time": "2017-07-04T10:48:01", "url": "https://files.pythonhosted.org/packages/50/47/3afffd7993f5727f3c25fe6d50895492adc0740d2fb44b4b0e0f25e63820/analyzere_extras-0.1.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "634eba9ac244f540bf894aef62e5f815", "sha256": "5ffa47aaa47cdb4d490ec3b7be19ead1d89d80f7d0e5f09a62302a4c8c3959ec" }, "downloads": -1, "filename": "analyzere_extras-0.1.10.tar.gz", "has_sig": false, "md5_digest": "634eba9ac244f540bf894aef62e5f815", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11415, "upload_time": "2017-07-04T10:48:02", "url": "https://files.pythonhosted.org/packages/31/a1/f11804ae9ae5417d7602cc22316d2b0818eb332c8ee762fac84f0e89e751/analyzere_extras-0.1.10.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "63b6ea3a78ad986e1b3f3f93b9f02e70", "sha256": "a5743b070d05b66ea80801a4b5793eb4cca36268cb30faa1d7f453c5c63f8118" }, "downloads": -1, "filename": "analyzere_extras-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "63b6ea3a78ad986e1b3f3f93b9f02e70", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10773, "upload_time": "2017-02-10T18:47:38", "url": "https://files.pythonhosted.org/packages/d5/e9/e7cfe1f6d8a21d0c14d450273d38d7b268bfb1d9b7d0c2ec628b4dce352f/analyzere_extras-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b8825676b77c86962199fabaf2ed736e", "sha256": "a065d3f950d85a980e2cb18901ac4c1112d3a4c0e551133ab8e789fa6a075715" }, "downloads": -1, "filename": "analyzere_extras-0.1.2.tar.gz", "has_sig": false, "md5_digest": "b8825676b77c86962199fabaf2ed736e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8307, "upload_time": "2017-02-10T18:47:42", "url": "https://files.pythonhosted.org/packages/d8/91/24ffcae1a1fd0e954ad4581dcb860c839b17d28bcd660cc7b898a4a33a56/analyzere_extras-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "ee5d2d07de5002e046339b20a35c69fa", "sha256": "c505809800164b354c44a7f40f2530725e93d5843c37054987fda113b7edaad6" }, "downloads": -1, "filename": "analyzere_extras-0.1.3.tar.gz", "has_sig": false, "md5_digest": "ee5d2d07de5002e046339b20a35c69fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8520, "upload_time": "2017-05-29T16:41:11", "url": "https://files.pythonhosted.org/packages/70/22/c2584f5e17454f0cc4f23ee7004e5b599ae1592592c20447fca477320c85/analyzere_extras-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "5d60a840e6663c236473aff4e7a488ca", "sha256": "5719ba8552f7542a606993658815c05923306407b7be060dead72b8010150148" }, "downloads": -1, "filename": "analyzere_extras-0.1.4.tar.gz", "has_sig": false, "md5_digest": "5d60a840e6663c236473aff4e7a488ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8566, "upload_time": "2017-05-31T18:26:39", "url": "https://files.pythonhosted.org/packages/cb/d4/497ef2a3cf8e6ca53f6cea001b04605850a417e06e9efb0740642b5b26a7/analyzere_extras-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "6a826fba98259acc2eed4814beba1ac7", "sha256": "7eacad6a7493d063c8ee7650002456e331811c7009b84d8880eb2dde8197d5d2" }, "downloads": -1, "filename": "analyzere_extras-0.1.5.tar.gz", "has_sig": false, "md5_digest": "6a826fba98259acc2eed4814beba1ac7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8563, "upload_time": "2017-05-31T19:41:27", "url": "https://files.pythonhosted.org/packages/96/05/b35e44e1ad45fed68d7a6d8fe373fffb161a6fbe42d4acfb18a04f7d9b6e/analyzere_extras-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "b1c6abc0b70a53caf0c95ea1859bbb0a", "sha256": "6da65c28e58e7485a5016f339c07068d62068d77e436f9993ae3165d92344d48" }, "downloads": -1, "filename": "analyzere_extras-0.1.6.tar.gz", "has_sig": false, "md5_digest": "b1c6abc0b70a53caf0c95ea1859bbb0a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8577, "upload_time": "2017-05-31T19:51:11", "url": "https://files.pythonhosted.org/packages/61/6e/306c84119f6b9d8d1b00650a7ad324a11ef167c4b53e0cfc31dea33989da/analyzere_extras-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "133edc4b263a62e3255639a334200652", "sha256": "747746064da72a5135f72622e79e61f7dec16803ae501764662b0f5991c5c16c" }, "downloads": -1, "filename": "analyzere_extras-0.1.7.tar.gz", "has_sig": false, "md5_digest": "133edc4b263a62e3255639a334200652", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8629, "upload_time": "2017-05-31T20:15:34", "url": "https://files.pythonhosted.org/packages/27/55/6358b5fc3a19894f89008d79ebed9585d0796e252c84f2d65f6afa7016f5/analyzere_extras-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "ad6e5c56418b69c8f1236dffbff9a2a0", "sha256": "789f7f99398599fa9868784113b52f5072e693570f75e488e09d3f7e3e9b8083" }, "downloads": -1, "filename": "analyzere_extras-0.1.8.tar.gz", "has_sig": false, "md5_digest": "ad6e5c56418b69c8f1236dffbff9a2a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8623, "upload_time": "2017-05-31T20:25:12", "url": "https://files.pythonhosted.org/packages/45/8e/be9775a111e510db7b6df72594ac69dd9c125f996f3048232554c68015d4/analyzere_extras-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "c587df84197dba65204844dabc5e0382", "sha256": "4638816acdf01cb43236296b1fa342ac55c64198b2c9aa802bebb90c525273d4" }, "downloads": -1, "filename": "analyzere_extras-0.1.9.tar.gz", "has_sig": false, "md5_digest": "c587df84197dba65204844dabc5e0382", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8886, "upload_time": "2017-06-05T19:29:34", "url": "https://files.pythonhosted.org/packages/5d/6a/98a1ba406a74dcf65ce5bf24c85d9465fbfa309a2c49e992d01053f3d7ba/analyzere_extras-0.1.9.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "da3be660f9223e9d74ad3c187ea85c64", "sha256": "81e23aeebc40bb65512867a3c958270680ead29e90b354ce20c708a4d8737630" }, "downloads": -1, "filename": "analyzere_extras-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "da3be660f9223e9d74ad3c187ea85c64", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13634, "upload_time": "2019-08-19T14:27:12", "url": "https://files.pythonhosted.org/packages/c5/e1/1418f724c612a4b0eef237cfb045ea3bf008284e151c16cdc1e8c9b091c9/analyzere_extras-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fe704b022004e4d650db513cd5fae03a", "sha256": "34e721f917c92131f603b698e088ae801692c011f15f69ca8a64567f9ec8b14e" }, "downloads": -1, "filename": "analyzere_extras-0.2.0.tar.gz", "has_sig": false, "md5_digest": "fe704b022004e4d650db513cd5fae03a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15037, "upload_time": "2019-08-19T14:27:14", "url": "https://files.pythonhosted.org/packages/12/9d/dad2fa0f0406fa27b14b19a87ab8b2a248d38c67c6a2a3a122296a812feb/analyzere_extras-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "bde77947c0dd3f6d5080c906ce19c8f9", "sha256": "869fbd0385a331ff92886eafa6fe429058143079c85bea2d527e851c3cf7383d" }, "downloads": -1, "filename": "analyzere_extras-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bde77947c0dd3f6d5080c906ce19c8f9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13611, "upload_time": "2019-08-19T17:24:56", "url": "https://files.pythonhosted.org/packages/f8/02/68823e063fd8ae0a233d7c5a8d63e6cecbf8873a8a793d267cb7aaded4f2/analyzere_extras-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bbcb13fd2072911711add1def3af9b0e", "sha256": "a3a6b54c8ca4e57374c2b02fe91484310e9e623c18d34e646515936673222cb2" }, "downloads": -1, "filename": "analyzere_extras-0.2.1.tar.gz", "has_sig": false, "md5_digest": "bbcb13fd2072911711add1def3af9b0e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15222, "upload_time": "2019-08-19T17:24:58", "url": "https://files.pythonhosted.org/packages/be/60/2b74a1b9e582d64ab9a335501c1c2d191997e75ff57b18d200d9f3bf3456/analyzere_extras-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bde77947c0dd3f6d5080c906ce19c8f9", "sha256": "869fbd0385a331ff92886eafa6fe429058143079c85bea2d527e851c3cf7383d" }, "downloads": -1, "filename": "analyzere_extras-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bde77947c0dd3f6d5080c906ce19c8f9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13611, "upload_time": "2019-08-19T17:24:56", "url": "https://files.pythonhosted.org/packages/f8/02/68823e063fd8ae0a233d7c5a8d63e6cecbf8873a8a793d267cb7aaded4f2/analyzere_extras-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bbcb13fd2072911711add1def3af9b0e", "sha256": "a3a6b54c8ca4e57374c2b02fe91484310e9e623c18d34e646515936673222cb2" }, "downloads": -1, "filename": "analyzere_extras-0.2.1.tar.gz", "has_sig": false, "md5_digest": "bbcb13fd2072911711add1def3af9b0e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15222, "upload_time": "2019-08-19T17:24:58", "url": "https://files.pythonhosted.org/packages/be/60/2b74a1b9e582d64ab9a335501c1c2d191997e75ff57b18d200d9f3bf3456/analyzere_extras-0.2.1.tar.gz" } ] }