structuretoolkit 0.0.12__tar.gz → 0.0.14__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 (53) hide show
  1. structuretoolkit-0.0.14/MANIFEST.in +1 -0
  2. structuretoolkit-0.0.14/PKG-INFO +148 -0
  3. structuretoolkit-0.0.14/pyproject.toml +70 -0
  4. structuretoolkit-0.0.14/setup.cfg +4 -0
  5. structuretoolkit-0.0.14/setup.py +8 -0
  6. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/structuretoolkit/__init__.py +4 -0
  7. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/structuretoolkit/_version.py +3 -3
  8. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/structuretoolkit/analyse/spatial.py +3 -3
  9. structuretoolkit-0.0.14/structuretoolkit.egg-info/PKG-INFO +148 -0
  10. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/structuretoolkit.egg-info/SOURCES.txt +1 -2
  11. structuretoolkit-0.0.14/structuretoolkit.egg-info/requires.txt +34 -0
  12. structuretoolkit-0.0.12/MANIFEST.in +0 -3
  13. structuretoolkit-0.0.12/PKG-INFO +0 -46
  14. structuretoolkit-0.0.12/setup.cfg +0 -11
  15. structuretoolkit-0.0.12/setup.py +0 -50
  16. structuretoolkit-0.0.12/structuretoolkit.egg-info/PKG-INFO +0 -46
  17. structuretoolkit-0.0.12/structuretoolkit.egg-info/requires.txt +0 -34
  18. structuretoolkit-0.0.12/versioneer.py +0 -2277
  19. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/LICENSE +0 -0
  20. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/README.md +0 -0
  21. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/structuretoolkit/analyse/__init__.py +0 -0
  22. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/structuretoolkit/analyse/distance.py +0 -0
  23. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/structuretoolkit/analyse/neighbors.py +0 -0
  24. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/structuretoolkit/analyse/phonopy.py +0 -0
  25. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/structuretoolkit/analyse/pyscal.py +0 -0
  26. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/structuretoolkit/analyse/strain.py +0 -0
  27. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/structuretoolkit/analyse/symmetry.py +0 -0
  28. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/structuretoolkit/build/__init__.py +0 -0
  29. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/structuretoolkit/build/aimsgb.py +0 -0
  30. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/structuretoolkit/build/compound.py +0 -0
  31. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/structuretoolkit/build/random.py +0 -0
  32. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/structuretoolkit/build/sqs.py +0 -0
  33. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/structuretoolkit/build/surface.py +0 -0
  34. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/structuretoolkit/common/__init__.py +0 -0
  35. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/structuretoolkit/common/error.py +0 -0
  36. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/structuretoolkit/common/helper.py +0 -0
  37. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/structuretoolkit/common/phonopy.py +0 -0
  38. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/structuretoolkit/common/pymatgen.py +0 -0
  39. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/structuretoolkit/common/pyscal.py +0 -0
  40. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/structuretoolkit/visualize.py +0 -0
  41. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/structuretoolkit.egg-info/dependency_links.txt +0 -0
  42. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/structuretoolkit.egg-info/top_level.txt +0 -0
  43. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/tests/test_aimsgb.py +0 -0
  44. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/tests/test_analyse.py +0 -0
  45. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/tests/test_compound.py +0 -0
  46. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/tests/test_high_index_surface.py +0 -0
  47. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/tests/test_neighbors.py +0 -0
  48. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/tests/test_pymatgen.py +0 -0
  49. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/tests/test_pyscal.py +0 -0
  50. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/tests/test_pyxtal.py +0 -0
  51. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/tests/test_strain.py +0 -0
  52. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/tests/test_symmetry.py +0 -0
  53. {structuretoolkit-0.0.12 → structuretoolkit-0.0.14}/tests/test_visualize.py +0 -0
@@ -0,0 +1 @@
1
+ include LICENSE
@@ -0,0 +1,148 @@
1
+ Metadata-Version: 2.1
2
+ Name: structuretoolkit
3
+ Version: 0.0.14
4
+ Summary: build, analyse and visualise atomistic structures for materials science
5
+ Author-email: Jan Janssen <janssen@mpie.de>
6
+ License: BSD 3-Clause License
7
+
8
+ Copyright (c) 2018, Max-Planck-Institut für Eisenforschung GmbH - Computational Materials Design (CM) Department
9
+ All rights reserved.
10
+
11
+ Redistribution and use in source and binary forms, with or without
12
+ modification, are permitted provided that the following conditions are met:
13
+
14
+ * Redistributions of source code must retain the above copyright notice, this
15
+ list of conditions and the following disclaimer.
16
+
17
+ * Redistributions in binary form must reproduce the above copyright notice,
18
+ this list of conditions and the following disclaimer in the documentation
19
+ and/or other materials provided with the distribution.
20
+
21
+ * Neither the name of the copyright holder nor the names of its
22
+ contributors may be used to endorse or promote products derived from
23
+ this software without specific prior written permission.
24
+
25
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
26
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
28
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
29
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
30
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
32
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
33
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35
+
36
+ Project-URL: Homepage, https://github.com/pyiron/structuretoolkit
37
+ Project-URL: Documentation, https://github.com/pyiron/structuretoolkit
38
+ Project-URL: Repository, https://github.com/pyiron/structuretoolkit
39
+ Keywords: pyiron
40
+ Classifier: Development Status :: 5 - Production/Stable
41
+ Classifier: Topic :: Scientific/Engineering :: Physics
42
+ Classifier: License :: OSI Approved :: BSD License
43
+ Classifier: Intended Audience :: Science/Research
44
+ Classifier: Operating System :: OS Independent
45
+ Classifier: Programming Language :: Python :: 3.8
46
+ Classifier: Programming Language :: Python :: 3.9
47
+ Classifier: Programming Language :: Python :: 3.10
48
+ Classifier: Programming Language :: Python :: 3.11
49
+ Requires-Python: >=3.8
50
+ Description-Content-Type: text/markdown
51
+ License-File: LICENSE
52
+ Requires-Dist: ase<=3.22.1,>=3.20.1
53
+ Requires-Dist: matplotlib==3.8.2
54
+ Requires-Dist: numpy<=1.26.2,>=1.23.5
55
+ Requires-Dist: scipy<=1.11.4,>=1.9.3
56
+ Provides-Extra: grainboundary
57
+ Requires-Dist: aimsgb<=1.1.0,>=1.0.2; extra == "grainboundary"
58
+ Requires-Dist: pymatgen<=2023.11.12,>=2022.2.1; extra == "grainboundary"
59
+ Provides-Extra: pyscal
60
+ Requires-Dist: pyscal2==2.10.18; extra == "pyscal"
61
+ Provides-Extra: nglview
62
+ Requires-Dist: nglview<=3.0.8,>=2.7.7; extra == "nglview"
63
+ Provides-Extra: plotly
64
+ Requires-Dist: plotly<=5.18.0,>=4.14.3; extra == "plotly"
65
+ Provides-Extra: clusters
66
+ Requires-Dist: scikit-learn==1.3.2; extra == "clusters"
67
+ Provides-Extra: symmetry
68
+ Requires-Dist: spglib<=2.1.0,>=1.16.5; extra == "symmetry"
69
+ Provides-Extra: surface
70
+ Requires-Dist: spglib<=2.1.0,>=1.16.5; extra == "surface"
71
+ Requires-Dist: pymatgen<=2023.11.12,>=2022.2.1; extra == "surface"
72
+ Provides-Extra: phonopy
73
+ Requires-Dist: phonopy<=2.20.0,>=2.16.2; extra == "phonopy"
74
+ Requires-Dist: spglib<=2.1.0,>=1.16.5; extra == "phonopy"
75
+ Provides-Extra: pyxtal
76
+ Requires-Dist: pyxtal<=0.6.1,>=0.5.5; extra == "pyxtal"
77
+
78
+ # structuretoolkit
79
+
80
+ [![Unittests](https://github.com/pyiron/structuretoolkit/actions/workflows/unittests.yml/badge.svg)](https://github.com/pyiron/structuretoolkit/actions/workflows/unittests.yml)
81
+ [![Coverage Status](https://coveralls.io/repos/github/pyiron/structuretoolkit/badge.svg?branch=main)](https://coveralls.io/github/pyiron/structuretoolkit?branch=main)
82
+
83
+ Originally developed as part of the `pyiron_atomistics` module the `structuretoolkit` was release as standalone library
84
+ for analysing, building and visualising atomistic structures. Internally it uses the `ase.atoms.Atoms` class to
85
+ represent atomistic structures in python. The `structuretoolkit` is integrated inside `pyiron_atomistics`.
86
+
87
+ ## Disclaimer
88
+ The `structuretoolkit` is currently under development.
89
+
90
+ ## Example
91
+
92
+ ```python
93
+ import structuretoolkit as stk
94
+ from ase.build import bulk
95
+
96
+ structure = bulk("Al", cubic=True)
97
+ stk.analyse.get_adaptive_cna_descriptors(structure)
98
+ stk.plot3d(structure)
99
+ ```
100
+
101
+ ## Features
102
+ ### Analysis
103
+ * `stk.analyse.get_neighbors()`
104
+ * `stk.analyse.get_neighborhood()`
105
+ * `stk.analyse.get_equivalent_atoms()`
106
+ * `stk.analyse.get_steinhardt_parameters()`
107
+ * `stk.analyse.get_centro_symmetry_descriptors()`
108
+ * `stk.analyse.get_diamond_structure_descriptors()`
109
+ * `stk.analyse.get_adaptive_cna_descriptors()`
110
+ * `stk.analyse.get_voronoi_volumes()`
111
+ * `stk.analyse.find_solids()`
112
+ * `stk.analyse.get_mean_positions()`
113
+ * `stk.analyse.get_average_of_unique_labels()`
114
+ * `stk.analyse.get_interstitials()`
115
+ * `stk.analyse.get_layers()`
116
+ * `stk.analyse.get_voronoi_vertices()`
117
+ * `stk.analyse.get_voronoi_neighbors()`
118
+ * `stk.analyse.get_delaunay_neighbors()`
119
+ * `stk.analyse.get_cluster_positions()`
120
+ * `stk.analyse.get_strain()`
121
+
122
+ ### Build
123
+ * `stk.build.get_grainboundary_info()`
124
+ * `stk.build.grainboundary()`
125
+ * `stk.build.high_index_surface()`
126
+ * `stk.build.get_high_index_surface_info()`
127
+ * `stk.build.sqs_structures()`
128
+ * `stk.build.pyxtal()`
129
+ * `stk.build.B2()`
130
+ * `stk.build.C14()`
131
+ * `stk.build.C15()`
132
+ * `stk.build.C36()`
133
+ * `stk.build.D03()`
134
+
135
+ ### Visualize
136
+ * `stk.visualize.plot3d()`
137
+
138
+ ### Common
139
+ * `stk.common.ase_to_pymatgen()`
140
+ * `stk.common.pymatgen_to_ase()`
141
+ * `stk.common.pymatgen_read_from_file()`
142
+ * `stk.common.ase_to_pyscal()`
143
+ * `stk.common.apply_strain()`
144
+ * `stk.common.center_coordinates_in_unit_cell()`
145
+ * `stk.common.get_extended_positions()`
146
+ * `stk.common.get_vertical_length()`
147
+ * `stk.common.get_wrapped_coordinates()`
148
+ * `stk.common.select_index()`
@@ -0,0 +1,70 @@
1
+ [build-system]
2
+ requires = ["ase", "matplotlib", "numpy", "setuptools", "scipy", "versioneer[toml]==0.29"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "structuretoolkit"
7
+ description = "build, analyse and visualise atomistic structures for materials science"
8
+ authors = [
9
+ { name = "Jan Janssen", email = "janssen@mpie.de" },
10
+ ]
11
+ readme = "README.md"
12
+ license = { file = "LICENSE" }
13
+ keywords = ["pyiron"]
14
+ requires-python = ">=3.8"
15
+ classifiers = [
16
+ "Development Status :: 5 - Production/Stable",
17
+ "Topic :: Scientific/Engineering :: Physics",
18
+ "License :: OSI Approved :: BSD License",
19
+ "Intended Audience :: Science/Research",
20
+ "Operating System :: OS Independent",
21
+ "Programming Language :: Python :: 3.8",
22
+ "Programming Language :: Python :: 3.9",
23
+ "Programming Language :: Python :: 3.10",
24
+ "Programming Language :: Python :: 3.11",
25
+ ]
26
+ dependencies = [
27
+ "ase>=3.20.1,<=3.22.1",
28
+ "matplotlib==3.8.2",
29
+ "numpy>=1.23.5,<=1.26.2",
30
+ "scipy>=1.9.3,<=1.11.4",
31
+ ]
32
+ dynamic = ["version"]
33
+
34
+ [project.urls]
35
+ Homepage = "https://github.com/pyiron/structuretoolkit"
36
+ Documentation = "https://github.com/pyiron/structuretoolkit"
37
+ Repository = "https://github.com/pyiron/structuretoolkit"
38
+
39
+ [project.optional-dependencies]
40
+ grainboundary = [
41
+ "aimsgb>=1.0.2,<=1.1.0",
42
+ "pymatgen>=2022.2.1,<=2023.11.12",
43
+ ]
44
+ pyscal = ["pyscal2==2.10.18"]
45
+ nglview = ["nglview>=2.7.7,<=3.0.8"]
46
+ plotly = ["plotly>=4.14.3,<=5.18.0"]
47
+ clusters = ["scikit-learn==1.3.2"]
48
+ symmetry = ["spglib>=1.16.5,<=2.1.0"]
49
+ surface = [
50
+ "spglib>=1.16.5,<=2.1.0",
51
+ "pymatgen>=2022.2.1,<=2023.11.12",
52
+ ]
53
+ phonopy = [
54
+ "phonopy>=2.16.2,<=2.20.0",
55
+ "spglib>=1.16.5,<=2.1.0",
56
+ ]
57
+ pyxtal = ["pyxtal>=0.5.5,<=0.6.1"]
58
+
59
+ [tool.setuptools.packages.find]
60
+ include = ["structuretoolkit*"]
61
+
62
+ [tool.setuptools.dynamic]
63
+ version = {attr = "structuretoolkit.__version__"}
64
+
65
+ [tool.versioneer]
66
+ VCS = "git"
67
+ style = "pep440-pre"
68
+ versionfile_source = "structuretoolkit/_version.py"
69
+ parentdir_prefix = "structuretoolkit"
70
+ tag_prefix = "structuretoolkit-"
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,8 @@
1
+ from setuptools import setup
2
+
3
+ import versioneer
4
+
5
+ setup(
6
+ version=versioneer.get_version(),
7
+ cmdclass=versioneer.get_cmdclass(),
8
+ )
@@ -1,3 +1,5 @@
1
+ from . import _version
2
+
1
3
  # Analyse
2
4
  from structuretoolkit.analyse import (
3
5
  find_mic,
@@ -73,3 +75,5 @@ from structuretoolkit.build import (
73
75
  grainboundary as grainboundary_build,
74
76
  sqs_structures as get_sqs_structures,
75
77
  )
78
+
79
+ __version__ = _version.get_versions()["version"]
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2023-11-17T05:08:44-0700",
11
+ "date": "2023-11-26T23:00:57+0100",
12
12
  "dirty": true,
13
13
  "error": null,
14
- "full-revisionid": "75a09dc29d6175e7e2c48a8da5054455043df8cc",
15
- "version": "0.0.12"
14
+ "full-revisionid": "985776e9464b45fc318cddad01f767eb3a308f2f",
15
+ "version": "0.0.14"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -174,7 +174,7 @@ class Interstitials:
174
174
  var_ratio=5,
175
175
  min_samples=None,
176
176
  neigh_args={},
177
- **kwargs
177
+ **kwargs,
178
178
  ):
179
179
  """
180
180
 
@@ -333,7 +333,7 @@ def get_interstitials(
333
333
  var_ratio=5,
334
334
  min_samples=None,
335
335
  neigh_args={},
336
- **kwargs
336
+ **kwargs,
337
337
  ):
338
338
  return Interstitials(
339
339
  structure=structure,
@@ -347,7 +347,7 @@ def get_interstitials(
347
347
  var_ratio=var_ratio,
348
348
  min_samples=min_samples,
349
349
  neigh_args=neigh_args,
350
- **kwargs
350
+ **kwargs,
351
351
  )
352
352
 
353
353
 
@@ -0,0 +1,148 @@
1
+ Metadata-Version: 2.1
2
+ Name: structuretoolkit
3
+ Version: 0.0.14
4
+ Summary: build, analyse and visualise atomistic structures for materials science
5
+ Author-email: Jan Janssen <janssen@mpie.de>
6
+ License: BSD 3-Clause License
7
+
8
+ Copyright (c) 2018, Max-Planck-Institut für Eisenforschung GmbH - Computational Materials Design (CM) Department
9
+ All rights reserved.
10
+
11
+ Redistribution and use in source and binary forms, with or without
12
+ modification, are permitted provided that the following conditions are met:
13
+
14
+ * Redistributions of source code must retain the above copyright notice, this
15
+ list of conditions and the following disclaimer.
16
+
17
+ * Redistributions in binary form must reproduce the above copyright notice,
18
+ this list of conditions and the following disclaimer in the documentation
19
+ and/or other materials provided with the distribution.
20
+
21
+ * Neither the name of the copyright holder nor the names of its
22
+ contributors may be used to endorse or promote products derived from
23
+ this software without specific prior written permission.
24
+
25
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
26
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
28
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
29
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
30
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
32
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
33
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35
+
36
+ Project-URL: Homepage, https://github.com/pyiron/structuretoolkit
37
+ Project-URL: Documentation, https://github.com/pyiron/structuretoolkit
38
+ Project-URL: Repository, https://github.com/pyiron/structuretoolkit
39
+ Keywords: pyiron
40
+ Classifier: Development Status :: 5 - Production/Stable
41
+ Classifier: Topic :: Scientific/Engineering :: Physics
42
+ Classifier: License :: OSI Approved :: BSD License
43
+ Classifier: Intended Audience :: Science/Research
44
+ Classifier: Operating System :: OS Independent
45
+ Classifier: Programming Language :: Python :: 3.8
46
+ Classifier: Programming Language :: Python :: 3.9
47
+ Classifier: Programming Language :: Python :: 3.10
48
+ Classifier: Programming Language :: Python :: 3.11
49
+ Requires-Python: >=3.8
50
+ Description-Content-Type: text/markdown
51
+ License-File: LICENSE
52
+ Requires-Dist: ase<=3.22.1,>=3.20.1
53
+ Requires-Dist: matplotlib==3.8.2
54
+ Requires-Dist: numpy<=1.26.2,>=1.23.5
55
+ Requires-Dist: scipy<=1.11.4,>=1.9.3
56
+ Provides-Extra: grainboundary
57
+ Requires-Dist: aimsgb<=1.1.0,>=1.0.2; extra == "grainboundary"
58
+ Requires-Dist: pymatgen<=2023.11.12,>=2022.2.1; extra == "grainboundary"
59
+ Provides-Extra: pyscal
60
+ Requires-Dist: pyscal2==2.10.18; extra == "pyscal"
61
+ Provides-Extra: nglview
62
+ Requires-Dist: nglview<=3.0.8,>=2.7.7; extra == "nglview"
63
+ Provides-Extra: plotly
64
+ Requires-Dist: plotly<=5.18.0,>=4.14.3; extra == "plotly"
65
+ Provides-Extra: clusters
66
+ Requires-Dist: scikit-learn==1.3.2; extra == "clusters"
67
+ Provides-Extra: symmetry
68
+ Requires-Dist: spglib<=2.1.0,>=1.16.5; extra == "symmetry"
69
+ Provides-Extra: surface
70
+ Requires-Dist: spglib<=2.1.0,>=1.16.5; extra == "surface"
71
+ Requires-Dist: pymatgen<=2023.11.12,>=2022.2.1; extra == "surface"
72
+ Provides-Extra: phonopy
73
+ Requires-Dist: phonopy<=2.20.0,>=2.16.2; extra == "phonopy"
74
+ Requires-Dist: spglib<=2.1.0,>=1.16.5; extra == "phonopy"
75
+ Provides-Extra: pyxtal
76
+ Requires-Dist: pyxtal<=0.6.1,>=0.5.5; extra == "pyxtal"
77
+
78
+ # structuretoolkit
79
+
80
+ [![Unittests](https://github.com/pyiron/structuretoolkit/actions/workflows/unittests.yml/badge.svg)](https://github.com/pyiron/structuretoolkit/actions/workflows/unittests.yml)
81
+ [![Coverage Status](https://coveralls.io/repos/github/pyiron/structuretoolkit/badge.svg?branch=main)](https://coveralls.io/github/pyiron/structuretoolkit?branch=main)
82
+
83
+ Originally developed as part of the `pyiron_atomistics` module the `structuretoolkit` was release as standalone library
84
+ for analysing, building and visualising atomistic structures. Internally it uses the `ase.atoms.Atoms` class to
85
+ represent atomistic structures in python. The `structuretoolkit` is integrated inside `pyiron_atomistics`.
86
+
87
+ ## Disclaimer
88
+ The `structuretoolkit` is currently under development.
89
+
90
+ ## Example
91
+
92
+ ```python
93
+ import structuretoolkit as stk
94
+ from ase.build import bulk
95
+
96
+ structure = bulk("Al", cubic=True)
97
+ stk.analyse.get_adaptive_cna_descriptors(structure)
98
+ stk.plot3d(structure)
99
+ ```
100
+
101
+ ## Features
102
+ ### Analysis
103
+ * `stk.analyse.get_neighbors()`
104
+ * `stk.analyse.get_neighborhood()`
105
+ * `stk.analyse.get_equivalent_atoms()`
106
+ * `stk.analyse.get_steinhardt_parameters()`
107
+ * `stk.analyse.get_centro_symmetry_descriptors()`
108
+ * `stk.analyse.get_diamond_structure_descriptors()`
109
+ * `stk.analyse.get_adaptive_cna_descriptors()`
110
+ * `stk.analyse.get_voronoi_volumes()`
111
+ * `stk.analyse.find_solids()`
112
+ * `stk.analyse.get_mean_positions()`
113
+ * `stk.analyse.get_average_of_unique_labels()`
114
+ * `stk.analyse.get_interstitials()`
115
+ * `stk.analyse.get_layers()`
116
+ * `stk.analyse.get_voronoi_vertices()`
117
+ * `stk.analyse.get_voronoi_neighbors()`
118
+ * `stk.analyse.get_delaunay_neighbors()`
119
+ * `stk.analyse.get_cluster_positions()`
120
+ * `stk.analyse.get_strain()`
121
+
122
+ ### Build
123
+ * `stk.build.get_grainboundary_info()`
124
+ * `stk.build.grainboundary()`
125
+ * `stk.build.high_index_surface()`
126
+ * `stk.build.get_high_index_surface_info()`
127
+ * `stk.build.sqs_structures()`
128
+ * `stk.build.pyxtal()`
129
+ * `stk.build.B2()`
130
+ * `stk.build.C14()`
131
+ * `stk.build.C15()`
132
+ * `stk.build.C36()`
133
+ * `stk.build.D03()`
134
+
135
+ ### Visualize
136
+ * `stk.visualize.plot3d()`
137
+
138
+ ### Common
139
+ * `stk.common.ase_to_pymatgen()`
140
+ * `stk.common.pymatgen_to_ase()`
141
+ * `stk.common.pymatgen_read_from_file()`
142
+ * `stk.common.ase_to_pyscal()`
143
+ * `stk.common.apply_strain()`
144
+ * `stk.common.center_coordinates_in_unit_cell()`
145
+ * `stk.common.get_extended_positions()`
146
+ * `stk.common.get_vertical_length()`
147
+ * `stk.common.get_wrapped_coordinates()`
148
+ * `stk.common.select_index()`
@@ -1,9 +1,8 @@
1
1
  LICENSE
2
2
  MANIFEST.in
3
3
  README.md
4
- setup.cfg
4
+ pyproject.toml
5
5
  setup.py
6
- versioneer.py
7
6
  structuretoolkit/__init__.py
8
7
  structuretoolkit/_version.py
9
8
  structuretoolkit/visualize.py
@@ -0,0 +1,34 @@
1
+ ase<=3.22.1,>=3.20.1
2
+ matplotlib==3.8.2
3
+ numpy<=1.26.2,>=1.23.5
4
+ scipy<=1.11.4,>=1.9.3
5
+
6
+ [clusters]
7
+ scikit-learn==1.3.2
8
+
9
+ [grainboundary]
10
+ aimsgb<=1.1.0,>=1.0.2
11
+ pymatgen<=2023.11.12,>=2022.2.1
12
+
13
+ [nglview]
14
+ nglview<=3.0.8,>=2.7.7
15
+
16
+ [phonopy]
17
+ phonopy<=2.20.0,>=2.16.2
18
+ spglib<=2.1.0,>=1.16.5
19
+
20
+ [plotly]
21
+ plotly<=5.18.0,>=4.14.3
22
+
23
+ [pyscal]
24
+ pyscal2==2.10.18
25
+
26
+ [pyxtal]
27
+ pyxtal<=0.6.1,>=0.5.5
28
+
29
+ [surface]
30
+ spglib<=2.1.0,>=1.16.5
31
+ pymatgen<=2023.11.12,>=2022.2.1
32
+
33
+ [symmetry]
34
+ spglib<=2.1.0,>=1.16.5
@@ -1,3 +0,0 @@
1
- include versioneer.py
2
- include structuretoolkit/_version.py
3
- include LICENSE
@@ -1,46 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: structuretoolkit
3
- Version: 0.0.12
4
- Summary: structuretoolkit - to analyse, build and visualise atomistic structures.
5
- Home-page: https://github.com/pyiron/structuretoolkit
6
- Author: Max-Planck-Institut für Eisenforschung GmbH - Computational Materials Design (CM) Department
7
- Author-email: janssen@mpie.de
8
- License: BSD
9
- Keywords: pyiron
10
- Classifier: Development Status :: 5 - Production/Stable
11
- Classifier: Topic :: Scientific/Engineering :: Physics
12
- Classifier: License :: OSI Approved :: BSD License
13
- Classifier: Intended Audience :: Science/Research
14
- Classifier: Operating System :: OS Independent
15
- Classifier: Programming Language :: Python :: 3.8
16
- Classifier: Programming Language :: Python :: 3.9
17
- Classifier: Programming Language :: Python :: 3.10
18
- Classifier: Programming Language :: Python :: 3.11
19
- License-File: LICENSE
20
- Requires-Dist: ase>=3.22.1
21
- Requires-Dist: matplotlib>=3.8.1
22
- Requires-Dist: numpy>=1.26.0
23
- Requires-Dist: scipy>=1.11.3
24
- Provides-Extra: grainboundary
25
- Requires-Dist: aimsgb>=1.1.0; extra == "grainboundary"
26
- Requires-Dist: pymatgen>=2023.11.12; extra == "grainboundary"
27
- Provides-Extra: pyscal
28
- Requires-Dist: pyscal2>=2.10.18; extra == "pyscal"
29
- Provides-Extra: nglview
30
- Requires-Dist: nglview>=3.0.8; extra == "nglview"
31
- Provides-Extra: plotly
32
- Requires-Dist: plotly>=5.18.0; extra == "plotly"
33
- Provides-Extra: clusters
34
- Requires-Dist: scikit-learn>=1.3.2; extra == "clusters"
35
- Provides-Extra: symmetry
36
- Requires-Dist: spglib>=2.1.0; extra == "symmetry"
37
- Provides-Extra: surface
38
- Requires-Dist: spglib>=2.1.0; extra == "surface"
39
- Requires-Dist: pymatgen>=2023.11.12; extra == "surface"
40
- Provides-Extra: phonopy
41
- Requires-Dist: phonopy>=2.20.0; extra == "phonopy"
42
- Requires-Dist: spglib>=2.1.0; extra == "phonopy"
43
- Provides-Extra: pyxtal
44
- Requires-Dist: pyxtal>=0.6.1; extra == "pyxtal"
45
-
46
- http://pyiron.org
@@ -1,11 +0,0 @@
1
- [versioneer]
2
- VCS = git
3
- style = pep440-pre
4
- versionfile_source = structuretoolkit/_version.py
5
- tag_prefix = structuretoolkit-
6
- parentdir_prefix = structuretoolkit
7
-
8
- [egg_info]
9
- tag_build =
10
- tag_date = 0
11
-
@@ -1,50 +0,0 @@
1
- """
2
- Setuptools based setup module
3
- """
4
- from setuptools import setup, find_packages
5
- import versioneer
6
-
7
- setup(
8
- name='structuretoolkit',
9
- version=versioneer.get_version(),
10
- description='structuretoolkit - to analyse, build and visualise atomistic structures.',
11
- long_description='http://pyiron.org',
12
-
13
- url='https://github.com/pyiron/structuretoolkit',
14
- author='Max-Planck-Institut für Eisenforschung GmbH - Computational Materials Design (CM) Department',
15
- author_email='janssen@mpie.de',
16
- license='BSD',
17
-
18
- classifiers=[
19
- 'Development Status :: 5 - Production/Stable',
20
- 'Topic :: Scientific/Engineering :: Physics',
21
- 'License :: OSI Approved :: BSD License',
22
- 'Intended Audience :: Science/Research',
23
- 'Operating System :: OS Independent',
24
- 'Programming Language :: Python :: 3.8',
25
- 'Programming Language :: Python :: 3.9',
26
- 'Programming Language :: Python :: 3.10',
27
- 'Programming Language :: Python :: 3.11'
28
- ],
29
-
30
- keywords='pyiron',
31
- packages=find_packages(exclude=["*tests*", "*docs*", "*binder*", "*conda*", "*notebooks*", "*.ci_support*"]),
32
- install_requires=[
33
- 'ase>=3.22.1',
34
- 'matplotlib>=3.8.1', # ase already requires matplotlib
35
- 'numpy>=1.26.0', # ase already requires numpy
36
- 'scipy>=1.11.3', # ase already requires scipy
37
- ],
38
- extras_require={
39
- "grainboundary": ['aimsgb>=1.1.0', 'pymatgen>=2023.11.12'],
40
- "pyscal": ['pyscal2>=2.10.18'],
41
- "nglview": ['nglview>=3.0.8'],
42
- "plotly": ['plotly>=5.18.0'],
43
- "clusters": ['scikit-learn>=1.3.2'],
44
- "symmetry": ['spglib>=2.1.0'],
45
- "surface": ['spglib>=2.1.0', 'pymatgen>=2023.11.12'],
46
- "phonopy": ['phonopy>=2.20.0', 'spglib>=2.1.0'],
47
- "pyxtal": ['pyxtal>=0.6.1']
48
- },
49
- cmdclass=versioneer.get_cmdclass(),
50
- )
@@ -1,46 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: structuretoolkit
3
- Version: 0.0.12
4
- Summary: structuretoolkit - to analyse, build and visualise atomistic structures.
5
- Home-page: https://github.com/pyiron/structuretoolkit
6
- Author: Max-Planck-Institut für Eisenforschung GmbH - Computational Materials Design (CM) Department
7
- Author-email: janssen@mpie.de
8
- License: BSD
9
- Keywords: pyiron
10
- Classifier: Development Status :: 5 - Production/Stable
11
- Classifier: Topic :: Scientific/Engineering :: Physics
12
- Classifier: License :: OSI Approved :: BSD License
13
- Classifier: Intended Audience :: Science/Research
14
- Classifier: Operating System :: OS Independent
15
- Classifier: Programming Language :: Python :: 3.8
16
- Classifier: Programming Language :: Python :: 3.9
17
- Classifier: Programming Language :: Python :: 3.10
18
- Classifier: Programming Language :: Python :: 3.11
19
- License-File: LICENSE
20
- Requires-Dist: ase>=3.22.1
21
- Requires-Dist: matplotlib>=3.8.1
22
- Requires-Dist: numpy>=1.26.0
23
- Requires-Dist: scipy>=1.11.3
24
- Provides-Extra: grainboundary
25
- Requires-Dist: aimsgb>=1.1.0; extra == "grainboundary"
26
- Requires-Dist: pymatgen>=2023.11.12; extra == "grainboundary"
27
- Provides-Extra: pyscal
28
- Requires-Dist: pyscal2>=2.10.18; extra == "pyscal"
29
- Provides-Extra: nglview
30
- Requires-Dist: nglview>=3.0.8; extra == "nglview"
31
- Provides-Extra: plotly
32
- Requires-Dist: plotly>=5.18.0; extra == "plotly"
33
- Provides-Extra: clusters
34
- Requires-Dist: scikit-learn>=1.3.2; extra == "clusters"
35
- Provides-Extra: symmetry
36
- Requires-Dist: spglib>=2.1.0; extra == "symmetry"
37
- Provides-Extra: surface
38
- Requires-Dist: spglib>=2.1.0; extra == "surface"
39
- Requires-Dist: pymatgen>=2023.11.12; extra == "surface"
40
- Provides-Extra: phonopy
41
- Requires-Dist: phonopy>=2.20.0; extra == "phonopy"
42
- Requires-Dist: spglib>=2.1.0; extra == "phonopy"
43
- Provides-Extra: pyxtal
44
- Requires-Dist: pyxtal>=0.6.1; extra == "pyxtal"
45
-
46
- http://pyiron.org