1#----------------------------------------------------------------------------- 2# Copyright (c) 2012 - 2021, Anaconda, Inc., and Bokeh Contributors. 3# All rights reserved. 4# 5# The full license is in the file LICENSE.txt, distributed with this software. 6#----------------------------------------------------------------------------- 7''' Provide a periodic table data set. It exposes an attribute ``elements`` 8which is a pandas Dataframe with the following fields: 9 10.. code-block:: python 11 12 elements['atomic Number'] (units: g/cm^3) 13 elements['symbol'] 14 elements['name'] 15 elements['atomic mass'] (units: amu) 16 elements['CPK'] (convention for molecular modeling color) 17 elements['electronic configuration'] 18 elements['electronegativity'] (units: Pauling) 19 elements['atomic radius'] (units: pm) 20 elements['ionic radius'] (units: pm) 21 elements['van der waals radius'] (units: pm) 22 elements['ionization enerygy'] (units: kJ/mol) 23 elements['electron affinity'] (units: kJ/mol) 24 elements['phase'] (standard state: solid, liquid, gas) 25 elements['bonding type'] 26 elements['melting point'] (units: K) 27 elements['boiling point'] (units: K) 28 elements['density'] (units: g/cm^3) 29 elements['type'] (see below) 30 elements['year discovered'] 31 elements['group'] 32 elements['period'] 33 34where element types are: 35 36 actinoid 37 alkali metal 38 alkaline earth metal 39 halogen, 40 lanthanoid 41 metal 42 metalloid 43 noble gas 44 nonmetal 45 transition metalloid 46 47''' 48 49#----------------------------------------------------------------------------- 50# Boilerplate 51#----------------------------------------------------------------------------- 52import logging # isort:skip 53log = logging.getLogger(__name__) 54 55#----------------------------------------------------------------------------- 56# Imports 57#----------------------------------------------------------------------------- 58 59# Bokeh imports 60from ..util.sampledata import package_csv 61 62#----------------------------------------------------------------------------- 63# Globals and constants 64#----------------------------------------------------------------------------- 65 66__all__ = ( 67 'elements', 68) 69 70#----------------------------------------------------------------------------- 71# General API 72#----------------------------------------------------------------------------- 73 74#----------------------------------------------------------------------------- 75# Dev API 76#----------------------------------------------------------------------------- 77 78#----------------------------------------------------------------------------- 79# Private API 80#----------------------------------------------------------------------------- 81 82#----------------------------------------------------------------------------- 83# Code 84#----------------------------------------------------------------------------- 85 86elements = package_csv('periodic_table', 'elements.csv') 87