Releases: materialsproject/pymatgen
Releases · materialsproject/pymatgen
v2023.11.12
v2023.11.10
🐛 Bug Fixes
- Fix 
LobsterMatricescalculated incorrectly by @naik-aakash in #3407 - Fix 
test_relax_chgnetby @janosh in #3417 - Breaking: return sum of 
Specieswith matchingElementinComposition.__getitem__by @janosh in #3427 - Update inputs.py by @RedStar-Iron in #3430
 - Fix lattice velocities formatting by @gpetretto in #3433
 - Fix lobsterin dict inheritance and treat \t in lobsterins correctly by @JaGeo in #3439
 - Fix 
BSPlotterProjected.get_elt_projected_plotsby @janosh in #3451 - Fix 
Atoms.cluster_from_file()inio.feff.inputsgiving wrong number of atoms by @kaifengZheng in #3426 - Write test-created files to temporary directory, don't pollute test dir by @janosh in #3454
 - Issue stronger warning if 
baderis run without theAECCARs by @janosh in #3458 - Fix Vasprun not interpreting float overflow as nan by @tawe141 in #3452
 - Aims bug fixes by @tpurcell90 in #3466
 
🛠 Enhancements
- Add 
LobsterMatricesparser tolobster.io.outputsby @naik-aakash in #3361 - Propagate site labels in 
SymmetrizedStructure()by @stefsmeets in #3423 - Add lattice velocities to Poscar by @gpetretto in #3428
 - Add 
summary_statskey toVasprun.potcar_specby @esoteric-ephemera in #3434 - Deprecate 
CifParser.get_structures()in favor of newparse_structuresin whichprimitivedefaults toFalseby @janosh in #3419 - FHI-aims IO Parsers by @tpurcell90 in #3435
 
🧹 House-Keeping
- Rename 
Poscar.from_file()check_for_POTCARtocheck_for_potcarby @janosh in #3406 - Remove warning in cohp module by @JaGeo in #3418
 - Drop 
blackforruff formatby @janosh in #3420 - Refresh OPTIMADE aliases and update docstrings by @ml-evs in #3447
 - Use convenience exports from 
pymatgen/core/__init__.pywhere no risk of circular imports by @janosh in #3461 - Move needlessly function-scoped imports to module scope by @janosh in #3462
 - Module-scoped imports by @janosh in #3464
 
🤷♂️ Other Changes
- Create jekyll-gh-pages.yml by @shyuep in #3410
 - Make 
from_(str|file)(static->class)methodsby @janosh in #3429 
New Contributors
- @RedStar-Iron made their first contribution in #3430
 - @tawe141 made their first contribution in #3452
 - @tpurcell90 made their first contribution in #3435
 
v2023.10.11
🐛 Bug Fixes
- Fix outdated 
setup.pyfind_namespace_packagesand addtest_egg_sources_txt_is_completeby @janosh in #3374 release.ymladd option to publish to TestPyPI by @janosh in #3375- Fix wrong unit=eV in 
get_band_(skewness|kurtosis)doc string by @janosh in #3383 - Further updating POTCAR validation / identification by @esoteric-ephemera in #3392
 MatPESStaticSet.yamlsetLMAXMIX: 6by @janosh in #3400- Fix type annotations in phonon/ and lammps/ by @ab5424 in #3401
 - Fix 
OBAlign(includeH=False, symmetry=False)can't take keywords by @janosh in #3403 
🛠 Enhancements
- New class to handle 
NcICOBILIST.lobsterfiles by @QuantumChemist in #2878 - Add 
inplace: bool=Truearg toStructure.apply_strain()by @janosh in #3376 - Add 
Structure.to_(conventional|primitive|cell)methods by @janosh in #3384 - Add 
SiteCollection.to_ase_atoms()by @janosh in #3389 - Add 
mode: Literal["w", "a", "wt", "at"] = "w"keyword toCifWriter.write_file()by @janosh in #3399 
📖 Documentation
🧹 House-Keeping
- Fix ruff 
FURBviolations by @janosh in #3382 - Remove deprecated module 
pymatgen/util/convergence.pyby @janosh in #3388 - Remove 
pylint: disablecomments by @janosh in #3390 - Fix 
ruffN806by @janosh in #3394 
🧪 Tests
- Update 
incar_parameters.jsonto allowISIF=8by @matthewkuner in #3381 - Add 
test_potcar_summary_stats()by @janosh in #3395 - Mirror atomate2 fix and improve 
MPScanRelaxSet.test_kspacingedge case coverage by @janosh in #3396 
💥 Breaking Changes
- Breaking: snake_case 
FiestaInputkeywords and class attributes by @janosh in #3386 - Ion: default hydrates=False in reduced_formula by @rkingsbury in #3350
 
🏷️ Type Hints
- Add type annotations to io/lammps by @ab5424 in #3379
 - Add type annotations to phonon by @ab5424 in #3393
 
Full Changelog: v2023.10.4...v2023.10.11
v2023.10.4
v2023.10.3
What's Changed
🐛 Bug Fixes
- Revert 
openbabel.OBAlign()inmolecule_matcher.pyto use positional args forincludeH,symmetryby @janosh in #3353 - Fix MPMD set bug by @MichaelWolloch in #3355
 - Fix 
TestMPResterNewBasic+AseAtomsAdaptortest errors andTransformedStructure.from_snloverwritinghistvariable by @janosh in #3362 - Fix 
TypeError: can only join an iterable with AECCAR inVolumetricData.write_fileby @chiang-yuan in #3343 
🛠 Enhancements
- Don't rely on 
jsanitizeinAtoms<-->Structureobject interconversion by @Andrew-S-Rosen in #3359 - Breaking: New method of POTCAR validation by @esoteric-ephemera in #3351
 - Add alias 
.to_file()for.to()method of structures and molecules by @QuantumChemist in #3356 - Update POTCAR summary stats to include 6.4 POTCARs and add 
dev_scriptutils for future updates by @esoteric-ephemera in #3370 
🧹 House-Keeping
- Chargemol minor refactor by @janosh in #3357
 - Breaking typo fix: 
Targe(tt->t)edPenaltiedAbundanceChemenvStrategyby @janosh in #3360 - Fix undiscovered tests by @janosh in #3369
 
🏥 Package Health
New Contributors
- @esoteric-ephemera made their first contribution in #3351
 - @QuantumChemist made their first contribution in #3356
 
Full Changelog: v2023.9.25...v2023.10.3
v2023.9.25
What's Changed
🐛 Bug Fixes
- Fix 
MPSOCSetraising ValueError onstructure=Noneby @janosh in #3310 - Fix 
AttributeErrorinBSPlotter.get_plot()by @janosh in #3327 - Use 
ax = fig.add_subplot(projection='3d')to createAxes3Dby @janosh in #3330 - Fix breaking change to 
CoherentInterfaceBuilder.get_interfacesby @janosh in #3337 - Add 
properties@property/docstring toIStructureby @mkhorton in #3338 - Always return 0 for 
Composition.oxi_state_guesses()of diatomic molecules by @janosh in #3332 - Fix: 
TestMITMPRelaxSet.test_nelectclaimed to but wasn't testing disordered structure by @janosh in #3344 
🛠 Enhancements
- Allow usage of 
calculate_ngwith a custom ENCUT and PREC values for VASP input sets by @matthewkuner in #3314 - Fix 
TestPotcar.test_writepolluting git repo on failure by @janosh in #3347 
📖 Documentation
- Update @arosen93 to @Andrew-S-Rosen by @Andrew-S-Rosen in #3311
 - Google-style doc strings for class attributes by @janosh in #3320
 - More Google-style class attribute doc strings by @janosh in #3323
 - Readme notice regarding updated pymatgen publication by @janosh in #3325
 - Breaking: rename 
get_ax3d_fig_plt->get_ax3d_figandget_ax_fig_plt->get_ax_figplus no longer returnpltby @janosh in #3329 
🧹 House-Keeping
- Fix internal 
SymmOp.from_xyz_stringandMagSymmOp.from_xyzt_stringdeprecation warnings by @janosh in #3315 - Fix 
ruffA001 violations: Variable is shadowing a Python builtin by @janosh in #3331 - Delete unused or numpy-provided routines from 
pymatgen.util.numby @janosh in #3333 - fix ruff FBT003: Boolean positional value in function call by @janosh in #3335
 - Snake case test method names by @janosh in #3339
 
🤷♂️ Other Changes
Full Changelog: v2023.9.10...v2023.9.25
v2023.9.10
What's Changed
🐛 Bug Fixes
- Fix code comment in ASE adapter by @Andrew-S-Rosen in #3298
 - Fix IndexError when parsing Hessian from Gaussian frequency job by @janosh in #3308
 
🛠 Enhancements
- Add an input arg check for 
Kpoints.automatic_density_by_lengthsby @Andrew-S-Rosen in #3299 
🏥 Package Health
- Remove pydantic < 2 from 
setup.pyand bump monty inrequirements.txtby @Andrew-S-Rosen in #3303 - Move 
py.typedto package root by @Andrew-S-Rosen in #3307 - Consistent casing 
setup->setUpacross test classes by @janosh in #3305 
🤷♂️ Other Changes
Full Changelog: v2023.9.2...v2023.9.10
v2023.9.2
What's Changed
- Add 
Latticepropertyparams_dictby @janosh in #3239 - Generate SupercellTransformation from minimum boundary distance by @JiQi535 in #3238
 - More concise 
test_from_boundary_distanceby @janosh in #3242 - Breaking: remove deprecated keyword 
propertiesfromSpeciesby @janosh in #3243 - Typo in Docs for PeriodicsSite by @jmmshn in #3249
 - Fix 
Vasprun.converged_electroniccheck ifALGO=CHIinINCARby @janosh in #3250 - Breaking: Have plot methods return 
plt.Axesobject, notmatplotlibmodule by @janosh in #3237 - Fix 
ruffD212 by @janosh in #3251 - Fix some Kpoints generated using wrong mesh types by @matthewkuner in #3245
 - read 
magfrom OSZICAR by @chiang-yuan in #3146 - Use 
numpy.testing.assert_allcloseoverassert np.allcloseby @janosh in #3253 - Don't let tests pollute the 
pymatgenrepo by @janosh in #3255 - Update 
compatibility.mdby @mbercx in #3260 - Google-style doc string return types by @janosh in #3258
 - Quasi-RRHO Thermochemistry Analysis Module by @arepstein in #2028
 - Add keyword 
check_occu: bool = TruetoCifParser.get_structures()by @jonathanjdenney in #2836 - Fix bug in feff inputs.py by @kaifengZheng in #3256
 - Cancel concurrent CI runs to save budget by @janosh in #3263
 - Fix 
Procar.get_projection_on_elementsfor structures with multiple same-element ionic sites by @Na-Kawa in #3261 - Fix 
TestMPScanStaticSet.test_as_from_dict()by @janosh in #3266 - Bump activesupport from 7.0.6 to 7.0.7.2 in /docs by @dependabot in #3267
 - Fix 
TestMPStaticSetusingMPRelaxSetintest_user_incar_kspacingandtest_kspacing_overrideby @janosh in #3268 - Fix 
nelectronsnot updating when replacing species inMoleculeby @janosh in #3269 - Add 
propertiesto Structure and Molecule by @gpetretto in #3264 - Fix 
CifParser.get_structures(check_occu=False)by @janosh in #3272 - Add 
PotcarSingle.__repr__by @janosh in #3273 __str__to__repr__by @janosh in #3274- Ion: handle dissolved gas formulas by @rkingsbury in #3275
 - Add VASP input set 
MatPESStaticSetby @SophiaRuan in #3254 - Fix 
test_valid_magmom_struct()error message regex by @janosh in #3276 - fix tests of MatPESStaticSet by @SophiaRuan in #3281
 - Breaking: bump minimum Python version to 3.9 by @janosh in #3283
 - Breaking: Update 
AseAtomsAdaptorto handleStructure.properties/Molecule.propertiesby @Andrew-S-Rosen in #3270 - Slightly relax the constraint satisfy condition of get_primitive_structure() by @fyalcin in #3285
 - [WIP] add custodian modified incar settings to incar and modify tests by @SophiaRuan in #3284
 - Add keyword 
bandgap_tol: float = 1e-4toMPScanRelaxSetby @janosh in #3287 np.(arange->linspace)inio/vasp/optics.pyget_delta,get_setpandepsilon_imagby @LucasGVerga in #3286- MatPESStaticSet restore GGA tag removal if xc_functional.upper() == "R2SCAN" by @janosh in #3288
 - Bump pypa/cibuildwheel from 2.14.1 to 2.15.0 by @dependabot in #3294
 - Bump cython from 3.0.0 to 3.0.2 by @dependabot in #3292
 - Bump scipy from 1.11.1 to 1.11.2 by @dependabot in #3291
 - Bump plotly from 5.11.0 to 5.16.1 by @dependabot in #3289
 - Bump joblib from 1.3.1 to 1.3.2 by @dependabot in #3290
 - Bump mp-api from 0.33.3 to 0.35.1 by @dependabot in #3293
 - xyz.iter() -> iter(xyz) by @janosh in #3228
 - Deprecate overlooked 
from/as_..._stringmethods by @janosh in #3295 
New Contributors
- @mbercx made their first contribution in #3260
 - @jonathanjdenney made their first contribution in #2836
 - @kaifengZheng made their first contribution in #3256
 - @Na-Kawa made their first contribution in #3261
 - @SophiaRuan made their first contribution in #3254
 - @LucasGVerga made their first contribution in #3286
 
Full Changelog: v2023.8.10...v2023.9.2
v2023.8.10
What's Changed
- fix 
estimate_nbandsfunction by @matthewkuner in #3149 - Add 
CifParser.get_structures(on_error='warn')by @janosh in #3175 ruff . --fixby @janosh in #3176AseAtomsAdaptor: Retaintagsproperty when interconvertingAtomsandStructure/Moleculeby @arosen93 in #3151- Fix a bug in pwscf.py. The proc_val function modifies string values. by @pablogalaviz in #3172
 - Delete commented out print statements by @janosh in #3178
 - lots of 
from_stringshould beclassmethodby @njzjz in #3177 - Extend lobsterenv for coop/cobi by @naik-aakash in #3050
 - BUG: fix setting zero magmoms by @lbluque in #3179
 - Prefer 
pymatvizinteractive plotly version of periodic table heatmap if available by @janosh in #3180 - Better Composition 
reprby @janosh in #3182 - Breaking: Return True for 
Element in CompositionifSpecies.symbolmatchesElementby @janosh in #3184 - Revert 
LMAXMIX"fix" added in #3041 by @janosh in #3189 - Add 
bader_exe_pathkeyword toBaderAnalysisand runbadertests in CI by @janosh in #3191 - Unskip and fix 
packmoltests by @janosh in #3195 - Propagate labels through various Structure operations by @stefsmeets in #3183
 - Delete variable self assignments by @janosh in #3196
 - Improve 
Structuretests by @janosh in #3197 - Bump pypa/cibuildwheel from 2.12.3 to 2.14.1 by @dependabot in #3202
 - Bump numpy from 1.24.3 to 1.25.2 by @dependabot in #3201
 - Bump matplotlib from 3.5.2 to 3.7.2 by @dependabot in #3200
 - Bump scipy from 1.9.0 to 1.11.1 by @dependabot in #3199
 - Test 
class XYZedge cases by @janosh in #3206 - Fix 
EnergyAdjustment.__repr__by @janosh in #3207 - Markdownlint by @janosh in #3209
 - Fix codecov by @janosh in #3210
 - Update 
pytest-splitdurations by @janosh in #3211 - Fix GitHub language statistics after test files migration by @janosh in #3214
 - Fix 
automatic_density_by_lengthsand add tests for it by @janosh in #3218 - Prefer 
len(structure)overstructure.num_sitesby @janosh in #3219 - Add 
PhaseDiagrammethodget_reference_energyby @janosh in #3222 - Fix isomorphic for molecular graphs by @rohithsrinivaas in #3221
 - Add 
Structure.elementsproperty by @janosh in #3223 - Add keyword 
in_place: bool = TruetoSiteCollection.replace_speciesby @janosh in #3224 - list offending elements in 
BVAnalyzer.get_valenceserror message by @janosh in #3225 - Add 
Entry.elementsproperty by @janosh in #3226 - Move 
PymatgenTest.TEST_FILES_DIRattribute into module scope by @janosh in #3227 - f-string path construction everywhere, no need for 
os.path.join(...)by @janosh in #3229 - speed up 
bader_callerandchargemol_callerby @chiang-yuan in #3192 - Fix 
ruffPYI041 and ignore PYI024 by @janosh in #3232 - Deprecate 
get_string()methods in favor ofget_str()by @janosh in #3231 Structure/Molecule.to()now always return same string written to file by @janosh in #3236
New Contributors
- @matthewkuner made their first contribution in #3149
 - @pablogalaviz made their first contribution in #3172
 - @rohithsrinivaas made their first contribution in #3221
 
Full Changelog: v2023.7.20...v2023.8.10
v2023.7.20
What's Changed
- Unreadable string concat ops to f-string by @janosh in #3162
 - Revert 
mp-api<0.34.0pin by @janosh in #3165 - Fix CI error 
"pdentries_test.csv"not found by @janosh in #3168 - Fix issues with labels by @stefsmeets in #3169
 - v2023.7.20 by @janosh in #3171
 
Full Changelog: v2023.7.17...v2023.7.20