Skip to content

Commit de850d3

Browse files
committed
Release 2.2.6.
Add zoom limits for 3D crystal view Update documentation and notebooks. Remove duplicate info from pyproject.toml. Change maintainer to [email protected]
1 parent 0ae5d21 commit de850d3

11 files changed

+5372
-18392
lines changed

CHANGELOG.md

+7-1
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,15 @@
22

33
## Version 2.2.6
44

5+
### Changes
6+
7+
- Support for windows and python>=3.8
8+
- Added a zoom limit for 3D crystal views
9+
510
### Fixes
611

7-
- fix for windows and python>=3.8
12+
- Correct error preventing pyobjcryst import for windows and python>=3.8
13+
(https://github.com/diffpy/pyobjcryst/issues/33)
814
- Fix for matplotlib >=3.7.0 when removing hkl labels
915

1016
## Version 2.2.5

README.rst

+35-15
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ pyobjcryst
1010
Python bindings to ObjCryst++, the Object-Oriented Crystallographic Library.
1111

1212
The documentation for this release of pyobjcryst can be found on-line at
13-
http://diffpy.github.io/pyobjcryst.
13+
https://pyobjcryst.readthedocs.io/
1414

1515

1616
INSTALLATION
@@ -20,17 +20,26 @@ pyobjcryst is available for Python 3.7 (deprecated), and 3.8 to 3.11.
2020
Using conda (recommended)
2121
^^^^^^^^^^^^^^^^^^^^^^^^^
2222

23-
We recommend to use `Anaconda Python <https://www.anaconda.com/download>`_
24-
as it allows to install all software dependencies together with
25-
pyobjcryst. For other Python distributions it is necessary to
26-
install the required software separately.
23+
We recommend to use **conda** as it allows to install all software dependencies
24+
together with pyobjcryst, without too much compiling hastle.
2725

28-
Using conda, we recommend installing pyobjcryst using the "conda-forge" channel ::
26+
Two distributions can be used:
27+
28+
* `Anaconda Python <https://www.anaconda.com/download>`_, the historical
29+
main conda-based distribution
30+
* `Mamba-forge <https://github.com/conda-forge/miniforge/releases>`_ , which
31+
has the advantage off providing **mamba** in addition to conda, and is
32+
*much faster* when resolving dependencies during installation. It also
33+
uses by default the conda-forge repository, which is what almost all
34+
users would want.
35+
36+
Using conda, we you can install pyobjcryst using the "conda-forge" channel ::
2937

3038
conda install -c conda-forge pyobjcryst
3139

32-
Note: when updating, please make sure you are upgrading both
33-
libobjcryst and pyobjcryst packages.
40+
Alternatively using mamba ::
41+
42+
mamba install pyobjcryst
3443

3544
You can also install from the "diffpy" channel - especially if you use
3645
pyobjcryst allong with the other diffpy tools for PDF calculations,
@@ -41,6 +50,20 @@ of packages for structure analysis ::
4150

4251
conda install -c diffpy diffpy-cmi
4352

53+
Complete new conda environment with optional GUI and jupyter dependencies
54+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
55+
56+
Assuming you have installed `Mamba-forge <https://github.com/conda-forge/miniforge/releases>`_,
57+
you can directly create a new conda environment named `pyobjcryst` with all useful dependencies (including
58+
jupyter-lab, python 3.11..) using ::
59+
60+
mamba create -n pyobjcryst python=3.11 pyobjcryst matplotlib py3dmol jupyterlab ipympl multiprocess
61+
62+
Then you can activate the environment and launch jupyter-lab using ::
63+
64+
conda activate pyobjcryst
65+
jupyter-lab
66+
4467
From source
4568
^^^^^^^^^^^
4669
The requirements are:
@@ -97,17 +120,14 @@ displayed in a jupyter notebook:
97120
``py3dmol`` and ``ipywidgets`` modules. See the notebook
98121
``examples/cystal_3d_widget.ipynb``
99122
* a PowderPattern can be displayed (and live-updated) if
100-
``matplotlib`` (and optionally ``ipympl``) are installed. See the
123+
``matplotlib`` and ``ipympl`` are installed. See the
101124
notebook ``examples/cimetidine-structure-solution-powder.ipynb``
102125

103-
In short, ``pip install jupyter matplotlib ipywidgets py3dmol``
104-
will give you all the required dependencies. Note that you can also
126+
In short, ``conda install jupyter matplotlib ipympl py3dmol``
127+
will give you all the required dependencies. You can also
105128
use this in jupyterlab.
106129

107-
Note that ``jupyter``, ``ipywidgets``, ``matplotlib`` and ``ipympl`` can
108-
be installed using conda(-forge), but ``py3dmol`` should be installed using
109-
``pip``, as the conda version is obsolete.
110-
130+
These packages can also be installed using ``pip`` if you do not use conda.
111131

112132
DEVELOPMENT
113133
-----------

doc/manual/source/index.rst

+42-6
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
..
2+
Note: in order for the notebooks to render correctly using widgets,
3+
go to jupyter-lab settings and select 'Save Widget State Automatically'
4+
15
####################################################
26
pyobjcryst documentation
37
####################################################
@@ -14,8 +18,11 @@ Authors
1418

1519
`pyobjcryst` was written as part of the DANSE_ open-source project by
1620
Christopher Farrow, Pavol Juhás, and Simon J.L. Billinge.
17-
The sources are now maintained as a part of the DiffPy-CMI complex
21+
The sources are maintained as a part of the DiffPy-CMI complex
1822
modeling initiative at the Brookhaven National Laboratory.
23+
The underlying library `ObjCryst++ <https://github.com/vincefn/objcryst>`_
24+
was developed by V. Favre-Nicolin as part of the development of the
25+
`Fox <http://fox.vincefn.net>`_ software.
1926

2027
Further developments including the ability to index and refine
2128
powder patterns, solve and display crystal structures, using the
@@ -34,19 +41,43 @@ Installation
3441

3542
`pyobjcryst` and `libobjcryst` conda packages can be easily installed under
3643
Linux and macOS using channel `conda-forge` or `diffpy` channels,
37-
e.g.:
44+
e.g. ::
45+
46+
conda install -c conda-forge libobjcryst pyobjcryst
47+
48+
or ::
3849

39-
* `conda install -c diffpy libobjcryst pyobjcryst`
40-
* `conda install -c conda-forge libobjcryst pyobjcryst`
50+
conda install -c diffpy libobjcryst pyobjcryst
51+
52+
It is recommended to use the `conda-forge` channel which is updated more
53+
frequently than the `diffpy` one, unless you only use `pyobjcryst` through
54+
the DiffPy-CMI tools.
4155

4256
See the `README <https://github.com/diffpy/pyobjcryst#requirements>`_
4357
file included with the distribution for more details.
4458

59+
Complete conda environment with optional GUI and jupyter dependencies
60+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
61+
62+
The **fastest way to use pyobjcryst** is to first install the
63+
`Mamba-forge <https://github.com/conda-forge/miniforge/releases>`_ distribution (which is
64+
faster than traditional conda), and then you can directly create a new conda environment
65+
named `pyobjcryst` with all useful dependencies (including jupyter-lab, python 3.11..) using ::
66+
67+
mamba create -n pyobjcryst python=3.11 pyobjcryst matplotlib py3dmol jupyterlab ipympl multiprocess
68+
69+
(note: if you do not know `mamba`, it is a command equivalent to `conda` except *much* faster)
70+
71+
Then activate the environment and launch jupyter-lab using ::
72+
73+
conda activate pyobjcryst
74+
jupyter-lab
75+
4576
======================================
46-
Usage
77+
Usage & notebooks
4778
======================================
4879

49-
`pyobjcryst` can be used in different ways:
80+
`pyobjcryst` can be used
5081

5182
* **as a backend library** to manage crystal structures description in an application
5283
like `DiffPy-CMI <https://www.diffpy.org/products/diffpycmi/index.html>`_
@@ -66,6 +97,11 @@ Usage
6697
* :doc:`Meta-structure solution using multi-processing <examples/structure-solution-multiprocessing>`
6798
* :doc:`Quantitative phase analysis (QPA) <examples/Quantitative-phase-analysis>`
6899

100+
The **API documentation** can be found in :doc:`api/modules`.
101+
102+
You can also read the
103+
`documentation of the underlying ObjCryst++ library <https://vincefn.net/ObjCryst/annotated.html>`_.
104+
69105
======================================
70106
Table of contents
71107
======================================

0 commit comments

Comments
 (0)