Exploring NoM materials using the client API
Material properties built-in to NoM can be accessed using the material reference API as part of the NoM client
materials

# coding=utf-8
"""
category: tutorial
title: Exploring NoM materials using the client API
description: Material properties built-in to NoM can be accessed using the material reference API as part of the NoM client
keywords: materials
"""

from nom_client.resources.material_ref import MaterialReference

materials_with_category = MaterialReference.get_material_data(database="basic",
                                                              category="metal")

for material_name, material_data in materials_with_category["data"].items():
    print(material_name)

print("--------------------")

materials_with_properties = MaterialReference.get_material_data(database="basic",
                                                                required_properties=["activation_energy",
                                                                                     "breakdown_efield",
                                                                                     "delta",
                                                                                     "dielectric_constant",
                                                                                     "ric_dose_rate_kp"])

for material_name, material_data in materials_with_properties["data"].items():
    print(material_name)

print("--------------------")

materials_with_bool_expression = MaterialReference.get_material_data(database="basic", category="inorganic_salt",
                                                                     criteria="mass_density>10 AND mass_density<13")

for material_name, material_data in materials_with_bool_expression["data"].items():
    print(material_name)