{ "info": { "author": "Dustin Ingram", "author_email": "github@dustingram.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "Vladiate\n========\n\n.. image:: https://travis-ci.org/di/vladiate.svg?branch=master\n :target: https://travis-ci.org/di/vladiate\n\n.. image:: https://coveralls.io/repos/di/vladiate/badge.svg?branch=master\n :target: https://coveralls.io/github/di/vladiate\n\n.. image:: https://requires.io/github/di/vladiate/requirements.svg?branch=master\n :target: https://requires.io/github/di/vladiate/requirements/?branch=master\n :alt: Requirements Status\n\nDescription\n-----------\n\nVladiate helps you write explicit assertions for every field of your CSV\nfile.\n\nFeatures\n--------\n\n**Write validation schemas in plain-old Python**\n No UI, no XML, no JSON, just code.\n\n**Write your own validators**\n Vladiate comes with a few by default, but there's no reason you can't write\n your own.\n\n**Validate multiple files at once**\n Either with the same schema, or different ones.\n\nDocumentation\n-------------\n\nInstallation\n~~~~~~~~~~~~\n\nInstalling:\n\n::\n\n $ pip install vladiate\n\nQuickstart\n~~~~~~~~~~\n\nBelow is an example of a ``vladfile.py``\n\n.. code:: python\n\n from vladiate import Vlad\n from vladiate.validators import UniqueValidator, SetValidator\n from vladiate.inputs import LocalFile\n\n class YourFirstValidator(Vlad):\n source = LocalFile('vampires.csv')\n validators = {\n 'Column A': [\n UniqueValidator()\n ],\n 'Column B': [\n SetValidator(['Vampire', 'Not A Vampire'])\n ]\n }\n\nHere we define a number of validators for a local file ``vampires.csv``,\nwhich would look like this:\n\n::\n\n Column A,Column B\n Vlad the Impaler,Not A Vampire\n Dracula,Vampire\n Count Chocula,Vampire\n\nWe then run ``vladiate`` in the same directory as your ``.csv`` file:\n\n::\n\n $ vladiate\n\nAnd get the following output:\n\n::\n\n Validating YourFirstValidator(source=LocalFile('vampires.csv'))\n Passed! :)\n\nHandling Changes\n^^^^^^^^^^^^^^^^\n\nLet's imagine that you've gotten a new CSV file,\n``potential_vampires.csv``, that looks like this:\n\n::\n\n Column A,Column B\n Vlad the Impaler,Not A Vampire\n Dracula,Vampire\n Count Chocula,Vampire\n Ronald Reagan,Maybe A Vampire\n\nIf we were to update our first validator to use this file as follows:\n\n::\n\n - class YourFirstValidator(Vlad):\n - source = LocalFile('vampires.csv')\n + class YourFirstFailingValidator(Vlad):\n + source = LocalFile('potential_vampires.csv')\n\nwe would get the following error:\n\n::\n\n Validating YourFirstFailingValidator(source=LocalFile('potential_vampires.csv'))\n Failed :(\n SetValidator failed 1 time(s) (25.0%) on field: 'Column B'\n Invalid fields: ['Maybe A Vampire']\n\nAnd we would know that we'd either need to sanitize this field, or add\nit to the ``SetValidator``.\n\nStarting from scratch\n^^^^^^^^^^^^^^^^^^^^^\n\nTo make writing a new ``vladfile.py`` easy, Vladiate will give\nmeaningful error messages.\n\nGiven the following as ``real_vampires.csv``:\n\n::\n\n Column A,Column B,Column C\n Vlad the Impaler,Not A Vampire\n Dracula,Vampire\n Count Chocula,Vampire\n Ronald Reagan,Maybe A Vampire\n\nWe could write a bare-bones validator as follows:\n\n.. code:: python\n\n class YourFirstEmptyValidator(Vlad):\n source = LocalFile('real_vampires.csv')\n validators = {}\n\nRunning this with ``vladiate`` would give the following error:\n\n::\n\n Validating YourFirstEmptyValidator(source=LocalFile('real_vampires.csv'))\n Missing...\n Missing validators for:\n 'Column A': [],\n 'Column B': [],\n 'Column C': [],\n\nVladiate expects something to be specified for every column, *even if it\nis an empty list* (more on this later). We can easily copy and paste\nfrom the error into our ``vladfile.py`` to make it:\n\n.. code:: python\n\n class YourFirstEmptyValidator(Vlad):\n source = LocalFile('real_vampires.csv')\n validators = {\n 'Column A': [],\n 'Column B': [],\n 'Column C': [],\n }\n\nWhen we run *this* with ``vladiate``, we get:\n\n::\n\n Validating YourSecondEmptyValidator(source=LocalFile('real_vampires.csv'))\n Failed :(\n EmptyValidator failed 4 time(s) (100.0%) on field: 'Column A'\n Invalid fields: ['Dracula', 'Vlad the Impaler', 'Count Chocula', 'Ronald Reagan']\n EmptyValidator failed 4 time(s) (100.0%) on field: 'Column B'\n Invalid fields: ['Maybe A Vampire', 'Not A Vampire', 'Vampire']\n EmptyValidator failed 4 time(s) (100.0%) on field: 'Column C'\n Invalid fields: ['Real', 'Not Real']\n\nThis is because Vladiate interprets an empty list of validators for a\nfield as an ``EmptyValidator``, which expects an empty string in every\nfield. This helps us make meaningful decisions when adding validators to\nour ``vladfile.py``. It also ensures that we are not forgetting about a\ncolumn or field which is not empty.\n\nBuilt-in Validators\n^^^^^^^^^^^^^^^^^^^\n\nVladiate comes with a few common validators built-in:\n\n*class* ``Validator``\n\n Generic validator. Should be subclassed by any custom validators. Not to\n be used directly.\n\n*class* ``CastValidator``\n\n Generic \"can-be-cast-to-x\" validator. Should be subclassed by any\n cast-test validator. Not to be used directly.\n\n*class* ``IntValidator``\n\n Validates whether a field can be cast to an ``int`` type or not.\n\n :``empty_ok=False``:\n Specify whether a field which is an empty string should be ignored.\n\n*class* ``FloatValidator``\n\n Validates whether a field can be cast to an ``float`` type or not.\n\n :``empty_ok=False``:\n Specify whether a field which is an empty string should be ignored.\n\n*class* ``SetValidator``\n\n Validates whether a field is in the specified set of possible fields.\n\n :``valid_set=[]``:\n List of valid possible fields\n :``empty_ok=False``:\n Implicity adds the empty string to the specified set.\n\n*class* ``UniqueValidator``\n\n Ensures that a given field is not repeated in any other column. Can\n optionally determine \"uniqueness\" with other fields in the row as well via\n ``unique_with``.\n\n :``unique_with=[]``:\n List of field names to make the primary field unique with.\n :``empty_ok=False``:\n Specify whether a field which is an empty string should be ignored.\n\n*class* ``RegexValidator``\n\n Validates whether a field matches the given regex using `re.match()`.\n\n :``pattern=r'di^'``:\n The regex pattern. Fails for all fields by default.\n :``full=False``:\n Specify whether we should use a fullmatch() or match().\n :``empty_ok=False``:\n Specify whether a field which is an empty string should be ignored.\n\n*class* ``RangeValidator``\n\n Validates whether a field falls within a given range (inclusive). Can handle\n integers or floats.\n\n :``low``:\n The low value of the range.\n :``high``:\n The high value of the range.\n :``empty_ok=False``:\n Specify whether a field which is an empty string should be ignored.\n\n*class* ``EmptyValidator``\n\n Ensure that a field is always empty. Essentially the same as an empty\n ``SetValidator``. This is used by default when a field has no\n validators.\n\n*class* ``NotEmptyValidator``\n\n The opposite of an ``EmptyValidator``. Ensure that a field is never empty.\n\n*class* ``Ignore``\n\n Always passes validation. Used to explicity ignore a given column.\n\nBuilt-in Input Types\n^^^^^^^^^^^^^^^^^^^^\n\nVladiate comes with the following input types:\n\n*class* ``VladInput``\n\n Generic input. Should be subclassed by any custom inputs. Not to be used\n directly.\n\n*class* ``LocalFile``\n\n Read from a file local to the filesystem.\n\n :``filename``:\n Path to a local CSV file.\n\n*class* ``S3File``\n\n Read from a file in S3. Optionally can specify either a full path, or a\n bucket/key pair.\n\n Requires the `boto `_ library, which should be\n installed via ``pip install vladiate[s3]``.\n\n :``path=None``:\n A full S3 filepath (e.g., ``s3://foo.bar/path/to/file.csv``)\n\n :``bucket=None``:\n S3 bucket. Must be specified with a ``key``.\n\n :``key=None``:\n S3 key. Must be specified with a ``bucket``.\n\n*class* ``String``\n\n Read CSV from a string. Can take either an ``str`` or a ``StringIO``.\n\n :``string_input=None``\n Regular Python string input.\n\n :``string_io=None``\n ``StringIO`` input.\n\nRunning Vlads Programatically\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n*class* ``Vlad``\n\n Initialize a Vlad programatically\n\n :``source``:\n Required. Any `VladInput`.\n\n :``validators={}``:\n List of validators. Optional, defaults to the class variable `validators`\n if set, otherwise uses `EmptyValidator` for all fields.\n\n :``delimiter=','``:\n The delimiter used within your csv source. Optional, defaults to `,`.\n\n :``ignore_missing_validators=False``:\n Whether to fail validation if there are fields in the file for which the\n `Vlad` does not have validators. Optional, defaults to `False`.\n\n For example:\n\n.. code:: python\n\n from vladiate import Vlad\n from vladiate.inputs import LocalFile\n Vlad(source=LocalFile('path/to/local/file.csv').validate()\n\nTesting\n~~~~~~~\n\nTo run the tests:\n\n::\n\n make test\n\nTo run the linter:\n\n::\n\n make lint\n\nCommand Line Arguments\n~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: bash\n\n Usage: vladiate [options] [VladClass [VladClass2 ... ]]\n\n Options:\n -h, --help show this help message and exit\n -f VLADFILE, --vladfile=VLADFILE\n Python module file to import, e.g. '../other.py'.\n Default: vladfile\n -l, --list Show list of possible vladiate classes and exit\n -V, --version show version number and exit\n -p PROCESSES, --processes=PROCESSES\n attempt to use this number of processes, Default: 1\n\nAuthors\n-------\n\n- `Dustin Ingram `__\n- `Clara Bennett `__\n- `Aditya Natraj `__\n- `Sterling Petersen `__\n\nLicense\n-------\n\nOpen source MIT license.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/di/vladiate", "keywords": "validate CSV vampires", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "vladiate", "package_url": "https://pypi.org/project/vladiate/", "platform": "", "project_url": "https://pypi.org/project/vladiate/", "project_urls": { "Homepage": "http://github.com/di/vladiate" }, "release_url": "https://pypi.org/project/vladiate/0.0.21/", "requires_dist": [ "boto ; extra == 's3'" ], "requires_python": "", "summary": "Vladiate is a strict validation tool for CSV files", "version": "0.0.21" }, "last_serial": 5710755, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "f3e925048e06856dde2bfab20dc67c9d", "sha256": "a331645cd47f689854d4cf169cb50e4de4e49e6badc75d9f0baebf58141607e4" }, "downloads": -1, "filename": "vladiate-0.0.1.tar.gz", "has_sig": false, "md5_digest": "f3e925048e06856dde2bfab20dc67c9d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10169, "upload_time": "2015-07-30T20:12:43", "url": "https://files.pythonhosted.org/packages/a8/3c/9ec5e7e5a6903e3ce25c7d5ff6e78058ad59165b9e1bec3c2fa69c06f515/vladiate-0.0.1.tar.gz" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "3584c05711e4fe06a41444fd209417d6", "sha256": "760d65cc051c6421a52c77a428122e66b7ee4b46a4f7d2ac838a4686931a5da3" }, "downloads": -1, "filename": "vladiate-0.0.10.tar.gz", "has_sig": false, "md5_digest": "3584c05711e4fe06a41444fd209417d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14736, "upload_time": "2016-01-14T22:38:36", "url": "https://files.pythonhosted.org/packages/09/58/7c044c6b12e6fae00f6ddab92926b5388ebae1b17f57aa761a0c259fee26/vladiate-0.0.10.tar.gz" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "fc407ceaf8c580bb3a7557255f9f820d", "sha256": "2e8f514c6a96eb409b9613200b77dd9f422486f0ffec9f231f4359097933ab9a" }, "downloads": -1, "filename": "vladiate-0.0.11.tar.gz", "has_sig": false, "md5_digest": "fc407ceaf8c580bb3a7557255f9f820d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14808, "upload_time": "2016-04-01T13:31:36", "url": "https://files.pythonhosted.org/packages/c0/6f/dad6f654ca36876c35b7b8cc432ff4ff75e061ccec7df567e1077fe17d1a/vladiate-0.0.11.tar.gz" } ], "0.0.13": [ { "comment_text": "", "digests": { "md5": "a2804020edc9fa53f7e66b35a969ad04", "sha256": "9ab487d31aedb2bfcd3dd3aeca056e897c2239c67b994801a2db8ab9fc981c26" }, "downloads": -1, "filename": "vladiate-0.0.13-py2-none-any.whl", "has_sig": false, "md5_digest": "a2804020edc9fa53f7e66b35a969ad04", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 20185, "upload_time": "2016-11-10T22:31:21", "url": "https://files.pythonhosted.org/packages/a3/4f/3c15c61f0ea28bf0e7119c897ef96c669e607b167763f9d8f36955cfbc56/vladiate-0.0.13-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cfe347bcbd0594dd0a5ce2f69f53bc81", "sha256": "93c5a76ee4465f4be677848a95ec1802caba50a35ac24cb8810253cf45865cd5" }, "downloads": -1, "filename": "vladiate-0.0.13-py3-none-any.whl", "has_sig": false, "md5_digest": "cfe347bcbd0594dd0a5ce2f69f53bc81", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 20184, "upload_time": "2016-11-10T22:31:10", "url": "https://files.pythonhosted.org/packages/b1/0c/31a90bbac4fd68bf977c8b4af702146ea7da57ef8393008a16f655d84caf/vladiate-0.0.13-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "81621eb391e722f1b5f12e072bd1126d", "sha256": "43c6185f7961d727ca59385cd65fa440734ba0ed9eb58157252801b2a9ac011e" }, "downloads": -1, "filename": "vladiate-0.0.13.tar.gz", "has_sig": false, "md5_digest": "81621eb391e722f1b5f12e072bd1126d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16697, "upload_time": "2016-11-10T22:30:29", "url": "https://files.pythonhosted.org/packages/e9/bd/5ed4c19e77f6c7fd84578f85d88df6840a10d465b11a3c146b0b1b756b8f/vladiate-0.0.13.tar.gz" } ], "0.0.14": [ { "comment_text": "", "digests": { "md5": "130ac1f0885aebb8aee363d41d55e2c0", "sha256": "94622bb70a627cc9c76aa087b22c0f26671fb7287852c446a04c324bc12e6db0" }, "downloads": -1, "filename": "vladiate-0.0.14-py2-none-any.whl", "has_sig": false, "md5_digest": "130ac1f0885aebb8aee363d41d55e2c0", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 20377, "upload_time": "2017-01-04T18:34:35", "url": "https://files.pythonhosted.org/packages/24/49/6f41ba660b75275d4746b7f30f4c8d0e2217b1c48275448e830c61e3efce/vladiate-0.0.14-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "207c86ddaa285b8522db607741e1394f", "sha256": "d30b3311f853f364ffefb986b23506abb2a0fb65e38066730b37e14f75c9c948" }, "downloads": -1, "filename": "vladiate-0.0.14-py3.6.egg", "has_sig": false, "md5_digest": "207c86ddaa285b8522db607741e1394f", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 37520, "upload_time": "2017-08-11T19:36:23", "url": "https://files.pythonhosted.org/packages/b0/f9/eed2648030278903efc50ab914a33dd029882c68d2ec73bf744283f49571/vladiate-0.0.14-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "8e9715dd4060e389b8de39a39caac1c8", "sha256": "2d4b5e6ca4c3de5bcd1c29ed5499ec516b1144a277b4fdc8b092dc50c2cfe617" }, "downloads": -1, "filename": "vladiate-0.0.14.tar.gz", "has_sig": false, "md5_digest": "8e9715dd4060e389b8de39a39caac1c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16894, "upload_time": "2017-01-04T18:36:56", "url": "https://files.pythonhosted.org/packages/79/38/a50008295f858f48246b0e7326b1c896e6ca52fcc590eeb9db9745c047a5/vladiate-0.0.14.tar.gz" } ], "0.0.15": [ { "comment_text": "", "digests": { "md5": "ec4b089038fe3f5a4f3fd0a2145ff0e7", "sha256": "4b8216984d974bcb0761553062365e6072ea6565e1370ca8953310ae16246d54" }, "downloads": -1, "filename": "vladiate-0.0.15-py3-none-any.whl", "has_sig": false, "md5_digest": "ec4b089038fe3f5a4f3fd0a2145ff0e7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20847, "upload_time": "2017-08-11T19:36:21", "url": "https://files.pythonhosted.org/packages/ad/bf/50e6addb53378476adc648c207105346a234220801f2472abf17b0c5b9b8/vladiate-0.0.15-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "68731c4cb4bb6b81359bd654bf950527", "sha256": "54903bfdc3910d233f6c123f446c725a79b9f1f1073621fe4f70ae808acd5894" }, "downloads": -1, "filename": "vladiate-0.0.15.tar.gz", "has_sig": false, "md5_digest": "68731c4cb4bb6b81359bd654bf950527", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17484, "upload_time": "2017-08-11T19:36:25", "url": "https://files.pythonhosted.org/packages/8f/3b/fb105c6a0f360ffbdf7676a00f9203b6090734e1c2ee49b820822f79c82b/vladiate-0.0.15.tar.gz" } ], "0.0.16": [ { "comment_text": "", "digests": { "md5": "4e3ab97e5de3f45bad91899578f2ecf5", "sha256": "1afd8222c4939282a5103b6aa090bea8101a217d0fdd1a82fbd42810a2d62f16" }, "downloads": -1, "filename": "vladiate-0.0.16-py3-none-any.whl", "has_sig": false, "md5_digest": "4e3ab97e5de3f45bad91899578f2ecf5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20884, "upload_time": "2017-08-25T21:14:47", "url": "https://files.pythonhosted.org/packages/2f/09/a745e2e283d3769b306a942290f3b6067d0699ed0efd244647114a2fca31/vladiate-0.0.16-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "916c5107a3b1be03d114b00c77ed1f26", "sha256": "31c284870faaf16076d6b84bb49feeba7d8e46aca72b9d2d9e5ecb292b917095" }, "downloads": -1, "filename": "vladiate-0.0.16.tar.gz", "has_sig": false, "md5_digest": "916c5107a3b1be03d114b00c77ed1f26", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17541, "upload_time": "2017-08-25T21:14:48", "url": "https://files.pythonhosted.org/packages/0c/26/37d872ff1cbbdd2665b29364fee7c34c513846a892575071f52445ab0905/vladiate-0.0.16.tar.gz" } ], "0.0.17": [ { "comment_text": "", "digests": { "md5": "dde30adacc29611d26c19e534c7afe93", "sha256": "b5dbb3b04a9c94d22ac4d8e549db2bca7829e63490e57e32be37578a20627c9f" }, "downloads": -1, "filename": "vladiate-0.0.17-py3-none-any.whl", "has_sig": false, "md5_digest": "dde30adacc29611d26c19e534c7afe93", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20994, "upload_time": "2017-09-18T22:26:49", "url": "https://files.pythonhosted.org/packages/c9/d0/4a2f18753d87488b18cdaff6d4ebb0e8f0c69ea05056b68c702879f7aeaa/vladiate-0.0.17-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8860ab8fcc2093c17c4afffcd5de6f7d", "sha256": "787aa4fa56c6f49d14a7a198177958bb3a57c858d25cebd20f2e5e0ed0a01654" }, "downloads": -1, "filename": "vladiate-0.0.17.tar.gz", "has_sig": false, "md5_digest": "8860ab8fcc2093c17c4afffcd5de6f7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17617, "upload_time": "2017-09-18T22:26:50", "url": "https://files.pythonhosted.org/packages/9d/2c/ec7aa11cc680a22e43484e65679e2564d0bd9b5bdad94db9c7edaae7c5e2/vladiate-0.0.17.tar.gz" } ], "0.0.18": [ { "comment_text": "", "digests": { "md5": "1f626a62375b3b797bdc9fe0f711fb9f", "sha256": "81e1015911db4c3e652ddb517b0a60d7f06a6ba44a5e5de6aa38a8c05288eaf0" }, "downloads": -1, "filename": "vladiate-0.0.18-py3-none-any.whl", "has_sig": false, "md5_digest": "1f626a62375b3b797bdc9fe0f711fb9f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21080, "upload_time": "2017-09-20T21:29:30", "url": "https://files.pythonhosted.org/packages/33/27/083c6bd6f022ed904a22a5c3a049187f7526908911831854724dc366384e/vladiate-0.0.18-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e0951532e535b5f982fcbb930fd7ef1d", "sha256": "198f52ab11b67203ba18f027d866785e45317d46861fafa717533ad5054f5e8c" }, "downloads": -1, "filename": "vladiate-0.0.18.tar.gz", "has_sig": false, "md5_digest": "e0951532e535b5f982fcbb930fd7ef1d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17711, "upload_time": "2017-09-20T21:29:32", "url": "https://files.pythonhosted.org/packages/78/6e/ce3a43f8d5e283c1a4f171efeffe14c54fafdb3a167a2d2f5b987d836f43/vladiate-0.0.18.tar.gz" } ], "0.0.19": [ { "comment_text": "", "digests": { "md5": "1f00f44ed1c3391b9dc5f43b50c541f4", "sha256": "3536acc965d30c43d48fa9be423729d218bd2876a20a908139c7ce5ec4a56fa6" }, "downloads": -1, "filename": "vladiate-0.0.19-py3-none-any.whl", "has_sig": false, "md5_digest": "1f00f44ed1c3391b9dc5f43b50c541f4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21589, "upload_time": "2017-10-11T16:41:49", "url": "https://files.pythonhosted.org/packages/07/12/ae6d0959f3a7e4671b6bf9987c609eed5c61d191f8ffae893fd2d4dfed44/vladiate-0.0.19-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ecfe59f64719364334a936258904ee84", "sha256": "794efe8d141c153f9fe413edacbd3b3a5af3af5e10f49a69f0d1cc43d7c110c7" }, "downloads": -1, "filename": "vladiate-0.0.19.tar.gz", "has_sig": false, "md5_digest": "ecfe59f64719364334a936258904ee84", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18102, "upload_time": "2017-10-11T16:41:52", "url": "https://files.pythonhosted.org/packages/c5/b0/6a69ba4065c3d68a7efeddebeb9ab28454f0c2aeca871474eda2b17a90c1/vladiate-0.0.19.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "b4708fae22f2eab8a5d28aca5f7dcf4a", "sha256": "ff6399406448fe25f17f33009726940f1973bf249f193b5d3677c30248db6b92" }, "downloads": -1, "filename": "vladiate-0.0.2.tar.gz", "has_sig": false, "md5_digest": "b4708fae22f2eab8a5d28aca5f7dcf4a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10790, "upload_time": "2015-07-31T13:58:45", "url": "https://files.pythonhosted.org/packages/74/6c/2a31357b6d01e9b8c712d74b2da6ea65f23a74ca60458c4a3edcbab90531/vladiate-0.0.2.tar.gz" } ], "0.0.20": [ { "comment_text": "", "digests": { "md5": "4824c59111fe5373b856737a8c06893a", "sha256": "5f5d9d9193798b3e4de83300586daafd3015931cab21ab11f7abd5cf786464e0" }, "downloads": -1, "filename": "vladiate-0.0.20-py3-none-any.whl", "has_sig": false, "md5_digest": "4824c59111fe5373b856737a8c06893a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22208, "upload_time": "2018-02-23T19:13:14", "url": "https://files.pythonhosted.org/packages/8a/ac/b339bf9e8a57dc6b724ef93024b959e38cf3f14152243d63a5507ffe2a9c/vladiate-0.0.20-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cd9ed620faa0194ad20526b2230d62e5", "sha256": "73c6c5d5c9c3373033bebbe8daf15dc6d30047b32a5d4dd9a96a1ebb31132d14" }, "downloads": -1, "filename": "vladiate-0.0.20.tar.gz", "has_sig": false, "md5_digest": "cd9ed620faa0194ad20526b2230d62e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11971, "upload_time": "2018-02-23T19:13:15", "url": "https://files.pythonhosted.org/packages/23/0e/a392f71d17b43ed27984ccc424ab82919778b15c6f8bda5e9b6391a94219/vladiate-0.0.20.tar.gz" } ], "0.0.21": [ { "comment_text": "", "digests": { "md5": "0cca9c6dc4126f36b4c2f3e5f4b38710", "sha256": "334659e86f8cb1b69d0a9b93d51c913ceee14f535640369cc2e74c8f7d47a6e4" }, "downloads": -1, "filename": "vladiate-0.0.21-py3-none-any.whl", "has_sig": false, "md5_digest": "0cca9c6dc4126f36b4c2f3e5f4b38710", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13969, "upload_time": "2019-08-21T17:08:03", "url": "https://files.pythonhosted.org/packages/fb/83/c4c0db7c801b45c873bbe080bd107f52e99bd3edbedb84060ffcddf364f4/vladiate-0.0.21-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2861f376e40186cae3caece96bb3af29", "sha256": "f2f42c3bee268cfe1ff3c8a86cbf471b010f3d27735cf549036a226705cd67f0" }, "downloads": -1, "filename": "vladiate-0.0.21.tar.gz", "has_sig": false, "md5_digest": "2861f376e40186cae3caece96bb3af29", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15103, "upload_time": "2019-08-21T17:08:05", "url": "https://files.pythonhosted.org/packages/61/18/db11eb296f5548f588266888a7347fb3a0f11325674343cafecbdc20042b/vladiate-0.0.21.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "c8df5d9ac9d5f914dcf8960ed799eaae", "sha256": "2a2690c1bcb42ce5fb003c96712ce62e7aefbc9b6030905cdad95b80934c4667" }, "downloads": -1, "filename": "vladiate-0.0.3.tar.gz", "has_sig": false, "md5_digest": "c8df5d9ac9d5f914dcf8960ed799eaae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11866, "upload_time": "2015-07-31T21:38:07", "url": "https://files.pythonhosted.org/packages/ad/7b/ab6f37edd5a688aad5f678bb9b92ead1f8148f979179211f88dead1e8b1b/vladiate-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "af6d4836d33c427b1c6dab7e3b9afbac", "sha256": "4f5e0114219230111e08ca328a42e511de76ba56ebbe5c3ece55c4d1dafed40b" }, "downloads": -1, "filename": "vladiate-0.0.4.tar.gz", "has_sig": false, "md5_digest": "af6d4836d33c427b1c6dab7e3b9afbac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12157, "upload_time": "2015-08-25T18:23:33", "url": "https://files.pythonhosted.org/packages/97/e6/6f8306fe918e1fe0f686343148d7a3c86de85ed39a3cd1e846e5e1547bb7/vladiate-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "07726d57415f7c00a06ff63af30f19da", "sha256": "8140df630f59c299b1693bb11858ecc771193c02b8f966b0cd201f2866198bed" }, "downloads": -1, "filename": "vladiate-0.0.5.tar.gz", "has_sig": false, "md5_digest": "07726d57415f7c00a06ff63af30f19da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12899, "upload_time": "2015-08-27T21:08:13", "url": "https://files.pythonhosted.org/packages/b9/8d/b0b1440cd7b96c56d58d1212614ec34e5ee04b2aac359a89395a32a77b86/vladiate-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "cf1af3c675c336bc08a83c2d86d8d309", "sha256": "84f2afa90b2c7d480b0f62161e8e6c9dfa3baade900c6f8582a870b8d365721f" }, "downloads": -1, "filename": "vladiate-0.0.6.tar.gz", "has_sig": false, "md5_digest": "cf1af3c675c336bc08a83c2d86d8d309", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12992, "upload_time": "2015-09-09T22:15:29", "url": "https://files.pythonhosted.org/packages/cf/b1/b50cd5781d7ab3732ca8e7bdc072a2690230b7d75f38a8b460c4194f6cc6/vladiate-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "0975898662e90041f83e9d82e71c6bba", "sha256": "3fb2705e2984560df22db78c1b096faa6a8226b6fae62d9eae556393045095c2" }, "downloads": -1, "filename": "vladiate-0.0.7.tar.gz", "has_sig": false, "md5_digest": "0975898662e90041f83e9d82e71c6bba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13064, "upload_time": "2015-09-18T19:29:12", "url": "https://files.pythonhosted.org/packages/05/b1/377e40c767f047c83affc73bdd956339de82a087ea217db758fd2edcd71f/vladiate-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "514c3235252de75a3032c4dc35943403", "sha256": "ba6d566d756fe8e2c4df640879113862f67d7015c1635bfa189de20777b25ab4" }, "downloads": -1, "filename": "vladiate-0.0.8.tar.gz", "has_sig": false, "md5_digest": "514c3235252de75a3032c4dc35943403", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13347, "upload_time": "2015-10-06T19:33:11", "url": "https://files.pythonhosted.org/packages/98/8d/91bb04a06773303cdd3ab20994480561a7079dcf98acaa120047e88126d4/vladiate-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "3244be872de31dd704bc0aa686db5a1a", "sha256": "a6e421e9f8e107e4b2281d82ef128977ae5ed473a175c451e107a3f44050beb1" }, "downloads": -1, "filename": "vladiate-0.0.9.tar.gz", "has_sig": false, "md5_digest": "3244be872de31dd704bc0aa686db5a1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14518, "upload_time": "2015-11-20T17:37:48", "url": "https://files.pythonhosted.org/packages/41/5d/77522d246caba2bf94c71e5aa45f6a3abbf503fadbdfbbce4914a8a200cd/vladiate-0.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0cca9c6dc4126f36b4c2f3e5f4b38710", "sha256": "334659e86f8cb1b69d0a9b93d51c913ceee14f535640369cc2e74c8f7d47a6e4" }, "downloads": -1, "filename": "vladiate-0.0.21-py3-none-any.whl", "has_sig": false, "md5_digest": "0cca9c6dc4126f36b4c2f3e5f4b38710", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13969, "upload_time": "2019-08-21T17:08:03", "url": "https://files.pythonhosted.org/packages/fb/83/c4c0db7c801b45c873bbe080bd107f52e99bd3edbedb84060ffcddf364f4/vladiate-0.0.21-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2861f376e40186cae3caece96bb3af29", "sha256": "f2f42c3bee268cfe1ff3c8a86cbf471b010f3d27735cf549036a226705cd67f0" }, "downloads": -1, "filename": "vladiate-0.0.21.tar.gz", "has_sig": false, "md5_digest": "2861f376e40186cae3caece96bb3af29", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15103, "upload_time": "2019-08-21T17:08:05", "url": "https://files.pythonhosted.org/packages/61/18/db11eb296f5548f588266888a7347fb3a0f11325674343cafecbdc20042b/vladiate-0.0.21.tar.gz" } ] }