An MSDS parser.
Project description
Installation
Tungsten is available on PyPi via pip. To install, run the following command:
pip install tungsten-sds
Usage Example
import json
from pathlib import Path
from tungsten import SigmaAldrichSdsParser, SdsQueryFieldName, \
SigmaAldrichFieldMapper
sds_parser = SigmaAldrichSdsParser()
sds_path = Path("CERILLIAN_L-001.pdf")
# Convert PDF file to parsed data
with open(sds_path, "rb") as f:
sds = sds_parser.parse_to_ghs_sds(f)
field_mapper = SigmaAldrichFieldMapper()
fields = [
SdsQueryFieldName.PRODUCT_NAME,
SdsQueryFieldName.PRODUCT_NUMBER,
SdsQueryFieldName.CAS_NUMBER,
SdsQueryFieldName.PRODUCT_BRAND,
SdsQueryFieldName.RECOMMENDED_USE_AND_RESTRICTIONS,
SdsQueryFieldName.SUPPLIER_ADDRESS,
SdsQueryFieldName.SUPPLIER_TELEPHONE,
SdsQueryFieldName.SUPPLIER_FAX,
SdsQueryFieldName.EMERGENCY_TELEPHONE,
SdsQueryFieldName.IDENTIFICATION_OTHER,
SdsQueryFieldName.SUBSTANCE_CLASSIFICATION,
SdsQueryFieldName.PICTOGRAM,
SdsQueryFieldName.SIGNAL_WORD,
SdsQueryFieldName.HNOC_HAZARD,
]
# Serialize parsed data to JSON and dump to a file
with open(sds_path.stem + ".json", "w") as f:
sds.dump(f)
# Also print out mapped fields
for field in fields:
print(field.name, field_mapper.getField(field, json.loads(sds.dumps())))
License
This work is licensed under MIT. Media assets in the assets
directory are licensed under a
Creative Commons Attribution-NoDerivatives 4.0 International Public License.
Notes
This library currently comes bundled with a new build of tabula-java
, which is also licensed
under MIT, to see the full license, see https://github.com/tabulapdf/tabula-java/blob/master/LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
tungsten_sds-0.7.0.tar.gz
(12.4 MB
view hashes)
Built Distribution
Close
Hashes for tungsten_sds-0.7.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c5c18185c464c62f1ad3fc23302bbc862fd6ae7693e65c79b5bdd88d900fc71 |
|
MD5 | d90cf0c3ffce200dbeedb8146661159f |
|
BLAKE2b-256 | 4dd35897aa24c5fa91c33f430a6e2432c448fc6898ba20de92a549d4db48f801 |