{ "info": { "author": "Rossen Georgiev", "author_email": "rossen@rgp.io", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "|pypi| |license| |coverage| |scru| |master_build|\n\nPure python module for (de)serialization to and from VDF that works just like ``json``.\n\nTested and works on ``python2.7``, ``python3.3+``, ``pypy`` and ``pypy3``.\n\nVDF is Valve's KeyValue text file format\n\nhttps://developer.valvesoftware.com/wiki/KeyValues\n\n| Supported versions: ``kv1``\n| Unsupported: ``kv2`` and ``kv3``\n\nInstall\n-------\n\nYou can grab the latest release from https://pypi.org/project/vdf/ or via ``pip``\n\n.. code:: bash\n\n pip install vdf\n\nInstall the current dev version from ``github``\n\n.. code:: bash\n\n pip install git+https://github.com/ValvePython/vdf\n\n\nProblems & solutions\n--------------------\n\n- There are known files that contain duplicate keys. This is supported the format and\n makes mapping to ``dict`` impossible. For this case the module provides ``vdf.VDFDict``\n that can be used as mapper instead of ``dict``. See the example section for details.\n\n- By default de-serialization will return a ``dict``, which doesn't preserve nor guarantee\n key order due to `hash randomization`_. If key order is important then\n I suggest using ``collections.OrderedDict``, or ``vdf.VDFDict``.\n\nExample usage\n-------------\n\nFor text representation\n\n.. code:: python\n\n import vdf\n\n # parsing vdf from file or string\n d = vdf.load(open('file.txt'))\n d = vdf.loads(vdf_text)\n d = vdf.parse(open('file.txt'))\n d = vdf.parse(vdf_text)\n\n # dumping dict as vdf to string\n vdf_text = vdf.dumps(d)\n indented_vdf = vdf.dumps(d, pretty=True)\n\n # dumping dict as vdf to file\n vdf.dump(d, open('file2.txt','w'), pretty=True)\n\n\nFor binary representation\n\n.. code:: python\n\n d = vdf.binary_loads(vdf_bytes)\n b = vdf.binary_dumps(d)\n\n # alternative format - VBKV\n\n d = vdf.binary_loads(vdf_bytes, alt_format=True)\n b = vdf.binary_dumps(d, alt_format=True)\n\n # VBKV with header and CRC checking\n\n d = vdf.vbkv_loads(vbkv_bytes)\n b = vdf.vbkv_dumps(d)\n\nUsing an alternative mapper\n\n.. code:: python\n\n d = vdf.loads(vdf_string, mapper=collections.OrderedDict)\n d = vdf.loads(vdf_string, mapper=vdf.VDFDict)\n\n``VDFDict`` works much like the regular ``dict``, except it handles duplicates and remembers\ninsert order. Additionally, keys can only be of type ``str``. The most important difference\nis that when trying to assigning a key that already exist it will create a duplicate instead\nof reassign the value to the existing key.\n\n.. code:: python\n\n >>> d = vdf.VDFDict()\n >>> d['key'] = 111\n >>> d['key'] = 222\n >>> d\n VDFDict([('key', 111), ('key', 222)])\n >>> d.items()\n [('key', 111), ('key', 222)]\n >>> d['key']\n 111\n >>> d[(0, 'key')] # get the first duplicate\n 111\n >>> d[(1, 'key')] # get the second duplicate\n 222\n >>> d.get_all_for('key')\n [111, 222]\n\n >>> d[(1, 'key')] = 123 # reassign specific duplicate\n >>> d.get_all_for('key')\n [111, 123]\n\n >>> d['key'] = 333\n >>> d.get_all_for('key')\n [111, 123, 333]\n >>> del d[(1, 'key')]\n >>> d.get_all_for('key')\n [111, 333]\n >>> d[(1, 'key')]\n 333\n\n >>> print vdf.dumps(d)\n \"key\" \"111\"\n \"key\" \"333\"\n\n >>> d.has_duplicates()\n True\n >>> d.remove_all_for('key')\n >>> len(d)\n 0\n >>> d.has_duplicates()\n False\n\n\n.. |pypi| image:: https://img.shields.io/pypi/v/vdf.svg?style=flat&label=latest%20version\n :target: https://pypi.org/project/vdf/\n :alt: Latest version released on PyPi\n\n.. |license| image:: https://img.shields.io/pypi/l/vdf.svg?style=flat&label=license\n :target: https://pypi.org/project/vdf/\n :alt: MIT License\n\n.. |coverage| image:: https://img.shields.io/coveralls/ValvePython/vdf/master.svg?style=flat\n :target: https://coveralls.io/r/ValvePython/vdf?branch=master\n :alt: Test coverage\n\n.. |scru| image:: https://scrutinizer-ci.com/g/ValvePython/vdf/badges/quality-score.png?b=master\n :target: https://scrutinizer-ci.com/g/ValvePython/vdf/?branch=master\n :alt: Scrutinizer score\n\n.. |master_build| image:: https://img.shields.io/travis/ValvePython/vdf/master.svg?style=flat&label=master%20build\n :target: http://travis-ci.org/ValvePython/vdf\n :alt: Build status of master branch\n\n.. _DuplicateOrderedDict: https://github.com/rossengeorgiev/dota2_notebooks/blob/master/DuplicateOrderedDict_for_VDF.ipynb\n\n.. _hash randomization: https://docs.python.org/2/using/cmdline.html#envvar-PYTHONHASHSEED\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/ValvePython/vdf", "keywords": "valve keyvalue vdf tf2 dota2 csgo", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "vdf", "package_url": "https://pypi.org/project/vdf/", "platform": "", "project_url": "https://pypi.org/project/vdf/", "project_urls": { "Homepage": "https://github.com/ValvePython/vdf" }, "release_url": "https://pypi.org/project/vdf/3.2/", "requires_dist": null, "requires_python": "", "summary": "Library for working with Valve's VDF text format", "version": "3.2" }, "last_serial": 5591124, "releases": { "1.10": [ { "comment_text": "", "digests": { "md5": "fa4302b7a076e32c19b9e321304043c4", "sha256": "14b91a684ba2b4ff1a9dd71ecec45a16e212beec26776b8de5250cc451962532" }, "downloads": -1, "filename": "vdf-1.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fa4302b7a076e32c19b9e321304043c4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6461, "upload_time": "2015-07-23T21:05:29", "url": "https://files.pythonhosted.org/packages/3c/b2/29d9fd781df743c75cca0ba09d0243508a4ae19d03e3c9156dc2544e20e3/vdf-1.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "342a535f4d33f843c2c728c6a26abb0b", "sha256": "3af0cecb8ebe1260415c8e5cce742474d33862e33e8821b49360af3715497812" }, "downloads": -1, "filename": "vdf-1.10.tar.gz", "has_sig": false, "md5_digest": "342a535f4d33f843c2c728c6a26abb0b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4278, "upload_time": "2015-07-23T21:05:33", "url": "https://files.pythonhosted.org/packages/76/82/84fd18d3ea4716e4f49334d3c487c127b07e9f864c31aa976c5f59d60cb3/vdf-1.10.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "97c73af0bea13a4fe65c086fb45c84e2", "sha256": "15ef6030d10e7171482cae4fd4f7566b6d71d5b3d8d9787a55eca592ed7fdeb6" }, "downloads": -1, "filename": "vdf-1.2.tar.gz", "has_sig": false, "md5_digest": "97c73af0bea13a4fe65c086fb45c84e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3532, "upload_time": "2015-04-20T18:33:05", "url": "https://files.pythonhosted.org/packages/a3/5a/651c55e588387d50a44c8eb3ed66a44573c021d5e64181a86f087d106d8f/vdf-1.2.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "53369b203a4914641a750147d483a283", "sha256": "70cf76a94f71a8d7ed67ab127ea0c718120f8c57ff088f914a50efcadbb24c49" }, "downloads": -1, "filename": "vdf-1.3.tar.gz", "has_sig": false, "md5_digest": "53369b203a4914641a750147d483a283", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3642, "upload_time": "2015-04-22T16:15:51", "url": "https://files.pythonhosted.org/packages/f6/c1/769c425a114ef2dc68f5d4c3c98b6b38f0f83438899598158a90d00723a8/vdf-1.3.tar.gz" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "7ed666a355e6a50bc1209de18c6074c3", "sha256": "4fedf967496542ebc043c3a581f570eee001cba22e225aca8a4dbf47dafce3bb" }, "downloads": -1, "filename": "vdf-1.4.tar.gz", "has_sig": false, "md5_digest": "7ed666a355e6a50bc1209de18c6074c3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3853, "upload_time": "2015-05-15T17:04:15", "url": "https://files.pythonhosted.org/packages/07/a7/10827a733614cefffd8fcb3798cdc3afcc1402ea01c246338207c8bdbb2e/vdf-1.4.tar.gz" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "c3cf43ad752c73cff3ae11c07850fb37", "sha256": "3d5da3e16bbfa674af6eff00843eb6270e2c34f478ce3a1a3c73dd5282ea8187" }, "downloads": -1, "filename": "vdf-1.5.tar.gz", "has_sig": false, "md5_digest": "c3cf43ad752c73cff3ae11c07850fb37", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3901, "upload_time": "2015-05-21T00:03:07", "url": "https://files.pythonhosted.org/packages/74/b8/3ba90f4af8286a88058b222058c80809db841bbf96358de5fbf97d37a76e/vdf-1.5.tar.gz" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "34840dab7a7cc43249cd5d5c13b395ca", "sha256": "765f7efbd8ab8751c0d3abd0acbc8859b198ea27d2bb699deaac170ee854f61e" }, "downloads": -1, "filename": "vdf-1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "34840dab7a7cc43249cd5d5c13b395ca", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6236, "upload_time": "2015-06-23T20:34:57", "url": "https://files.pythonhosted.org/packages/89/03/82081d53b78e28682d44e6ebe898fcbe1c9217d820a7e05c1246891162ca/vdf-1.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "08a062c7e5fd3cff3bc8077ea203fb49", "sha256": "921ae4845c2d3d67953951a24fb45847ca55eff894e07cd18a29580c83f6d69f" }, "downloads": -1, "filename": "vdf-1.6.tar.gz", "has_sig": false, "md5_digest": "08a062c7e5fd3cff3bc8077ea203fb49", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3882, "upload_time": "2015-06-02T02:13:48", "url": "https://files.pythonhosted.org/packages/fa/54/945751a2e72fe893a7981937c88e141b0fc3d3d9a27665eab1a1b437ad4c/vdf-1.6.tar.gz" } ], "1.7": [ { "comment_text": "", "digests": { "md5": "95a40eee00072ae481790d6318239dfb", "sha256": "f58d9445cdf8f87e855e8f81742bcf79eb71d87017ecc342dde76fe0ae3906da" }, "downloads": -1, "filename": "vdf-1.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "95a40eee00072ae481790d6318239dfb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6398, "upload_time": "2015-07-06T23:22:04", "url": "https://files.pythonhosted.org/packages/19/84/d53ada9df48671690df59207dfd682ed02e48d7cf91cd95f69f3aadef701/vdf-1.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0865fe76955df2fa31b016475578aa08", "sha256": "bada7a173a7d418c94718dc3ae5c1eca21eed4396e5814b3c0023c5118f164fc" }, "downloads": -1, "filename": "vdf-1.7.tar.gz", "has_sig": false, "md5_digest": "0865fe76955df2fa31b016475578aa08", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4245, "upload_time": "2015-07-06T23:22:07", "url": "https://files.pythonhosted.org/packages/0f/fe/ac074f51d73c6e61266630a6cdab3a3a4d7063881c55c3eb0e4ab176d070/vdf-1.7.tar.gz" } ], "1.8": [ { "comment_text": "", "digests": { "md5": "a9e2a855beb445e8f46a05f4a16fad9b", "sha256": "3e3a4dab6559b16a3a4c8070689bbda63a67cb25bc854474f5b6e3e6ad899326" }, "downloads": -1, "filename": "vdf-1.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a9e2a855beb445e8f46a05f4a16fad9b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6398, "upload_time": "2015-07-08T04:19:43", "url": "https://files.pythonhosted.org/packages/10/1d/8198dbcf15f8cd4e40e5bf351eecf00cb27dd278f875694fd4a53f42e583/vdf-1.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "75e36d265e3c7febdc4510a72441d46b", "sha256": "b33bfbef6a526a64e51216a5c50274864fa76e3d5d4520754ff0a4cfa82ef14f" }, "downloads": -1, "filename": "vdf-1.8.tar.gz", "has_sig": false, "md5_digest": "75e36d265e3c7febdc4510a72441d46b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4250, "upload_time": "2015-07-08T04:19:47", "url": "https://files.pythonhosted.org/packages/a5/19/33ef1d5c85616b040a8f077e7f03cba512f0752f594a05997f8b14efb85a/vdf-1.8.tar.gz" } ], "1.9": [ { "comment_text": "", "digests": { "md5": "2de295e655436483adf8fa0f8eadc07e", "sha256": "7014f2197207619d0b6ba9e6a7e2d9764483dc99d8135ca8ef551478a51c559d" }, "downloads": -1, "filename": "vdf-1.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2de295e655436483adf8fa0f8eadc07e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6426, "upload_time": "2015-07-13T12:03:59", "url": "https://files.pythonhosted.org/packages/a2/b8/e2452ec3b506278f2ce9420224a7be5c2900cbe3afc5a4a440cbe4db9a67/vdf-1.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "03c5e0ff5a3449446c922f475fed3970", "sha256": "5e4cc283e989ebc8f4e7d10e065980520b3ecf1cff2dfe44cc82fc40b93e8ff3" }, "downloads": -1, "filename": "vdf-1.9.tar.gz", "has_sig": false, "md5_digest": "03c5e0ff5a3449446c922f475fed3970", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4248, "upload_time": "2015-07-13T12:04:02", "url": "https://files.pythonhosted.org/packages/09/04/d22962f9753e17045a70e0f696a4ae54fe3cdd6f393ac6c26dde86a73021/vdf-1.9.tar.gz" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "0c167fbe9591c145c15cf847792c1bba", "sha256": "a0687c5a9c50bf5f6577ae31ae52e441943587e9ef15461d368c7fa967e83ba9" }, "downloads": -1, "filename": "vdf-2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0c167fbe9591c145c15cf847792c1bba", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10418, "upload_time": "2016-04-10T14:19:45", "url": "https://files.pythonhosted.org/packages/fc/cb/a14cd97599570523db460f7f833b8f9818d87a4a7e891036ada0c95077a1/vdf-2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a5506a86abf21c14ca4daf0811b130dc", "sha256": "f000cca00007e59adb9949a56757914052c7e166634927c4d844ca7a945f3eb7" }, "downloads": -1, "filename": "vdf-2.0.tar.gz", "has_sig": false, "md5_digest": "a5506a86abf21c14ca4daf0811b130dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8270, "upload_time": "2016-04-10T14:19:50", "url": "https://files.pythonhosted.org/packages/3e/89/957dcc9efc00b0c3e6a3810686d9cc062cbfce3955811e125ea06fedd6d1/vdf-2.0.tar.gz" } ], "2.1": [ { "comment_text": "", "digests": { "md5": "c85070737fda23b15fe9226bbc844063", "sha256": "e0a3be416e952cf0c4333d144251c909628eaeff26674462fdd14ad446872891" }, "downloads": -1, "filename": "vdf-2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c85070737fda23b15fe9226bbc844063", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10691, "upload_time": "2016-10-12T17:12:17", "url": "https://files.pythonhosted.org/packages/7d/db/e046a60effbf577ba161f49da559986b0850b335f3e4a65eee4511b7fc7d/vdf-2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "575f38f09ab5d625c57a3336e8f769e4", "sha256": "2751154516056099923c73dcd44f038f5f6de4b8e6be814817e2340773aac075" }, "downloads": -1, "filename": "vdf-2.1.tar.gz", "has_sig": false, "md5_digest": "575f38f09ab5d625c57a3336e8f769e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8462, "upload_time": "2016-10-12T17:12:19", "url": "https://files.pythonhosted.org/packages/06/64/c8e477c6390417b261c369b6198ee7d9d9d22eefc943fe16165825693363/vdf-2.1.tar.gz" } ], "2.2": [ { "comment_text": "", "digests": { "md5": "97a2598f27ea21f63e65c18b6740ac95", "sha256": "a5540e802d9ba58a5f9175583efc605fe0f2c721500f65901fc5d693863941a5" }, "downloads": -1, "filename": "vdf-2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "97a2598f27ea21f63e65c18b6740ac95", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11066, "upload_time": "2017-01-06T11:20:19", "url": "https://files.pythonhosted.org/packages/c8/56/61d2355a806a41568976e28b9edcdc8ef6cb6b781b4e6e3d5bdc154b1d86/vdf-2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "381c4ba26acd7737cc5847f71eb163a2", "sha256": "3b8415b632d98218198dc0469ab28ebc7903f596e6d0f44829d4b28a644f091a" }, "downloads": -1, "filename": "vdf-2.2.tar.gz", "has_sig": false, "md5_digest": "381c4ba26acd7737cc5847f71eb163a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9013, "upload_time": "2017-01-06T11:20:20", "url": "https://files.pythonhosted.org/packages/0f/b7/1be0ed2f8a3b48165ead4eab204ecb0e12353771c9772da12c28c5d5a3fb/vdf-2.2.tar.gz" } ], "2.3": [ { "comment_text": "", "digests": { "md5": "c6dff9a48866a6b0627feb5e26cc7174", "sha256": "32e7ac0733bc61edd4c8093a6de711a05805a1372db70990066d8f0ea0f45c6e" }, "downloads": -1, "filename": "vdf-2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c6dff9a48866a6b0627feb5e26cc7174", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11105, "upload_time": "2017-03-26T10:56:21", "url": "https://files.pythonhosted.org/packages/5c/ec/40fff82a7009480cd0f9a5b3327eee4e919d7d4b485609cfc85c7fdc64f4/vdf-2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a629c66319447209ded70fd3536ab657", "sha256": "29e9d1ca746956e7c96518301f981f6f475573268137625996f8e891fec7cd90" }, "downloads": -1, "filename": "vdf-2.3.tar.gz", "has_sig": false, "md5_digest": "a629c66319447209ded70fd3536ab657", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9271, "upload_time": "2017-03-26T10:56:23", "url": "https://files.pythonhosted.org/packages/16/e2/838b90f32c26f7fec3cfc8aa950e90626dc9a8882932967031d3f1311f3f/vdf-2.3.tar.gz" } ], "2.4": [ { "comment_text": "", "digests": { "md5": "6ccea276cc9e7b98e0a4bb555eecf9b2", "sha256": "f229150b9c578ee297afc4d027cbce90b8e165686f8941f3cbfc9568eca5f147" }, "downloads": -1, "filename": "vdf-2.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6ccea276cc9e7b98e0a4bb555eecf9b2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9339, "upload_time": "2018-11-17T11:11:13", "url": "https://files.pythonhosted.org/packages/43/5a/13c3a5cc7675fdf3ccf6fcc988393018d91c1b7bc5e8ce7fcde8d32b7969/vdf-2.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cd62e7f9ed3a8ac99f38f109bae20f48", "sha256": "053856e38219a801dce243a9ace5eca626277ce5185b34165d80ad0dd7fe009a" }, "downloads": -1, "filename": "vdf-2.4.tar.gz", "has_sig": false, "md5_digest": "cd62e7f9ed3a8ac99f38f109bae20f48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9266, "upload_time": "2018-11-17T11:11:15", "url": "https://files.pythonhosted.org/packages/e9/eb/0e36e103234d8aca9c11e69094f0eabb50a53fbde47f861058352283b16f/vdf-2.4.tar.gz" } ], "2.5": [ { "comment_text": "", "digests": { "md5": "3283dfdf0a8c297350c26a4d9709fc3a", "sha256": "e521ef9c0cf167bfc574648e9a16228b2877bfc0076b4945cf1c0e850e03a4d3" }, "downloads": -1, "filename": "vdf-2.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3283dfdf0a8c297350c26a4d9709fc3a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11098, "upload_time": "2019-02-02T15:20:12", "url": "https://files.pythonhosted.org/packages/46/bc/8b7b9b8e5e24a844af011a5fe83995d0255adef9ccaf911cc512f8609650/vdf-2.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "56b25e9193f72ac2cb9c70cac4d114a5", "sha256": "d8d6329ec45347576576f79f0831334aae5fbf1a0d235d3eb9e2892018c55bf3" }, "downloads": -1, "filename": "vdf-2.5.tar.gz", "has_sig": false, "md5_digest": "56b25e9193f72ac2cb9c70cac4d114a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9267, "upload_time": "2019-02-02T15:20:14", "url": "https://files.pythonhosted.org/packages/72/0e/a98a25f20e9ef388b09308cf267815f61991df942b45612948d15a02fa83/vdf-2.5.tar.gz" } ], "3.0": [ { "comment_text": "", "digests": { "md5": "fdd871bda6087e74988acbb74181b484", "sha256": "cba108d66b69fbe56e44db1189a0a53cda07388d97fac0604245bf2346b88e4d" }, "downloads": -1, "filename": "vdf-3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fdd871bda6087e74988acbb74181b484", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11426, "upload_time": "2019-02-23T16:01:20", "url": "https://files.pythonhosted.org/packages/ed/5a/f60337531bf0baf4f9032540d9c1f9e4e5310e248b2f40111b033d34f169/vdf-3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1ddd6bbb7adf1598b93eca0a77cbd48a", "sha256": "65cc5894929bd45a0b15ae3116ad36d88be8c3b1d3749683308348e247c85d36" }, "downloads": -1, "filename": "vdf-3.0.tar.gz", "has_sig": false, "md5_digest": "1ddd6bbb7adf1598b93eca0a77cbd48a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10150, "upload_time": "2019-02-23T16:01:22", "url": "https://files.pythonhosted.org/packages/4b/ec/521ace31ab4794033e738220ac9c97da354ad7812340654ed7565928d99c/vdf-3.0.tar.gz" } ], "3.1": [ { "comment_text": "", "digests": { "md5": "d6404130435971d72bb7e52a65c917f7", "sha256": "a5da182b3ef888d45f39862725bc7bb2836515c9fc329843001e506e73bb5cd4" }, "downloads": -1, "filename": "vdf-3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d6404130435971d72bb7e52a65c917f7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11438, "upload_time": "2019-04-09T21:43:25", "url": "https://files.pythonhosted.org/packages/7a/c2/bf87cef932c45cb7b7a79a0a954e3307fcff209c7639182a2b9ae0127959/vdf-3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eefd2122cdb2dfcb5e878c86463e655a", "sha256": "e7e63cab8612d1d8632274821c11c299a78c04860ef45da8d6d0f3999d222e45" }, "downloads": -1, "filename": "vdf-3.1.tar.gz", "has_sig": false, "md5_digest": "eefd2122cdb2dfcb5e878c86463e655a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10205, "upload_time": "2019-04-09T21:43:26", "url": "https://files.pythonhosted.org/packages/5f/e2/e33b5261d5b736f7ab957c570d7fb3242184c567ee57855bb96520438c42/vdf-3.1.tar.gz" } ], "3.2": [ { "comment_text": "", "digests": { "md5": "07f4f47bdbcf9842fdc542542d9e2e15", "sha256": "8e0d33ebe0bafd991be3236ce1bd211e368e9a2b8bc376dacd5f6b77066afb90" }, "downloads": -1, "filename": "vdf-3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "07f4f47bdbcf9842fdc542542d9e2e15", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9713, "upload_time": "2019-07-26T22:58:03", "url": "https://files.pythonhosted.org/packages/f1/34/27cbd1fce02029f470554cf56dc19e0180bb14927dedd35375be691d4d2d/vdf-3.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1dd881fafd01cedc6f37baca99bbc32a", "sha256": "83f3b509fe99a4d842b74af3d0b1742be99f7098dae1d3eb7ca57522986737d5" }, "downloads": -1, "filename": "vdf-3.2.tar.gz", "has_sig": false, "md5_digest": "1dd881fafd01cedc6f37baca99bbc32a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10188, "upload_time": "2019-07-26T22:58:05", "url": "https://files.pythonhosted.org/packages/0d/4e/71408789a0a477241710bd0c2b815e5b6fbfc0fb02fbea78bf04ac0acd67/vdf-3.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "07f4f47bdbcf9842fdc542542d9e2e15", "sha256": "8e0d33ebe0bafd991be3236ce1bd211e368e9a2b8bc376dacd5f6b77066afb90" }, "downloads": -1, "filename": "vdf-3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "07f4f47bdbcf9842fdc542542d9e2e15", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9713, "upload_time": "2019-07-26T22:58:03", "url": "https://files.pythonhosted.org/packages/f1/34/27cbd1fce02029f470554cf56dc19e0180bb14927dedd35375be691d4d2d/vdf-3.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1dd881fafd01cedc6f37baca99bbc32a", "sha256": "83f3b509fe99a4d842b74af3d0b1742be99f7098dae1d3eb7ca57522986737d5" }, "downloads": -1, "filename": "vdf-3.2.tar.gz", "has_sig": false, "md5_digest": "1dd881fafd01cedc6f37baca99bbc32a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10188, "upload_time": "2019-07-26T22:58:05", "url": "https://files.pythonhosted.org/packages/0d/4e/71408789a0a477241710bd0c2b815e5b6fbfc0fb02fbea78bf04ac0acd67/vdf-3.2.tar.gz" } ] }