skillfed

mendeleev

Pythonic periodic table of elements

mendeleev v1.2.0 231.4K downloads/30d#9,088 on PyPI297
Permissive license MIT Active released

What it is and what it does

Mendeleev is a Python library that wraps periodic table data into an object-oriented API, letting you access element properties by symbol or atomic number. It stores data on basic properties (atomic weight, electron configuration, block), size-related measurements (atomic radius, covalent radius, van der Waals radius in multiple scales), electronegativity scales (Pauling, Allen, and others), physical properties (melting point, boiling point, density, ionization energies), and isotope-specific information (mass, half-life, abundance). Since version 1.2.0, it integrates with pint to attach physical units to properties, enabling unit-aware calculations.

The package is designed for chemists, physicists, and educators who need programmatic access to element data. It supports bulk data access via pandas integration and includes a command-line interface. The underlying data is maintained separately in the mendeleev-data repository and available in multiple formats (CSV, JSON, SQL, HTML, Markdown), so you can also work with raw data directly if needed.

Use it for:

  • Retrieve atomic properties (mass, electron configuration, oxidation states) for elements in a chemistry simulation or calculation
  • Build periodic table visualizations showing trends in properties like electronegativity or atomic radius across groups and periods
  • Look up isotope data (half-life, abundance, mass number) for nuclear physics or radiochemistry research
  • Perform unit-aware calculations on physical properties using pint integration to convert between measurement systems
  • Export element and isotope data to pandas DataFrames for statistical analysis or machine learning workflows

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides a Python API to query properties of chemical elements, ions, and isotopes from the periodic table, with support for physical units via pint and data export to pandas.

Yes. The package is actively maintained, has no known vulnerabilities, uses a permissive MIT license, and installs with low friction. It fills a genuine need for programmatic periodic table access in Python and is well-suited for chemistry, physics, and education use cases. The recent addition of pint integration for units support makes it more useful for scientific calculations.

Install

mendeleev on PyPI

pip

pip install mendeleev

uv

uv add mendeleev

poetry

poetry add mendeleev

Installing mendeleev

Before you install

Low friction install with a pure-Python wheel. Actively maintained as of late July 2026, with recent release and 297 repository stars. Ten runtime dependencies including pandas, SQLAlchemy, and pint add some weight but are all standard scientific packages.

License in practice

MIT license (permissive) places no restrictions on use, modification, or distribution for commercial or private projects.

Quickstart

pip install mendeleev

from mendeleev import Fe
print(Fe.name)  # 'Iron'
print(Fe.atomic_number)  # 26

Verify before relying

  • Whether visualization functionality through bokeh mentioned in description is available in current version or requires separate installation
  • Performance characteristics when querying large numbers of elements or isotopes
  • Completeness and accuracy of isotope data relative to NIST or other authoritative sources

Package facts

License MIT (permissive)
Python support supports the current Python release (<3.15,>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 10 — Pygments, SQLAlchemy, colorama, deprecated, numpy, pandas, pint, pydantic, pydantic-core, pyfiglet
Maintenance actively maintained — 19 days since the last release
Last repo commit
First released
Downloads 231,364/month — #9,088 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: mendeleev-1.2.0-py3-none-any.whl

Keywords: periodic table, chemistry, elements, science

Development Status :: 5 - Production/StableIntended Audience :: EducationIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Scientific/Engineering :: ChemistryTopic :: Scientific/Engineering :: PhysicsTopic :: Software Development :: Libraries :: Python Modules

Tags

periodic table python apielement properties chemistrychemical element data lookupisotope information pythonperiodic table data accesselement atomic propertieschemistry data library
chemistry-dataperiodic-tablescientific-computing

More Python Modules packages