Skip to main content
Oganesson logo

Oganesson: Python workflows for materials research

Oganesson connects atomistic structure preparation, structural analysis and machine learning in one Python interface. Use it to build candidate materials, convert structures into numerical descriptors, and explore structures and dynamics with machine-learned interatomic potentials.

The central object, OgStructure, wraps a pymatgen Structure and accepts ASE Atoms or a structure file. Basic Python and familiarity with crystal structures are enough to start.

Choose a workflow

Research task Tools Output
Prepare alloys, defects and surfaces substitutions_random(), add_interstitial(), add_atom_to_surface() Candidate geometries for relaxation
Compare structure and diffraction get_rdf(), xrd() Radial distribution functions and simulated XRD patterns
Build inputs for property models BACD, SymmetryFunctions, DScribe wrappers Numerical feature vectors
Relax structures or explore dynamics relax(), simulate() Potential-dependent energies, structures and trajectories
Prepare ion-migration calculations generate_neb_images(), generate_neb() Initial geometries for nudged elastic band (NEB) calculations
Search at fixed composition GA Candidates ranked using relaxed total energies

Follow the materials science tutorial from structure preparation and analysis to descriptors, then optional simulation workflows. It explains inputs, output files and scientific interpretation.

Installation

Install into an isolated Python environment:

python -m pip install oganesson

For the tutorial, download or clone this repository and run these commands from its root directory:

python -m pip install -e .
python -m pip install jupyterlab matplotlib
python -m jupyter lab tutorial.ipynb

Select a kernel using the same Python environment. Introductory examples build crystals with ASE or use the bundled MoS2 structure; no database account is needed.

The dependencies declared in setup.py include ASE, pymatgen, NumPy, pandas, DIEP, bsym and diffusivity. OgStructure imports DIEP even for geometry-only work. Graph-backend requirements depend on the installed DIEP version and potential; the repository does not pin a complete environment.

Optional workflow Additional installation
DScribe descriptors python -m pip install dscribe
ROSA descriptors GPAW and its required datasets
Explicit M3GNet potential python -m pip install "oganesson[matgl]" (use ".[matgl]" for a local checkout)
Ripple geometry python -m pip install sympy

First example: describe a crystal

Build an ideal face-centred cubic Cu primitive cell and calculate a BACD feature vector:

import numpy as np
from ase.build import bulk
from oganesson.ogstructure import OgStructure
from oganesson.descriptors import BACD

copper = OgStructure(bulk("Cu", "fcc", a=3.6))  # lattice parameter in angstrom
features = np.asarray(BACD(copper).describe(), dtype=float)
print("Composition:", copper.structure.composition.reduced_formula)
print("Volume (angstrom^3):", copper.structure.volume)
print("Number of features:", features.size)

BACD combines elemental-property statistics, structural quantities and a space-group encoding. The vector is an input to a model, not a prediction of the crystal's measured properties. Supervised learning also requires reference labels and an independent evaluation dataset.

Load your own file with OgStructure(file_name="path/to/structure.cif"). Access pymatgen through .structure, or convert to ASE with .to_ase().

Interpreting calculation results

The current default for relaxation, molecular dynamics and genetic search is model="diep", loading the bundled potential. model="m3gnet" explicitly selects the MatGL M3GNet model. Other model strings are passed to the DIEP loader. Record the potential and software versions with your calculation settings.

  • Surface and defect routines generate starting configurations. Relax and compare candidates before assigning preferred sites or defect energies.
  • NEB helpers prepare geometries; they do not calculate a converged migration barrier. The tutorial distinguishes interpolation from the automatic helper, which independently relaxes images.
  • simulate() runs molecular dynamics with a machine-learned potential. Validate the potential for the chemistry and conditions of interest before interpreting predictions.
  • A genetic search finds low-energy candidates within the chosen composition and search settings. It does not establish a global minimum or stability against competing phases.

Oganesson is under active development. The tutorial identifies implementation-specific behaviour and marks expensive or data-dependent sections as optional.

Project information

When reporting results, cite the descriptors, potentials, software and reference data actually used. The original descriptor paper is identified by DOI 10.1186/s13321-022-00658-9.

Metadata

Release files for oganesson 0.1.48

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for oganesson 0.1.48
File Size Uploaded Provenance Actions
oganesson-0.1.48.tar.gz 1.3 MB Without provenance Details for oganesson-0.1.48.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for oganesson 0.1.48
File Interpreter ABI Platform Actions
oganesson-0.1.48-py3-none-any.whl Python 3 none any Details for oganesson-0.1.48-py3-none-any.whl

Total release size: 2.6 MB

Release files / oganesson-0.1.48.tar.gz

Download URL oganesson-0.1.48.tar.gz
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
64a9bd1187c1da22fd77ff56ff27a1aabf95e242bc15ac7137114728b756dabb
BLAKE2b-256 checksum
How to use checksums
d05cfc901f46a13223cee73b3513609f3703c650f1c9e3a0117b5dbb39d2ad04
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / oganesson-0.1.48-py3-none-any.whl

Download URL oganesson-0.1.48-py3-none-any.whl
Size 1.3 MB
Tags Python 3
SHA-256 checksum
How to use checksums
f5e76901d68f09aecf574178ea07c2684a287489700e894d3d6827e06ba70fe1
BLAKE2b-256 checksum
How to use checksums
2a57a793b56b78aed87692348368be9675e731ab3513b047a33c1b9f8d4df9ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Security for oganesson 0.1.48

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.48 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page