structuretoolkit 0.0.45__tar.gz → 0.0.46__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.
- structuretoolkit-0.0.46/PKG-INFO +167 -0
- structuretoolkit-0.0.46/README.md +87 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/pyproject.toml +12 -9
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/_version.py +2 -2
- structuretoolkit-0.0.45/PKG-INFO +0 -149
- structuretoolkit-0.0.45/README.md +0 -70
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/.gitignore +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/LICENSE +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/__init__.py +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/analyse/__init__.py +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/analyse/distance.py +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/analyse/dscribe.py +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/analyse/neighbors.py +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/analyse/phonopy.py +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/analyse/pyscal.py +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/analyse/snap.py +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/analyse/spatial.py +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/analyse/strain.py +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/analyse/symmetry.py +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/build/__init__.py +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/build/aimsgb.py +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/build/compound.py +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/build/geometry.py +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/build/materialsproject.py +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/build/mesh.py +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/build/sqs/__init__.py +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/build/sqs/_interface.py +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/build/sqs/_types.py +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/build/surface.py +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/common/__init__.py +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/common/error.py +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/common/helper.py +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/common/phonopy.py +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/common/pymatgen.py +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/common/pyscal.py +0 -0
- {structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/visualize.py +0 -0
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: structuretoolkit
|
|
3
|
+
Version: 0.0.46
|
|
4
|
+
Summary: build, analyse and visualise atomistic structures for materials science
|
|
5
|
+
Project-URL: Homepage, https://github.com/pyiron/structuretoolkit
|
|
6
|
+
Project-URL: Documentation, https://github.com/pyiron/structuretoolkit
|
|
7
|
+
Project-URL: Repository, https://github.com/pyiron/structuretoolkit
|
|
8
|
+
Author-email: Jan Janssen <janssen@mpie.de>
|
|
9
|
+
License: BSD 3-Clause License
|
|
10
|
+
|
|
11
|
+
Copyright (c) 2018, Max-Planck-Institut für Eisenforschung GmbH - Computational Materials Design (CM) Department
|
|
12
|
+
All rights reserved.
|
|
13
|
+
|
|
14
|
+
Redistribution and use in source and binary forms, with or without
|
|
15
|
+
modification, are permitted provided that the following conditions are met:
|
|
16
|
+
|
|
17
|
+
* Redistributions of source code must retain the above copyright notice, this
|
|
18
|
+
list of conditions and the following disclaimer.
|
|
19
|
+
|
|
20
|
+
* Redistributions in binary form must reproduce the above copyright notice,
|
|
21
|
+
this list of conditions and the following disclaimer in the documentation
|
|
22
|
+
and/or other materials provided with the distribution.
|
|
23
|
+
|
|
24
|
+
* Neither the name of the copyright holder nor the names of its
|
|
25
|
+
contributors may be used to endorse or promote products derived from
|
|
26
|
+
this software without specific prior written permission.
|
|
27
|
+
|
|
28
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
29
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
30
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
31
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
32
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
33
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
34
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
35
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
36
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
37
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
38
|
+
License-File: LICENSE
|
|
39
|
+
Keywords: pyiron
|
|
40
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
41
|
+
Classifier: Intended Audience :: Science/Research
|
|
42
|
+
Classifier: License :: OSI Approved :: BSD License
|
|
43
|
+
Classifier: Operating System :: OS Independent
|
|
44
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
45
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
46
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
47
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
48
|
+
Classifier: Topic :: Scientific/Engineering :: Physics
|
|
49
|
+
Requires-Python: <3.15,>=3.10
|
|
50
|
+
Requires-Dist: ase<=3.29.0,>=3.24.0
|
|
51
|
+
Requires-Dist: numpy<=2.5.3,>=1.23.5
|
|
52
|
+
Requires-Dist: scipy<=1.18.0,>=1.15.0
|
|
53
|
+
Provides-Extra: clusters
|
|
54
|
+
Requires-Dist: scikit-learn==1.8.0; extra == 'clusters'
|
|
55
|
+
Provides-Extra: dscribe
|
|
56
|
+
Requires-Dist: dscribe==2.1.2; extra == 'dscribe'
|
|
57
|
+
Provides-Extra: grainboundary
|
|
58
|
+
Requires-Dist: aimsgb<=1.1.1,>=1.0.2; extra == 'grainboundary'
|
|
59
|
+
Requires-Dist: pymatgen<=2026.5.4,>=2026.3.23; extra == 'grainboundary'
|
|
60
|
+
Provides-Extra: matplotlib
|
|
61
|
+
Requires-Dist: matplotlib==3.11.1; extra == 'matplotlib'
|
|
62
|
+
Provides-Extra: mp-api
|
|
63
|
+
Requires-Dist: mp-api==0.45.15; extra == 'mp-api'
|
|
64
|
+
Requires-Dist: pymatgen<=2026.5.4,>=2026.3.23; extra == 'mp-api'
|
|
65
|
+
Provides-Extra: nglview
|
|
66
|
+
Requires-Dist: nglview<=4.0.1,>=2.7.7; extra == 'nglview'
|
|
67
|
+
Provides-Extra: phonopy
|
|
68
|
+
Requires-Dist: phonopy<=4.4.0,>=2.21.2; extra == 'phonopy'
|
|
69
|
+
Requires-Dist: spglib==2.7.0; extra == 'phonopy'
|
|
70
|
+
Provides-Extra: plotly
|
|
71
|
+
Requires-Dist: plotly<=7.0.0,>=6.0.0; extra == 'plotly'
|
|
72
|
+
Provides-Extra: pyscal
|
|
73
|
+
Requires-Dist: pyscal3<=3.3.2,>=3.2.5; extra == 'pyscal'
|
|
74
|
+
Provides-Extra: surface
|
|
75
|
+
Requires-Dist: pymatgen<=2026.5.4,>=2026.3.23; extra == 'surface'
|
|
76
|
+
Requires-Dist: spglib==2.7.0; extra == 'surface'
|
|
77
|
+
Provides-Extra: symmetry
|
|
78
|
+
Requires-Dist: spglib==2.7.0; extra == 'symmetry'
|
|
79
|
+
Description-Content-Type: text/markdown
|
|
80
|
+
|
|
81
|
+
# structuretoolkit
|
|
82
|
+
|
|
83
|
+
[](https://github.com/pyiron/structuretoolkit/actions/workflows/pipeline.yml)
|
|
84
|
+
[](https://codecov.io/gh/pyiron/structuretoolkit)
|
|
85
|
+
[](https://mybinder.org/v2/gh/pyiron/structuretoolkit/HEAD)
|
|
86
|
+
|
|
87
|
+
`structuretoolkit` extends the [`ase.atoms.Atoms`](https://wiki.fysik.dtu.dk/ase/ase/atoms.html) class from the
|
|
88
|
+
[Atomic Simulation Environment (ASE)](https://wiki.fysik.dtu.dk/ase/) with a large collection of additional
|
|
89
|
+
functions for **building**, **analysing** and **visualising** atomistic structures in materials science. It does
|
|
90
|
+
not introduce a structure class of its own – every function takes an `ase.atoms.Atoms` object as input and,
|
|
91
|
+
where applicable, returns one again, so `structuretoolkit` combines freely with the rest of the ASE ecosystem
|
|
92
|
+
(`ase.build`, ASE calculators, ASE I/O, ...). `structuretoolkit` also powers the structure-analysis backend of
|
|
93
|
+
[`pyiron_atomistics`](https://github.com/pyiron/pyiron_atomistics), where the same functions are available as
|
|
94
|
+
methods directly on the structure object.
|
|
95
|
+
|
|
96
|
+
## Example
|
|
97
|
+
|
|
98
|
+
```python
|
|
99
|
+
import structuretoolkit as stk
|
|
100
|
+
from ase.build import bulk
|
|
101
|
+
|
|
102
|
+
structure = bulk("Al", cubic=True)
|
|
103
|
+
stk.analyse.get_adaptive_cna_descriptors(structure)
|
|
104
|
+
stk.plot3d(structure)
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Features
|
|
108
|
+
### Analysis
|
|
109
|
+
* `stk.analyse.get_neighbors()` - find the nearest neighbors of every atom, by count or cutoff radius, periodic-boundary-aware
|
|
110
|
+
* `stk.analyse.get_neighborhood()` - find the nearest neighbors of an arbitrary point in space, e.g. an interstitial site
|
|
111
|
+
* `stk.analyse.get_equivalent_atoms()` - label atoms that map onto each other under the structure's symmetry operations
|
|
112
|
+
* `stk.analyse.get_steinhardt_parameters()` - compute rotationally invariant Steinhardt bond-orientational order parameters
|
|
113
|
+
* `stk.analyse.get_centro_symmetry_descriptors()` - compute the centrosymmetry parameter, large for atoms near a defect
|
|
114
|
+
* `stk.analyse.get_diamond_structure_descriptors()` - identify cubic/hexagonal diamond local environments
|
|
115
|
+
* `stk.analyse.get_adaptive_cna_descriptors()` - classify local crystal structure (fcc/hcp/bcc/icosahedral/other) via common neighbor analysis
|
|
116
|
+
* `stk.analyse.get_voronoi_volumes()` - compute the Voronoi cell volume of every atom
|
|
117
|
+
* `stk.analyse.find_solids()` - count how many atoms are "solid" vs. "liquid"-like, e.g. for melting-point calculations
|
|
118
|
+
* `stk.analyse.get_mean_positions()` - average atomic positions across periodic boundary conditions
|
|
119
|
+
* `stk.analyse.get_average_of_unique_labels()` - average values that share the same (possibly repeated) integer label
|
|
120
|
+
* `stk.analyse.get_interstitials()` - locate interstitial sites of a given coordination number (e.g. tetrahedral, octahedral)
|
|
121
|
+
* `stk.analyse.get_layers()` - group atoms into layers along the cell directions or arbitrary planes
|
|
122
|
+
* `stk.analyse.get_voronoi_vertices()` - compute the Voronoi vertices of the (periodic) structure
|
|
123
|
+
* `stk.analyse.get_voronoi_neighbors()` - find pairs of atoms sharing a Voronoi facet
|
|
124
|
+
* `stk.analyse.get_delaunay_neighbors()` - find pairs of atoms sharing a Delaunay tetrahedron
|
|
125
|
+
* `stk.analyse.get_cluster_positions()` - cluster nearby positions together via DBSCAN
|
|
126
|
+
* `stk.analyse.get_strain()` - compute the per-atom Lagrangian strain tensor relative to a reference structure
|
|
127
|
+
|
|
128
|
+
### Build
|
|
129
|
+
* `stk.build.get_grainboundary_info()` - list the geometrically possible grain boundaries (by CSL sigma value) for a rotation axis
|
|
130
|
+
* `stk.build.grainboundary()` - build a bicrystal grain-boundary structure for a chosen sigma value and plane
|
|
131
|
+
* `stk.build.high_index_surface()` - build a stepped/kinked high-index surface slab
|
|
132
|
+
* `stk.build.get_high_index_surface_info()` - derive the Miller index for a given terrace/step/kink orientation
|
|
133
|
+
* `stk.build.sqs_structures()` - generate special quasirandom structures (SQS) for disordered alloys
|
|
134
|
+
* `stk.build.B2()` - build a cubic AB B2 (CsCl-type) intermetallic structure
|
|
135
|
+
* `stk.build.C14()` - build a hexagonal AB2 C14 Laves phase structure
|
|
136
|
+
* `stk.build.C15()` - build a cubic AB2 C15 Laves phase structure
|
|
137
|
+
* `stk.build.C36()` - build a hexagonal AB2 C36 Laves phase structure
|
|
138
|
+
* `stk.build.D03()` - build a cubic AB3 D03 structure
|
|
139
|
+
|
|
140
|
+
### Visualize
|
|
141
|
+
* `stk.visualize.plot3d()` - render an `Atoms` object in 3d, via NGLView or plotly
|
|
142
|
+
|
|
143
|
+
### Common
|
|
144
|
+
* `stk.common.ase_to_pymatgen()` - convert an `ase.atoms.Atoms` object to a `pymatgen.core.Structure`
|
|
145
|
+
* `stk.common.pymatgen_to_ase()` - convert a `pymatgen.core.Structure` back to an `ase.atoms.Atoms` object
|
|
146
|
+
* `stk.common.pymatgen_read_from_file()` - read a structure file directly into an `ase.atoms.Atoms` object via pymatgen
|
|
147
|
+
* `stk.common.ase_to_pyscal()` - convert an `ase.atoms.Atoms` object to a `pyscal3.core.System`
|
|
148
|
+
* `stk.common.apply_strain()` - apply a homogeneous strain to a structure's cell, and its atoms
|
|
149
|
+
* `stk.common.center_coordinates_in_unit_cell()` - wrap atomic coordinates back into the unit cell
|
|
150
|
+
* `stk.common.get_extended_positions()` - repeat atoms across the periodic boundary to include neighbor images
|
|
151
|
+
* `stk.common.get_vertical_length()` - get the height of the cell perpendicular to each face
|
|
152
|
+
* `stk.common.get_wrapped_coordinates()` - wrap arbitrary Cartesian coordinates into the periodic cell
|
|
153
|
+
* `stk.common.select_index()` - get the indices of atoms of a given chemical element
|
|
154
|
+
|
|
155
|
+
## Documentation
|
|
156
|
+
|
|
157
|
+
* [structuretoolkit](https://structuretoolkit.readthedocs.io/en/latest/README.html)
|
|
158
|
+
* [Example](https://structuretoolkit.readthedocs.io/en/latest/README.html#example)
|
|
159
|
+
* [Features](https://structuretoolkit.readthedocs.io/en/latest/README.html#features)
|
|
160
|
+
* [Introduction](https://structuretoolkit.readthedocs.io/en/latest/introduction.html)
|
|
161
|
+
* [How the package is organised](https://structuretoolkit.readthedocs.io/en/latest/introduction.html#how-the-package-is-organised)
|
|
162
|
+
* [Helpers and converters](https://structuretoolkit.readthedocs.io/en/latest/introduction.html#structuretoolkit-common-helpers-and-converters)
|
|
163
|
+
* [Analysing existing structures](https://structuretoolkit.readthedocs.io/en/latest/introduction.html#structuretoolkit-analyse-analysing-existing-structures)
|
|
164
|
+
* [Constructing new structures](https://structuretoolkit.readthedocs.io/en/latest/introduction.html#structuretoolkit-build-constructing-new-structures)
|
|
165
|
+
* [Looking at structures](https://structuretoolkit.readthedocs.io/en/latest/introduction.html#structuretoolkit-visualize-looking-at-structures)
|
|
166
|
+
* [Where to go from here](https://structuretoolkit.readthedocs.io/en/latest/introduction.html#where-to-go-from-here)
|
|
167
|
+
* [Interface](https://structuretoolkit.readthedocs.io/en/latest/api.html)
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# structuretoolkit
|
|
2
|
+
|
|
3
|
+
[](https://github.com/pyiron/structuretoolkit/actions/workflows/pipeline.yml)
|
|
4
|
+
[](https://codecov.io/gh/pyiron/structuretoolkit)
|
|
5
|
+
[](https://mybinder.org/v2/gh/pyiron/structuretoolkit/HEAD)
|
|
6
|
+
|
|
7
|
+
`structuretoolkit` extends the [`ase.atoms.Atoms`](https://wiki.fysik.dtu.dk/ase/ase/atoms.html) class from the
|
|
8
|
+
[Atomic Simulation Environment (ASE)](https://wiki.fysik.dtu.dk/ase/) with a large collection of additional
|
|
9
|
+
functions for **building**, **analysing** and **visualising** atomistic structures in materials science. It does
|
|
10
|
+
not introduce a structure class of its own – every function takes an `ase.atoms.Atoms` object as input and,
|
|
11
|
+
where applicable, returns one again, so `structuretoolkit` combines freely with the rest of the ASE ecosystem
|
|
12
|
+
(`ase.build`, ASE calculators, ASE I/O, ...). `structuretoolkit` also powers the structure-analysis backend of
|
|
13
|
+
[`pyiron_atomistics`](https://github.com/pyiron/pyiron_atomistics), where the same functions are available as
|
|
14
|
+
methods directly on the structure object.
|
|
15
|
+
|
|
16
|
+
## Example
|
|
17
|
+
|
|
18
|
+
```python
|
|
19
|
+
import structuretoolkit as stk
|
|
20
|
+
from ase.build import bulk
|
|
21
|
+
|
|
22
|
+
structure = bulk("Al", cubic=True)
|
|
23
|
+
stk.analyse.get_adaptive_cna_descriptors(structure)
|
|
24
|
+
stk.plot3d(structure)
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Features
|
|
28
|
+
### Analysis
|
|
29
|
+
* `stk.analyse.get_neighbors()` - find the nearest neighbors of every atom, by count or cutoff radius, periodic-boundary-aware
|
|
30
|
+
* `stk.analyse.get_neighborhood()` - find the nearest neighbors of an arbitrary point in space, e.g. an interstitial site
|
|
31
|
+
* `stk.analyse.get_equivalent_atoms()` - label atoms that map onto each other under the structure's symmetry operations
|
|
32
|
+
* `stk.analyse.get_steinhardt_parameters()` - compute rotationally invariant Steinhardt bond-orientational order parameters
|
|
33
|
+
* `stk.analyse.get_centro_symmetry_descriptors()` - compute the centrosymmetry parameter, large for atoms near a defect
|
|
34
|
+
* `stk.analyse.get_diamond_structure_descriptors()` - identify cubic/hexagonal diamond local environments
|
|
35
|
+
* `stk.analyse.get_adaptive_cna_descriptors()` - classify local crystal structure (fcc/hcp/bcc/icosahedral/other) via common neighbor analysis
|
|
36
|
+
* `stk.analyse.get_voronoi_volumes()` - compute the Voronoi cell volume of every atom
|
|
37
|
+
* `stk.analyse.find_solids()` - count how many atoms are "solid" vs. "liquid"-like, e.g. for melting-point calculations
|
|
38
|
+
* `stk.analyse.get_mean_positions()` - average atomic positions across periodic boundary conditions
|
|
39
|
+
* `stk.analyse.get_average_of_unique_labels()` - average values that share the same (possibly repeated) integer label
|
|
40
|
+
* `stk.analyse.get_interstitials()` - locate interstitial sites of a given coordination number (e.g. tetrahedral, octahedral)
|
|
41
|
+
* `stk.analyse.get_layers()` - group atoms into layers along the cell directions or arbitrary planes
|
|
42
|
+
* `stk.analyse.get_voronoi_vertices()` - compute the Voronoi vertices of the (periodic) structure
|
|
43
|
+
* `stk.analyse.get_voronoi_neighbors()` - find pairs of atoms sharing a Voronoi facet
|
|
44
|
+
* `stk.analyse.get_delaunay_neighbors()` - find pairs of atoms sharing a Delaunay tetrahedron
|
|
45
|
+
* `stk.analyse.get_cluster_positions()` - cluster nearby positions together via DBSCAN
|
|
46
|
+
* `stk.analyse.get_strain()` - compute the per-atom Lagrangian strain tensor relative to a reference structure
|
|
47
|
+
|
|
48
|
+
### Build
|
|
49
|
+
* `stk.build.get_grainboundary_info()` - list the geometrically possible grain boundaries (by CSL sigma value) for a rotation axis
|
|
50
|
+
* `stk.build.grainboundary()` - build a bicrystal grain-boundary structure for a chosen sigma value and plane
|
|
51
|
+
* `stk.build.high_index_surface()` - build a stepped/kinked high-index surface slab
|
|
52
|
+
* `stk.build.get_high_index_surface_info()` - derive the Miller index for a given terrace/step/kink orientation
|
|
53
|
+
* `stk.build.sqs_structures()` - generate special quasirandom structures (SQS) for disordered alloys
|
|
54
|
+
* `stk.build.B2()` - build a cubic AB B2 (CsCl-type) intermetallic structure
|
|
55
|
+
* `stk.build.C14()` - build a hexagonal AB2 C14 Laves phase structure
|
|
56
|
+
* `stk.build.C15()` - build a cubic AB2 C15 Laves phase structure
|
|
57
|
+
* `stk.build.C36()` - build a hexagonal AB2 C36 Laves phase structure
|
|
58
|
+
* `stk.build.D03()` - build a cubic AB3 D03 structure
|
|
59
|
+
|
|
60
|
+
### Visualize
|
|
61
|
+
* `stk.visualize.plot3d()` - render an `Atoms` object in 3d, via NGLView or plotly
|
|
62
|
+
|
|
63
|
+
### Common
|
|
64
|
+
* `stk.common.ase_to_pymatgen()` - convert an `ase.atoms.Atoms` object to a `pymatgen.core.Structure`
|
|
65
|
+
* `stk.common.pymatgen_to_ase()` - convert a `pymatgen.core.Structure` back to an `ase.atoms.Atoms` object
|
|
66
|
+
* `stk.common.pymatgen_read_from_file()` - read a structure file directly into an `ase.atoms.Atoms` object via pymatgen
|
|
67
|
+
* `stk.common.ase_to_pyscal()` - convert an `ase.atoms.Atoms` object to a `pyscal3.core.System`
|
|
68
|
+
* `stk.common.apply_strain()` - apply a homogeneous strain to a structure's cell, and its atoms
|
|
69
|
+
* `stk.common.center_coordinates_in_unit_cell()` - wrap atomic coordinates back into the unit cell
|
|
70
|
+
* `stk.common.get_extended_positions()` - repeat atoms across the periodic boundary to include neighbor images
|
|
71
|
+
* `stk.common.get_vertical_length()` - get the height of the cell perpendicular to each face
|
|
72
|
+
* `stk.common.get_wrapped_coordinates()` - wrap arbitrary Cartesian coordinates into the periodic cell
|
|
73
|
+
* `stk.common.select_index()` - get the indices of atoms of a given chemical element
|
|
74
|
+
|
|
75
|
+
## Documentation
|
|
76
|
+
|
|
77
|
+
* [structuretoolkit](https://structuretoolkit.readthedocs.io/en/latest/README.html)
|
|
78
|
+
* [Example](https://structuretoolkit.readthedocs.io/en/latest/README.html#example)
|
|
79
|
+
* [Features](https://structuretoolkit.readthedocs.io/en/latest/README.html#features)
|
|
80
|
+
* [Introduction](https://structuretoolkit.readthedocs.io/en/latest/introduction.html)
|
|
81
|
+
* [How the package is organised](https://structuretoolkit.readthedocs.io/en/latest/introduction.html#how-the-package-is-organised)
|
|
82
|
+
* [Helpers and converters](https://structuretoolkit.readthedocs.io/en/latest/introduction.html#structuretoolkit-common-helpers-and-converters)
|
|
83
|
+
* [Analysing existing structures](https://structuretoolkit.readthedocs.io/en/latest/introduction.html#structuretoolkit-analyse-analysing-existing-structures)
|
|
84
|
+
* [Constructing new structures](https://structuretoolkit.readthedocs.io/en/latest/introduction.html#structuretoolkit-build-constructing-new-structures)
|
|
85
|
+
* [Looking at structures](https://structuretoolkit.readthedocs.io/en/latest/introduction.html#structuretoolkit-visualize-looking-at-structures)
|
|
86
|
+
* [Where to go from here](https://structuretoolkit.readthedocs.io/en/latest/introduction.html#where-to-go-from-here)
|
|
87
|
+
* [Interface](https://structuretoolkit.readthedocs.io/en/latest/api.html)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
[build-system]
|
|
2
|
-
requires = ["ase", "numpy", "scipy", "hatchling==1.
|
|
2
|
+
requires = ["ase", "numpy", "scipy", "hatchling==1.32.0", "hatch-vcs==0.5.0"]
|
|
3
3
|
build-backend = "hatchling.build"
|
|
4
4
|
|
|
5
5
|
[project]
|
|
@@ -21,11 +21,12 @@ classifiers = [
|
|
|
21
21
|
"Programming Language :: Python :: 3.11",
|
|
22
22
|
"Programming Language :: Python :: 3.12",
|
|
23
23
|
"Programming Language :: Python :: 3.13",
|
|
24
|
+
"Programming Language :: Python :: 3.14",
|
|
24
25
|
]
|
|
25
26
|
dependencies = [
|
|
26
27
|
"ase>=3.24.0,<=3.29.0",
|
|
27
|
-
"numpy>=1.23.5,<=2.
|
|
28
|
-
"scipy>=1.15.0,<=1.
|
|
28
|
+
"numpy>=1.23.5,<=2.5.3",
|
|
29
|
+
"scipy>=1.15.0,<=1.18.0",
|
|
29
30
|
]
|
|
30
31
|
dynamic = ["version"]
|
|
31
32
|
|
|
@@ -38,25 +39,25 @@ Repository = "https://github.com/pyiron/structuretoolkit"
|
|
|
38
39
|
dscribe = ["dscribe==2.1.2"]
|
|
39
40
|
grainboundary = [
|
|
40
41
|
"aimsgb>=1.0.2,<=1.1.1",
|
|
41
|
-
"pymatgen
|
|
42
|
+
"pymatgen>=2026.3.23,<=2026.5.4",
|
|
42
43
|
]
|
|
43
44
|
pyscal = ["pyscal3>=3.2.5,<=3.3.2"]
|
|
44
45
|
nglview = ["nglview>=2.7.7,<=4.0.1"]
|
|
45
|
-
matplotlib = ["matplotlib==3.
|
|
46
|
-
plotly = ["plotly>=6.0.0,<=
|
|
46
|
+
matplotlib = ["matplotlib==3.11.1"]
|
|
47
|
+
plotly = ["plotly>=6.0.0,<=7.0.0"]
|
|
47
48
|
clusters = ["scikit-learn==1.8.0"]
|
|
48
49
|
symmetry = ["spglib==2.7.0"]
|
|
49
50
|
surface = [
|
|
50
51
|
"spglib==2.7.0",
|
|
51
|
-
"pymatgen
|
|
52
|
+
"pymatgen>=2026.3.23,<=2026.5.4",
|
|
52
53
|
]
|
|
53
54
|
phonopy = [
|
|
54
|
-
"phonopy>=2.21.2,<=4.0
|
|
55
|
+
"phonopy>=2.21.2,<=4.4.0",
|
|
55
56
|
"spglib==2.7.0",
|
|
56
57
|
]
|
|
57
58
|
mp-api = [
|
|
58
59
|
"mp-api==0.45.15",
|
|
59
|
-
"pymatgen
|
|
60
|
+
"pymatgen>=2026.3.23,<=2026.5.4",
|
|
60
61
|
]
|
|
61
62
|
|
|
62
63
|
[tool.ruff]
|
|
@@ -100,6 +101,8 @@ ignore = [
|
|
|
100
101
|
"PLC0415",
|
|
101
102
|
# Too many arguments in function definition
|
|
102
103
|
"PLR0913",
|
|
104
|
+
# Too many not-keyword-only arguments,
|
|
105
|
+
"PLR0917",
|
|
103
106
|
# Magic value used in comparison
|
|
104
107
|
"PLR2004",
|
|
105
108
|
# Too many branches
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '0.0.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 0,
|
|
21
|
+
__version__ = version = '0.0.46'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 0, 46)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
structuretoolkit-0.0.45/PKG-INFO
DELETED
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: structuretoolkit
|
|
3
|
-
Version: 0.0.45
|
|
4
|
-
Summary: build, analyse and visualise atomistic structures for materials science
|
|
5
|
-
Project-URL: Homepage, https://github.com/pyiron/structuretoolkit
|
|
6
|
-
Project-URL: Documentation, https://github.com/pyiron/structuretoolkit
|
|
7
|
-
Project-URL: Repository, https://github.com/pyiron/structuretoolkit
|
|
8
|
-
Author-email: Jan Janssen <janssen@mpie.de>
|
|
9
|
-
License: BSD 3-Clause License
|
|
10
|
-
|
|
11
|
-
Copyright (c) 2018, Max-Planck-Institut für Eisenforschung GmbH - Computational Materials Design (CM) Department
|
|
12
|
-
All rights reserved.
|
|
13
|
-
|
|
14
|
-
Redistribution and use in source and binary forms, with or without
|
|
15
|
-
modification, are permitted provided that the following conditions are met:
|
|
16
|
-
|
|
17
|
-
* Redistributions of source code must retain the above copyright notice, this
|
|
18
|
-
list of conditions and the following disclaimer.
|
|
19
|
-
|
|
20
|
-
* Redistributions in binary form must reproduce the above copyright notice,
|
|
21
|
-
this list of conditions and the following disclaimer in the documentation
|
|
22
|
-
and/or other materials provided with the distribution.
|
|
23
|
-
|
|
24
|
-
* Neither the name of the copyright holder nor the names of its
|
|
25
|
-
contributors may be used to endorse or promote products derived from
|
|
26
|
-
this software without specific prior written permission.
|
|
27
|
-
|
|
28
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
29
|
-
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
30
|
-
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
31
|
-
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
32
|
-
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
33
|
-
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
34
|
-
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
35
|
-
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
36
|
-
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
37
|
-
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
38
|
-
License-File: LICENSE
|
|
39
|
-
Keywords: pyiron
|
|
40
|
-
Classifier: Development Status :: 5 - Production/Stable
|
|
41
|
-
Classifier: Intended Audience :: Science/Research
|
|
42
|
-
Classifier: License :: OSI Approved :: BSD License
|
|
43
|
-
Classifier: Operating System :: OS Independent
|
|
44
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
45
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
46
|
-
Classifier: Programming Language :: Python :: 3.13
|
|
47
|
-
Classifier: Topic :: Scientific/Engineering :: Physics
|
|
48
|
-
Requires-Python: <3.15,>=3.10
|
|
49
|
-
Requires-Dist: ase<=3.29.0,>=3.24.0
|
|
50
|
-
Requires-Dist: numpy<=2.4.6,>=1.23.5
|
|
51
|
-
Requires-Dist: scipy<=1.17.1,>=1.15.0
|
|
52
|
-
Provides-Extra: clusters
|
|
53
|
-
Requires-Dist: scikit-learn==1.8.0; extra == 'clusters'
|
|
54
|
-
Provides-Extra: dscribe
|
|
55
|
-
Requires-Dist: dscribe==2.1.2; extra == 'dscribe'
|
|
56
|
-
Provides-Extra: grainboundary
|
|
57
|
-
Requires-Dist: aimsgb<=1.1.1,>=1.0.2; extra == 'grainboundary'
|
|
58
|
-
Requires-Dist: pymatgen==2026.3.23; extra == 'grainboundary'
|
|
59
|
-
Provides-Extra: matplotlib
|
|
60
|
-
Requires-Dist: matplotlib==3.10.9; extra == 'matplotlib'
|
|
61
|
-
Provides-Extra: mp-api
|
|
62
|
-
Requires-Dist: mp-api==0.45.15; extra == 'mp-api'
|
|
63
|
-
Requires-Dist: pymatgen==2026.3.23; extra == 'mp-api'
|
|
64
|
-
Provides-Extra: nglview
|
|
65
|
-
Requires-Dist: nglview<=4.0.1,>=2.7.7; extra == 'nglview'
|
|
66
|
-
Provides-Extra: phonopy
|
|
67
|
-
Requires-Dist: phonopy<=4.0.1,>=2.21.2; extra == 'phonopy'
|
|
68
|
-
Requires-Dist: spglib==2.7.0; extra == 'phonopy'
|
|
69
|
-
Provides-Extra: plotly
|
|
70
|
-
Requires-Dist: plotly<=6.8.0,>=6.0.0; extra == 'plotly'
|
|
71
|
-
Provides-Extra: pyscal
|
|
72
|
-
Requires-Dist: pyscal3<=3.3.2,>=3.2.5; extra == 'pyscal'
|
|
73
|
-
Provides-Extra: surface
|
|
74
|
-
Requires-Dist: pymatgen==2026.3.23; extra == 'surface'
|
|
75
|
-
Requires-Dist: spglib==2.7.0; extra == 'surface'
|
|
76
|
-
Provides-Extra: symmetry
|
|
77
|
-
Requires-Dist: spglib==2.7.0; extra == 'symmetry'
|
|
78
|
-
Description-Content-Type: text/markdown
|
|
79
|
-
|
|
80
|
-
# structuretoolkit
|
|
81
|
-
|
|
82
|
-
[](https://github.com/pyiron/structuretoolkit/actions/workflows/pipeline.yml)
|
|
83
|
-
[](https://codecov.io/gh/pyiron/structuretoolkit)
|
|
84
|
-
|
|
85
|
-
Originally developed as part of the `pyiron_atomistics` module the `structuretoolkit` was release as standalone library
|
|
86
|
-
for analysing, building and visualising atomistic structures. Internally it uses the `ase.atoms.Atoms` class to
|
|
87
|
-
represent atomistic structures in python. The `structuretoolkit` is integrated inside `pyiron_atomistics`.
|
|
88
|
-
|
|
89
|
-
## Disclaimer
|
|
90
|
-
The `structuretoolkit` is currently under development.
|
|
91
|
-
|
|
92
|
-
## Example
|
|
93
|
-
|
|
94
|
-
```python
|
|
95
|
-
import structuretoolkit as stk
|
|
96
|
-
from ase.build import bulk
|
|
97
|
-
|
|
98
|
-
structure = bulk("Al", cubic=True)
|
|
99
|
-
stk.analyse.get_adaptive_cna_descriptors(structure)
|
|
100
|
-
stk.plot3d(structure)
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
## Features
|
|
104
|
-
### Analysis
|
|
105
|
-
* `stk.analyse.get_neighbors()`
|
|
106
|
-
* `stk.analyse.get_neighborhood()`
|
|
107
|
-
* `stk.analyse.get_equivalent_atoms()`
|
|
108
|
-
* `stk.analyse.get_steinhardt_parameters()`
|
|
109
|
-
* `stk.analyse.get_centro_symmetry_descriptors()`
|
|
110
|
-
* `stk.analyse.get_diamond_structure_descriptors()`
|
|
111
|
-
* `stk.analyse.get_adaptive_cna_descriptors()`
|
|
112
|
-
* `stk.analyse.get_voronoi_volumes()`
|
|
113
|
-
* `stk.analyse.find_solids()`
|
|
114
|
-
* `stk.analyse.get_mean_positions()`
|
|
115
|
-
* `stk.analyse.get_average_of_unique_labels()`
|
|
116
|
-
* `stk.analyse.get_interstitials()`
|
|
117
|
-
* `stk.analyse.get_layers()`
|
|
118
|
-
* `stk.analyse.get_voronoi_vertices()`
|
|
119
|
-
* `stk.analyse.get_voronoi_neighbors()`
|
|
120
|
-
* `stk.analyse.get_delaunay_neighbors()`
|
|
121
|
-
* `stk.analyse.get_cluster_positions()`
|
|
122
|
-
* `stk.analyse.get_strain()`
|
|
123
|
-
|
|
124
|
-
### Build
|
|
125
|
-
* `stk.build.get_grainboundary_info()`
|
|
126
|
-
* `stk.build.grainboundary()`
|
|
127
|
-
* `stk.build.high_index_surface()`
|
|
128
|
-
* `stk.build.get_high_index_surface_info()`
|
|
129
|
-
* `stk.build.sqs_structures()`
|
|
130
|
-
* `stk.build.B2()`
|
|
131
|
-
* `stk.build.C14()`
|
|
132
|
-
* `stk.build.C15()`
|
|
133
|
-
* `stk.build.C36()`
|
|
134
|
-
* `stk.build.D03()`
|
|
135
|
-
|
|
136
|
-
### Visualize
|
|
137
|
-
* `stk.visualize.plot3d()`
|
|
138
|
-
|
|
139
|
-
### Common
|
|
140
|
-
* `stk.common.ase_to_pymatgen()`
|
|
141
|
-
* `stk.common.pymatgen_to_ase()`
|
|
142
|
-
* `stk.common.pymatgen_read_from_file()`
|
|
143
|
-
* `stk.common.ase_to_pyscal()`
|
|
144
|
-
* `stk.common.apply_strain()`
|
|
145
|
-
* `stk.common.center_coordinates_in_unit_cell()`
|
|
146
|
-
* `stk.common.get_extended_positions()`
|
|
147
|
-
* `stk.common.get_vertical_length()`
|
|
148
|
-
* `stk.common.get_wrapped_coordinates()`
|
|
149
|
-
* `stk.common.select_index()`
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
# structuretoolkit
|
|
2
|
-
|
|
3
|
-
[](https://github.com/pyiron/structuretoolkit/actions/workflows/pipeline.yml)
|
|
4
|
-
[](https://codecov.io/gh/pyiron/structuretoolkit)
|
|
5
|
-
|
|
6
|
-
Originally developed as part of the `pyiron_atomistics` module the `structuretoolkit` was release as standalone library
|
|
7
|
-
for analysing, building and visualising atomistic structures. Internally it uses the `ase.atoms.Atoms` class to
|
|
8
|
-
represent atomistic structures in python. The `structuretoolkit` is integrated inside `pyiron_atomistics`.
|
|
9
|
-
|
|
10
|
-
## Disclaimer
|
|
11
|
-
The `structuretoolkit` is currently under development.
|
|
12
|
-
|
|
13
|
-
## Example
|
|
14
|
-
|
|
15
|
-
```python
|
|
16
|
-
import structuretoolkit as stk
|
|
17
|
-
from ase.build import bulk
|
|
18
|
-
|
|
19
|
-
structure = bulk("Al", cubic=True)
|
|
20
|
-
stk.analyse.get_adaptive_cna_descriptors(structure)
|
|
21
|
-
stk.plot3d(structure)
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## Features
|
|
25
|
-
### Analysis
|
|
26
|
-
* `stk.analyse.get_neighbors()`
|
|
27
|
-
* `stk.analyse.get_neighborhood()`
|
|
28
|
-
* `stk.analyse.get_equivalent_atoms()`
|
|
29
|
-
* `stk.analyse.get_steinhardt_parameters()`
|
|
30
|
-
* `stk.analyse.get_centro_symmetry_descriptors()`
|
|
31
|
-
* `stk.analyse.get_diamond_structure_descriptors()`
|
|
32
|
-
* `stk.analyse.get_adaptive_cna_descriptors()`
|
|
33
|
-
* `stk.analyse.get_voronoi_volumes()`
|
|
34
|
-
* `stk.analyse.find_solids()`
|
|
35
|
-
* `stk.analyse.get_mean_positions()`
|
|
36
|
-
* `stk.analyse.get_average_of_unique_labels()`
|
|
37
|
-
* `stk.analyse.get_interstitials()`
|
|
38
|
-
* `stk.analyse.get_layers()`
|
|
39
|
-
* `stk.analyse.get_voronoi_vertices()`
|
|
40
|
-
* `stk.analyse.get_voronoi_neighbors()`
|
|
41
|
-
* `stk.analyse.get_delaunay_neighbors()`
|
|
42
|
-
* `stk.analyse.get_cluster_positions()`
|
|
43
|
-
* `stk.analyse.get_strain()`
|
|
44
|
-
|
|
45
|
-
### Build
|
|
46
|
-
* `stk.build.get_grainboundary_info()`
|
|
47
|
-
* `stk.build.grainboundary()`
|
|
48
|
-
* `stk.build.high_index_surface()`
|
|
49
|
-
* `stk.build.get_high_index_surface_info()`
|
|
50
|
-
* `stk.build.sqs_structures()`
|
|
51
|
-
* `stk.build.B2()`
|
|
52
|
-
* `stk.build.C14()`
|
|
53
|
-
* `stk.build.C15()`
|
|
54
|
-
* `stk.build.C36()`
|
|
55
|
-
* `stk.build.D03()`
|
|
56
|
-
|
|
57
|
-
### Visualize
|
|
58
|
-
* `stk.visualize.plot3d()`
|
|
59
|
-
|
|
60
|
-
### Common
|
|
61
|
-
* `stk.common.ase_to_pymatgen()`
|
|
62
|
-
* `stk.common.pymatgen_to_ase()`
|
|
63
|
-
* `stk.common.pymatgen_read_from_file()`
|
|
64
|
-
* `stk.common.ase_to_pyscal()`
|
|
65
|
-
* `stk.common.apply_strain()`
|
|
66
|
-
* `stk.common.center_coordinates_in_unit_cell()`
|
|
67
|
-
* `stk.common.get_extended_positions()`
|
|
68
|
-
* `stk.common.get_vertical_length()`
|
|
69
|
-
* `stk.common.get_wrapped_coordinates()`
|
|
70
|
-
* `stk.common.select_index()`
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/analyse/__init__.py
RENAMED
|
File without changes
|
{structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/analyse/distance.py
RENAMED
|
File without changes
|
|
File without changes
|
{structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/analyse/neighbors.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/analyse/symmetry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/build/materialsproject.py
RENAMED
|
File without changes
|
|
File without changes
|
{structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/build/sqs/__init__.py
RENAMED
|
File without changes
|
{structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/build/sqs/_interface.py
RENAMED
|
File without changes
|
{structuretoolkit-0.0.45 → structuretoolkit-0.0.46}/src/structuretoolkit/build/sqs/_types.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|