{ "info": { "author": "Michael Milton", "author_email": "michael.r.milton@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3 :: Only" ], "description": "\nPandasSchema\n************\n\nFor the full documentation, refer to the `Github Pages Website\n`_.\n\n======================================================================\n\nPandasSchema is a module for validating tabulated data, such as CSVs\n(Comma Separated Value files), and TSVs (Tab Separated Value files).\nIt uses the incredibly powerful data analysis tool Pandas to do so\nquickly and efficiently.\n\nFor example, say your code expects a CSV that looks a bit like this:\n\n.. code:: default\n\n Given Name,Family Name,Age,Sex,Customer ID\n Gerald,Hampton,82,Male,2582GABK\n Yuuwa,Miyake,27,Male,7951WVLW\n Edyta,Majewska,50,Female,7758NSID\n\nNow you want to be able to ensure that the data in your CSV is in the\ncorrect format:\n\n.. code:: python\n\n import pandas as pd\n from io import StringIO\n from pandas_schema import Column, Schema\n from pandas_schema.validation import LeadingWhitespaceValidation, TrailingWhitespaceValidation, CanConvertValidation, MatchesPatternValidation, InRangeValidation, InListValidation\n\n schema = Schema([\n Column('Given Name', [LeadingWhitespaceValidation(), TrailingWhitespaceValidation()]),\n Column('Family Name', [LeadingWhitespaceValidation(), TrailingWhitespaceValidation()]),\n Column('Age', [InRangeValidation(0, 120)]),\n Column('Sex', [InListValidation(['Male', 'Female', 'Other'])]),\n Column('Customer ID', [MatchesPatternValidation(r'\\d{4}[A-Z]{4}')])\n ])\n\n test_data = pd.read_csv(StringIO('''Given Name,Family Name,Age,Sex,Customer ID\n Gerald ,Hampton,82,Male,2582GABK\n Yuuwa,Miyake,270,male,7951WVLW\n Edyta,Majewska ,50,Female,775ANSID\n '''))\n\n errors = schema.validate(test_data)\n\n for error in errors:\n print(error)\n\nPandasSchema would then output\n\n.. code:: text\n\n {row: 0, column: \"Given Name\"}: \"Gerald \" contains trailing whitespace\n {row: 1, column: \"Age\"}: \"270\" was not in the range [0, 120)\n {row: 1, column: \"Sex\"}: \"male\" is not in the list of legal options (Male, Female, Other)\n {row: 2, column: \"Family Name\"}: \"Majewska \" contains trailing whitespace\n {row: 2, column: \"Customer ID\"}: \"775ANSID\" does not match the pattern \"\\d{4}[A-Z]{4}\"\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/TMiguelT/PandasSchema", "keywords": "pandas csv verification schema", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pandas-schema", "package_url": "https://pypi.org/project/pandas-schema/", "platform": "", "project_url": "https://pypi.org/project/pandas-schema/", "project_urls": { "Homepage": "https://github.com/TMiguelT/PandasSchema" }, "release_url": "https://pypi.org/project/pandas-schema/0.3.4/", "requires_dist": [ "numpy", "pandas (>=0.19)" ], "requires_python": "", "summary": "A validation library for Pandas data frames using user-friendly schemas", "version": "0.3.4" }, "last_serial": 5245836, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "0c7bf302774e4985da839b2618b4c308", "sha256": "b028ead7298326cec7ebd3bc2db7f7699af14d12de12b3c1296b63b50aabf799" }, "downloads": -1, "filename": "pandas_schema-0.1.0-py3.5.egg", "has_sig": false, "md5_digest": "0c7bf302774e4985da839b2618b4c308", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 2145, "upload_time": "2016-12-19T07:17:54", "url": "https://files.pythonhosted.org/packages/72/6c/ec81361abff411daad7cc993403ac513ae486eecb05f58ba7528f3782ee5/pandas_schema-0.1.0-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "150ff6e896c5533fdbe870d2dc8f5989", "sha256": "90fd5214e03b0dfa88becfb7de5dd7b0a278658418484ff1a63cfd546ba10797" }, "downloads": -1, "filename": "pandas_schema-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "150ff6e896c5533fdbe870d2dc8f5989", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3971, "upload_time": "2016-12-19T07:17:53", "url": "https://files.pythonhosted.org/packages/85/d6/2917c4f7a4a45b8a2893a321610d7926696f58ec2a2e84e2e30310c2a206/pandas_schema-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ec7f98f1496109b5495c7aeffe0c00b1", "sha256": "bb51c504b153c406eb246f71e5176cbb7e7cad6c52cc0c5c528455b4a5aba730" }, "downloads": -1, "filename": "pandas_schema-0.1.0.tar.gz", "has_sig": false, "md5_digest": "ec7f98f1496109b5495c7aeffe0c00b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6141, "upload_time": "2016-12-19T07:18:43", "url": "https://files.pythonhosted.org/packages/db/86/210c6d9e8e7decef028308a7093d3f367c8a5642868b65860e4b3f22d3da/pandas_schema-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "b9360c86a3eaf77ee640ca764773e220", "sha256": "ad1041ff8e482b6f1d8dd41e9261b9c09ba7336e45dd8c2258d4f144acff3e23" }, "downloads": -1, "filename": "pandas_schema-0.2.0-py3.5.egg", "has_sig": false, "md5_digest": "b9360c86a3eaf77ee640ca764773e220", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 18435, "upload_time": "2016-12-26T17:07:49", "url": "https://files.pythonhosted.org/packages/f4/7f/20118866ae95648e52cf2323848ac3cdda043977ab3f065b651ea669b703/pandas_schema-0.2.0-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "1a58f98765c44908d4e53867977b6055", "sha256": "4ebaf02e583e4764c040feda52dccc8cf4ef3b0301bebdbefeffe8d84443c22a" }, "downloads": -1, "filename": "pandas_schema-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "1a58f98765c44908d4e53867977b6055", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10347, "upload_time": "2016-12-26T17:07:47", "url": "https://files.pythonhosted.org/packages/de/f6/0c6098bd13c6daed642d2b05983d400904fb8b0a3494ee5ba694d75277b1/pandas_schema-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2160587e3662612b53475a9df83e6dd1", "sha256": "bee06f42741ba5b8c3c6eadb54f7d12d390a91e52399f8856aab2d8983e15112" }, "downloads": -1, "filename": "pandas_schema-0.2.0.tar.gz", "has_sig": false, "md5_digest": "2160587e3662612b53475a9df83e6dd1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10987, "upload_time": "2016-12-26T17:07:51", "url": "https://files.pythonhosted.org/packages/d4/63/04d5d615a8663c524c8834d8fd2e30ab571f2c3b559e585373e44b06d570/pandas_schema-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "83a01c2b9d2499ac4effc02c78a659da", "sha256": "f9a48e0ee689ae589259fa755087594506fa098e02a9848e5cd2cca1c68c52f3" }, "downloads": -1, "filename": "pandas_schema-0.2.1-py3.5.egg", "has_sig": false, "md5_digest": "83a01c2b9d2499ac4effc02c78a659da", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 18432, "upload_time": "2016-12-26T17:21:50", "url": "https://files.pythonhosted.org/packages/00/1f/04246d1d4c0ca2df6faf4f32b88e6c9da47c0742351d55414c5d4664c6c4/pandas_schema-0.2.1-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "dab5d6d2f751a5ddd0ebc7fd015713a5", "sha256": "0b6d2953f744bcc6871cb35c0ef9d6de509a04b4289ac6140a9ec68d4f65470e" }, "downloads": -1, "filename": "pandas_schema-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "dab5d6d2f751a5ddd0ebc7fd015713a5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10353, "upload_time": "2016-12-26T17:21:47", "url": "https://files.pythonhosted.org/packages/f5/60/f00e957d92b231d049159008cafc9257a6e696a9ddab3cb6d571b24f2e62/pandas_schema-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d7600ba95a9b8b0883fae6aabdecf774", "sha256": "c3feab651e81b8e1640b5f0252ded5c78af65e898f4f77e3d35d5b51690526e9" }, "downloads": -1, "filename": "pandas_schema-0.2.1.tar.gz", "has_sig": false, "md5_digest": "d7600ba95a9b8b0883fae6aabdecf774", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10996, "upload_time": "2016-12-26T17:21:52", "url": "https://files.pythonhosted.org/packages/c7/53/b09804eaa55818d60dc53ea43810c675cc5eb9c9ae9bf866cb3a23795aef/pandas_schema-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "437b11cc3f0cd0ff50df2d7a4b1720a9", "sha256": "b634ab16fcd1d1d09c5157cfa39c9121f02da29b8ec45c28eb0deabf29218fe3" }, "downloads": -1, "filename": "pandas_schema-0.3.0-py3.5.egg", "has_sig": false, "md5_digest": "437b11cc3f0cd0ff50df2d7a4b1720a9", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 18827, "upload_time": "2017-01-06T02:43:59", "url": "https://files.pythonhosted.org/packages/1b/7f/6234c9697a131ea9cb66958e00c5b665afde39aae19c4053614cfa7dc78b/pandas_schema-0.3.0-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "79e2f7988756adcb70cdb794e7917e53", "sha256": "da82fdfa54ff128d055e89c18b3bfbcb9524772f68488b4b3e7ce8a4320c87ea" }, "downloads": -1, "filename": "pandas_schema-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "79e2f7988756adcb70cdb794e7917e53", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10487, "upload_time": "2017-01-06T02:43:57", "url": "https://files.pythonhosted.org/packages/91/88/729f6c138e1b083db1a14fe31a57c0fe70f1ff805cb28359fb6179e99bf5/pandas_schema-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d41117a8ac1f2aee8fe4999be1e87c7d", "sha256": "2b10de22f61e4e4119e6de3e41871d4b484176eb70e36b820530cde58e2fc7a6" }, "downloads": -1, "filename": "pandas_schema-0.3.0.tar.gz", "has_sig": false, "md5_digest": "d41117a8ac1f2aee8fe4999be1e87c7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11239, "upload_time": "2017-01-06T02:44:00", "url": "https://files.pythonhosted.org/packages/f1/1d/d77f27258cc99377d27e81f7bd8b5b3cbedc0ea3a88f6412cb4020060f3d/pandas_schema-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "b61132ab7320f6083cd61eed52303ef0", "sha256": "018fb01812ed62a248ec287c4db1e7214e72a33bf7285d7d313fc19997ce323a" }, "downloads": -1, "filename": "pandas_schema-0.3.1-py3.5.egg", "has_sig": false, "md5_digest": "b61132ab7320f6083cd61eed52303ef0", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 18905, "upload_time": "2017-01-09T01:25:52", "url": "https://files.pythonhosted.org/packages/99/4a/8bdcddcefba1c1290689487705fb34b7076a5fa7165261aeeac25ad8a2d5/pandas_schema-0.3.1-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "4f4dd1fa10cf2892cdaaac656df2bf45", "sha256": "61d2d19350989f56d19d3b4c65049dc40035b9c792812c7de0b01894b8def157" }, "downloads": -1, "filename": "pandas_schema-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4f4dd1fa10cf2892cdaaac656df2bf45", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10516, "upload_time": "2017-01-09T01:25:50", "url": "https://files.pythonhosted.org/packages/f2/8c/5aef19521e6a1d2006721497acbb100ef93d13602cc93da3ccc56a4a6e18/pandas_schema-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "544588ac9b519e0d82640c6a5cd0bcd0", "sha256": "b751a2fd7da28129417cfef7a2823653d41b83a10f4adec27e210986bc273371" }, "downloads": -1, "filename": "pandas_schema-0.3.1.tar.gz", "has_sig": false, "md5_digest": "544588ac9b519e0d82640c6a5cd0bcd0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11362, "upload_time": "2017-01-09T01:25:54", "url": "https://files.pythonhosted.org/packages/86/06/8a3ec6fc1e8696b469d5a8f51594b5622ff49f579ce95763fc4a1fda548c/pandas_schema-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "f50e8f6fd0565b8dc72df103811cd3ae", "sha256": "97350845fc26f9574cefe4c8e826dfd8a49049d5e708e44be8d654c84828f0f7" }, "downloads": -1, "filename": "pandas_schema-0.3.2-py3.6.egg", "has_sig": false, "md5_digest": "f50e8f6fd0565b8dc72df103811cd3ae", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 19394, "upload_time": "2018-04-19T08:14:12", "url": "https://files.pythonhosted.org/packages/7a/21/13a0f648832814408e48b2c6d42acf64f8c88f093abe7c12b80d8d58ca92/pandas_schema-0.3.2-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "075ca7a8fae950f62055e94492e34386", "sha256": "d1e5ac4b3794e5d7b5cbadd91c1a61453459356c1c4915804f17f781e2a99b45" }, "downloads": -1, "filename": "pandas_schema-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "075ca7a8fae950f62055e94492e34386", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10781, "upload_time": "2018-04-19T08:14:10", "url": "https://files.pythonhosted.org/packages/45/ac/c41262d809a9935668503108ed9d09283759ec3942c01bad9d103cba7643/pandas_schema-0.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dbcda14b8d47fd563d99048d298aad9b", "sha256": "21293757a29052c15fdc09e54539a34b94fd0d93792792411fa911c4702ae95c" }, "downloads": -1, "filename": "pandas_schema-0.3.2.tar.gz", "has_sig": false, "md5_digest": "dbcda14b8d47fd563d99048d298aad9b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13475, "upload_time": "2018-04-19T08:14:13", "url": "https://files.pythonhosted.org/packages/51/6f/d609e55ee9821c96b43b2ac654384c46de5360a4e617b4497d9e6b90b35d/pandas_schema-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "78b9ffc5c2fa75d32e6d8f5ea9f7efc9", "sha256": "439912ea57d7d8f9343d4ab85a4c330bde690fe506526de0c1e69c428a9b57ff" }, "downloads": -1, "filename": "pandas_schema-0.3.3-py3.6.egg", "has_sig": false, "md5_digest": "78b9ffc5c2fa75d32e6d8f5ea9f7efc9", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 19620, "upload_time": "2019-05-01T23:36:05", "url": "https://files.pythonhosted.org/packages/5d/cd/69c52acb797b898a3de71100eddd34f3a7b8f792b941639fb3650fa3ebad/pandas_schema-0.3.3-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "f29d142f867701e410c2847eb2614f3b", "sha256": "74f499b428c25322b6198c269fe42c6a74d0ba9f7d0aee0713445240ba745a2d" }, "downloads": -1, "filename": "pandas_schema-0.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "f29d142f867701e410c2847eb2614f3b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10852, "upload_time": "2019-05-01T23:36:04", "url": "https://files.pythonhosted.org/packages/3e/f8/090e00bbf4de86d2c608f21235d96b0e867c26a6134fe679c4e1dd8d73a1/pandas_schema-0.3.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c4cac51af47b721b8454872d5a6dca24", "sha256": "9c9ee8c4ed7d15c69c4779f995cf18733b83604d289d4de787e3b4bbe9861e89" }, "downloads": -1, "filename": "pandas_schema-0.3.3.tar.gz", "has_sig": false, "md5_digest": "c4cac51af47b721b8454872d5a6dca24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13937, "upload_time": "2019-05-01T23:36:07", "url": "https://files.pythonhosted.org/packages/7a/ba/cee9ccdce8093cbce4535cc8f3aaadfc4c4778805da9eb4e962762537bbd/pandas_schema-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "e1cde107a054c4dba101c22b4cd40c64", "sha256": "e205758624c34911768393b65aeebcaaa5aa0f3e937fa9627b2e1456781ec5eb" }, "downloads": -1, "filename": "pandas_schema-0.3.4-py3.6.egg", "has_sig": false, "md5_digest": "e1cde107a054c4dba101c22b4cd40c64", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 19750, "upload_time": "2019-05-09T05:54:25", "url": "https://files.pythonhosted.org/packages/20/32/a6e52db96a66c47dfa14bc67de1153a6a20657452a5979e58d67cc29dfde/pandas_schema-0.3.4-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "c779f52e0d29c5484e13b72de4e8881c", "sha256": "33043e8bc102b28cde641a7c73466f725e19d73f198c514a1bbfc6cd9c85d204" }, "downloads": -1, "filename": "pandas_schema-0.3.4-py3-none-any.whl", "has_sig": false, "md5_digest": "c779f52e0d29c5484e13b72de4e8881c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10956, "upload_time": "2019-05-09T05:54:23", "url": "https://files.pythonhosted.org/packages/59/19/33bb47cc354a540980a6f3ec5a15d69cca5fbb240eecced4524c4e934e0c/pandas_schema-0.3.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "35d8fe25568709f7d18684c5ea285ade", "sha256": "1b4e86332d3f8e4efa162472fe87005a4fbf2613cacb292b8ba613484d6999ee" }, "downloads": -1, "filename": "pandas_schema-0.3.4.tar.gz", "has_sig": false, "md5_digest": "35d8fe25568709f7d18684c5ea285ade", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14221, "upload_time": "2019-05-09T05:54:26", "url": "https://files.pythonhosted.org/packages/3a/f9/7710e5be3819956f06730b3b6920e658eb25610e1d75b4e5e0890bd196d4/pandas_schema-0.3.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e1cde107a054c4dba101c22b4cd40c64", "sha256": "e205758624c34911768393b65aeebcaaa5aa0f3e937fa9627b2e1456781ec5eb" }, "downloads": -1, "filename": "pandas_schema-0.3.4-py3.6.egg", "has_sig": false, "md5_digest": "e1cde107a054c4dba101c22b4cd40c64", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 19750, "upload_time": "2019-05-09T05:54:25", "url": "https://files.pythonhosted.org/packages/20/32/a6e52db96a66c47dfa14bc67de1153a6a20657452a5979e58d67cc29dfde/pandas_schema-0.3.4-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "c779f52e0d29c5484e13b72de4e8881c", "sha256": "33043e8bc102b28cde641a7c73466f725e19d73f198c514a1bbfc6cd9c85d204" }, "downloads": -1, "filename": "pandas_schema-0.3.4-py3-none-any.whl", "has_sig": false, "md5_digest": "c779f52e0d29c5484e13b72de4e8881c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10956, "upload_time": "2019-05-09T05:54:23", "url": "https://files.pythonhosted.org/packages/59/19/33bb47cc354a540980a6f3ec5a15d69cca5fbb240eecced4524c4e934e0c/pandas_schema-0.3.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "35d8fe25568709f7d18684c5ea285ade", "sha256": "1b4e86332d3f8e4efa162472fe87005a4fbf2613cacb292b8ba613484d6999ee" }, "downloads": -1, "filename": "pandas_schema-0.3.4.tar.gz", "has_sig": false, "md5_digest": "35d8fe25568709f7d18684c5ea285ade", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14221, "upload_time": "2019-05-09T05:54:26", "url": "https://files.pythonhosted.org/packages/3a/f9/7710e5be3819956f06730b3b6920e658eb25610e1d75b4e5e0890bd196d4/pandas_schema-0.3.4.tar.gz" } ] }