diffpy.structure 3.2.2rc0__tar.gz → 3.2.3__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 (96) hide show
  1. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/AUTHORS.rst +1 -0
  2. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/LICENSE.rst +1 -1
  3. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/LICENSE_DANSE.rst +2 -2
  4. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/LICENSE_pymmlib.rst +1 -1
  5. diffpy_structure-3.2.3/MANIFEST.in +12 -0
  6. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/PKG-INFO +18 -14
  7. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/README.rst +16 -12
  8. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/pyproject.toml +5 -2
  9. diffpy_structure-3.2.3/requirements/build.txt +0 -0
  10. diffpy_structure-3.2.3/requirements/docs.txt +4 -0
  11. diffpy_structure-3.2.2rc0/requirements/run.txt → diffpy_structure-3.2.3/requirements/pip.txt +2 -2
  12. diffpy_structure-3.2.3/requirements/test.txt +6 -0
  13. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/apps/anyeye.py +1 -1
  14. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy.structure.egg-info/PKG-INFO +18 -14
  15. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy.structure.egg-info/SOURCES.txt +35 -4
  16. diffpy_structure-3.2.3/src/diffpy.structure.egg-info/entry_points.txt +2 -0
  17. diffpy_structure-3.2.3/src/diffpy.structure.egg-info/requires.txt +2 -0
  18. diffpy_structure-3.2.3/tests/conftest.py +29 -0
  19. diffpy_structure-3.2.3/tests/testdata/BubbleRaftShort.xcfg +523 -0
  20. diffpy_structure-3.2.3/tests/testdata/CdSe_bulk.stru +33 -0
  21. diffpy_structure-3.2.3/tests/testdata/LiCl-bad.cif +231 -0
  22. diffpy_structure-3.2.3/tests/testdata/Ni-bad.stru +32 -0
  23. diffpy_structure-3.2.3/tests/testdata/Ni-discus.stru +9 -0
  24. diffpy_structure-3.2.3/tests/testdata/Ni.stru +33 -0
  25. diffpy_structure-3.2.3/tests/testdata/Ni_prim123.stru +45 -0
  26. diffpy_structure-3.2.3/tests/testdata/Ni_ref.cif +20 -0
  27. diffpy_structure-3.2.3/tests/testdata/PbTe.cif +227 -0
  28. diffpy_structure-3.2.3/tests/testdata/TeI-unkocc.cif +37 -0
  29. diffpy_structure-3.2.3/tests/testdata/TeI.cif +37 -0
  30. diffpy_structure-3.2.3/tests/testdata/ZnSb_RT_Q28X_VM_20_fxiso.rstr +405 -0
  31. diffpy_structure-3.2.3/tests/testdata/arginine.pdb +28 -0
  32. diffpy_structure-3.2.3/tests/testdata/badspacegroup.cif +49 -0
  33. diffpy_structure-3.2.3/tests/testdata/bucky-bad1.xyz +61 -0
  34. diffpy_structure-3.2.3/tests/testdata/bucky-bad2.xyz +62 -0
  35. diffpy_structure-3.2.3/tests/testdata/bucky-plain-bad.xyz +60 -0
  36. diffpy_structure-3.2.3/tests/testdata/bucky-plain.xyz +60 -0
  37. diffpy_structure-3.2.3/tests/testdata/bucky-raw.xyz +60 -0
  38. diffpy_structure-3.2.3/tests/testdata/bucky.xyz +65 -0
  39. diffpy_structure-3.2.3/tests/testdata/curlybrackets.cif +120 -0
  40. diffpy_structure-3.2.3/tests/testdata/customsg.cif +44 -0
  41. diffpy_structure-3.2.3/tests/testdata/graphite.cif +44 -0
  42. diffpy_structure-3.2.3/tests/testdata/hexagon-raw-bad.xyz +6 -0
  43. diffpy_structure-3.2.3/tests/testdata/hexagon-raw.xy +6 -0
  44. diffpy_structure-3.2.3/tests/testdata/hexagon-raw.xyz +6 -0
  45. diffpy_structure-3.2.3/tests/testdata/nosites.cif +44 -0
  46. diffpy_structure-3.2.2rc0/MANIFEST.in +0 -14
  47. diffpy_structure-3.2.2rc0/src/diffpy/Structure.py +0 -35
  48. diffpy_structure-3.2.2rc0/tests/test_oldimports.py +0 -77
  49. /diffpy_structure-3.2.2rc0/src/diffpy.structure.egg-info/requires.txt → /diffpy_structure-3.2.3/requirements/conda.txt +0 -0
  50. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/setup.cfg +0 -0
  51. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/__init__.py +0 -0
  52. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/__init__.py +0 -0
  53. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/_legacy_importer.py +0 -0
  54. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/apps/__init__.py +0 -0
  55. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/apps/transtru.py +0 -0
  56. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/atom.py +0 -0
  57. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/expansion/__init__.py +0 -0
  58. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/expansion/makeellipsoid.py +0 -0
  59. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/expansion/shapeutils.py +0 -0
  60. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/expansion/supercell_mod.py +0 -0
  61. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/lattice.py +0 -0
  62. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/mmlibspacegroups.py +0 -0
  63. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/parsers/__init__.py +0 -0
  64. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/parsers/p_auto.py +0 -0
  65. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/parsers/p_cif.py +0 -0
  66. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/parsers/p_discus.py +0 -0
  67. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/parsers/p_pdb.py +0 -0
  68. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/parsers/p_pdffit.py +0 -0
  69. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/parsers/p_rawxyz.py +0 -0
  70. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/parsers/p_xcfg.py +0 -0
  71. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/parsers/p_xyz.py +0 -0
  72. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/parsers/parser_index_mod.py +0 -0
  73. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/parsers/structureparser.py +0 -0
  74. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/pdffitstructure.py +0 -0
  75. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/sgtbxspacegroups.py +0 -0
  76. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/spacegroupmod.py +0 -0
  77. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/spacegroups.py +0 -0
  78. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/structure.py +0 -0
  79. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/structureerrors.py +0 -0
  80. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/symmetryutilities.py +0 -0
  81. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/utils.py +0 -0
  82. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy/structure/version.py +0 -0
  83. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy.structure.egg-info/dependency_links.txt +0 -0
  84. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/src/diffpy.structure.egg-info/top_level.txt +0 -0
  85. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/tests/test_atom.py +0 -0
  86. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/tests/test_lattice.py +0 -0
  87. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/tests/test_loadstructure.py +0 -0
  88. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/tests/test_p_cif.py +0 -0
  89. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/tests/test_p_discus.py +0 -0
  90. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/tests/test_p_pdffit.py +0 -0
  91. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/tests/test_parsers.py +0 -0
  92. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/tests/test_spacegroups.py +0 -0
  93. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/tests/test_structure.py +0 -0
  94. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/tests/test_supercell.py +0 -0
  95. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/tests/test_symmetryutilities.py +0 -0
  96. {diffpy_structure-3.2.2rc0 → diffpy_structure-3.2.3}/tests/test_version.py +0 -0
@@ -1,6 +1,7 @@
1
1
  Authors
2
2
  =======
3
3
 
4
+ Billinge Group and community contributors,
4
5
  Pavol Juhas,
5
6
  Christopher L. Farrow,
6
7
  Xiaohao Yang,
@@ -15,7 +15,7 @@ Copyright (c) 2014, Australian Synchrotron Research Program Inc., ("ASRP")
15
15
 
16
16
  Copyright (c) 2014-2019, Brookhaven Science Associates, Brookhaven National Laboratory
17
17
 
18
- Copyright (c) 2024, The Trustees of Columbia University in the City of New York.
18
+ Copyright (c) 2024, The Trustees of Columbia University in the City of New York.
19
19
  All rights reserved.
20
20
 
21
21
  The "DiffPy-CMI" is distributed subject to the following license conditions:
@@ -9,13 +9,13 @@ Copyright 2006-2007, Board of Trustees of Michigan State University,
9
9
  Copyright 2008-2012, The Trustees of Columbia University in the
10
10
  City of New York. (Copyright holder indicated in each source file).
11
11
 
12
- Copyright (c) 2024, The Trustees of Columbia University in the City of New York.
12
+ Copyright (c) 2024, The Trustees of Columbia University in the City of New York.
13
13
  All rights reserved.
14
14
 
15
15
  For more information please visit the project web-page:
16
16
 
17
17
  http://www.diffpy.org/
18
-
18
+
19
19
  or email Prof. Simon Billinge at sb2896@columbia.edu
20
20
 
21
21
  Redistribution and use in source and binary forms, with or without
@@ -1,5 +1,5 @@
1
1
  .. code-block:: text
2
-
2
+
3
3
  The Artistic License 2.0
4
4
 
5
5
  Copyright (c) 2000-2006, The Perl Foundation.
@@ -0,0 +1,12 @@
1
+ graft src
2
+ graft tests
3
+ graft requirements
4
+
5
+ include AUTHORS.rst LICENSE*.rst README.rst
6
+
7
+ # Exclude all bytecode files and __pycache__ directories
8
+ global-exclude *.py[cod] # Exclude all .pyc, .pyo, and .pyd files.
9
+ global-exclude .DS_Store # Exclude Mac filesystem artifacts.
10
+ global-exclude __pycache__ # Exclude Python cache directories.
11
+ global-exclude .git* # Exclude git files and directories.
12
+ global-exclude .idea # Exclude PyCharm project settings.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: diffpy.structure
3
- Version: 3.2.2rc0
3
+ Version: 3.2.3
4
4
  Summary: Crystal structure container and parsers for structure formats.
5
5
  Author-email: "Simon J.L. Billinge group" <simon.billinge@gmail.com>
6
6
  Maintainer-email: "Simon J.L. Billinge group" <simon.billinge@gmail.com>
@@ -21,7 +21,7 @@ Classifier: Programming Language :: Python :: 3.11
21
21
  Classifier: Programming Language :: Python :: 3.12
22
22
  Classifier: Topic :: Scientific/Engineering :: Physics
23
23
  Classifier: Topic :: Scientific/Engineering :: Chemistry
24
- Requires-Python: >=3.10
24
+ Requires-Python: <3.13,>=3.10
25
25
  Description-Content-Type: text/x-rst
26
26
  License-File: LICENSE.rst
27
27
  License-File: LICENSE_DANSE.rst
@@ -47,8 +47,8 @@ Requires-Dist: pycifrw
47
47
  .. |Black| image:: https://img.shields.io/badge/code_style-black-black
48
48
  :target: https://github.com/psf/black
49
49
 
50
- .. |CI| image:: https://github.com/diffpy/diffpy.structure/actions/workflows/main.yml/badge.svg
51
- :target: https://github.com/diffpy/diffpy.structure/actions/workflows/main.yml
50
+ .. |CI| image:: https://github.com/diffpy/diffpy.structure/actions/workflows/matrix-and-codecov-on-merge-to-main.yml/badge.svg
51
+ :target: https://github.com/diffpy/diffpy.structure/actions/workflows/matrix-and-codecov-on-merge-to-main.yml
52
52
 
53
53
  .. |Codecov| image:: https://codecov.io/gh/diffpy/diffpy.structure/branch/main/graph/badge.svg
54
54
  :target: https://codecov.io/gh/diffpy/diffpy.structure
@@ -79,6 +79,7 @@ of symmetry constraints for atom positions and displacement parameters.
79
79
  diffpy.structure includes definitions of all space groups in over 500
80
80
  symmetry settings.
81
81
 
82
+
82
83
  For more information about the diffpy.structure library, please consult our `online documentation <https://diffpy.github.io/diffpy.structure>`_.
83
84
 
84
85
  Citation
@@ -109,20 +110,18 @@ To add "conda-forge" to the conda channels, run the following in a terminal. ::
109
110
  We want to install our packages in a suitable conda environment.
110
111
  The following creates and activates a new environment named ``diffpy.structure_env`` ::
111
112
 
112
- conda create -n diffpy.structure_env python=3
113
+ conda create -n diffpy.structure_env diffpy.structure
113
114
  conda activate diffpy.structure_env
114
115
 
115
- Then, to fully install ``diffpy.structure`` in our active environment, run ::
116
-
117
- conda install diffpy.structure
116
+ To confirm that the installation was successful, type ::
118
117
 
119
- Another option is to use ``pip`` to download and install the latest release from
120
- `Python Package Index <https://pypi.python.org>`_.
121
- To install using ``pip`` into your ``diffpy.structure_env`` environment, we will also have to install dependencies ::
118
+ python -c "import diffpy.structure; print(diffpy.structure.__version__)"
122
119
 
123
- pip install -r https://raw.githubusercontent.com/diffpy/diffpy.structure/main/requirements/run.txt
120
+ The output should print the latest version displayed on the badges above.
124
121
 
125
- and then install the package ::
122
+ If the above does not work, you can use ``pip`` to download and install the latest release from
123
+ `Python Package Index <https://pypi.python.org>`_.
124
+ To install using ``pip`` into your ``diffpy.structure_env`` environment, type ::
126
125
 
127
126
  pip install diffpy.structure
128
127
 
@@ -132,12 +131,17 @@ and run the following ::
132
131
 
133
132
  pip install .
134
133
 
134
+ Getting Started
135
+ ---------------
136
+
137
+ You may consult our `online documentation <https://diffpy.github.io/diffpy.structure>`_ for tutorials and API references.
138
+
135
139
  Support and Contribute
136
140
  ----------------------
137
141
 
138
142
  `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!
139
143
 
140
- 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>`_.
144
+ 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>`_.
141
145
 
142
146
  Feel free to fork the project and contribute. To install diffpy.structure
143
147
  in a development mode, with its sources being directly used by Python
@@ -15,8 +15,8 @@
15
15
  .. |Black| image:: https://img.shields.io/badge/code_style-black-black
16
16
  :target: https://github.com/psf/black
17
17
 
18
- .. |CI| image:: https://github.com/diffpy/diffpy.structure/actions/workflows/main.yml/badge.svg
19
- :target: https://github.com/diffpy/diffpy.structure/actions/workflows/main.yml
18
+ .. |CI| image:: https://github.com/diffpy/diffpy.structure/actions/workflows/matrix-and-codecov-on-merge-to-main.yml/badge.svg
19
+ :target: https://github.com/diffpy/diffpy.structure/actions/workflows/matrix-and-codecov-on-merge-to-main.yml
20
20
 
21
21
  .. |Codecov| image:: https://codecov.io/gh/diffpy/diffpy.structure/branch/main/graph/badge.svg
22
22
  :target: https://codecov.io/gh/diffpy/diffpy.structure
@@ -47,6 +47,7 @@ of symmetry constraints for atom positions and displacement parameters.
47
47
  diffpy.structure includes definitions of all space groups in over 500
48
48
  symmetry settings.
49
49
 
50
+
50
51
  For more information about the diffpy.structure library, please consult our `online documentation <https://diffpy.github.io/diffpy.structure>`_.
51
52
 
52
53
  Citation
@@ -77,20 +78,18 @@ To add "conda-forge" to the conda channels, run the following in a terminal. ::
77
78
  We want to install our packages in a suitable conda environment.
78
79
  The following creates and activates a new environment named ``diffpy.structure_env`` ::
79
80
 
80
- conda create -n diffpy.structure_env python=3
81
+ conda create -n diffpy.structure_env diffpy.structure
81
82
  conda activate diffpy.structure_env
82
83
 
83
- Then, to fully install ``diffpy.structure`` in our active environment, run ::
84
-
85
- conda install diffpy.structure
84
+ To confirm that the installation was successful, type ::
86
85
 
87
- Another option is to use ``pip`` to download and install the latest release from
88
- `Python Package Index <https://pypi.python.org>`_.
89
- To install using ``pip`` into your ``diffpy.structure_env`` environment, we will also have to install dependencies ::
86
+ python -c "import diffpy.structure; print(diffpy.structure.__version__)"
90
87
 
91
- pip install -r https://raw.githubusercontent.com/diffpy/diffpy.structure/main/requirements/run.txt
88
+ The output should print the latest version displayed on the badges above.
92
89
 
93
- and then install the package ::
90
+ If the above does not work, you can use ``pip`` to download and install the latest release from
91
+ `Python Package Index <https://pypi.python.org>`_.
92
+ To install using ``pip`` into your ``diffpy.structure_env`` environment, type ::
94
93
 
95
94
  pip install diffpy.structure
96
95
 
@@ -100,12 +99,17 @@ and run the following ::
100
99
 
101
100
  pip install .
102
101
 
102
+ Getting Started
103
+ ---------------
104
+
105
+ You may consult our `online documentation <https://diffpy.github.io/diffpy.structure>`_ for tutorials and API references.
106
+
103
107
  Support and Contribute
104
108
  ----------------------
105
109
 
106
110
  `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!
107
111
 
108
- 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>`_.
112
+ 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>`_.
109
113
 
110
114
  Feel free to fork the project and contribute. To install diffpy.structure
111
115
  in a development mode, with its sources being directly used by Python
@@ -14,7 +14,7 @@ maintainers = [
14
14
  description = "Crystal structure container and parsers for structure formats."
15
15
  keywords = ['diffpy', 'crystal structure data storage CIF PDB']
16
16
  readme = "README.rst"
17
- requires-python = ">=3.10"
17
+ requires-python = ">=3.10, <3.13"
18
18
  classifiers = [
19
19
  'Development Status :: 5 - Production/Stable',
20
20
  'Environment :: Console',
@@ -36,6 +36,9 @@ classifiers = [
36
36
  Homepage = "https://github.com/diffpy/diffpy.structure/"
37
37
  Issues = "https://github.com/diffpy/diffpy.structure/issues/"
38
38
 
39
+ [project.scripts]
40
+ transtru = "diffpy.structure.apps.transtru:main"
41
+
39
42
  [tool.setuptools-git-versioning]
40
43
  enabled = true
41
44
  template = "{tag}"
@@ -49,7 +52,7 @@ exclude = [] # exclude packages matching these glob patterns (empty by default)
49
52
  namespaces = false # to disable scanning PEP 420 namespaces (true by default)
50
53
 
51
54
  [tool.setuptools.dynamic]
52
- dependencies = {file = ["requirements/run.txt"]}
55
+ dependencies = {file = ["requirements/pip.txt"]}
53
56
 
54
57
  [tool.black]
55
58
  line-length = 115
File without changes
@@ -0,0 +1,4 @@
1
+ sphinx
2
+ sphinx_rtd_theme
3
+ doctr
4
+ m2r
@@ -1,2 +1,2 @@
1
- numpy
2
- pycifrw
1
+ numpy
2
+ pycifrw
@@ -0,0 +1,6 @@
1
+ flake8
2
+ pytest
3
+ codecov
4
+ coverage
5
+ pytest-cov
6
+ pytest-env
@@ -265,7 +265,7 @@ def main():
265
265
  spawnargs = (pd["viewer"], pd["viewer"], pd["tmpfile"], env)
266
266
  # load strufile in atomeye
267
267
  if pd["watch"]:
268
- signal.signal(signal.SIGCLD, signalHandler)
268
+ signal.signal(signal.SIGCHLD, signalHandler)
269
269
  os.spawnlpe(os.P_NOWAIT, *spawnargs)
270
270
  watchStructureFile(pd)
271
271
  else:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: diffpy.structure
3
- Version: 3.2.2rc0
3
+ Version: 3.2.3
4
4
  Summary: Crystal structure container and parsers for structure formats.
5
5
  Author-email: "Simon J.L. Billinge group" <simon.billinge@gmail.com>
6
6
  Maintainer-email: "Simon J.L. Billinge group" <simon.billinge@gmail.com>
@@ -21,7 +21,7 @@ Classifier: Programming Language :: Python :: 3.11
21
21
  Classifier: Programming Language :: Python :: 3.12
22
22
  Classifier: Topic :: Scientific/Engineering :: Physics
23
23
  Classifier: Topic :: Scientific/Engineering :: Chemistry
24
- Requires-Python: >=3.10
24
+ Requires-Python: <3.13,>=3.10
25
25
  Description-Content-Type: text/x-rst
26
26
  License-File: LICENSE.rst
27
27
  License-File: LICENSE_DANSE.rst
@@ -47,8 +47,8 @@ Requires-Dist: pycifrw
47
47
  .. |Black| image:: https://img.shields.io/badge/code_style-black-black
48
48
  :target: https://github.com/psf/black
49
49
 
50
- .. |CI| image:: https://github.com/diffpy/diffpy.structure/actions/workflows/main.yml/badge.svg
51
- :target: https://github.com/diffpy/diffpy.structure/actions/workflows/main.yml
50
+ .. |CI| image:: https://github.com/diffpy/diffpy.structure/actions/workflows/matrix-and-codecov-on-merge-to-main.yml/badge.svg
51
+ :target: https://github.com/diffpy/diffpy.structure/actions/workflows/matrix-and-codecov-on-merge-to-main.yml
52
52
 
53
53
  .. |Codecov| image:: https://codecov.io/gh/diffpy/diffpy.structure/branch/main/graph/badge.svg
54
54
  :target: https://codecov.io/gh/diffpy/diffpy.structure
@@ -79,6 +79,7 @@ of symmetry constraints for atom positions and displacement parameters.
79
79
  diffpy.structure includes definitions of all space groups in over 500
80
80
  symmetry settings.
81
81
 
82
+
82
83
  For more information about the diffpy.structure library, please consult our `online documentation <https://diffpy.github.io/diffpy.structure>`_.
83
84
 
84
85
  Citation
@@ -109,20 +110,18 @@ To add "conda-forge" to the conda channels, run the following in a terminal. ::
109
110
  We want to install our packages in a suitable conda environment.
110
111
  The following creates and activates a new environment named ``diffpy.structure_env`` ::
111
112
 
112
- conda create -n diffpy.structure_env python=3
113
+ conda create -n diffpy.structure_env diffpy.structure
113
114
  conda activate diffpy.structure_env
114
115
 
115
- Then, to fully install ``diffpy.structure`` in our active environment, run ::
116
-
117
- conda install diffpy.structure
116
+ To confirm that the installation was successful, type ::
118
117
 
119
- Another option is to use ``pip`` to download and install the latest release from
120
- `Python Package Index <https://pypi.python.org>`_.
121
- To install using ``pip`` into your ``diffpy.structure_env`` environment, we will also have to install dependencies ::
118
+ python -c "import diffpy.structure; print(diffpy.structure.__version__)"
122
119
 
123
- pip install -r https://raw.githubusercontent.com/diffpy/diffpy.structure/main/requirements/run.txt
120
+ The output should print the latest version displayed on the badges above.
124
121
 
125
- and then install the package ::
122
+ If the above does not work, you can use ``pip`` to download and install the latest release from
123
+ `Python Package Index <https://pypi.python.org>`_.
124
+ To install using ``pip`` into your ``diffpy.structure_env`` environment, type ::
126
125
 
127
126
  pip install diffpy.structure
128
127
 
@@ -132,12 +131,17 @@ and run the following ::
132
131
 
133
132
  pip install .
134
133
 
134
+ Getting Started
135
+ ---------------
136
+
137
+ You may consult our `online documentation <https://diffpy.github.io/diffpy.structure>`_ for tutorials and API references.
138
+
135
139
  Support and Contribute
136
140
  ----------------------
137
141
 
138
142
  `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!
139
143
 
140
- 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>`_.
144
+ 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>`_.
141
145
 
142
146
  Feel free to fork the project and contribute. To install diffpy.structure
143
147
  in a development mode, with its sources being directly used by Python
@@ -5,12 +5,16 @@ LICENSE_pymmlib.rst
5
5
  MANIFEST.in
6
6
  README.rst
7
7
  pyproject.toml
8
- requirements/run.txt
9
- src/diffpy/Structure.py
8
+ requirements/build.txt
9
+ requirements/conda.txt
10
+ requirements/docs.txt
11
+ requirements/pip.txt
12
+ requirements/test.txt
10
13
  src/diffpy/__init__.py
11
14
  src/diffpy.structure.egg-info/PKG-INFO
12
15
  src/diffpy.structure.egg-info/SOURCES.txt
13
16
  src/diffpy.structure.egg-info/dependency_links.txt
17
+ src/diffpy.structure.egg-info/entry_points.txt
14
18
  src/diffpy.structure.egg-info/requires.txt
15
19
  src/diffpy.structure.egg-info/top_level.txt
16
20
  src/diffpy/structure/__init__.py
@@ -45,10 +49,10 @@ src/diffpy/structure/parsers/p_xcfg.py
45
49
  src/diffpy/structure/parsers/p_xyz.py
46
50
  src/diffpy/structure/parsers/parser_index_mod.py
47
51
  src/diffpy/structure/parsers/structureparser.py
52
+ tests/conftest.py
48
53
  tests/test_atom.py
49
54
  tests/test_lattice.py
50
55
  tests/test_loadstructure.py
51
- tests/test_oldimports.py
52
56
  tests/test_p_cif.py
53
57
  tests/test_p_discus.py
54
58
  tests/test_p_pdffit.py
@@ -57,4 +61,31 @@ tests/test_spacegroups.py
57
61
  tests/test_structure.py
58
62
  tests/test_supercell.py
59
63
  tests/test_symmetryutilities.py
60
- tests/test_version.py
64
+ tests/test_version.py
65
+ tests/testdata/BubbleRaftShort.xcfg
66
+ tests/testdata/CdSe_bulk.stru
67
+ tests/testdata/LiCl-bad.cif
68
+ tests/testdata/Ni-bad.stru
69
+ tests/testdata/Ni-discus.stru
70
+ tests/testdata/Ni.stru
71
+ tests/testdata/Ni_prim123.stru
72
+ tests/testdata/Ni_ref.cif
73
+ tests/testdata/PbTe.cif
74
+ tests/testdata/TeI-unkocc.cif
75
+ tests/testdata/TeI.cif
76
+ tests/testdata/ZnSb_RT_Q28X_VM_20_fxiso.rstr
77
+ tests/testdata/arginine.pdb
78
+ tests/testdata/badspacegroup.cif
79
+ tests/testdata/bucky-bad1.xyz
80
+ tests/testdata/bucky-bad2.xyz
81
+ tests/testdata/bucky-plain-bad.xyz
82
+ tests/testdata/bucky-plain.xyz
83
+ tests/testdata/bucky-raw.xyz
84
+ tests/testdata/bucky.xyz
85
+ tests/testdata/curlybrackets.cif
86
+ tests/testdata/customsg.cif
87
+ tests/testdata/graphite.cif
88
+ tests/testdata/hexagon-raw-bad.xyz
89
+ tests/testdata/hexagon-raw.xy
90
+ tests/testdata/hexagon-raw.xyz
91
+ tests/testdata/nosites.cif
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ transtru = diffpy.structure.apps.transtru:main
@@ -0,0 +1,29 @@
1
+ import json
2
+ from pathlib import Path
3
+
4
+ import pytest
5
+
6
+
7
+ @pytest.fixture
8
+ def user_filesystem(tmp_path):
9
+ base_dir = Path(tmp_path)
10
+ home_dir = base_dir / "home_dir"
11
+ home_dir.mkdir(parents=True, exist_ok=True)
12
+ cwd_dir = base_dir / "cwd_dir"
13
+ cwd_dir.mkdir(parents=True, exist_ok=True)
14
+
15
+ home_config_data = {"username": "home_username", "email": "home@email.com"}
16
+ with open(home_dir / "diffpyconfig.json", "w") as f:
17
+ json.dump(home_config_data, f)
18
+
19
+ yield tmp_path
20
+
21
+
22
+ @pytest.fixture
23
+ def datafile():
24
+ """Fixture to dynamically load any test file."""
25
+
26
+ def _load(filename):
27
+ return "tests/testdata/" + filename
28
+
29
+ return _load