Added:
- Added
set_latt_parmsmethod intoLatticeclass - Added
set_new_latt_base_vecmethod intoLatticeclass - Added
parse_linesmethod inp_auto.py - Added
parse_linesmethod inp_cif.py - Added
parse_linesmethod inp_discus.py - Added
parse_linesmethod inp_pdb.py - Added
parse_linesmethod inp_pdffit.py - Added
parse_linesmethod inp_rawxyz.py - Added
parse_linesmethod inp_xcfg.py - Added
parse_linesmethod inp_xyz.py - Added
parse_linesmethod instructureparser.py - Added
_suppress_cif_parser_outputmethod inp_cif.py - Add deprecation warning for
diffpy.Structureimport. - Added diffpy.structure.Structure.add_new_atom in replace of addNewAtom
- Added
load_structure_filemethod inapps/anyeye.py - Added
convert_structure_filemethod inapps/anyeye.py - Added
watch_structure_filemethod inapps/anyeye.py - Added
clean_upmethod inapps/anyeye.py - Added
parse_formulamethod inapps/anyeye.py - Added
signal_handlermethod inapps/anyeye.py - Added method
load_structurein__init__.py - Added diffpy.structure.Structure.assign_unique_labels in replace of assignUniqueLabels
- Support for Python 3.14
- Added
place_in_latticemethod toStructure - Added
read_structuremethod toStructure - Added
write_structuremethod toStructure - Added
position_formulamethod inGeneratorSiteclass - Added
u_formulamethod inGeneratorSiteclass - Added
eq_indexmethod inGeneratorSiteclass - Added
prune_formula_dictionarymethod insymmetryutilities.py - Added
_link_atom_attributemethod indiffpy.structure.utils - Added
msd_lattmethod inatom.py - Added
msd_cartmethod inatom.py - Added
_get_uijmethod inatom.py - Added
_set_uijmethod inatom.py - Added
parse_filemethod instructureparser.py - Added
parse_linesmethod inp_cif.py - Added
parse_linesmethod inp_auto.py - Added parser for vesta specific files and viewer for vesta
- Added
atom_bare_symbolmethod inutils.py - Added
_get_ordered_formatsmethod inp_auto.py - Added
_wrap_parse_methodmethod inp_auto.py - Added
_tr_atom_site_u_iso_or_equivmethod inp_cif.py - Added
_tr_atom_site_b_iso_or_equivmethod inp_cif.py - Added
_tr_atom_site_aniso_u_11method inp_cif.py - Added
_tr_atom_site_aniso_u_22method inp_cif.py - Added
_tr_atom_site_aniso_u_33method inp_cif.py - Added
_tr_atom_site_aniso_u_12method inp_cif.py - Added
_tr_atom_site_aniso_u_13method inp_cif.py - Added
_tr_atom_site_aniso_u_23method inp_cif.py - Added
_tr_atom_site_aniso_b_11method inp_cif.py - Added
_tr_atom_site_aniso_b_22method inp_cif.py - Added
_tr_atom_site_aniso_b_33method inp_cif.py - Added
_tr_atom_site_aniso_b_12method inp_cif.py - Added
_tr_atom_site_aniso_b_13method inp_cif.py - Added
_tr_atom_site_aniso_b_23method inp_cif.py - Added
get_symopmethod inparsers/p_cif.py - Added
get_space_groupmethod inspacegroups.py - Added
find_space_groupmethod inspacegroups.py - Added
is_space_group_identifiermethod inspacegroups.py - Added
_hash_symop_listmethod inspacegroups.py - Added
_build_sg_lookup_tablemethod inspacegroups.py - Added
_get_sg_hash_lookup_tablemethod inspacegroups.py - Added
read_structuremethod intoPDFFitStructureclass - Added
cell_parmsmethod intoLatticeclass - Added
_find_constraintsmethod inSymmetryConstraintsclass - Added
pos_parm_symbolsmethod inSymmetryConstraintsclass - Added
pos_parm_valuesmethod inSymmetryConstraintsclass - Added
u_parm_symbolsmethod inSymmetryConstraintsclass - Added
u_parm_valuesmethod inSymmetryConstraintsclass - Added
u_formulasmethod inSymmetryConstraintsclass - Added diffpy.structure.Structure.get_last_atom in replace of getLastAtom
- Added
get_parsermethod inp_auto.py - Added
get_parsermethod inp_cif.py - Added
get_parsermethod inp_discus.py - Added
get_parsermethod inp_pdb.py - Added
get_parsermethod inp_pdffit.py - Added
get_parsermethod inp_rawxyz.py - Added
get_parsermethod inp_xcfg.py - Added
get_parsermethod inp_xyz.py - Added
get_parsermethod inparsers/__init__.py - Added
position_formulasmethod inSymmetryConstraintsclass - Added
position_formulas_prunedmethod inSymmetryConstraintsclass - Added
u_formulas_prunedmethod inSymmetryConstraintsclass - Added
_parse_cif_data_sourcemethod inp_cif.py - Added
_parse_cif_blockmethod inp_cif.py - Added
to_linesmethod inp_cif.py - Added
to_linesmethod inp_pdb.py - Added
to_linesmethod inp_rawxyz.py - Added
to_linesmethod inp_xcfg.py - Added
to_linesmethod inp_xyz.py - Added
to_linesmethod instructureparser.py - Added
_lines_iteratormethod inp_discus.py - Added
to_linesmethod inp_discus.py - Added
is_space_group_latt_parmsmethod insymmetryutilities.py - Added
is_constant_formulamethod insymmetryutilities.py - Added
find_centermethod inexpansion/shapeutils.py - Added
make_spheremethod inexpansion/makeellipsoid.py - Added
make_ellipsoidmethod inexpansion/makeellipsoid.py - Added
position_differencemethod insymmetryutilities.py - Added
nearest_site_indexmethod insymmetryutilities.py - Added
_find_invariantsmethod insymmetryutilities.py - Added
equal_positionsmethod insymmetryutilities.py - Added
expand_positionmethod insymmetryutilities.py - Added
null_spacemethod insymmetryutilities.py - Added
input_formatsmethod inparsers/__init__.py - Added
output_formatsmethod inparsers/__init__.py - Added
title_linesmethod inp_pdb.py - Added
cryst1_linesmethod inp_pdb.py - Added
atom_linesmethod inp_pdb.py - Added
convert_fp_num_to_signed_rationalmethod inGeneratorSiteclass - Added
_find_null_spacemethod inGeneratorSiteclass - Added
_find_pos_parametersmethod inGeneratorSiteclass - Added
_find_u_spacemethod inGeneratorSiteclass - Added
_find_u_parametersmethod inGeneratorSiteclass - Added
_find_eq_uijmethod inGeneratorSiteclass
Changed:
- Changed private method
__emptySharedStructureto__empty_shared_structure
Deprecated:
- Deprecated
setLatParmethod inLatticeclass for removal in version 4.0.0 - Deprecated
setLatBasemethod inLatticeclass for removal in version 4.0.0 - Deprecated
parseLinesmethod inp_auto.pyfor removal in version 4.0.0 - Deprecated
parseLinesmethod inp_cif.pyfor removal in version 4.0.0 - Deprecated
parseLinesmethod inp_discus.pyfor removal in version 4.0.0 - Deprecated
parseLinesmethod inp_pdb.pyfor removal in version 4.0.0 - Deprecated
parseLinesmethod inp_pdffit.pyfor removal in version 4.0.0 - Deprecated
parseLinesmethod inp_rawxyz.pyfor removal in version 4.0.0 - Deprecated
parseLinesmethod inp_xcfg.pyfor removal in version 4.0.0 - Deprecated
parseLinesmethod inp_xyz.pyfor removal in version 4.0.0 - Deprecated
parseLinesmethod instructureparser.pyfor removal in version 4.0.0 - Deprecated diffpy.structure.Structure.addNewAtom method for removal in version 4.0.0
- Deprecated
loadStructureFilemethod inapps/anyeye.pyfor removal in version 4.0.0 - Deprecated
convertStructureFilemethod inapps/anyeye.pyfor removal in version 4.0.0 - Deprecated
watchStructureFilemethod inapps/anyeye.pyfor removal in version 4.0.0 - Deprecated
cleanUpmethod inapps/anyeye.pyfor removal in version 4.0.0 - Deprecated
parseFormulamethod inapps/anyeye.pyfor removal in version 4.0.0 - Deprecated
signalHandlermethod inapps/anyeye.pyfor removal in version 4.0.0 - Deprecated method
loadStructurein__init__.pyfor removal in version 4.0.0 - Deprecated diffpy.structure.Structure.assignUniqueLabels for removal in 4.0.0
- Deprecated
placeInLatticemethod ofStructurefor removal in version 4.0.0 - Deprecated
readStrmethod ofStructurefor removal in version 4.0.0 - Deprecated
writeStrmethod ofStructurefor removal in version 4.0.0 - Deprecated
positionFormulamethod inGeneratorSiteclass for removal in version 4.0.0 - Deprecated
UFormulamethod inGeneratorSiteclass for removal in version 4.0.0 - Deprecated
eqIndexmethod inGeneratorSiteclass for removal in version 4.0.0 - Deprecated
pruneFormulaDictionarymethod insymmetryutilities.pyfor removal in version 4.0.0 - Derecated
_linkAtomAttributemethod indiffpy.structure.utilsfor removal in version 4.0.0 - Deprecated
msdLatmethod inatom.pyfor removal in version 4.0.0 - Deprecated
msdCartmethod inatom.pyfor removal in version 4.0.0 - Deprecated
parse_filemethod instructureparser.pyfor removal in version 4.0.0 - Deprecated
parse_filemethod inp_cif.pyfor removal in version 4.0.0 - Deprecated
parse_filemethod inp_auto.pyfor removal in version 4.0.0 - Deprecated
atomBareSymbolmethod inutils.pyfor removal in version 4.0.0 - Deprecated
getSymOpmethod inparsers/p_cif.pyfor removal in version 4.0.0 - Deprecated
GetSpaceGroupmethod inspacegroups.pyfor removal in version 4.0.0 - Deprecated
IsSpaceGroupIdentifiermethod inspacegroups.pyfor removal in version 4.0.0 - Deprecated
FindSpaceGroupmethod inspacegroups.pyfor removal in version 4.0.0 - Deprecated
_hashSymOpListmethod inspacegroups.pyfor removal in version 4.0.0 - Deprecated
readStrmethod inPDFFitStructureclass for removal in version 4.0.0 - Deprecated
abcABGmethod inLatticeclass for removal in version 4.0.0 - Deprecated
posparSymbolsmethod inSymmetryConstraintsclass for removal in version 4.0.0 - Deprecated
posparValuesmethod inSymmetryConstraintsclass for removal in version 4.0.0 - Deprecated
UparSymbolsmethod inSymmetryConstraintsclass for removal in version 4.0.0 - Deprecated
UparValuesmethod inSymmetryConstraintsclass for removal in version 4.0.0 - Deprecated
UFormulasmethod inSymmetryConstraintsclass for removal in version 4.0.0 - Deprecated diffpy.structure.Structure.getLastAtom for removal in version 4.0.0
- Deprecated
getParsermethod inp_auto.pyfor removal in version 4.0.0 - Deprecated
getParsermethod inp_cif.pyfor removal in version 4.0.0 - Deprecated
getParsermethod inp_discus.pyfor removal in version 4.0.0 - Deprecated
getParsermethod inp_pdb.pyfor removal in version 4.0.0 - Deprecated
getParsermethod inp_pdffit.pyfor removal in version 4.0.0 - Deprecated
getParsermethod inp_rawxyz.pyfor removal in version 4.0.0 - Deprecated
getParsermethod inp_xcfg.pyfor removal in version 4.0.0 - Deprecated
getParsermethod inp_xyz.pyfor removal in version 4.0.0 - Deprecated
getParsermethod inparsers/__init__.pyfor removal in version 4.0.0 - Deprecated
positionFormulasmethod inSymmetryConstraintsclass for removal in version 4.0.0 - Deprecated
positionFormulasPrunedmethod inSymmetryConstraintsclass for removal in version 4.0.0 - Deprecated
UFormulasPrunedmethod inSymmetryConstraintsclass for removal in version 4.0.0 - Deprecated
toLinesmethod inp_cif.pyfor removal in version 4.0.0 - Deprecated
toLinesmethod inp_pdb.pyfor removal in version 4.0.0 - Deprecated
toLinesmethod inp_rawxyz.pyfor removal in version 4.0.0 - Deprecated
toLinesmethod inp_xcfg.pyfor removal in version 4.0.0 - Deprecated
toLinesmethod inp_xyz.pyfor removal in version 4.0.0 - Deprecated
toLinesmethod instructureparser.pyfor removal in version 4.0.0 - Deprecated
toLinesmethod inp_discus.pyfor removal in version 4.0.0 - Deprecated
isSpaceGroupLatParmethod insymmetryutilities.pyfor removal in version 4.0.0 - Deprecated
isconstantFormulamethod insymmetryutilities.pyfor removal in version 4.0.0 - Deprecated
findCentermethod inexpansion/shapeutils.pyfor removal in version 4.0.0 - Deprecated
makeSpheremethod inexpansion/makeellipsoid.pyfor removal in version 4.0.0 - Deprecated
makeEllipsoidmethod inexpansion/makeellipsoid.pyfor removal in version 4.0.0 - Deprecated
positionDifferencemethod insymmetryutilities.pyfor removal in version 4.0.0 - Deprecated
nearestSiteIndexmethod insymmetryutilities.pyfor removal in version 4.0.0 - Deprecated
equalPositionsmethod insymmetryutilities.pyfor removal in version 4.0.0 - Deprecated
expandPositionmethod insymmetryutilities.pyfor removal in version 4.0.0 - Deprecated
nullSpacemethod insymmetryutilities.pyfor removal in version 4.0.0 - Deprecated
inputFormatsmethod inparsers/__init__.pyfor removal in version 4.0.0 - Deprecated
outputFormatsmethod inparsers/__init__.pyfor removal in version 4.0.0 - Deprecated
titleLinesmethod inp_pdb.pyfor removal in version 4.0.0 - Deprecated
crystl1Linesmethod inp_pdb.pyfor removal in version 4.0.0 - Deprecated
atomLinesmethod inp_pdb.pyfor removal in version 4.0.0 - Deprecated
signedRatStrmethod in inGeneratorSiteclass for removal in version 4.0.0
Fixed:
- Fixed
load_structurewith successfully loading Path object - Fix deprecation for open file for Python 3.14
Removed:
- Support for Python 3.11
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.
Added:
- Support for Python 3.13
Deprecated:
- Support for Python 3.10
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
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
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
Added
- Compatibility with Python 3.10, 3.9, 3.8
Changed
Deprecated
Removed
- Remove the support for Python 3.5, 3.6.
Fixed
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.
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).
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.