Skip to main content

Python API with a database of atomic properties for elements in the periodic table

Project description

Documentation Status

This package provides an API for accessing various properties of elements from the periodic table of elements.

Data

Following electronegativity scales are available either as stored values or computed on request from other properties:

  • Allen

  • Allred & Rochow

  • Cottrell & Sutton

  • Ghosh

  • Gordy

  • Li & Xue

  • Nagle

  • Martynov & Batsanov

  • Mulliken

  • Pauling

  • Sanderson

The following data are currently available:

Name

Type

Comment

Unit

Data Source

abundance_crust

float

Abundance in the Earth’s crust

mg/kg

[8]

abundance_sea

float

Abundance in the seas

mg/L

[8]

annotation

str

Annotations regarding the data

atomic_number

int

Atomic number

atomic_radius

float

Atomic radius

pm

atomic_volume

float

Atomic volume

cm3/mol

atomic_weight

float

Atomic weight

[36], [37]

atomic_weight_uncertainty

float

Atomic volume

[36], [37]

block

int

Block in periodic table

boiling_point

float

Boiling temperature

K

c6

float

C_6 dispersion coefficient in a.u.

a.u.

[1], [2]

c6_gb

float

C_6 dispersion coefficient in a.u. (Gould & Bučko)

a.u.

[35]

covalent_radius_bragg

float

Covalent radius by Bragg

pm

[3]

covalent_radius_cordero

float

Covalent radius by Cerdero et al.

pm

[4]

covalent_radius_pyykko

float

Covalent radius by Pyykko et al.

pm

[5]

covalent_radius_slater

float

Covalent radius by Slater

pm

[6]

cpk_color

str

Element color in CPK convention

HEX

[24]

density

float

Density at 295K

g/cm3

description

str

Short description of the element

dipole_polarizability

float

Dipole polarizability

a.u.

[7]

electron_affinity

float

Electron affinity

eV

[8], [9]

electrons

int

Number of electrons

en_allen

float

Allen’s scale of electronegativity

eV

[10], [11]

en_ghosh

float

Ghosh’s scale of electronegativity

[32]

en_mulliken

float

Mulliken’s scale of electronegativity

eV

[12]

en_pauling

float

Pauling’s scale of electronegativity

[8]

econf

str

Ground state electron configuration

evaporation_heat

float

Evaporation heat

kJ/mol

fusion_heat

float

Fusion heat

kJ/mol

gas_basicity

float

Gas basicity

kJ/mol

[8]

group

int

Group in periodic table

heat_of_formation

float

Heat of formation

kJ/mol

[8]

ionenergy

tuple

Ionization energies

eV

[13]

ionic_radii

list

Ionic and crystal radii in pm

pm

[14]

is_monoisotopic

bool

Is the element monoisotopic

is_radioactive

bool

Is the element radioactive

isotopes

list

Isotopes

jmol_color

str

Element color in Jmol convention

HEX

[25]

lattice_constant

float

Lattice constant

Angstrom

lattice_structure

str

Lattice structure code

mass_number

int

Mass number (most abundant isotope)

melting_point

float

Melting temperature

K

molcas_gv_color

str

Element color in MOCAS GV convention

HEX

[26]

name

str

Name in English

neutrons

int

Number of neutrons (most abundant isotope)

oxistates

list

Oxidation states

period

int

Period in periodic table

proton_affinity

float

Proton affinity

kJ/mol

[8]

protons

int

Number of protons

sconst

float

Nuclear charge screening constants

[15], [16]

series

int

Index to chemical series

specific_heat

float

Specific heat @ 20 C

J/(g mol)

symbol

str

Chemical symbol

thermal_conductivity

float

Thermal conductivity @25 C

W/(m K)

vdw_radius

float

Van der Waals radius

pm

[8]

vdw_radius_alvarez

float

Van der Waals radius according to Alvarez

pm

[33], [34]

vdw_radius_batsanov

float

Van der Waals radius according to Batsanov

pm

[17]

vdw_radius_bondi

float

Van der Waals radius according to Bondi

pm

[18]

vdw_radius_dreiding

float

Van der Waals radius from the DREIDING FF

pm

[19]

vdw_radius_mm3

float

Van der Waals radius from the MM3 FF

pm

[20]

vdw_radius_rt

float

Van der Waals radius according to Rowland and Taylor

pm

[21]

vdw_radius_truhlar

float

Van der Waals radius according to Truhlar

pm

[22]

vdw_radius_uff

float

Van der Waals radius from the UFF

pm

[23]

Installation

The package can be installed using pip

pip install mendeleev

You can also install the most recent version from the repository:

pip install https://bitbucket.org/lukaszmentel/mendeleev/get/tip.tar.gz

Usage

The simple interface to the data is through the element method that returns the Element objects:

>>> from mendeleev import element

The element method accepts unique identifiers: atomic number, atomic symbol or element’s name in english. To retrieve the entries on Silicon by symbol type

>>> si = element('Si')
>>> si
Element(
    annotation=u'',
    atomic_number=14,
    atomic_radius=132.0,
    atomic_volume=12.1,
    block=u'p',
    boiling_point=2628.0,
    covalent_radius_2008=111.00000000000001,
    covalent_radius_2009=115.99999999999999,
    density=2.33,
    description=u"Metalloid element belonging to group 14 of the periodic table. It is the second most abundant element in the Earth's crust, making up 25.7% of it by weight. Chemically less reactive than carbon. First identified by Lavoisier in 1787 and first isolated in 1823 by Berzelius.",
    dipole_polarizability=37.31,
    ec=1s2 2s2 2p6 3s2 3p2,
    econf=u'[Ne] 3s2 3p2',
    electron_affinity=1.3895211,
    en_allen=11.33,
    en_pauling=1.9,
    evaporation_heat=383.0,
    fusion_heat=50.6,
    group_id=14,
    lattice_constant=5.43,
    lattice_structure=u'DIA',
    mass=28.0855,
    melting_point=u'1683',
    name=u'Silicon',
    period=3,
    specific_heat=0.703,
    symbol=u'Si',
    thermal_conductivity=149.0,
    vdw_radius=210.0,
)

Similarly to access the data by atomic number or element names type

>>> al = element(13)
>>> al.name
'Aluminium'
>>> o = element('Oxygen')
>>> o.atomic_number
8

Lists of elements

The element method also accepts list or tuple of identifiers and then returns a list of Element objects

>>> c, h, o = element(['C', 'Hydrogen', 8])
>>> c.name, h.name, o.name
('Carbon', 'Hydrogen', 'Oxygen')

Composite Attributes

Currently four of the attributes are more complex object than str, int or float, those are:

  • oxistates, returns a list of oxidation states

  • ionenergies, returns a dictionary of ionization energies

  • isotopes, returns a list of Isotope objects

  • ionic_radii returns a list of IonicRadius objects

Oxidation states

For examples oxistates returns a list of oxidation states for a given element

>>> fe = element('Fe')
>>> fe.oxistates
[6, 3, 2, 0, -2]

Ionization energies

The ionenergies returns a dictionary with ionization energies as values and degrees of ionization as keys.

>>> fe = element('Fe')
>>> fe.ionenergies
{1: 7.9024678,
 2: 16.1992,
 3: 30.651,
 4: 54.91,
 5: 75.0,
 6: 98.985,
 7: 125.0,
 8: 151.06,
 9: 233.6,
 10: 262.1,
 11: 290.9,
 12: 330.81,
 13: 361.0,
 14: 392.2,
 15: 456.2,
 16: 489.312,
 17: 1262.7,
 18: 1357.8,
 19: 1460.0,
 20: 1575.6,
 21: 1687.0,
 22: 1798.43,
 23: 1950.4,
 24: 2045.759,
 25: 8828.1875,
 26: 9277.681}

Isotopes

The isotopes attribute returns a list of Isotope objects with the following attributes per isotope

  • atomic_number

  • mass

  • abundance

  • mass_number

>>> fe = element('Fe')
>>> for iso in fe.isotopes:
...     print(iso)
 26   55.93494  91.75%    56
 26   56.93540   2.12%    57
 26   57.93328   0.28%    58
 26   53.93961   5.85%    54

The columns represent the attributes atomic_number, mass, abundance and mass_number respectively.

Ionic radii

Another composite attribute is ionic_radii which returns a list of IonicRadius object with the following attributes

  • atomic_number, atomic number of the ion

  • charge, charge of the ion

  • econf, electronic configuration of the ion

  • coordination, coordination type of the ion

  • spin, spin state of the ion (HS or LS)

  • crystal_radius

  • ionic_radius

  • origin, source of the data

  • most_reliable, recommended value

>>> fe = element('Fe')
>>> for ir in fe.ionic_radii:
...     print(ir)
charge=   2, coordination=IV   , crystal_radius= 0.770, ionic_radius= 0.630
charge=   2, coordination=IVSQ , crystal_radius= 0.780, ionic_radius= 0.640
charge=   2, coordination=VI   , crystal_radius= 0.750, ionic_radius= 0.610
charge=   2, coordination=VI   , crystal_radius= 0.920, ionic_radius= 0.780
charge=   2, coordination=VIII , crystal_radius= 1.060, ionic_radius= 0.920
charge=   3, coordination=IV   , crystal_radius= 0.630, ionic_radius= 0.490
charge=   3, coordination=V    , crystal_radius= 0.720, ionic_radius= 0.580
charge=   3, coordination=VI   , crystal_radius= 0.690, ionic_radius= 0.550
charge=   3, coordination=VI   , crystal_radius= 0.785, ionic_radius= 0.645
charge=   3, coordination=VIII , crystal_radius= 0.920, ionic_radius= 0.780
charge=   4, coordination=VI   , crystal_radius= 0.725, ionic_radius= 0.585
charge=   6, coordination=IV   , crystal_radius= 0.390, ionic_radius= 0.250

CLI utility

For those who work in the terminal there is a simple command line interface (CLI) for printing the information about a given element. The script name is element.py and it accepts either the symbol or name of the element as an argument and prints the data about it. For example, to print the properties of silicon type

$ element.py Si
   _  _  _  _      _
 _(_)(_)(_)(_)_   (_)
(_)          (_)_  _
(_)_  _  _  _  (_)(_)
  (_)(_)(_)(_)_   (_)
 _           (_)  (_)
(_)_  _  _  _(_)_ (_)
  (_)(_)(_)(_) (_)(_)(_)



Description
===========

  Metalloid element belonging to group 14 of the periodic table. It is
  the second most abundant element in the Earth's crust, making up 25.7%
  of it by weight. Chemically less reactive than carbon. First
  identified by Lavoisier in 1787 and first isolated in 1823 by
  Berzelius.

Properties
==========

Annotation
Atomic number                       14
Atomic radius                      132
Atomic volume                     12.1
Block                                p
Boiling point                     2628
Covalent radius 2008               111
Covalent radius 2009               116
Cpk color                      #daa520
Density                           2.33
Dipole polarizability            37.31
Electron affinity              1.38952
Electronic configuration  [Ne] 3s2 3p2
En allen                         11.33
En pauling                         1.9
Evaporation heat                   383
Fusion heat                       50.6
Gas basicity                     814.1
Group id                            14
Heat of formation                  450
Jmol color                     #f0c8a0
Lattice constant                  5.43
Lattice structure                  DIA
Mass                           28.0855
Melting point                     1683
Name                           Silicon
Period                               3
Proton affinity                    837
Series id                            5
Specific heat                    0.703
Symbol                              Si
Thermal conductivity               149
Vdw radius                         210

Documentation

Documentation can be found here.

Citing

If you use mendeleev in a scientific publication, please cite the software as

L. M. Mentel, mendeleev, 2014. Available at: https://bitbucket.org/lukaszmentel/mendeleev.

Funding

This project is supported by the RCN (The Research Council of Norway) project number 239193.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mendeleev-0.2.14.tar.gz (195.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mendeleev-0.2.14-py2.py3-none-any.whl (175.5 kB view details)

Uploaded Python 2Python 3

File details

Details for the file mendeleev-0.2.14.tar.gz.

File metadata

  • Download URL: mendeleev-0.2.14.tar.gz
  • Upload date:
  • Size: 195.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for mendeleev-0.2.14.tar.gz
Algorithm Hash digest
SHA256 c5d16b441a226bb270352ea226e31d0f74786d4b530ca54f8953f95e9aeb3ed3
MD5 a79b0c9d32b139bd4dc4a44bf060cda4
BLAKE2b-256 50d35f1c5f10976829092e9b703ab9c96c19d06c896196b05267c911162e5eec

See more details on using hashes here.

File details

Details for the file mendeleev-0.2.14-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for mendeleev-0.2.14-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 cc9488831088fd1bc4ecef37024cfbe581752e8bccf2f49db43af0c49df45c2e
MD5 db80a07729e39bfed617f74875383f29
BLAKE2b-256 6153678bb108143a546692b10c2f8ff50e3dec6f7349bf255d1c8afffa6644ff

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page