{"id":27871,"library":"icet","title":"icet","description":"icet is a Python library for constructing cluster expansions, providing a pythonic approach to modeling alloy thermodynamics and ordering. Current version is 3.2, with a new release roughly every few months. It requires Python >=3.9 and is actively maintained.","status":"active","version":"3.2","language":"python","source_language":"en","source_url":"https://github.com/materialsproject/icet","tags":["cluster-expansion","alloys","thermodynamics","materials-science","monte-carlo"],"install":[{"cmd":"pip install icet","lang":"bash","label":"Install via pip"}],"dependencies":[{"reason":"Core dependency for array operations","package":"numpy","optional":false},{"reason":"Atomic simulation environment for structure handling","package":"ase","optional":false},{"reason":"Optimization and linear algebra routines","package":"scipy","optional":false},{"reason":"Space group symmetry detection","package":"spglib","optional":false}],"imports":[{"note":"In icet 3.x, the recommended import is from the top-level 'icet' package, not the 'core' submodule.","wrong":"from icet.core import ClusterExpansionSettings","symbol":"ClusterExpansionSettings","correct":"from icet import ClusterExpansionSettings"},{"note":"Importing from submodules is not guaranteed to work in future versions.","wrong":"from icet.cluster_space import ClusterSpace","symbol":"ClusterSpace","correct":"from icet import ClusterSpace"}],"quickstart":{"code":"from ase.build import bulk\nfrom icet import ClusterExpansionSettings, ClusterSpace\n\n# Create a primitive structure\nprim = bulk('Cu', 'fcc', a=3.6)\n\n# Define cluster space with pair interactions up to cutoff 5.0\ncs = ClusterSpace(prim, cutoffs=[5.0], chemical_symbols=['Cu', 'Au'])\n\n# Create settings object\nsettings = ClusterExpansionSettings(cs)\n\nprint(settings)","lang":"python","description":"Basic usage example: create a cluster space for Cu-Au and initialize cluster expansion settings."},"warnings":[{"fix":"Replace 'from icet import ClusterExpansion' with 'from icet import ClusterExpansionSettings'.","message":"In icet 3.x, the 'ClusterExpansion' class is renamed to 'ClusterExpansionSettings'. Old imports will fail.","severity":"breaking","affected_versions":">=3.0"},{"fix":"Use 'cutoff' instead of 'cutoffs' when creating ClusterSpace.","message":"The 'ClusterSpace' constructor keyword 'cutoffs' is deprecated in favor of 'cutoff' (singular) in icet 3.2.","severity":"deprecated","affected_versions":"3.2"},{"fix":"Ensure training energies are divided by the number of atoms in each structure.","message":"Cluster expansion fitting requires normalized training data. Forgetting to normalize energies per atom can lead to incorrect results.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-09T00:00:00.000Z","next_check":"2026-08-07T00:00:00.000Z","problems":[{"fix":"Use 'from icet import ClusterExpansionSettings'","cause":"In icet 3.x, the class was renamed to 'ClusterExpansionSettings'.","error":"ImportError: cannot import name 'ClusterExpansion' from 'icet'"},{"fix":"Ensure all structures are derived from the same primitive and have consistent atom numbers.","cause":"Cluster space and structure list are inconsistent. Check if structures have the same number of atoms and are compatible with the primitive.","error":"ValueError: Number of clusters does not match number of structures"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}