Changelog#
All notable changes to atomRDF are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[1.0.0] — Unreleased#
First stable release. The public API documented in docs/api.rst is now considered stable; breaking changes will require a major version bump.
If you are upgrading from 0.12.x (or older pyscal-rdf), please read the
Migration guide — there are several breaking changes.
Added#
atomrdf.__version__exposed at the top level (single source of truth inatomrdf/_version.py).Public
WorkflowParser(atomrdf.WorkflowParser) for ingesting external workflow descriptions.Optional dependency groups so you only install what you use:
pip install "atomrdf[oxigraph]"— Oxigraph triple store backendpip install "atomrdf[sqlalchemy]"— SQLAlchemy-backed storepip install "atomrdf[materials_project]"— Materials Project lookups (mp-api)pip install "atomrdf[grainboundary]"—aimsgb+pymatgenfor grain boundariespip install "atomrdf[dislocation]"—atommanfor dislocation builders
CI now tests Python 3.9 — 3.12 (was 3.11 only).
Changed#
Breaking — Activity field renaming. On
Activityand all subclasses (notablySimulation):initial_sample→input_samplefinal_sample→output_sample
Breaking — Ontology IRI fix. The class emitted for crystalline materials is now
cdco:CrystallineMaterial(it is defined in CDCO, not CMSO). Old graphs that usecmso:CrystallineMaterialwill not be queryable with the new type. See Migration guide.Breaking — Ontology IRI fix.
LennardJonesPotentialandTensileTestnow emit the IRIs that actually exist in ASMO (asmo:Lennard-JonesPotential,asmo:Tensile_Test). The Python class names are unchanged.Activitynow accepts agraph=reference; string sample IDs are auto-resolved toAtomicScaleSampleinstances on assignment.Library is now silent by default — internal
print()calls in the GEXF exporter were replaced with the standardloggingmodule.Bare
except:clauses replaced with typed exceptions plus debug logging ingraph.py,properties.py,build/defect.py,datamodels/structure.py,datamodels/structure_io.py,datamodels/activity.py.Dependency lists in
setup.py,requirements.txtandenvironment.ymlreconciled.networkxwas dropped (unused). Lazy-imported packages (mp-api,aimsgb,pymatgen,atomman) moved to extras.Project description and README rewritten for v1.0.
Removed#
Stale top-level
index.ipynb(used a pre-KnowledgeGraphAPI). The book’s landing page is nowindex.md.Dead/commented
get_basis_occupancyinatomrdf/properties.py.Unused
import pickleinatomrdf/graph.py.
Fixed#
docs/api.rstno longer references modules that no longer exist (atomrdf.structure,atomrdf.network.network,atomrdf.workflow.workflow).docs/license.mdnow refers to atomRDF (was still saying pyscal-rdf).
[0.12.3] and earlier#
See the GitHub release page for the change history of pre-1.0 versions.