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.STATEMENTS,
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.get_field(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.8.0.tar.gz
(12.4 MB
view details)
Built Distribution
File details
Details for the file tungsten_sds-0.8.0.tar.gz
.
File metadata
- Download URL: tungsten_sds-0.8.0.tar.gz
- Upload date:
- Size: 12.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.2 CPython/3.10.2 Linux/5.15.0-1034-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65d3d11768036bbdb2a65a8a06cb5b08e81091b7b3a9ca35a670096d36f9345c |
|
MD5 | e5e9c90476bf6ddf0fa9db769d525df1 |
|
BLAKE2b-256 | 8ef0d61b3a1af1838c479d060c5dc68a5bd20876f0fbfbee6db3742b518b97ed |
File details
Details for the file tungsten_sds-0.8.0-py3-none-any.whl
.
File metadata
- Download URL: tungsten_sds-0.8.0-py3-none-any.whl
- Upload date:
- Size: 12.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.2 CPython/3.10.2 Linux/5.15.0-1034-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | de1ec38287e0a315fda837f34fd125899428fcff4fe7125c1868fcb45fecfceb |
|
MD5 | c9feb6eed844394ad65b7b1784b20cd5 |
|
BLAKE2b-256 | 3bfafff50d3393a579d0f16fe612cc58bef1826d93a29ecdd53d900498256925 |