diffpy.structure 3.0.2__tar.gz → 3.2.0__tar.gz

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 (114) hide show
  1. diffpy.structure-3.0.2/AUTHORS.txt → diffpy_structure-3.2.0/AUTHORS.rst +5 -2
  2. diffpy_structure-3.2.0/LICENSE.rst +141 -0
  3. diffpy.structure-3.0.2/LICENSE_DANSE.txt → diffpy_structure-3.2.0/LICENSE_DANSE.rst +12 -3
  4. diffpy_structure-3.2.0/LICENSE_pymmlib.rst +203 -0
  5. diffpy_structure-3.2.0/MANIFEST.in +14 -0
  6. diffpy_structure-3.2.0/PKG-INFO +197 -0
  7. diffpy_structure-3.2.0/README.rst +167 -0
  8. diffpy_structure-3.2.0/pyproject.toml +72 -0
  9. {diffpy.structure-3.0.2 → diffpy_structure-3.2.0}/src/diffpy/Structure.py +5 -4
  10. diffpy_structure-3.2.0/src/diffpy/__init__.py +23 -0
  11. {diffpy.structure-3.0.2 → diffpy_structure-3.2.0}/src/diffpy/structure/__init__.py +44 -30
  12. {diffpy.structure-3.0.2 → diffpy_structure-3.2.0}/src/diffpy/structure/_legacy_importer.py +14 -39
  13. {diffpy.structure-3.0.2 → diffpy_structure-3.2.0}/src/diffpy/structure/apps/__init__.py +1 -1
  14. {diffpy.structure-3.0.2 → diffpy_structure-3.2.0}/src/diffpy/structure/apps/anyeye.py +109 -77
  15. {diffpy.structure-3.0.2 → diffpy_structure-3.2.0}/src/diffpy/structure/apps/transtru.py +29 -20
  16. {diffpy.structure-3.0.2 → diffpy_structure-3.2.0}/src/diffpy/structure/atom.py +158 -159
  17. {diffpy.structure-3.0.2 → diffpy_structure-3.2.0}/src/diffpy/structure/expansion/__init__.py +2 -3
  18. {diffpy.structure-3.0.2 → diffpy_structure-3.2.0}/src/diffpy/structure/expansion/makeellipsoid.py +42 -20
  19. {diffpy.structure-3.0.2 → diffpy_structure-3.2.0}/src/diffpy/structure/expansion/shapeutils.py +13 -4
  20. {diffpy.structure-3.0.2 → diffpy_structure-3.2.0}/src/diffpy/structure/expansion/supercell_mod.py +29 -20
  21. {diffpy.structure-3.0.2 → diffpy_structure-3.2.0}/src/diffpy/structure/lattice.py +202 -191
  22. diffpy_structure-3.2.0/src/diffpy/structure/mmlibspacegroups.py +8154 -0
  23. diffpy_structure-3.2.0/src/diffpy/structure/parsers/__init__.py +83 -0
  24. diffpy_structure-3.2.0/src/diffpy/structure/parsers/p_auto.py +217 -0
  25. {diffpy.structure-3.0.2 → diffpy_structure-3.2.0}/src/diffpy/structure/parsers/p_cif.py +391 -245
  26. {diffpy.structure-3.0.2 → diffpy_structure-3.2.0}/src/diffpy/structure/parsers/p_discus.py +144 -85
  27. {diffpy.structure-3.0.2 → diffpy_structure-3.2.0}/src/diffpy/structure/parsers/p_pdb.py +206 -111
  28. diffpy_structure-3.2.0/src/diffpy/structure/parsers/p_pdffit.py +290 -0
  29. {diffpy.structure-3.0.2 → diffpy_structure-3.2.0}/src/diffpy/structure/parsers/p_rawxyz.py +55 -22
  30. {diffpy.structure-3.0.2 → diffpy_structure-3.2.0}/src/diffpy/structure/parsers/p_xcfg.py +209 -177
  31. {diffpy.structure-3.0.2 → diffpy_structure-3.2.0}/src/diffpy/structure/parsers/p_xyz.py +55 -24
  32. diffpy_structure-3.2.0/src/diffpy/structure/parsers/parser_index_mod.py +108 -0
  33. {diffpy.structure-3.0.2 → diffpy_structure-3.2.0}/src/diffpy/structure/parsers/structureparser.py +20 -24
  34. diffpy_structure-3.2.0/src/diffpy/structure/pdffitstructure.py +109 -0
  35. {diffpy.structure-3.0.2 → diffpy_structure-3.2.0}/src/diffpy/structure/sgtbxspacegroups.py +2519 -2285
  36. diffpy_structure-3.2.0/src/diffpy/structure/spacegroupmod.py +329 -0
  37. diffpy_structure-3.2.0/src/diffpy/structure/spacegroups.py +1441 -0
  38. diffpy_structure-3.2.0/src/diffpy/structure/structure.py +866 -0
  39. {diffpy.structure-3.0.2 → diffpy_structure-3.2.0}/src/diffpy/structure/structureerrors.py +7 -6
  40. {diffpy.structure-3.0.2 → diffpy_structure-3.2.0}/src/diffpy/structure/symmetryutilities.py +515 -319
  41. {diffpy.structure-3.0.2 → diffpy_structure-3.2.0}/src/diffpy/structure/utils.py +47 -21
  42. diffpy_structure-3.2.0/src/diffpy/structure/version.py +26 -0
  43. diffpy_structure-3.2.0/src/diffpy.structure.egg-info/PKG-INFO +197 -0
  44. diffpy_structure-3.2.0/src/diffpy.structure.egg-info/SOURCES.txt +45 -0
  45. diffpy.structure-3.0.2/LICENSE.txt +0 -137
  46. diffpy.structure-3.0.2/LICENSE_pymmlib.txt +0 -201
  47. diffpy.structure-3.0.2/MANIFEST.in +0 -15
  48. diffpy.structure-3.0.2/PKG-INFO +0 -147
  49. diffpy.structure-3.0.2/README.rst +0 -113
  50. diffpy.structure-3.0.2/setup.py +0 -128
  51. diffpy.structure-3.0.2/src/diffpy/__init__.py +0 -26
  52. diffpy.structure-3.0.2/src/diffpy/structure/applications/__init__.py +0 -29
  53. diffpy.structure-3.0.2/src/diffpy/structure/applications/anyeye.py +0 -14
  54. diffpy.structure-3.0.2/src/diffpy/structure/applications/transtru.py +0 -14
  55. diffpy.structure-3.0.2/src/diffpy/structure/mmlibspacegroups.py +0 -7595
  56. diffpy.structure-3.0.2/src/diffpy/structure/parsers/__init__.py +0 -72
  57. diffpy.structure-3.0.2/src/diffpy/structure/parsers/p_auto.py +0 -130
  58. diffpy.structure-3.0.2/src/diffpy/structure/parsers/p_pdffit.py +0 -250
  59. diffpy.structure-3.0.2/src/diffpy/structure/parsers/parser_index_mod.py +0 -94
  60. diffpy.structure-3.0.2/src/diffpy/structure/pdffitstructure.py +0 -76
  61. diffpy.structure-3.0.2/src/diffpy/structure/spacegroupmod.py +0 -337
  62. diffpy.structure-3.0.2/src/diffpy/structure/spacegroups.py +0 -380
  63. diffpy.structure-3.0.2/src/diffpy/structure/structure.py +0 -705
  64. diffpy.structure-3.0.2/src/diffpy/structure/tests/__init__.py +0 -76
  65. diffpy.structure-3.0.2/src/diffpy/structure/tests/debug.py +0 -30
  66. diffpy.structure-3.0.2/src/diffpy/structure/tests/run.py +0 -32
  67. diffpy.structure-3.0.2/src/diffpy/structure/tests/testatom.py +0 -155
  68. diffpy.structure-3.0.2/src/diffpy/structure/tests/testdata/BubbleRaftShort.xcfg +0 -523
  69. diffpy.structure-3.0.2/src/diffpy/structure/tests/testdata/CdSe_bulk.stru +0 -33
  70. diffpy.structure-3.0.2/src/diffpy/structure/tests/testdata/LiCl-bad.cif +0 -232
  71. diffpy.structure-3.0.2/src/diffpy/structure/tests/testdata/Ni-bad.stru +0 -32
  72. diffpy.structure-3.0.2/src/diffpy/structure/tests/testdata/Ni-discus.stru +0 -9
  73. diffpy.structure-3.0.2/src/diffpy/structure/tests/testdata/Ni.stru +0 -33
  74. diffpy.structure-3.0.2/src/diffpy/structure/tests/testdata/Ni_prim123.stru +0 -45
  75. diffpy.structure-3.0.2/src/diffpy/structure/tests/testdata/PbTe.cif +0 -227
  76. diffpy.structure-3.0.2/src/diffpy/structure/tests/testdata/TeI-unkocc.cif +0 -37
  77. diffpy.structure-3.0.2/src/diffpy/structure/tests/testdata/TeI.cif +0 -37
  78. diffpy.structure-3.0.2/src/diffpy/structure/tests/testdata/ZnSb_RT_Q28X_VM_20_fxiso.rstr +0 -405
  79. diffpy.structure-3.0.2/src/diffpy/structure/tests/testdata/arginine.pdb +0 -28
  80. diffpy.structure-3.0.2/src/diffpy/structure/tests/testdata/badspacegroup.cif +0 -49
  81. diffpy.structure-3.0.2/src/diffpy/structure/tests/testdata/bucky-bad1.xyz +0 -61
  82. diffpy.structure-3.0.2/src/diffpy/structure/tests/testdata/bucky-bad2.xyz +0 -64
  83. diffpy.structure-3.0.2/src/diffpy/structure/tests/testdata/bucky-plain-bad.xyz +0 -60
  84. diffpy.structure-3.0.2/src/diffpy/structure/tests/testdata/bucky-plain.xyz +0 -60
  85. diffpy.structure-3.0.2/src/diffpy/structure/tests/testdata/bucky-raw.xyz +0 -60
  86. diffpy.structure-3.0.2/src/diffpy/structure/tests/testdata/bucky.xyz +0 -67
  87. diffpy.structure-3.0.2/src/diffpy/structure/tests/testdata/curlybrackets.cif +0 -120
  88. diffpy.structure-3.0.2/src/diffpy/structure/tests/testdata/customsg.cif +0 -44
  89. diffpy.structure-3.0.2/src/diffpy/structure/tests/testdata/graphite.cif +0 -44
  90. diffpy.structure-3.0.2/src/diffpy/structure/tests/testdata/hexagon-raw-bad.xyz +0 -6
  91. diffpy.structure-3.0.2/src/diffpy/structure/tests/testdata/hexagon-raw.xy +0 -6
  92. diffpy.structure-3.0.2/src/diffpy/structure/tests/testdata/hexagon-raw.xyz +0 -6
  93. diffpy.structure-3.0.2/src/diffpy/structure/tests/testdata/nosites.cif +0 -44
  94. diffpy.structure-3.0.2/src/diffpy/structure/tests/testlattice.py +0 -300
  95. diffpy.structure-3.0.2/src/diffpy/structure/tests/testloadstructure.py +0 -74
  96. diffpy.structure-3.0.2/src/diffpy/structure/tests/testoldimports.py +0 -78
  97. diffpy.structure-3.0.2/src/diffpy/structure/tests/testp_cif.py +0 -410
  98. diffpy.structure-3.0.2/src/diffpy/structure/tests/testp_discus.py +0 -157
  99. diffpy.structure-3.0.2/src/diffpy/structure/tests/testp_pdffit.py +0 -240
  100. diffpy.structure-3.0.2/src/diffpy/structure/tests/testparsers.py +0 -294
  101. diffpy.structure-3.0.2/src/diffpy/structure/tests/testspacegroups.py +0 -132
  102. diffpy.structure-3.0.2/src/diffpy/structure/tests/teststructure.py +0 -689
  103. diffpy.structure-3.0.2/src/diffpy/structure/tests/testsupercell.py +0 -97
  104. diffpy.structure-3.0.2/src/diffpy/structure/tests/testsymmetryutilities.py +0 -532
  105. diffpy.structure-3.0.2/src/diffpy/structure/tests/testutils.py +0 -24
  106. diffpy.structure-3.0.2/src/diffpy/structure/version.cfg +0 -6
  107. diffpy.structure-3.0.2/src/diffpy/structure/version.py +0 -53
  108. diffpy.structure-3.0.2/src/diffpy.structure.egg-info/PKG-INFO +0 -147
  109. diffpy.structure-3.0.2/src/diffpy.structure.egg-info/SOURCES.txt +0 -93
  110. diffpy.structure-3.0.2/src/diffpy.structure.egg-info/not-zip-safe +0 -1
  111. diffpy.structure-3.0.2/src/diffpy.structure.egg-info/requires.txt +0 -2
  112. {diffpy.structure-3.0.2 → diffpy_structure-3.2.0}/setup.cfg +0 -0
  113. {diffpy.structure-3.0.2 → diffpy_structure-3.2.0}/src/diffpy.structure.egg-info/dependency_links.txt +0 -0
  114. {diffpy.structure-3.0.2 → diffpy_structure-3.2.0}/src/diffpy.structure.egg-info/top_level.txt +0 -0
@@ -1,10 +1,13 @@
1
- Authors:
1
+ Authors
2
+ =======
2
3
 
3
4
  Pavol Juhas,
4
5
  Christopher L. Farrow,
5
6
  Xiaohao Yang,
6
7
  Simon J.L. Billinge
7
8
 
8
- Contributors:
9
+ Contributors
10
+ ------------
9
11
 
12
+ For a list of contributors, visit
10
13
  https://github.com/diffpy/diffpy.structure/graphs/contributors
@@ -0,0 +1,141 @@
1
+ OPEN SOURCE LICENSE AGREEMENT
2
+ =============================
3
+
4
+ Copyright (c) 1989, 1991 Free Software Foundation, Inc.
5
+
6
+ Copyright (c) 2006, The Regents of the University of California through Lawrence Berkeley National Laboratory
7
+
8
+ Copyright (c) 2006-2007, Board of Trustees of Michigan State University
9
+
10
+ Copyright (c) 2008-2012, The Trustees of Columbia University in the City of New York
11
+
12
+ Copyright (c) 2009-2011, University of Tennessee
13
+
14
+ Copyright (c) 2014, Australian Synchrotron Research Program Inc., ("ASRP")
15
+
16
+ Copyright (c) 2014-2019, Brookhaven Science Associates, Brookhaven National Laboratory
17
+
18
+ Copyright (c) 2024, The Trustees of Columbia University in the City of New York.
19
+ All rights reserved.
20
+
21
+ The "DiffPy-CMI" is distributed subject to the following license conditions:
22
+
23
+ .. code-block:: text
24
+
25
+ SOFTWARE LICENSE AGREEMENT
26
+
27
+ Software: DiffPy-CMI
28
+
29
+
30
+ (1) The "Software", below, refers to the aforementioned DiffPy-CMI (in either
31
+ source code, or binary form and accompanying documentation).
32
+
33
+ Part of the software was derived from the DANSE, ObjCryst++ (with permission),
34
+ PyCifRW, Python periodictable, CCTBX, and SasView open source projects, of
35
+ which the original Copyrights are contained in each individual file.
36
+
37
+ Each licensee is addressed as "you" or "Licensee."
38
+
39
+
40
+ (2) The copyright holders shown above and their third-party Licensors hereby
41
+ grant licensee a royalty-free nonexclusive license, subject to the limitations
42
+ stated herein and U.S. Government license rights.
43
+
44
+
45
+ (3) You may modify and make a copy or copies of the software for use within
46
+ your organization, if you meet the following conditions:
47
+
48
+ (a) Copies in source code must include the copyright notice and this
49
+ software license agreement.
50
+
51
+ (b) Copies in binary form must include the copyright notice and this
52
+ Software License Agreement in the documentation and/or other materials
53
+ provided with the copy.
54
+
55
+
56
+ (4) You may modify a copy or copies of the Software or any portion of it, thus
57
+ forming a work based on the Software, and distribute copies of such work
58
+ outside your organization, if you meet all of the following conditions:
59
+
60
+ (a) Copies in source code must include the copyright notice and this
61
+ Software License Agreement;
62
+
63
+ (b) Copies in binary form must include the copyright notice and this
64
+ Software License Agreement in the documentation and/or other materials
65
+ provided with the copy;
66
+
67
+ (c) Modified copies and works based on the Software must carry prominent
68
+ notices stating that you changed specified portions of the Software.
69
+
70
+ (d) Neither the name of Brookhaven Science Associates or Brookhaven
71
+ National Laboratory nor the names of its contributors may be used to
72
+ endorse or promote products derived from this software without specific
73
+ written permission.
74
+
75
+
76
+ (5) Portions of the Software resulted from work developed under a U.S.
77
+ Government contract and are subject to the following license:
78
+ The Government is granted for itself and others acting on its behalf a
79
+ paid-up, nonexclusive, irrevocable worldwide license in this computer software
80
+ to reproduce, prepare derivative works, and perform publicly and display
81
+ publicly.
82
+
83
+
84
+ (6) WARRANTY DISCLAIMER. THE SOFTWARE IS SUPPLIED "AS IS" WITHOUT
85
+ WARRANTY OF ANY KIND. THE COPYRIGHT HOLDERS, THEIR THIRD PARTY
86
+ LICENSORS, THE UNITED STATES, THE UNITED STATES DEPARTMENT OF ENERGY, AND
87
+ THEIR EMPLOYEES: (1) DISCLAIM ANY WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
88
+ BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
89
+ PARTICULAR PURPOSE, TITLE OR NON-INFRINGEMENT, (2) DO NOT ASSUME ANY LEGAL
90
+ LIABILITY OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR USEFULNESS OF
91
+ THE SOFTWARE, (3) DO NOT REPRESENT THAT USE OF THE SOFTWARE WOULD NOT INFRINGE
92
+ PRIVATELY OWNED RIGHTS, (4) DO NOT WARRANT THAT THE SOFTWARE WILL FUNCTION
93
+ UNINTERRUPTED, THAT IT IS ERROR-FREE OR THAT ANY ERRORS WILL BE CORRECTED.
94
+
95
+
96
+ (7) LIMITATION OF LIABILITY. IN NO EVENT WILL THE COPYRIGHT HOLDERS, THEIR
97
+ THIRD PARTY LICENSORS, THE UNITED STATES, THE UNITED STATES DEPARTMENT OF
98
+ ENERGY, OR THEIR EMPLOYEES: BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
99
+ CONSEQUENTIAL, SPECIAL OR PUNITIVE DAMAGES OF ANY KIND OR NATURE, INCLUDING
100
+ BUT NOT LIMITED TO LOSS OF PROFITS OR LOSS OF DATA, FOR ANY REASON WHATSOEVER,
101
+ WHETHER SUCH LIABILITY IS ASSERTED ON THE BASIS OF CONTRACT, TORT (INCLUDING
102
+ NEGLIGENCE OR STRICT LIABILITY), OR OTHERWISE, EVEN IF ANY OF SAID PARTIES HAS
103
+ BEEN WARNED OF THE POSSIBILITY OF SUCH LOSS OR DAMAGES.
104
+
105
+
106
+ Brookhaven National Laboratory Notice
107
+ =====================================
108
+
109
+ Acknowledgment of sponsorship
110
+ -----------------------------
111
+
112
+ This software was produced by the Brookhaven National Laboratory, under
113
+ Contract DE-AC02-98CH10886 with the Department of Energy.
114
+
115
+
116
+ Government disclaimer of liability
117
+ ----------------------------------
118
+
119
+ Neither the United States nor the United States Department of Energy, nor
120
+ any of their employees, makes any warranty, express or implied, or assumes
121
+ any legal liability or responsibility for the accuracy, completeness, or
122
+ usefulness of any data, apparatus, product, or process disclosed, or
123
+ represents that its use would not infringe privately owned rights.
124
+
125
+
126
+ Brookhaven disclaimer of liability
127
+ ----------------------------------
128
+
129
+ Brookhaven National Laboratory makes no representations or warranties,
130
+ express or implied, nor assumes any liability for the use of this software.
131
+
132
+
133
+ Maintenance of notice
134
+ ---------------------
135
+
136
+ In the interest of clarity regarding the origin and status of this
137
+ software, Brookhaven National Laboratory requests that any recipient of it
138
+ maintain this notice affixed to any distribution by the recipient that
139
+ contains a copy or derivative of this software.
140
+
141
+ END OF LICENSE
@@ -1,26 +1,35 @@
1
+ LICENSE
2
+ =======
3
+
1
4
  This program is part of the DiffPy and DANSE open-source projects
2
5
  and is available subject to the conditions and terms laid out below.
3
6
 
4
7
  Copyright 2006-2007, Board of Trustees of Michigan State University,
8
+
5
9
  Copyright 2008-2012, The Trustees of Columbia University in the
6
10
  City of New York. (Copyright holder indicated in each source file).
7
11
 
12
+ Copyright (c) 2024, The Trustees of Columbia University in the City of New York.
13
+ All rights reserved.
14
+
8
15
  For more information please visit the project web-page:
16
+
9
17
  http://www.diffpy.org/
18
+
10
19
  or email Prof. Simon Billinge at sb2896@columbia.edu
11
20
 
12
21
  Redistribution and use in source and binary forms, with or without
13
22
  modification, are permitted provided that the following conditions
14
23
  are met:
15
24
 
16
- * Redistributions of source code must retain the above copyright
25
+ - Redistributions of source code must retain the above copyright
17
26
  notice, this list of conditions and the following disclaimer.
18
27
 
19
- * Redistributions in binary form must reproduce the above copyright
28
+ - Redistributions in binary form must reproduce the above copyright
20
29
  notice, this list of conditions and the following disclaimer in the
21
30
  documentation and/or other materials provided with the distribution.
22
31
 
23
- * Neither the name of the copyright holder nor the names of its
32
+ - Neither the name of the copyright holder nor the names of its
24
33
  contributors may be used to endorse or promote products derived from
25
34
  this software without specific prior written permission.
26
35
 
@@ -0,0 +1,203 @@
1
+ .. code-block:: text
2
+
3
+ The Artistic License 2.0
4
+
5
+ Copyright (c) 2000-2006, The Perl Foundation.
6
+
7
+ Everyone is permitted to copy and distribute verbatim copies
8
+ of this license document, but changing it is not allowed.
9
+
10
+ Preamble
11
+
12
+ This license establishes the terms under which a given free software
13
+ Package may be copied, modified, distributed, and/or redistributed.
14
+ The intent is that the Copyright Holder maintains some artistic
15
+ control over the development of that Package while still keeping the
16
+ Package available as open source and free software.
17
+
18
+ You are always permitted to make arrangements wholly outside of this
19
+ license directly with the Copyright Holder of a given Package. If the
20
+ terms of this license do not permit the full use that you propose to
21
+ make of the Package, you should contact the Copyright Holder and seek
22
+ a different licensing arrangement.
23
+
24
+ Definitions
25
+
26
+ "Copyright Holder" means the individual(s) or organization(s)
27
+ named in the copyright notice for the entire Package.
28
+
29
+ "Contributor" means any party that has contributed code or other
30
+ material to the Package, in accordance with the Copyright Holder's
31
+ procedures.
32
+
33
+ "You" and "your" means any person who would like to copy,
34
+ distribute, or modify the Package.
35
+
36
+ "Package" means the collection of files distributed by the
37
+ Copyright Holder, and derivatives of that collection and/or of
38
+ those files. A given Package may consist of either the Standard
39
+ Version, or a Modified Version.
40
+
41
+ "Distribute" means providing a copy of the Package or making it
42
+ accessible to anyone else, or in the case of a company or
43
+ organization, to others outside of your company or organization.
44
+
45
+ "Distributor Fee" means any fee that you charge for Distributing
46
+ this Package or providing support for this Package to another
47
+ party. It does not mean licensing fees.
48
+
49
+ "Standard Version" refers to the Package if it has not been
50
+ modified, or has been modified only in ways explicitly requested
51
+ by the Copyright Holder.
52
+
53
+ "Modified Version" means the Package, if it has been changed, and
54
+ such changes were not explicitly requested by the Copyright
55
+ Holder.
56
+
57
+ "Original License" means this Artistic License as Distributed with
58
+ the Standard Version of the Package, in its current version or as
59
+ it may be modified by The Perl Foundation in the future.
60
+
61
+ "Source" form means the source code, documentation source, and
62
+ configuration files for the Package.
63
+
64
+ "Compiled" form means the compiled bytecode, object code, binary,
65
+ or any other form resulting from mechanical transformation or
66
+ translation of the Source form.
67
+
68
+
69
+ Permission for Use and Modification Without Distribution
70
+
71
+ (1) You are permitted to use the Standard Version and create and use
72
+ Modified Versions for any purpose without restriction, provided that
73
+ you do not Distribute the Modified Version.
74
+
75
+
76
+ Permissions for Redistribution of the Standard Version
77
+
78
+ (2) You may Distribute verbatim copies of the Source form of the
79
+ Standard Version of this Package in any medium without restriction,
80
+ either gratis or for a Distributor Fee, provided that you duplicate
81
+ all of the original copyright notices and associated disclaimers. At
82
+ your discretion, such verbatim copies may or may not include a
83
+ Compiled form of the Package.
84
+
85
+ (3) You may apply any bug fixes, portability changes, and other
86
+ modifications made available from the Copyright Holder. The resulting
87
+ Package will still be considered the Standard Version, and as such
88
+ will be subject to the Original License.
89
+
90
+
91
+ Distribution of Modified Versions of the Package as Source
92
+
93
+ (4) You may Distribute your Modified Version as Source (either gratis
94
+ or for a Distributor Fee, and with or without a Compiled form of the
95
+ Modified Version) provided that you clearly document how it differs
96
+ from the Standard Version, including, but not limited to, documenting
97
+ any non-standard features, executables, or modules, and provided that
98
+ you do at least ONE of the following:
99
+
100
+ (a) make the Modified Version available to the Copyright Holder
101
+ of the Standard Version, under the Original License, so that the
102
+ Copyright Holder may include your modifications in the Standard
103
+ Version.
104
+
105
+ (b) ensure that installation of your Modified Version does not
106
+ prevent the user installing or running the Standard Version. In
107
+ addition, the Modified Version must bear a name that is different
108
+ from the name of the Standard Version.
109
+
110
+ (c) allow anyone who receives a copy of the Modified Version to
111
+ make the Source form of the Modified Version available to others
112
+ under
113
+
114
+ (i) the Original License or
115
+
116
+ (ii) a license that permits the licensee to freely copy,
117
+ modify and redistribute the Modified Version using the same
118
+ licensing terms that apply to the copy that the licensee
119
+ received, and requires that the Source form of the Modified
120
+ Version, and of any works derived from it, be made freely
121
+ available in that license fees are prohibited but Distributor
122
+ Fees are allowed.
123
+
124
+
125
+ Distribution of Compiled Forms of the Standard Version
126
+ or Modified Versions without the Source
127
+
128
+ (5) You may Distribute Compiled forms of the Standard Version without
129
+ the Source, provided that you include complete instructions on how to
130
+ get the Source of the Standard Version. Such instructions must be
131
+ valid at the time of your distribution. If these instructions, at any
132
+ time while you are carrying out such distribution, become invalid, you
133
+ must provide new instructions on demand or cease further distribution.
134
+ If you provide valid instructions or cease distribution within thirty
135
+ days after you become aware that the instructions are invalid, then
136
+ you do not forfeit any of your rights under this license.
137
+
138
+ (6) You may Distribute a Modified Version in Compiled form without
139
+ the Source, provided that you comply with Section 4 with respect to
140
+ the Source of the Modified Version.
141
+
142
+
143
+ Aggregating or Linking the Package
144
+
145
+ (7) You may aggregate the Package (either the Standard Version or
146
+ Modified Version) with other packages and Distribute the resulting
147
+ aggregation provided that you do not charge a licensing fee for the
148
+ Package. Distributor Fees are permitted, and licensing fees for other
149
+ components in the aggregation are permitted. The terms of this license
150
+ apply to the use and Distribution of the Standard or Modified Versions
151
+ as included in the aggregation.
152
+
153
+ (8) You are permitted to link Modified and Standard Versions with
154
+ other works, to embed the Package in a larger work of your own, or to
155
+ build stand-alone binary or bytecode versions of applications that
156
+ include the Package, and Distribute the result without restriction,
157
+ provided the result does not expose a direct interface to the Package.
158
+
159
+
160
+ Items That are Not Considered Part of a Modified Version
161
+
162
+ (9) Works (including, but not limited to, modules and scripts) that
163
+ merely extend or make use of the Package, do not, by themselves, cause
164
+ the Package to be a Modified Version. In addition, such works are not
165
+ considered parts of the Package itself, and are not subject to the
166
+ terms of this license.
167
+
168
+
169
+ General Provisions
170
+
171
+ (10) Any use, modification, and distribution of the Standard or
172
+ Modified Versions is governed by this Artistic License. By using,
173
+ modifying or distributing the Package, you accept this license. Do not
174
+ use, modify, or distribute the Package, if you do not accept this
175
+ license.
176
+
177
+ (11) If your Modified Version has been derived from a Modified
178
+ Version made by someone other than you, you are nevertheless required
179
+ to ensure that your Modified Version complies with the requirements of
180
+ this license.
181
+
182
+ (12) This license does not grant you the right to use any trademark,
183
+ service mark, tradename, or logo of the Copyright Holder.
184
+
185
+ (13) This license includes the non-exclusive, worldwide,
186
+ free-of-charge patent license to make, have made, use, offer to sell,
187
+ sell, import and otherwise transfer the Package with respect to any
188
+ patent claims licensable by the Copyright Holder that are necessarily
189
+ infringed by the Package. If you institute patent litigation
190
+ (including a cross-claim or counterclaim) against any party alleging
191
+ that the Package constitutes direct or contributory patent
192
+ infringement, then this Artistic License to you shall terminate on the
193
+ date that such litigation is filed.
194
+
195
+ (14) Disclaimer of Warranty:
196
+ THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS
197
+ IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE IMPLIED
198
+ WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
199
+ NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL
200
+ LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL
201
+ BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
202
+ DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE, EVEN IF
203
+ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,14 @@
1
+ include AUTHORS.rst
2
+ include LICENSE
3
+ include README.rst
4
+ include requirements.txt
5
+
6
+ recursive-exclude * __pycache__
7
+ recursive-exclude * *.py[co]
8
+
9
+ recursive-include docs *.rst conf.py Makefile make.bat
10
+
11
+ include diffpy.structure/version.py
12
+
13
+ # If including data files in the package, add them like:
14
+ # include path/to/data_file
@@ -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.