{ "info": { "author": "A. Stepe", "author_email": "aris@stepe.email", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "![alt text](https://github.com/astepe/sds_parser/blob/master/LogoSample_ByTailorBrands.jpg)\n\n## SDSParser\nSDSParser is a browser-based app for extracting chemical data from Safety Data Sheet documents. SDSParser will speed up your\ndata-entry process by eliminating the need to read through Safety Data Sheets to get the data you care about.\n\nFor a live demo, click here: [SDSParser](http://www.arisstepe.com/projects/submit_sds)\n\nFor testing purposes, here are some SDS files to download and use:\n* [Fisher Scientific](https://www.fishersci.com/store/msds?partNumber=M2131&productDescription=MET+ISOBUTYL+KETONE+CR+ACS+1L&vendorId=VN00033897&countryCode=US&language=en)\n* [Sigma Aldrich](https://www.sigmaaldrich.com/MSDS/MSDS/DisplayMSDSPage.do?country=US&language=en&productNumber=P5958&brand=SIGALD&PageToGoToURL=https%3A%2F%2Fwww.sigmaaldrich.com%2Fcatalog%2Fsearch%3Fterm%3Dpotassium%26interface%3DAll%26N%3D0%26mode%3Dmatch%2520partialmax%26lang%3Den%26region%3DUS%26focus%3Dproduct)\n\n## Motivation\nBuilt out of the need to quickly access chemical data from Safety Data Sheets for data-entry purposes. Each chemical manufacturer will stylize and structure their SDSs a little bit differently. SDSParser can easily be updated to read a new manufacturer format by adding a new set of regular expressions to match the format that that specific manufacturer uses.\n\n## Tech/framework used\n* [pdfminer](https://github.com/euske/pdfminer), a tool for extracting information from PDF documents\n* [pytesseract](https://pypi.org/project/pytesseract/), a python wrapper for Google's Tesseract-OCR\n\n## Features\nHave some physical SDSs you need to scan and get data from? Have no fear, sds_parser will recognize your scanned file as an image and perform optical character recognition (ocr) to extract the text for you.\n\n## How to install\n\n`pip install SDSParser`\n\n## How to use\nSimply initialize `SDSParser` with an optional list of data fields you wish to extract (e.g. ['manufacturer', 'flash_point']) to the `request_keys` key-word argument. See `configs.SDSRegexes.REQUEST_KEYS` for the proper keys to use. If no keys are requested, all available data fields will be searched.\n\n```\n>>> from sdsparser import SDSParser\n>>> request_keys = ['manufacturer', 'flash_point', 'specific_gravity', 'product_name', 'sara_311', 'nfpa_fire']\n>>> parser = SDSParser(request_keys=request_keys)\n```\n\nHere is a list of the keys to use.\n```\n>>> from sdsparser.configs.SDSRegexes import REQUEST_KEYS\n>>> REQUEST_KEYS\n[\n 'manufacturer',\n 'product_name',\n 'flash_point',\n 'specific_gravity',\n 'nfpa_fire',\n 'nfpa_health',\n 'nfpa_reactivity',\n 'sara_311',\n 'revision_date',\n 'physical_state',\n 'cas_number',\n]\n```\n\nCall `parser.get_sds_data('path/to/ExampleSDS.pdf')` and pass in the path to your SDS document to get the sds data.\n\n```\n>>> sds_data = parser.get_sds_data('path/to/SafetyDataSheet.pdf')\n```\n\n`.get_sds_data` returns a dictionary object mapping request key names to their corresponding matches\n\n```\n>>> sds_data\n{\n 'manufacturer': 'Sigma-Aldrich',\n 'product_name': 'Sodium dodecyl sulfate',\n 'flash_point': '338 F',\n 'specific_gravity': '3.2',\n 'sara_311': 'Data not listed'\n 'nfpa_fire': 'No data available'\n}\n```\n\nIf the heading for the requested data type is not found in the SDS, `.get_sds_data` will return the string 'Data not listed'.\nIf the heading is found, but no data is found under it, `.get_sds_data` will return the string 'No data available'.\n\n## SDSParser-cli\n\nIn your terminal\n\n```\npath/to/sds/directory $ sdsparser parse --flash_point --specific_gravity\n{'fisher_1.pdf': {'flash_point': 'No data available',\n 'specific_gravity': 'No data available'},\n 'fisher_2.pdf': {'flash_point': 'No data available',\n 'specific_gravity': 'No data available'},\n 'fisher_3.pdf': {'flash_point': 'No data available',\n 'specific_gravity': '1.84'},\n 'fisher_5.pdf': {'flash_point': 'No data available',\n 'specific_gravity': 'No data available'}}\n```\nor\n```\npath/to/sds/directory $ sdsparser parse --csv\npath/to/sds/directory $ cat sds_data.csv\nFisher,Data not listed,No data available,No data available,1,0,0,/312 Hazard CategoriesSee section 2 for more informationCWA (Clean Water Act)Not,26-Jan-2018,Powder,Data not listed\nFisher,\"Salicylic acid, sodium salt\",No data available,(etc...)\n```\nfor more information\n```\n$ sdsparser --help\n```\nor\n```\n$ sdsparser parse --help\n```\n\n## License\n\nMIT \u00a9 [Aris Stepe](http://www.arisstepe.com/)\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/astepe/sds_parser", "keywords": "", "license": "LICENSE.txt", "maintainer": "", "maintainer_email": "", "name": "SDSParser", "package_url": "https://pypi.org/project/SDSParser/", "platform": "", "project_url": "https://pypi.org/project/SDSParser/", "project_urls": { "Homepage": "https://github.com/astepe/sds_parser" }, "release_url": "https://pypi.org/project/SDSParser/0.2.2/", "requires_dist": [ "Pillow (<5.5.0,>=5.4.1)", "chardet (>=3.0.4,<3.1)", "pdf2image (>=1.4.0,<1.5)", "pdfminer.six (==20181108)", "pycryptodome (>=3.7.3,<3.8.0)", "pytesseract (>=0.2.6,<0.3.0)", "six (>=1.12.0,<2.0.0)", "sortedcontainers (>=2.1.0,<2.2.0)", "tabulate (>=0.8.3,<0.9.0)", "tqdm (>=4.31.1,<4.32.0)" ], "requires_python": "", "summary": "Extract chemical data from Safety Data Sheet documents", "version": "0.2.2" }, "last_serial": 5215060, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "8e9d608b583547bc0b9ddf3b1e9f2463", "sha256": "eac9070f6698cf717af607afbb764e9788372b272e725406a7ec43d990581634" }, "downloads": -1, "filename": "SDSParser-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "8e9d608b583547bc0b9ddf3b1e9f2463", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14437, "upload_time": "2019-02-25T14:29:30", "url": "https://files.pythonhosted.org/packages/0f/3f/4c8052342f16748467e7f6c1bed085b964ec2a8572bb0fe90d2b076cdf57/SDSParser-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4b19b0cb9d02cdf92ff386eca1ac6b29", "sha256": "bfc3add3b4c52ae261b67ec6ede1195f12791c5525133bf7421b906ce0cf5c1b" }, "downloads": -1, "filename": "SDSParser-0.1.2.tar.gz", "has_sig": false, "md5_digest": "4b19b0cb9d02cdf92ff386eca1ac6b29", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10325, "upload_time": "2019-02-25T14:29:49", "url": "https://files.pythonhosted.org/packages/20/d7/e2d46a52683507e22abbd3df09fe8d06e2393d82a4d06a60453aea56eb4e/SDSParser-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "ccf2659639c585a2bb06f14599852464", "sha256": "9c665e7b196070d805a78371c6665d5c3b5905e9499dc4247cbf0ab1258c1aba" }, "downloads": -1, "filename": "SDSParser-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ccf2659639c585a2bb06f14599852464", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14847, "upload_time": "2019-02-25T16:33:24", "url": "https://files.pythonhosted.org/packages/3f/5d/45a1dae8f1e91346c016283c39ca692716f99c6a586d4ba390e9d688fb35/SDSParser-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9e4da1306ce7012f754a199416f2c199", "sha256": "0f4167a18218cbee3c86c18d7bdaf92aeddd01654c42a79fe8b2147344417925" }, "downloads": -1, "filename": "SDSParser-0.1.3.tar.gz", "has_sig": false, "md5_digest": "9e4da1306ce7012f754a199416f2c199", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10853, "upload_time": "2019-02-25T16:33:26", "url": "https://files.pythonhosted.org/packages/48/d8/0e1720c08828c612a6ee1fc7dfbf6d5774d75e9ffc053e42b7fd5e0daa1c/SDSParser-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "3f767964006d7409cf5acad438a49d22", "sha256": "8b970a0d52134fbebb81cae092338eb58375977f6b1d4140bd9195c5ead5a50d" }, "downloads": -1, "filename": "SDSParser-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "3f767964006d7409cf5acad438a49d22", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15137, "upload_time": "2019-03-02T05:39:32", "url": "https://files.pythonhosted.org/packages/24/df/e315fac14363b717e9a3d8b6652e167b467848572e8fcc349b4f3bac6dd6/SDSParser-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "41951c6c0a8e6c9a91fbfa40d4876b48", "sha256": "36c42a0617a59423bc15e7e1e2addeca994d5fce0a438f47686b71e318c3ca6a" }, "downloads": -1, "filename": "SDSParser-0.1.4.tar.gz", "has_sig": false, "md5_digest": "41951c6c0a8e6c9a91fbfa40d4876b48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10672, "upload_time": "2019-03-02T05:39:33", "url": "https://files.pythonhosted.org/packages/21/43/d0cbd73424c89c7ccb011b6b7e7d2f496064e5cff6c373a4b59a14dfcce7/SDSParser-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "0c3cae9349eaa55e6c7a2626586d2f8d", "sha256": "a372f0c47b2b24dce063b8d82d55535517ae8c2f39b8bb3acc2276015c1145a3" }, "downloads": -1, "filename": "SDSParser-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "0c3cae9349eaa55e6c7a2626586d2f8d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15200, "upload_time": "2019-03-02T05:45:49", "url": "https://files.pythonhosted.org/packages/06/5f/ee91d268f18af37a32980717ef15f08a2a3a82cec8677f2f77635c4695d1/SDSParser-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c7ed46c3ae58cb9b2444962b1f7c496f", "sha256": "6b87149858d713f14badf0ea204bc7f9ae8165b582feb7c3d011dfda12ed0f3b" }, "downloads": -1, "filename": "SDSParser-0.1.5.tar.gz", "has_sig": false, "md5_digest": "c7ed46c3ae58cb9b2444962b1f7c496f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10700, "upload_time": "2019-03-02T05:45:50", "url": "https://files.pythonhosted.org/packages/72/11/d5d470f6e6a2bf7353888aba3dbeaaa2893c310b8dcf110ead70fb003110/SDSParser-0.1.5.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "93daa90fb18855383eba988b60865e65", "sha256": "62fb50895e5d4c8af383d9d98cb4694a5dd9b2970e7b39cb94f06120aa4cfaac" }, "downloads": -1, "filename": "SDSParser-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "93daa90fb18855383eba988b60865e65", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15437, "upload_time": "2019-04-29T16:31:00", "url": "https://files.pythonhosted.org/packages/af/92/1bca2b602a6faa69611eb783850b41dd73d1df5f8b03a08dffca6ca08b10/SDSParser-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1479e6adabf5b42d7733bb0d491da25f", "sha256": "4e5f12935f4f7cef6b2aee279c21988d0b1952d6b36e367d61dab26ea166f27d" }, "downloads": -1, "filename": "SDSParser-0.2.0.tar.gz", "has_sig": false, "md5_digest": "1479e6adabf5b42d7733bb0d491da25f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9358, "upload_time": "2019-04-29T16:31:07", "url": "https://files.pythonhosted.org/packages/ea/b8/677cbdaf74846b437ede2f7ae4a0453988a583c6ee43a501ed237361c3f6/SDSParser-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "67bcecd1dbea7ff34bee05211298c6f8", "sha256": "5a89803ee4ddaa2854c6419ed5fcb7f78f8a7a10ab86de24584b5cbf46d2410f" }, "downloads": -1, "filename": "SDSParser-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "67bcecd1dbea7ff34bee05211298c6f8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22245, "upload_time": "2019-05-02T00:52:10", "url": "https://files.pythonhosted.org/packages/f0/ad/b583726467e27d645740338204860cdc6609361cef20f9269847793ce5d9/SDSParser-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9943e047bf51be6019f3f8df917a61b7", "sha256": "bf651854f721ca99c5c0f444d357d2ba8d8d3e181975f9d1f781885b35ee2ddc" }, "downloads": -1, "filename": "SDSParser-0.2.1.tar.gz", "has_sig": false, "md5_digest": "9943e047bf51be6019f3f8df917a61b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12660, "upload_time": "2019-05-02T00:52:11", "url": "https://files.pythonhosted.org/packages/8a/b4/db671ad1f67c1c33f667ea19221bf58d5bc1e14cc3bc0c2318b9b01498c1/SDSParser-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "5fdc7bac215100e4c1a37a63a206afaf", "sha256": "75ece68ee690c819e9f027cf337920eeb25cf146432cc9afb69b8dc95ad74c69" }, "downloads": -1, "filename": "SDSParser-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "5fdc7bac215100e4c1a37a63a206afaf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24465, "upload_time": "2019-05-02T01:43:02", "url": "https://files.pythonhosted.org/packages/cb/2f/94c52d12a256b666a0557589f2bbe1386823cecfc56e00133d032a30765b/SDSParser-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "56048a40475a43b1e234a5e181e34a1d", "sha256": "d95a1c6bf4222260824b4cf4abb59befd1b72ce9962dabf094dc36b1ee05ac19" }, "downloads": -1, "filename": "SDSParser-0.2.2.tar.gz", "has_sig": false, "md5_digest": "56048a40475a43b1e234a5e181e34a1d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12723, "upload_time": "2019-05-02T01:43:03", "url": "https://files.pythonhosted.org/packages/3b/6f/e28e8cf850bfed22a9f8658d9f716c342d1ba87a96ce1fcab035a6077e55/SDSParser-0.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5fdc7bac215100e4c1a37a63a206afaf", "sha256": "75ece68ee690c819e9f027cf337920eeb25cf146432cc9afb69b8dc95ad74c69" }, "downloads": -1, "filename": "SDSParser-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "5fdc7bac215100e4c1a37a63a206afaf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24465, "upload_time": "2019-05-02T01:43:02", "url": "https://files.pythonhosted.org/packages/cb/2f/94c52d12a256b666a0557589f2bbe1386823cecfc56e00133d032a30765b/SDSParser-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "56048a40475a43b1e234a5e181e34a1d", "sha256": "d95a1c6bf4222260824b4cf4abb59befd1b72ce9962dabf094dc36b1ee05ac19" }, "downloads": -1, "filename": "SDSParser-0.2.2.tar.gz", "has_sig": false, "md5_digest": "56048a40475a43b1e234a5e181e34a1d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12723, "upload_time": "2019-05-02T01:43:03", "url": "https://files.pythonhosted.org/packages/3b/6f/e28e8cf850bfed22a9f8658d9f716c342d1ba87a96ce1fcab035a6077e55/SDSParser-0.2.2.tar.gz" } ] }