This program is designed to find and download safety data sheet of chemical using CAS number.
- Provided with a list of CAS numbers, this program searches and downloads safety
data sheet (SDS) into a designated folder. If a download folder is not provided,
SDS will be downloaded into folder 'SDS' inside folder
find_sds
. - This program uses multithreading to speed up the download process. By default, ten threads are used but it can be changed depends on running computer.
- Downloaded SDS are saved as '<CAS_Number>-SDS.pdf'
- Lookup databases include:
- Python 3.10+
- Dependencies
-
Clone this repository:
$ git clone https://github.com/khoivan88/find_sds.git #if you have git # if you don't have git, you can download the zip file then unzip
-
Change into the directory of the program:
$ cd find_sds
-
(Optional): create virtual environment for python to install dependency: Note: you can change
find_sds_venv
to another name if desired.$ python -m venv find_sds_venv # Create virtual environment $ source find_sds_venv/bin/activate # Activate the virtual environment on Linux # find_sds_venv\Scripts\activate # Activate the virtual environment on Windows
-
Install python dependencies:
$ pip install -r requirements.txt
-
Example usage:
$ python
>>> from find_sds.find_sds import find_sds >>> cas_list = ['141-78-6', '110-82-7', '67-63-0', '75-09-2', '109-89-7', ... '872-50-4', '68-12-2', '96-47-9', '111-66-0', '110-54-3', ... '00000-00-0', # invalid CAS number, or unknown CAS ... ] >>> download_path = 'SDS' >>> find_sds(cas_list=cas_list, download_path=download_path, pool_size=10) Downloading missing SDS files. Please wait! Searching for 96-47-9-SDS.pdf ... Searching for 110-82-7-SDS.pdf ... Searching for 141-78-6-SDS.pdf ... Searching for 872-50-4-SDS.pdf ... Searching for 00000-0-0-SDS.pdf ... Searching for 111-66-0-SDS.pdf ... Searching for 110-54-3-SDS.pdf ... Searching for 75-09-2-SDS.pdf ... Searching for 68-12-2-SDS.pdf ... Searching for 67-63-0-SDS.pdf ... Searching for 109-89-7-SDS.pdf ... Still missing SDS: {'00000-00-0'} Summary: 1 SDS files are missing. 10 SDS files downloaded. (Optional): you can turn on debug mode (more error printing during search) using the following command: python find_sds/find_sds.py --debug >>>
See here for the most up-to-date