License: COPYRIGHT THIS SOFTWARE AND ITS DOCUMENTATION ARE CONSIDERED TO BE IN THE PUBLIC DOMAIN AND THUS ARE AVAILABLE FOR UNRESTRICTED PUBLIC USE. THEY ARE FURNISHED "AS IS." THE AUTHORS, THE UNITED STATES GOVERNMENT, ITS INSTRUMENTALITIES, OFFICERS, EMPLOYEES, AND AGENTS MAKE NO WARRANTY, EXPRESS OR IMPLIED, AS TO THE USEFULNESS OF THE SOFTWARE AND DOCUMENTATION FOR ANY PURPOSE. THEY ASSUME NO RESPONSIBILITY (1) FOR THE USE OF THE SOFTWARE AND DOCUMENTATION; OR (2) TO PROVIDE TECHNICAL SUPPORT TO USERS. Introduction Welcome to the python-commons package. This project intends to provide useful python modules for use across the NOAA agency. Special Note This project is currently under initial development. Purpose The purpose of this project is to promote uniformity and code reuse across the NCEI agency. Architecture and Design A primary design philosophy of this project is to be mostly modular with high reuse potential. Therefore, modules should be written in a way that promotes grouping of common functions and factoring to a point where modules could be split off to be used for other projects. Another primary design philosophy of this project is to use functional techniques wherever possible. Module parts should be written so that they do not alter the state of their inputs, and do not rely on other parts for changing their states. Another primary design philosophy of this project is to use concise, modern, and optimized techniques as a matter of preference. Therefore, generators are preferred to list comprehensions, which are preferred to explicit for loops. devnotes 1