diffpy.structure 3.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. diffpy/Structure.py +35 -0
  2. diffpy/__init__.py +23 -0
  3. diffpy/structure/__init__.py +93 -0
  4. diffpy/structure/_legacy_importer.py +88 -0
  5. diffpy/structure/apps/__init__.py +17 -0
  6. diffpy/structure/apps/anyeye.py +284 -0
  7. diffpy/structure/apps/transtru.py +126 -0
  8. diffpy/structure/atom.py +544 -0
  9. diffpy/structure/expansion/__init__.py +27 -0
  10. diffpy/structure/expansion/makeellipsoid.py +129 -0
  11. diffpy/structure/expansion/shapeutils.py +44 -0
  12. diffpy/structure/expansion/supercell_mod.py +91 -0
  13. diffpy/structure/lattice.py +663 -0
  14. diffpy/structure/mmlibspacegroups.py +8154 -0
  15. diffpy/structure/parsers/__init__.py +83 -0
  16. diffpy/structure/parsers/p_auto.py +217 -0
  17. diffpy/structure/parsers/p_cif.py +876 -0
  18. diffpy/structure/parsers/p_discus.py +312 -0
  19. diffpy/structure/parsers/p_pdb.py +405 -0
  20. diffpy/structure/parsers/p_pdffit.py +290 -0
  21. diffpy/structure/parsers/p_rawxyz.py +149 -0
  22. diffpy/structure/parsers/p_xcfg.py +457 -0
  23. diffpy/structure/parsers/p_xyz.py +161 -0
  24. diffpy/structure/parsers/parser_index_mod.py +108 -0
  25. diffpy/structure/parsers/structureparser.py +80 -0
  26. diffpy/structure/pdffitstructure.py +109 -0
  27. diffpy/structure/sgtbxspacegroups.py +5198 -0
  28. diffpy/structure/spacegroupmod.py +329 -0
  29. diffpy/structure/spacegroups.py +1441 -0
  30. diffpy/structure/structure.py +866 -0
  31. diffpy/structure/structureerrors.py +35 -0
  32. diffpy/structure/symmetryutilities.py +1100 -0
  33. diffpy/structure/utils.py +126 -0
  34. diffpy/structure/version.py +26 -0
  35. diffpy.structure-3.2.0.dist-info/AUTHORS.rst +13 -0
  36. diffpy.structure-3.2.0.dist-info/LICENSE.rst +141 -0
  37. diffpy.structure-3.2.0.dist-info/LICENSE_DANSE.rst +50 -0
  38. diffpy.structure-3.2.0.dist-info/LICENSE_pymmlib.rst +203 -0
  39. diffpy.structure-3.2.0.dist-info/METADATA +197 -0
  40. diffpy.structure-3.2.0.dist-info/RECORD +42 -0
  41. diffpy.structure-3.2.0.dist-info/WHEEL +5 -0
  42. diffpy.structure-3.2.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,197 @@
1
+ Metadata-Version: 2.1
2
+ Name: diffpy.structure
3
+ Version: 3.2.0
4
+ Summary: Crystal structure container and parsers for structure formats.
5
+ Author-email: "Simon J.L. Billinge group" <simon.billinge@gmail.com>
6
+ Maintainer-email: "Simon J.L. Billinge group" <simon.billinge@gmail.com>
7
+ Project-URL: Homepage, https://github.com/diffpy/diffpy.structure/
8
+ Project-URL: Issues, https://github.com/diffpy/diffpy.structure/issues/
9
+ Keywords: diffpy,crystal structure data storage CIF PDB
10
+ Classifier: Development Status :: 5 - Production/Stable
11
+ Classifier: Environment :: Console
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Intended Audience :: Science/Research
14
+ Classifier: License :: OSI Approved :: BSD License
15
+ Classifier: Operating System :: MacOS :: MacOS X
16
+ Classifier: Operating System :: Microsoft :: Windows
17
+ Classifier: Operating System :: POSIX
18
+ Classifier: Operating System :: Unix
19
+ Classifier: Programming Language :: Python :: 3.10
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Topic :: Scientific/Engineering :: Physics
23
+ Classifier: Topic :: Scientific/Engineering :: Chemistry
24
+ Requires-Python: >=3.10
25
+ Description-Content-Type: text/x-rst
26
+ License-File: LICENSE.rst
27
+ License-File: LICENSE_DANSE.rst
28
+ License-File: LICENSE_pymmlib.rst
29
+ License-File: AUTHORS.rst
30
+
31
+ |Icon| |title|_
32
+ ===============
33
+
34
+ .. |title| replace:: diffpy.structure
35
+ .. _title: https://diffpy.github.io/diffpy.structure
36
+
37
+ .. |Icon| image:: https://avatars.githubusercontent.com/diffpy
38
+ :target: https://diffpy.github.io/diffpy.structure
39
+ :height: 100px
40
+
41
+ |PyPi| |Forge| |PythonVersion| |PR|
42
+
43
+ |CI| |Codecov| |Black| |Tracking|
44
+
45
+ .. |Black| image:: https://img.shields.io/badge/code_style-black-black
46
+ :target: https://github.com/psf/black
47
+
48
+ .. |CI| image:: https://github.com/diffpy/diffpy.structure/actions/workflows/main.yml/badge.svg
49
+ :target: https://github.com/diffpy/diffpy.structure/actions/workflows/main.yml
50
+
51
+ .. |Codecov| image:: https://codecov.io/gh/diffpy/diffpy.structure/branch/main/graph/badge.svg
52
+ :target: https://codecov.io/gh/diffpy/diffpy.structure
53
+
54
+ .. |Forge| image:: https://img.shields.io/conda/vn/conda-forge/diffpy.structure
55
+ :target: https://anaconda.org/conda-forge/diffpy.structure
56
+
57
+ .. |PR| image:: https://img.shields.io/badge/PR-Welcome-29ab47ff
58
+
59
+ .. |PyPi| image:: https://img.shields.io/pypi/v/diffpy.structure
60
+ :target: https://pypi.org/project/diffpy.structure/
61
+
62
+ .. |PythonVersion| image:: https://img.shields.io/pypi/pyversions/diffpy.structure
63
+ :target: https://pypi.org/project/diffpy.structure/
64
+
65
+ .. |Tracking| image:: https://img.shields.io/badge/issue_tracking-github-blue
66
+ :target: https://github.com/diffpy/diffpy.structure/issues
67
+
68
+ Crystal structure container and parsers for structure formats.
69
+
70
+ The diffpy.structure package provides objects for storing atomic
71
+ coordinates, displacement parameters and other crystal structure data.
72
+ diffpy.structure supports import and export of structure data in several
73
+ structure formats such as CIF, PDB, and xyz. It provides conversion
74
+ between fractional and absolute Cartesian coordinates, functions for
75
+ symmetry expansion of atom sites in the asymmetric unit and generation
76
+ of symmetry constraints for atom positions and displacement parameters.
77
+ diffpy.structure includes definitions of all space groups in over 500
78
+ symmetry settings.
79
+
80
+ For more information about the diffpy.structure library, please consult our `online documentation <https://diffpy.github.io/diffpy.structure>`_.
81
+
82
+ Citation
83
+ --------
84
+
85
+ If you use this program for a scientific research that leads
86
+ to publication, we ask that you acknowledge use of the program
87
+ by citing the following paper in your publication:
88
+
89
+ P. Juhás, C. L. Farrow, X. Yang, K. R. Knox and S. J. L. Billinge,
90
+ `Complex modeling: a strategy and software program for combining
91
+ multiple information sources to solve ill posed structure and
92
+ nanostructure inverse problems
93
+ <http://dx.doi.org/10.1107/S2053273315014473>`__,
94
+ *Acta Crystallogr. A* **71**, 562-568 (2015).
95
+
96
+ Requirements
97
+ ------------------------------------------------------------------------
98
+
99
+ The diffpy.structure package requires Python 3.7 or later and
100
+ the following software:
101
+
102
+ * ``setuptools`` - software distribution tools for Python
103
+ * ``NumPy`` - numerical mathematics and fast array operations for Python
104
+
105
+ We recommend to use `Anaconda Python <https://www.anaconda.com/download>`_
106
+ as it allows to install all software dependencies together with
107
+ diffpy.structure. For other Python distributions it is necessary to
108
+ install the required software separately. As an example on Ubuntu
109
+ Linux the required software can be installed with ::
110
+
111
+ sudo aptitude install python3-setuptools python3-numpy
112
+
113
+ diffpy.structure also uses the
114
+ `PyCifRW <https://bitbucket.org/jamesrhester/pycifrw>`_
115
+ library, which is automatically deployed during the
116
+ installation process.
117
+
118
+ Installation
119
+ ------------
120
+
121
+ The preferred method is to use `Miniconda Python
122
+ <https://docs.conda.io/projects/miniconda/en/latest/miniconda-install.html>`_
123
+ and install from the "conda-forge" channel of Conda packages.
124
+
125
+ To add "conda-forge" to the conda channels, run the following in a terminal. ::
126
+
127
+ conda config --add channels conda-forge
128
+
129
+ We want to install our packages in a suitable conda environment.
130
+ The following creates and activates a new environment named ``diffpy.structure_env`` ::
131
+
132
+ conda create -n diffpy.structure_env python=3
133
+ conda activate diffpy.structure_env
134
+
135
+ Then, to fully install ``diffpy.structure`` in our active environment, run ::
136
+
137
+ conda install diffpy.structure
138
+
139
+ Another option is to use ``pip`` to download and install the latest release from
140
+ `Python Package Index <https://pypi.python.org>`_.
141
+ To install using ``pip`` into your ``diffpy.structure_env`` environment, we will also have to install dependencies ::
142
+
143
+ pip install -r https://raw.githubusercontent.com/diffpy/diffpy.structure/main/requirements/run.txt
144
+
145
+ and then install the package ::
146
+
147
+ pip install diffpy.structure
148
+
149
+ If you prefer to install from sources, after installing the dependencies, obtain the source archive from
150
+ `GitHub <https://github.com/diffpy/diffpy.structure/>`_. Once installed, ``cd`` into your ``diffpy.structure`` directory
151
+ and run the following ::
152
+
153
+ pip install .
154
+
155
+ Support and Contribute
156
+ ----------------------
157
+
158
+ `Diffpy user group <https://groups.google.com/g/diffpy-users>`_ is the discussion forum for general questions and discussions about the use of diffpy.structure. Please join the diffpy.structure users community by joining the Google group. The diffpy.structure project welcomes your expertise and enthusiasm!
159
+
160
+ If you see a bug or want to request a feature, please `report it as an issue <https://github.com/diffpy/diffpy.structure/issues>`_ and/or `submit a fix as a PR <https://github.com/diffpy/diffpy.structure/pulls>`_. You can also post it to the `Diffpy user group <https://groups.google.com/g/diffpy-users>`_.
161
+
162
+ Feel free to fork the project and contribute. To install diffpy.structure
163
+ in a development mode, with its sources being directly used by Python
164
+ rather than copied to a package directory, use the following in the root
165
+ directory ::
166
+
167
+ pip install -e .
168
+
169
+ To ensure code quality and to prevent accidental commits into the default branch, please set up the use of our pre-commit
170
+ hooks.
171
+
172
+ 1. Install pre-commit in your working environment by running ``conda install pre-commit``.
173
+
174
+ 2. Initialize pre-commit (one time only) ``pre-commit install``.
175
+
176
+ Thereafter your code will be linted by black and isort and checked against flake8 before you can commit.
177
+ If it fails by black or isort, just rerun and it should pass (black and isort will modify the files so should
178
+ pass after they are modified). If the flake8 test fails please see the error messages and fix them manually before
179
+ trying to commit again.
180
+
181
+ Improvements and fixes are always appreciated.
182
+
183
+ Before contribuing, please read our `Code of Conduct <https://github.com/diffpy/diffpy.structure/blob/main/CODE_OF_CONDUCT.rst>`_.
184
+
185
+ Acknowledgement
186
+ ---------------
187
+
188
+ Space group codes in *spacegroupmod.py* and *mmlibspacegroups.py*
189
+ originate from the `pymmlib project <http://pymmlib.sourceforge.net>`_.
190
+
191
+ Less common settings of space groups were generating using the
192
+ `Computational Crystallography Toolbox <http://cctbx.sourceforge.net>`_.
193
+
194
+ Contact
195
+ -------
196
+
197
+ For more information on diffpy.structure please visit the project `web-page <https://diffpy.github.io/>`_ or email Prof. Simon Billinge at sb2896@columbia.edu.
@@ -0,0 +1,42 @@
1
+ diffpy/Structure.py,sha256=qBWWvx2GV65SJqgS6qK933SDfZc1yUQCBtJpW_wFqj8,1005
2
+ diffpy/__init__.py,sha256=WntnKrzS4hxw7YDYxwU-2hCJYNSFBf3gvjbPOrci0dk,673
3
+ diffpy/structure/__init__.py,sha256=EPy-CMdt1GkwzPmFs6vBPFjxygb-xMCsrxZMEEnrODo,2600
4
+ diffpy/structure/_legacy_importer.py,sha256=IXoPovMWIEY7tQTp1prTjICudfiVsR_Blmae-zDcHKA,2574
5
+ diffpy/structure/atom.py,sha256=njq7vUr2yop9Rw8lgW2DX63cpTO0r4rToIcjAfQdIf0,17702
6
+ diffpy/structure/lattice.py,sha256=NhSYxFMyfPRJYwiLCyObEPC7vlZBAsP0x9PYSzJ1O7U,22499
7
+ diffpy/structure/mmlibspacegroups.py,sha256=J4F8nbcZ2OmjhzxtOnFVKLQpzXgyQ-S8wh3EnNxqz-w,245608
8
+ diffpy/structure/pdffitstructure.py,sha256=lzARAIDN-FiuMnQJIeFbfRMdRXCGgv2J2qPmOctkN_I,3202
9
+ diffpy/structure/sgtbxspacegroups.py,sha256=9Mz_vVfC3CYpKBYFeYc2Un0VdsqNIx8e9KdZ-Szhw3Y,135078
10
+ diffpy/structure/spacegroupmod.py,sha256=xMeWjiODk21koPQo7aQnwdWf4wzZ82PnVl3MmlTj5yU,15176
11
+ diffpy/structure/spacegroups.py,sha256=BPKW75UNGqDlfi6lkntrjAJiqyxcKmIAeaUScrKA7LA,23359
12
+ diffpy/structure/structure.py,sha256=wYIIdZpjXE4h-8gv5mv0dfFYlLJ-AAxmmwc-NdNPHP0,27337
13
+ diffpy/structure/structureerrors.py,sha256=9T4Fwy-_dafyiMRGeK0qAmZ6TXBpRqlhSnOxIfV5mxM,880
14
+ diffpy/structure/symmetryutilities.py,sha256=jxR8Sxp7Fw8seSX_8y8GgrbfpVadj4_leXFukTkDPKQ,37377
15
+ diffpy/structure/utils.py,sha256=IMgzeIPg0WOIVeACpg2YZX4wL0NZhu_tZRuGctSmLuM,3320
16
+ diffpy/structure/version.py,sha256=SZtloZcpk7K1AnEKzefhXcEjxiJI6uXue0_3kQz_fp8,845
17
+ diffpy/structure/apps/__init__.py,sha256=8_LEH7mLoHMV1JWCV8g6ROTQVUap2QbYIvF11s5_Fts,595
18
+ diffpy/structure/apps/anyeye.py,sha256=DFWDAw7MKwyVAGK8Ysqlz3_EDJQFgsnjqbZtFTa_4d8,8031
19
+ diffpy/structure/apps/transtru.py,sha256=VUfjEwefSsF-ca16Rq6rjtCw24-P-hybyLMS_6y2qZ4,3655
20
+ diffpy/structure/expansion/__init__.py,sha256=lgVDh9UxVR63lDl0trCBt042Rw3nNzPGnuWna45nTms,870
21
+ diffpy/structure/expansion/makeellipsoid.py,sha256=R8dhKtRW6KxdeectCI39PyRTLpNFUFvj6M5UWVvify8,3456
22
+ diffpy/structure/expansion/shapeutils.py,sha256=gAQnsVa2puE-sn7sIjEHhZU9U8EEk1gHIbEHErp-iMc,1130
23
+ diffpy/structure/expansion/supercell_mod.py,sha256=t8kfDCNp92_PWURjCdm-KRryTk6AvAN6SI271mAyFh4,2712
24
+ diffpy/structure/parsers/__init__.py,sha256=qq0grT2qDKBG5LE2DlSdpnUc-JA1UtaUSN-KF3iGNOQ,2730
25
+ diffpy/structure/parsers/p_auto.py,sha256=yNcSmLsIiyERtlnLWZkh5TqHwU8b2q2fVtbrTtgeAWk,6030
26
+ diffpy/structure/parsers/p_cif.py,sha256=KlrLoxTnypOMZyJtKbccdgt3U0rR1UxP2Cm_SOjy1Ao,29218
27
+ diffpy/structure/parsers/p_discus.py,sha256=3cIN9oXv9uKIJ-5G7B5HtJYnlO91UCUkHnMXu0Fd-QY,10505
28
+ diffpy/structure/parsers/p_pdb.py,sha256=AkFHFWbNj6ihjj_LtdOqQzA56Rb5u2P_gecUpoJMzeg,13938
29
+ diffpy/structure/parsers/p_pdffit.py,sha256=1VnEvKfaKjLnBfgNWW7um4xG7sQ3gbSGlc9cFSw5as4,11021
30
+ diffpy/structure/parsers/p_rawxyz.py,sha256=gdEWdzCxMl1_JV1KNgurgPdEAp4RO3tEYLnasi672cw,4550
31
+ diffpy/structure/parsers/p_xcfg.py,sha256=QIaaq30FoRnZwYIlAsLUMVRWGPoQaivRwMPWqXE5VMI,17947
32
+ diffpy/structure/parsers/p_xyz.py,sha256=PDmkc_MyHRP5wqJsHxxa7W4bce60YHhkurUrmrhU8Ks,5017
33
+ diffpy/structure/parsers/parser_index_mod.py,sha256=QWwV0tPpbIlk2i-gwR6MlKkUF0H05lGzO0yBq5nPOxk,3045
34
+ diffpy/structure/parsers/structureparser.py,sha256=p6eXkziF0sBOR6p9tyfvs8O6D9oRqETrr_v54h3C5mg,2254
35
+ diffpy.structure-3.2.0.dist-info/AUTHORS.rst,sha256=-15SGTrM2oMYIlTjqw81R2YKVMvWepQGgrG00jJWK44,212
36
+ diffpy.structure-3.2.0.dist-info/LICENSE.rst,sha256=nXbHfaJU5pWBgoiK0ed_aJDs1icKfjV7bJwOZl-BaV0,6007
37
+ diffpy.structure-3.2.0.dist-info/LICENSE_DANSE.rst,sha256=BC6IAe60b_BSdb-hI0GulJ5uPAu-RvuYdI8GKYtNL4U,2282
38
+ diffpy.structure-3.2.0.dist-info/LICENSE_pymmlib.rst,sha256=eLh3rsGOgX3byYIbQlJ2jeGbpvjYK_7p25Dn6W7Gw_M,9599
39
+ diffpy.structure-3.2.0.dist-info/METADATA,sha256=7x_IOt_u5518l1BujfJ82RufthvZp-U0VwzhOu1zotQ,8598
40
+ diffpy.structure-3.2.0.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
41
+ diffpy.structure-3.2.0.dist-info/top_level.txt,sha256=34qLZyi9mxikpHepVDTMHrrNbe8VoOuz3ShYeiWA7KA,7
42
+ diffpy.structure-3.2.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (72.1.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1 @@
1
+ diffpy