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