Fixed:
- Code brought up to scikit-package level 5 standards with automated release workflows
Removed:
- Removed fallback version handling in src/pyobjcryst/version.py.
Fixes:
- Correct powder pattern plotting with a non-empty name
Changes:
- PowderPattern:
* Fix re-using a matplotlib figure when plotting
* Add
figureproperty
Changes:
- DiffractionDataSingleCrystal: add
SetHklIobs,SetIobs,SetSigma,GetSigma,GetChi2,FitScaleFactorForRwandFitScaleFactorForR(issue #42) - Add a single crystal data notebook example
- Online documentation notebooks now include the plots https://pyobjcryst.readthedocs.io/en/latest/examples
Fixes:
- From libobjcryst: update the ScatteringComponentList when a Scatterer is removed from a Crystal (issue #41)
Changes:
- Add python access to MolZAtom, for
Molecule.AsZMatrix()
Changes:
- Support for Windows and Python>=3.8
- Added a zoom limit for 3D crystal views
Fixes:
- Correct error preventing pyobjcryst import for Windows and Python>=3.8 (issue #33)
- Fix for matplotlib >=3.7.0 when removing hkl labels
Changes:
- Raise an exception if
alpha,betaorgammaare not within]0;pi[when changing lattice angles - Add
UnitCell.ChangeSpaceGroup()
Fixes:
- Avoid duplication of plots when using ipympl (aka
%matplotlib widget) - Correct powder pattern tests to avoid warnings
Deprecated:
loadCrystal– usecreate_crystal_from_cif()instead
Changes:
- The list of HKL reflections will now be automatically re-generated for a
PowderPatternDiffractionwhen the Crystal's spacegroup changes, or the lattice parameters are modified by more than 0.5%
Fixes:
- Fixed the powder pattern indexing test
Added:
- Support for Windows install (works with Python 3.7, and with PyPy 3.8 and 3.9)
- Native support for Apple arm64 (M1, M2) processors
- Fourier maps calculation
- Add
gDiffractionDataSingleCrystalRegistryto globals
Changes:
- Add correct wrapping for C++-instantiated objects available through global registries, e.g. when loading an XML file. The objects are decorated with the python functions when accessed through the global registries
GetObj() - Moved global object registries to
pyobjcryst.globals - Update documentation
Fixed:
- Fix access to
PRISM_TETRAGONAL_DICAP,PRISM_TRIGONAL,ICOSAHEDRONandTRIANGLE_PLANE - Fix powder pattern plot issues (NaN and update of hkl text with recent matplotlib versions)
- Add quantitative phase analysis with
PowderPattern.qpa(), including an example notebook using the QPA Round-Robin data - Correct import of
urllib.request.urllopen()when loading CIF or z-matrix files from HTTP URLs - Fix blank line javascript output when updating the Crystal 3D view
- Add
RefinableObj.xml()to directly get the XMLOutput as a string - Add example notebooks to the sphinx-generated html documentation
- Fix issue when using
Crystal.XMLInput()for a non-empty structure. Existing scattering power will be re-used when possible, and otherwise not deleted anymore (which could lead to crashes)
- Add access to
Radiationclass & functions to change RadiationType, wavelength inPowderPatternandScatteringData(and henceDiffractionDataSingleCrystal) classes - Fix the custodian_ward when creating a
PowderPatternDiffraction:PowderPatternDiffractionmust persist whilePowderPatternexists, and Crystal must persist whilePowderPatternDiffractionexists - Add 3D Crystal viewer
pyobjcryst.crystal.Crystal.widget_3d
Added:
- Support for Python 3.7
- Validation of compiler options from
python-config - Make scons scripts compatible with Python 3 and Python 2
- Support
np.arrayarguments forSetPowderPatternX,SetPowderPatternObs - Declare compatible version requirements for client Anaconda packages
- Facility for silencing spurious console output from libobjcryst
Changed:
- Build Anaconda package with Anaconda C++ compiler
- Update to libobjcryst 2017.2.x
Deprecated:
- Variable
__gitsha__in theversionmodule, renamed to__git_commit__
Removed:
- Support for Python 3.4
Fixed:
- Ambiguous use of boost::python classes and functions
- Name suffix resolution of
boost_pythonshared library SetPowderPatternXcrash for zero-length argument- Incorrectly doubled return value from
GetInversionCenter