Release notes
3.4.0
Added:
Added
set_latt_parmsmethod intoLatticeclassAdded
set_new_latt_base_vecmethod intoLatticeclassAdded
parse_linesmethod inp_auto.pyAdded
parse_linesmethod inp_cif.pyAdded
parse_linesmethod inp_discus.pyAdded
parse_linesmethod inp_pdb.pyAdded
parse_linesmethod inp_pdffit.pyAdded
parse_linesmethod inp_rawxyz.pyAdded
parse_linesmethod inp_xcfg.pyAdded
parse_linesmethod inp_xyz.pyAdded
parse_linesmethod instructureparser.pyAdded
_suppress_cif_parser_outputmethod inp_cif.pyAdd deprecation warning for
diffpy.Structureimport.Added diffpy.structure.Structure.add_new_atom in replace of addNewAtom
Added
load_structure_filemethod inapps/anyeye.pyAdded
convert_structure_filemethod inapps/anyeye.pyAdded
watch_structure_filemethod inapps/anyeye.pyAdded
clean_upmethod inapps/anyeye.pyAdded
parse_formulamethod inapps/anyeye.pyAdded
signal_handlermethod inapps/anyeye.pyAdded method
load_structurein__init__.pyAdded diffpy.structure.Structure.assign_unique_labels in replace of assignUniqueLabels
Support for Python 3.14
Added
place_in_latticemethod toStructureAdded
read_structuremethod toStructureAdded
write_structuremethod toStructureAdded
position_formulamethod inGeneratorSiteclassAdded
u_formulamethod inGeneratorSiteclassAdded
eq_indexmethod inGeneratorSiteclassAdded
prune_formula_dictionarymethod insymmetryutilities.pyAdded
_link_atom_attributemethod indiffpy.structure.utilsAdded
msd_lattmethod inatom.pyAdded
msd_cartmethod inatom.pyAdded
_get_uijmethod inatom.pyAdded
_set_uijmethod inatom.pyAdded
parse_filemethod instructureparser.pyAdded
parse_linesmethod inp_cif.pyAdded
parse_linesmethod inp_auto.pyAdded parser for vesta specific files and viewer for vesta
Added
atom_bare_symbolmethod inutils.pyAdded
_get_ordered_formatsmethod inp_auto.pyAdded
_wrap_parse_methodmethod inp_auto.pyAdded
_tr_atom_site_u_iso_or_equivmethod inp_cif.pyAdded
_tr_atom_site_b_iso_or_equivmethod inp_cif.pyAdded
_tr_atom_site_aniso_u_11method inp_cif.pyAdded
_tr_atom_site_aniso_u_22method inp_cif.pyAdded
_tr_atom_site_aniso_u_33method inp_cif.pyAdded
_tr_atom_site_aniso_u_12method inp_cif.pyAdded
_tr_atom_site_aniso_u_13method inp_cif.pyAdded
_tr_atom_site_aniso_u_23method inp_cif.pyAdded
_tr_atom_site_aniso_b_11method inp_cif.pyAdded
_tr_atom_site_aniso_b_22method inp_cif.pyAdded
_tr_atom_site_aniso_b_33method inp_cif.pyAdded
_tr_atom_site_aniso_b_12method inp_cif.pyAdded
_tr_atom_site_aniso_b_13method inp_cif.pyAdded
_tr_atom_site_aniso_b_23method inp_cif.pyAdded
get_symopmethod inparsers/p_cif.pyAdded
get_space_groupmethod inspacegroups.pyAdded
find_space_groupmethod inspacegroups.pyAdded
is_space_group_identifiermethod inspacegroups.pyAdded
_hash_symop_listmethod inspacegroups.pyAdded
_build_sg_lookup_tablemethod inspacegroups.pyAdded
_get_sg_hash_lookup_tablemethod inspacegroups.pyAdded
read_structuremethod intoPDFFitStructureclassAdded
cell_parmsmethod intoLatticeclassAdded
_find_constraintsmethod inSymmetryConstraintsclassAdded
pos_parm_symbolsmethod inSymmetryConstraintsclassAdded
pos_parm_valuesmethod inSymmetryConstraintsclassAdded
u_parm_symbolsmethod inSymmetryConstraintsclassAdded
u_parm_valuesmethod inSymmetryConstraintsclassAdded
u_formulasmethod inSymmetryConstraintsclassAdded diffpy.structure.Structure.get_last_atom in replace of getLastAtom
Added
get_parsermethod inp_auto.pyAdded
get_parsermethod inp_cif.pyAdded
get_parsermethod inp_discus.pyAdded
get_parsermethod inp_pdb.pyAdded
get_parsermethod inp_pdffit.pyAdded
get_parsermethod inp_rawxyz.pyAdded
get_parsermethod inp_xcfg.pyAdded
get_parsermethod inp_xyz.pyAdded
get_parsermethod inparsers/__init__.pyAdded
position_formulasmethod inSymmetryConstraintsclassAdded
position_formulas_prunedmethod inSymmetryConstraintsclassAdded
u_formulas_prunedmethod inSymmetryConstraintsclassAdded
_parse_cif_data_sourcemethod inp_cif.pyAdded
_parse_cif_blockmethod inp_cif.pyAdded
to_linesmethod inp_cif.pyAdded
to_linesmethod inp_pdb.pyAdded
to_linesmethod inp_rawxyz.pyAdded
to_linesmethod inp_xcfg.pyAdded
to_linesmethod inp_xyz.pyAdded
to_linesmethod instructureparser.pyAdded
_lines_iteratormethod inp_discus.pyAdded
to_linesmethod inp_discus.pyAdded
is_space_group_latt_parmsmethod insymmetryutilities.pyAdded
is_constant_formulamethod insymmetryutilities.pyAdded
find_centermethod inexpansion/shapeutils.pyAdded
make_spheremethod inexpansion/makeellipsoid.pyAdded
make_ellipsoidmethod inexpansion/makeellipsoid.pyAdded
position_differencemethod insymmetryutilities.pyAdded
nearest_site_indexmethod insymmetryutilities.pyAdded
_find_invariantsmethod insymmetryutilities.pyAdded
equal_positionsmethod insymmetryutilities.pyAdded
expand_positionmethod insymmetryutilities.pyAdded
null_spacemethod insymmetryutilities.pyAdded
input_formatsmethod inparsers/__init__.pyAdded
output_formatsmethod inparsers/__init__.pyAdded
title_linesmethod inp_pdb.pyAdded
cryst1_linesmethod inp_pdb.pyAdded
atom_linesmethod inp_pdb.pyAdded
convert_fp_num_to_signed_rationalmethod inGeneratorSiteclassAdded
_find_null_spacemethod inGeneratorSiteclassAdded
_find_pos_parametersmethod inGeneratorSiteclassAdded
_find_u_spacemethod inGeneratorSiteclassAdded
_find_u_parametersmethod inGeneratorSiteclassAdded
_find_eq_uijmethod inGeneratorSiteclass
Changed:
Changed private method
__emptySharedStructureto__empty_shared_structure
Deprecated:
Deprecated
setLatParmethod inLatticeclass for removal in version 4.0.0Deprecated
setLatBasemethod inLatticeclass for removal in version 4.0.0Deprecated
parseLinesmethod inp_auto.pyfor removal in version 4.0.0Deprecated
parseLinesmethod inp_cif.pyfor removal in version 4.0.0Deprecated
parseLinesmethod inp_discus.pyfor removal in version 4.0.0Deprecated
parseLinesmethod inp_pdb.pyfor removal in version 4.0.0Deprecated
parseLinesmethod inp_pdffit.pyfor removal in version 4.0.0Deprecated
parseLinesmethod inp_rawxyz.pyfor removal in version 4.0.0Deprecated
parseLinesmethod inp_xcfg.pyfor removal in version 4.0.0Deprecated
parseLinesmethod inp_xyz.pyfor removal in version 4.0.0Deprecated
parseLinesmethod instructureparser.pyfor removal in version 4.0.0Deprecated diffpy.structure.Structure.addNewAtom method for removal in version 4.0.0
Deprecated
loadStructureFilemethod inapps/anyeye.pyfor removal in version 4.0.0Deprecated
convertStructureFilemethod inapps/anyeye.pyfor removal in version 4.0.0Deprecated
watchStructureFilemethod inapps/anyeye.pyfor removal in version 4.0.0Deprecated
cleanUpmethod inapps/anyeye.pyfor removal in version 4.0.0Deprecated
parseFormulamethod inapps/anyeye.pyfor removal in version 4.0.0Deprecated
signalHandlermethod inapps/anyeye.pyfor removal in version 4.0.0Deprecated method
loadStructurein__init__.pyfor removal in version 4.0.0Deprecated diffpy.structure.Structure.assignUniqueLabels for removal in 4.0.0
Deprecated
placeInLatticemethod ofStructurefor removal in version 4.0.0Deprecated
readStrmethod ofStructurefor removal in version 4.0.0Deprecated
writeStrmethod ofStructurefor removal in version 4.0.0Deprecated
positionFormulamethod inGeneratorSiteclass for removal in version 4.0.0Deprecated
UFormulamethod inGeneratorSiteclass for removal in version 4.0.0Deprecated
eqIndexmethod inGeneratorSiteclass for removal in version 4.0.0Deprecated
pruneFormulaDictionarymethod insymmetryutilities.pyfor removal in version 4.0.0Derecated
_linkAtomAttributemethod indiffpy.structure.utilsfor removal in version 4.0.0Deprecated
msdLatmethod inatom.pyfor removal in version 4.0.0Deprecated
msdCartmethod inatom.pyfor removal in version 4.0.0Deprecated
parse_filemethod instructureparser.pyfor removal in version 4.0.0Deprecated
parse_filemethod inp_cif.pyfor removal in version 4.0.0Deprecated
parse_filemethod inp_auto.pyfor removal in version 4.0.0Deprecated
atomBareSymbolmethod inutils.pyfor removal in version 4.0.0Deprecated
getSymOpmethod inparsers/p_cif.pyfor removal in version 4.0.0Deprecated
GetSpaceGroupmethod inspacegroups.pyfor removal in version 4.0.0Deprecated
IsSpaceGroupIdentifiermethod inspacegroups.pyfor removal in version 4.0.0Deprecated
FindSpaceGroupmethod inspacegroups.pyfor removal in version 4.0.0Deprecated
_hashSymOpListmethod inspacegroups.pyfor removal in version 4.0.0Deprecated
readStrmethod inPDFFitStructureclass for removal in version 4.0.0Deprecated
abcABGmethod inLatticeclass for removal in version 4.0.0Deprecated
posparSymbolsmethod inSymmetryConstraintsclass for removal in version 4.0.0Deprecated
posparValuesmethod inSymmetryConstraintsclass for removal in version 4.0.0Deprecated
UparSymbolsmethod inSymmetryConstraintsclass for removal in version 4.0.0Deprecated
UparValuesmethod inSymmetryConstraintsclass for removal in version 4.0.0Deprecated
UFormulasmethod inSymmetryConstraintsclass for removal in version 4.0.0Deprecated diffpy.structure.Structure.getLastAtom for removal in version 4.0.0
Deprecated
getParsermethod inp_auto.pyfor removal in version 4.0.0Deprecated
getParsermethod inp_cif.pyfor removal in version 4.0.0Deprecated
getParsermethod inp_discus.pyfor removal in version 4.0.0Deprecated
getParsermethod inp_pdb.pyfor removal in version 4.0.0Deprecated
getParsermethod inp_pdffit.pyfor removal in version 4.0.0Deprecated
getParsermethod inp_rawxyz.pyfor removal in version 4.0.0Deprecated
getParsermethod inp_xcfg.pyfor removal in version 4.0.0Deprecated
getParsermethod inp_xyz.pyfor removal in version 4.0.0Deprecated
getParsermethod inparsers/__init__.pyfor removal in version 4.0.0Deprecated
positionFormulasmethod inSymmetryConstraintsclass for removal in version 4.0.0Deprecated
positionFormulasPrunedmethod inSymmetryConstraintsclass for removal in version 4.0.0Deprecated
UFormulasPrunedmethod inSymmetryConstraintsclass for removal in version 4.0.0Deprecated
toLinesmethod inp_cif.pyfor removal in version 4.0.0Deprecated
toLinesmethod inp_pdb.pyfor removal in version 4.0.0Deprecated
toLinesmethod inp_rawxyz.pyfor removal in version 4.0.0Deprecated
toLinesmethod inp_xcfg.pyfor removal in version 4.0.0Deprecated
toLinesmethod inp_xyz.pyfor removal in version 4.0.0Deprecated
toLinesmethod instructureparser.pyfor removal in version 4.0.0Deprecated
toLinesmethod inp_discus.pyfor removal in version 4.0.0Deprecated
isSpaceGroupLatParmethod insymmetryutilities.pyfor removal in version 4.0.0Deprecated
isconstantFormulamethod insymmetryutilities.pyfor removal in version 4.0.0Deprecated
findCentermethod inexpansion/shapeutils.pyfor removal in version 4.0.0Deprecated
makeSpheremethod inexpansion/makeellipsoid.pyfor removal in version 4.0.0Deprecated
makeEllipsoidmethod inexpansion/makeellipsoid.pyfor removal in version 4.0.0Deprecated
positionDifferencemethod insymmetryutilities.pyfor removal in version 4.0.0Deprecated
nearestSiteIndexmethod insymmetryutilities.pyfor removal in version 4.0.0Deprecated
equalPositionsmethod insymmetryutilities.pyfor removal in version 4.0.0Deprecated
expandPositionmethod insymmetryutilities.pyfor removal in version 4.0.0Deprecated
nullSpacemethod insymmetryutilities.pyfor removal in version 4.0.0Deprecated
inputFormatsmethod inparsers/__init__.pyfor removal in version 4.0.0Deprecated
outputFormatsmethod inparsers/__init__.pyfor removal in version 4.0.0Deprecated
titleLinesmethod inp_pdb.pyfor removal in version 4.0.0Deprecated
crystl1Linesmethod inp_pdb.pyfor removal in version 4.0.0Deprecated
atomLinesmethod inp_pdb.pyfor removal in version 4.0.0Deprecated
signedRatStrmethod in inGeneratorSiteclass for removal in version 4.0.0
Fixed:
Fixed
load_structurewith successfully loading Path objectFix deprecation for open file for Python 3.14
Removed:
Support for Python 3.11
3.3.1
Added:
Spelling check via Codespell in pre-commit
Coverage report in each PR
Changed:
Use the names CODE-OF-CONDUCT.rst, docs and requirements/tests.txt according to the new group standard.
Fixed:
Let
diffpy.structurepass the tests withpycifrwinstalled fromPyPI.
3.3.0
Added:
Support for Python 3.13
Deprecated:
Support for Python 3.10
3.2.3
Added:
Use GitHub Actions to build, release, upload to PyPI
Added issue template for PyPI/GitHub release
Include GitHub Issues templates for bug report and feature request
Fixed:
Add getting started section and re-arrange install success check instructions
Added terminal script for transtru app in pyproject.toml
Changed requires-python to align with classifiers
3.2.2
Added:
Unit test for version.py
support for numpy >=2.0
Fixed:
tests folder at the root of the repo
Add pip dependencies under pip.txt and conda dependencies under conda.txt
element/label itemsize to 5 in _linkAtomAttribute to support numpy >=2.0
Recookiecut package to the group standard
3.2.1
3.2.0
Changed:
Removed support for Python 2
This version only supporting Python 3.10, 3.11, 3.12
All docstrings style updated to numpydoc
Deprecated:
Deprecated the diffpy.structure.applications module. Use diffpy.structure.apps instead
Removed:
Removed all six compatibility code
Fixed:
Repo structure modified to the new diffpy standard
Version 3.1.0 - 2022-12-04
Added
Compatibility with Python 3.10, 3.9, 3.8
Changed
Deprecated
Removed
Remove the support for Python 3.5, 3.6.
Fixed
Version 3.0.2 - 2022-10-12
Added
A string representation of SpaceGroup with key information.
Changed
Bumped minimum PyCifRW version to 4.4.3.
Deprecated
Removed
Fixed
Handling of paths on Windows when using the P_cif parser.
Version 3.0.1 - 2019-06-27
Added
Function FindSpaceGroup for space group lookup from its list of symmetry operations.
Changed
Reuse existing SpaceGroup instance when loading a CIF file.
Improve check of SpaceGroup identifiers in GetSpaceGroup.
When loading CIF file, preset Atom.anisotropy according to symmetry constraints at each site. Adhere to specific ADP type when specified in the CIF.
Removed
Unused attribute SpaceGroup.alt_name.
Fixed
Fix inconsistent (Atom, Structure) pickle. Preserve Atom ownership in a Structure after pickling and unpickling.
Spuriously linked array-view values after stru.xyz = 0.
Preserve scalar value type when setting stru.occupancy = value.
Process unknown CIF occupancy “?” as an occupancy of 1.
Incorrect SymOp list for spacegroup “B11m” (number 1008).
Version 3.0.0 - 2019-03-11
Notable differences from version 1.3.5.
Added
Compatibility with Python 3.7, 3.6, 3.5 in addition to 2.7.
Aliases for 17 non-standard space group names from cctbx.
Support for intersphinx links to Python and NumPy documentation.
Dependency and use of the six PY2/PY3 compatibility package.
Documentation hosting at readthedocs.org.
Changed
Rename the package and all its module names to lowercase.
Use UTF-8 encoding when writing structure files.
Refactor parsing of XCFG format. Avoid use of generated code.
Refactor all starred imports to explicit so they can be checked.
Adopt napoleon style for docstrings.
Update docstrings for Atom, Lattice, SymOp, SpaceGroup.
Switch to platform-independent “noarch” Anaconda package.
Deprecated
Old camel case module names such as diffpy.Structure.
Variable __gitsha__ in the version module which was renamed to __git_commit__.
Removed
Unused exception IsotropyError.
Unused class BRAtomsStructure and associated parser.
Fixed
Loading of empty CIF files with no specified sites.
Parsing of CIFs with ? value for unknown displacement parameters.
Symmetry constraint equations for ADPs so they avoid self-reference.
Use StructureFormatError exception for CIF with unknown space group.
Open files within the with context so they get closed when done.
Invalid escape sequences in string values.