PySMILESUtils strives to make the use of SMILES for deep learning applications even easier by providing reusable and flexible objects for turning SMILES into tensors for deep learning, and sampled tensors back to SMILES again, as illustrated in Figure . SMILES strings can be tokenized in different ways, the most simple isto encode each character as a token. However, single atoms are often encoded on their own, so that e.g. chlorine "Cl" and bromine "Br" have their own token and can easily be distinguished from carbon "C" and boron "B". The tokenization class supports different tokenization schemes and can use regular expression patterns or explicit token patterns to search for tokens in the strings in the dataset. The token patterns are used to analyze the dataset and build the vocabulary that contains the translation table between tokens and integer indexes or one-hot encoding. For multicharacter tokens with potential overlap, ambiguity can exists, as example if both "ccc", "cc" and "c" token patterns exits. In that instance the order in the token list is important, as the tokens are extracted in order. Additionally. a class for data augmentation of the SMILES is also provided, as are PyTorch compatible datasets and dataloaders. , or by randomizing the string during SMILES creation .