All Projects → lmmentel → mendeleev

lmmentel / mendeleev

Licence: MIT license
A python package for accessing various properties of elements, ions and isotopes in the periodic table of elements.

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to mendeleev

chemlib
🧪 A comprehensive chemistry library for Python.
Stars: ✭ 26 (-75.7%)
Mutual labels:  chemistry, periodic-table
periodic-table.io
periodic-table.io
Stars: ✭ 37 (-65.42%)
Mutual labels:  chemistry, periodic-table
periodum
Periodum: An Interactive, Open-Source Periodic Table!
Stars: ✭ 346 (+223.36%)
Mutual labels:  chemistry, periodic-table
mzLib
Library for mass spectrometry projects
Stars: ✭ 19 (-82.24%)
Mutual labels:  chemistry, isotopes
periodic-table
Interactive Periodic Table which I made with React.js and CSS Grid. I was trying to memorize all the elements and thought, hey can I make this peculiar layout with my current CSS skills? I finally did
Stars: ✭ 92 (-14.02%)
Mutual labels:  chemistry, periodic-table
atom-pwa
Learn the basics of chemistry doing the tests and using the periodic table
Stars: ✭ 41 (-61.68%)
Mutual labels:  chemistry, periodic-table
QCElemental
Periodic table, physical constants, and molecule parsing for quantum chemistry.
Stars: ✭ 116 (+8.41%)
Mutual labels:  chemistry, periodic-table
react-native-element-textinput
A react-native TextInput, TagsInput and AutoComplete component easy to customize for both iOS and Android.
Stars: ✭ 28 (-73.83%)
Mutual labels:  elements
DLBFoam-1.0
DLBFoam: An open-source dynamic load balancing model for fast reacting flow simulations in OpenFOAM. https://doi.org/10.1016/j.cpc.2021.108073
Stars: ✭ 29 (-72.9%)
Mutual labels:  chemistry
bitcoin-stack
Docker setup for Bitcoin, Elements/Liquid, LND, C-Lightning, Eclair, & Electrs in regtest mode
Stars: ✭ 66 (-38.32%)
Mutual labels:  elements
GLaDOS
Web Interface for ChEMBL @ EMBL-EBI
Stars: ✭ 28 (-73.83%)
Mutual labels:  chemistry
nitro
🔥 NITRO: Nitrogen Web Framework
Stars: ✭ 45 (-57.94%)
Mutual labels:  elements
bioicons
A library of free open source icons for science illustrations in biology and chemistry
Stars: ✭ 665 (+521.5%)
Mutual labels:  chemistry
lightdock
Protein-protein, protein-peptide and protein-DNA docking framework based on the GSO algorithm
Stars: ✭ 110 (+2.8%)
Mutual labels:  chemistry
qp2
Quantum Package : a programming environment for wave function methods
Stars: ✭ 37 (-65.42%)
Mutual labels:  chemistry
MolecularGraph.jl
Graph-based molecule modeling toolkit for cheminformatics
Stars: ✭ 144 (+34.58%)
Mutual labels:  chemistry
SciCompforChemists
Scientific Computing for Chemists text for teaching basic computing skills to chemistry students using Python, Jupyter notebooks, and the SciPy stack. This text makes use of a variety of packages including NumPy, SciPy, matplotlib, pandas, seaborn, NMRglue, SymPy, scikit-image, and scikit-learn.
Stars: ✭ 65 (-39.25%)
Mutual labels:  chemistry
pylj
Teaching Utility for Classical Atomistic Simulation.
Stars: ✭ 23 (-78.5%)
Mutual labels:  chemistry
html-integrations
The official JavaScript library for MathType, the leading formula editor and equation writer for the web by Wiris
Stars: ✭ 36 (-66.36%)
Mutual labels:  chemistry
molassembler
Chemoinformatics toolkit with support for inorganic molecules
Stars: ✭ 18 (-83.18%)
Mutual labels:  chemistry

Documentation Status Latest version released on PyPi MIT license image Python package Total alerts Language grade: Python image DOI


Logo

Pythonic periodic table of elements

A package with a convenient python API for accessing various properties of elements, ions and isotopes in the periodic table of elements.

Report Bug · Request Feature · Submit a Pull Request

Table of Contents


source: https://github.com/lmmentel/mendeleev


Important!

Version 0.5.1 will be the latest version to support Python2.7.

This package has been migrated from bitbucket.

The bitbucket repo is no longer being maintaned and development will continue at github.


About the project

This package provides a convenient python API for accessing various properties of elements, ions and isotopes in the periodic table of elements.

Moreover it provides an easy to use interface to pandas and convenient visualization functionality through bokeh that enables you to create customized periodic tables displaying various properties.

peridic_table Django Extensions is free and always will be. It is development and maintained by developers in an Open Source manner. Any support is welcome. You could help by writing documentation, pull-requests, report issues and/or translations. iodic trends in the periodic tables. If you want to look at some examples there are a few tutorials available as jupyter notebooks.

Interactive web app

If you would like to explore the data available in mendeleev check out the interactive web app at mendeleev.herokuapp.com where you can create your own periodic tables and visualize the relations between various properties of elements.

Periodic table view

Correlations view

Installation

The preferred installation method is with conda and you can install the package from the my Anaconda channel channel by

conda install -c lmmentel mendeleev=0.9.0

The package can also be installed using pip

pip install mendeleev

or pipenv

pipenv install mendeleev

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

pip install git+https://github.com/lmmentel/mendeleev.git

Documentation

Full documentation is hosted on Read the Docs.

There are also tutorials available as Jupyter notebooks on binder where you can explore the examples interactively:

Data

A comprehensive list of the available data together with appropriate references are available in the documentation. Here the most important entries are listed:

Basic properties

  • atomic number
  • atomic weight
  • block
  • cas
  • electrons
  • electronic configuration
  • group
  • name
  • neutrons
  • period
  • protons
  • series
  • symbol

Standardized colors schemes

  • cpk_color
  • jmol_color
  • molcas_gv_color

Size related properties

  • atomic radius (Slater, Rahm)
  • covalent radius (Bragg, Cordero, Pyykko)
  • ionic radius
  • metallic radius
  • van der Waals radius (Alvarez, Batsanov, Bondi, Dreiding, MM3, RT, Truhlar, UFF)

Electronegativity scales

  • Allen
  • Allred & Rochow
  • Cottrell & Sutton
  • Ghosh
  • Gordy
  • Li & Xue
  • Nagle
  • Martynov & Batsanov
  • Mulliken
  • Pauling
  • Sanderson

Descriptive properties

  • discoverers
  • discovery location
  • dipole year
  • description
  • name origin
  • sources
  • uses

Physical properties

  • boiling point
  • C<sub>6</sub>
  • density
  • dipole polarizability
  • electron affinity
  • evaporation heat
  • gas basicity
  • ionization energies
  • lattice structure
  • melting point
  • oxidation states
  • proton affinity
  • specific heat
  • thermal conductivity
  • nuclear screening constants (Slater & Clementi)

Computed properties

  • hardness
  • softness
  • electrophilicity

Isotope properties

  • abundance
  • g_factor
  • half_life
  • radioactivity
  • mass
  • mass number
  • spin
  • quadrupole_moment

Getting started

The simplest way of accessing the element data is by importing elements directly from the [mendeleev]{.title-ref} package by their symbols. For example consider iron (Fe):

>>> from mendeleev import Fe
>>> Fe.name
'Iron'
>>> Fe.atomic_number
26
>>> Fe.thermal_conductivity
80.4

Another, more flexible way is through the element method that returns the Element object:

>>> 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.name
'Silicon'

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')

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.

Accesing data tables and the database

mendeleev offers also methods for accessing whole tables of data, e.g. table with the data on all isotopes and methods for interacting directly with the database engine, for more details see the API documentation and this tutorial.

Command line interface 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]{.title-ref} and it accepts either the symbol or name of the element or it's atomic number 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.

Sources
=======

  Makes up major portion of clay, granite, quartz (SiO2), and sand.
  Commercial production depends on a reaction between sand (SiO2) and
  carbon at a temperature of around 2200 °C.

Uses
====

  Used in glass as silicon dioxide (SiO2). Silicon carbide (SiC) is one
  of the hardest substances known and used in polishing. Also the
  crystalline form is used in semiconductors.

Properties
==========

Abundance crust                                         282000
Abundance sea                                              2.2
Annotation
Atomic number                                               14
Atomic radius                                              132
Atomic radius rahm                                         232
Atomic volume                                             12.1
Atomic weight                                           28.085
Atomic weight uncertainty                                  NaN
Block                                                        p
Boiling point                                             2628
C6                                                         305
C6 gb                                                      308
Cas                                                  7440-21-3
Covalent radius bragg                                      117
Covalent radius cordero                                    111
Covalent radius pyykko                                     116
Covalent radius pyykko double                              107
Covalent radius pyykko triple                              102
Covalent radius slater                                     110
Cpk color                                              #daa520
Density                                                   2.33
Dipole polarizability                                    37.31
Discoverers                                     Jöns Berzelius
Discovery location                                      Sweden
Discovery year                                            1824
Electron affinity                                      1.38952
Electronic configuration                          [Ne] 3s2 3p2
En allen                                                 11.33
En ghosh                                              0.178503
En pauling                                                 1.9
Evaporation heat                                           383
Fusion heat                                               50.6
Gas basicity                                             814.1
Geochemical class                                        major
Goldschmidt class                                    litophile
Group id                                                    14
Heat of formation                                          450
Is monoisotopic                                           None
Is radioactive                                           False
Jmol color                                             #f0c8a0
Lattice constant                                          5.43
Lattice structure                                          DIA
Melting point                                             1683
Metallic radius                                            117
Metallic radius c12                                        138
Molcas gv color                                        #f0c8a0
Name                                                   Silicon
Name origin                    Latin: silex, silicus, (flint).
Period                                                       3
Proton affinity                                            837
Series id                                                    5
Specific heat                                            0.703
Symbol                                                      Si
Thermal conductivity                                       149
Vdw radius                                                 210
Vdw radius alvarez                                         219
Vdw radius batsanov                                        210
Vdw radius bondi                                           210
Vdw radius dreiding                                        427
Vdw radius mm3                                             229
Vdw radius rt                                              NaN
Vdw radius truhlar                                         NaN
Vdw radius uff                                           429.5

Contributing

mendeleev is free and always will be. It is developed and maintained by developers in an Open Source manner. Any contributions are welcome. You could help by writing documentation, pull-requests, report issues or suggesting new features.

Issues

Feel free to submit issues regarding:

  • data updates and recommendations
  • enhancement requests and new useful features
  • code bugs
  • data or citation inconsistencies or errors

Pull requests

  • before stating to work on your pull request please submit an issue first
  • fork the repo on github
  • clone the project to your own machine
  • commit changes to your own branch
  • push your work back up to your fork
  • submit a pull request so that your changes can be reviewed

License

The packegs is release under the persmissive MIT license, see LICENSE

Citing

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

|    L. M. Mentel, mendeleev - A Python resource for properties of chemical elements, ions and isotopes. , 2014-- . Available at: https://github.com/lmmentel/mendeleev.

Here's the reference in the BibLaTeX format

@software{mendeleev2014,
   author = {Mentel, Łukasz},
   title = {{mendeleev} -- A Python resource for properties of chemical elements, ions and isotopes},
   url = {https://github.com/lmmentel/mendeleev},
   version = {0.9.0},
   date = {2014--},

}

or the older BibTeX format

@misc{mendeleev2014,
   auhor = {Mentel, Łukasz},
   title = {mendeleev} -- A Python resource for properties of chemical elements, ions and isotopes, ver. 0.9.0},
   howpublished = {\url{https://github.com/lmmentel/mendeleev}},
   year  = {2014--},
}

Funding

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].