{"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":[{"wrong":"from icet import ClusterExpansionSettings","symbol":"ClusterExpansion","correct":"from icet import ClusterExpansion"}],"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,"search_vec":"'3.2':24 '3.9':36 'activ':39 'alloy':17,44 'approach':14 'carlo':51 'cluster':9,42 'cluster-expans':41 'construct':8 'current':21 'everi':30 'expans':10,43 'icet':1,2 'librari':6 'maintain':40 'materi':47 'materials-sci':46 'model':16 'mont':50 'monte-carlo':49 'month':32 'new':27 'order':20 'provid':11 'python':5,13,35 'releas':28 'requir':34 'rough':29 'scienc':48 'thermodynam':18,45 'version':22","created_at":"2026-05-09T05:52:31.891346+00:00","updated_at":"2026-05-09T05:52:31.891346+00:00","problems":null,"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"","cli_version":null,"type":"library","homepage":"https://icet.materialsmodeling.org","github":null,"docs":"https://icet.materialsmodeling.org","changelog":null,"pypi":"https://pypi.org/project/icet/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["data","ai-ml"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-08-02","install_tag":null}}