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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.