diffpy.utils 3.6.1rc1__py3-none-any.whl → 3.7.0rc0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
diffpy/utils/tools.py CHANGED
@@ -8,7 +8,7 @@ from scipy.optimize import dual_annealing
8
8
  from scipy.signal import convolve
9
9
  from xraydb import material_mu
10
10
 
11
- from diffpy.utils.parsers.loaddata import loadData
11
+ from diffpy.utils.parsers import load_data
12
12
 
13
13
 
14
14
  def _stringify(string_value):
@@ -51,43 +51,46 @@ def _load_config(file_path):
51
51
 
52
52
 
53
53
  def get_user_info(owner_name=None, owner_email=None, owner_orcid=None):
54
- """Get name, email, and orcid of the owner/user from various sources and
55
- return it as a metadata dictionary.
56
-
57
- The function looks for the information in json format configuration files
58
- with the name 'diffpyconfig.json'. These can be in the user's home
59
- directory and in the current working directory. The information in the
60
- config files are combined, with the local config overriding the
61
- home- directory one. Values for owner_name, owner_email, and owner_orcid
62
- may be passed in to the function and these override the values in the
63
- config files.
64
-
65
- A template for the config file is below. Create a text file called '
66
- diffpyconfig.json' in your home directory and copy-paste the template
67
- into it, editing it with your real information.
68
- {
69
- "owner_name": "<your name as you would like it stored with your data>>",
70
- "owner_email": "<your_associated_email>>@email.com",
71
- "owner_orcid": "<your_associated_orcid if you would like this stored with your data>>" # noqa: E501
72
- }
54
+ """Get name, email, and ORCID of the owner/user from various sources
55
+ and return it as a metadata dictionary.
56
+
57
+ The function looks for information in JSON configuration files named
58
+ ``diffpyconfig.json``. These can be in the user's home directory and in
59
+ the current working directory. The information in the config files is
60
+ combined, with the local config overriding the home-directory one.
61
+ Values for ``owner_name``, ``owner_email``, and ``owner_orcid`` may be
62
+ passed in to the function, and these override the config files.
63
+
64
+ A template for the config file is below. Create a text file called
65
+ ``diffpyconfig.json`` in your home directory and paste the template into
66
+ it, editing it with your real information::
67
+
68
+ {
69
+ "owner_name": "<your name as you would like it stored with your data>",
70
+ "owner_email": "<your_associated_email>@email.com",
71
+ "owner_orcid": "<your_associated_orcid if you would like this stored with your data>" # noqa: E501
72
+ }
73
+
73
74
  You may also store any other global-level information that you would like
74
- associated with your diffraction data in this file
75
+ associated with your diffraction data in this file.
75
76
 
76
77
  Parameters
77
78
  ----------
78
- owner_name : str, optional, default is the value stored in the global or
79
- local config file. The name of the user who will show as owner in the
80
- metadata that is stored with the data
81
- owner_email : str, optional, default is the value stored in the global or
82
- local config file. The email of the user/owner
83
- owner_orcid : str, optional, default is the value stored in the global or
84
- local config file. The ORCID id of the user/owner
79
+ owner_name : str, ``optional``
80
+ Default is the value stored in the global or local config file.
81
+ The name of the user stored in metadata.
82
+ owner_email : str, ``optional``
83
+ Default is the value stored in the global or local config file.
84
+ The email address of the user/owner.
85
+ owner_orcid : str, ``optional``
86
+ Default is the value stored in the global or local config file.
87
+ The ORCID ID of the user/owner.
85
88
 
86
89
  Returns
87
90
  -------
88
91
  user_info : dict
89
- The dictionary containing username, email and orcid of the user/owner
90
- , and any other information stored in the global or local config files.
92
+ Dictionary containing username, email, ORCID, and any other
93
+ information stored in global or local config files.
91
94
  """
92
95
  runtime_info = {
93
96
  "owner_name": owner_name,
@@ -106,8 +109,8 @@ def get_user_info(owner_name=None, owner_email=None, owner_orcid=None):
106
109
 
107
110
 
108
111
  def check_and_build_global_config(skip_config_creation=False):
109
- """Check for a global diffpu config file in user's home directory and
110
- creates one if it is missing.
112
+ """Check for a global diffpu config file in user's home directory
113
+ and creates one if it is missing.
111
114
 
112
115
  The file it looks for is called diffpyconfig.json. This can contain
113
116
  anything in json format, but minimally contains information about the
@@ -127,9 +130,9 @@ def check_and_build_global_config(skip_config_creation=False):
127
130
 
128
131
  Parameters
129
132
  ----------
130
- skip_config_creation : bool, optional, default is False.
133
+ skip_config_creation : bool, ``optional``
131
134
  The boolean that will override the creation workflow even if no
132
- config file exists.
135
+ config file exists. Default is False.
133
136
 
134
137
  Returns
135
138
  -------
@@ -190,6 +193,7 @@ def get_package_info(package_names, metadata=None):
190
193
  Package info stored in metadata as
191
194
  {'package_info': {'package_name': 'version_number'}}.
192
195
 
196
+ Parameters
193
197
  ----------
194
198
  package_name : str or list
195
199
  The name of the package(s) to retrieve the version number for.
@@ -227,46 +231,30 @@ def get_density_from_cloud(sample_composition, mp_token=""):
227
231
  )
228
232
 
229
233
 
230
- def compute_mu_using_xraydb(
231
- sample_composition, energy, sample_mass_density=None, packing_fraction=None
232
- ):
233
- """Compute the attenuation coefficient (mu) using the XrayDB database.
234
+ def compute_mu_using_xraydb(sample_composition, energy, sample_mass_density):
235
+ """Compute the attenuation coefficient (mu) using the XrayDB
236
+ database.
234
237
 
235
- Computes mu based on the sample composition and energy.
236
- User should provide a sample mass density or a packing fraction.
237
- If neither density nor packing fraction is specified,
238
- or if both are specified, a ValueError will be raised.
239
- Reference: https://xraypy.github.io/XrayDB/python.html#xraydb.material_mu.
238
+ Computes mu based on the sample composition, X-ray energy, and
239
+ sample mass density.
240
+
241
+ Reference:
242
+ https://xraypy.github.io/XrayDB/python.html#xraydb.material_mu
240
243
 
241
244
  Parameters
242
245
  ----------
243
246
  sample_composition : str
244
247
  The chemical formula of the material.
245
248
  energy : float
246
- The energy of the incident x-rays in keV.
247
- sample_mass_density : float, optional, Default is None
248
- The mass density of the packed powder/sample in g/cm*3.
249
- packing_fraction : float, optional, Default is None
250
- The fraction of sample in the capillary (between 0 and 1).
251
- Specify either sample_mass_density or packing_fraction but not both.
249
+ The energy of the incident X-rays in keV.
250
+ sample_mass_density : float
251
+ The mass density of the sample in g/cm^3.
252
252
 
253
253
  Returns
254
254
  -------
255
255
  mu : float
256
- The attenuation coefficient mu in mm^{-1}.
256
+ The attenuation coefficient μ in mm⁻¹.
257
257
  """
258
- if (sample_mass_density is None and packing_fraction is None) or (
259
- sample_mass_density is not None and packing_fraction is not None
260
- ):
261
- raise ValueError(
262
- "You must specify either sample_mass_density or packing_fraction, "
263
- "but not both. "
264
- "Please rerun specifying only one."
265
- )
266
- if packing_fraction is not None:
267
- sample_mass_density = (
268
- get_density_from_cloud(sample_composition) * packing_fraction
269
- )
270
258
  energy_eV = energy * 1000
271
259
  mu = (
272
260
  material_mu(
@@ -281,8 +269,8 @@ def compute_mu_using_xraydb(
281
269
 
282
270
 
283
271
  def _top_hat(z, half_slit_width):
284
- """Create a top-hat function, return 1.0 for values within the specified
285
- slit width and 0 otherwise."""
272
+ """Create a top-hat function, return 1.0 for values within the
273
+ specified slit width and 0 otherwise."""
286
274
  return np.where((z >= -half_slit_width) & (z <= half_slit_width), 1.0, 0.0)
287
275
 
288
276
 
@@ -313,9 +301,10 @@ def _model_function(z, diameter, z0, I0, mud, slope):
313
301
 
314
302
 
315
303
  def _extend_z_and_convolve(z, diameter, half_slit_width, z0, I0, mud, slope):
316
- """Extend z values and I values for padding (so that we don't have tails in
317
- convolution), then perform convolution (note that the convolved I values
318
- are the same as modeled I values if slit width is close to 0)"""
304
+ """Extend z values and I values for padding (so that we don't have
305
+ tails in convolution), then perform convolution (note that the
306
+ convolved I values are the same as modeled I values if slit width is
307
+ close to 0)"""
319
308
  n_points = len(z)
320
309
  z_left_pad = np.linspace(
321
310
  z.min() - n_points * (z[1] - z[0]), z.min(), n_points
@@ -336,8 +325,8 @@ def _extend_z_and_convolve(z, diameter, half_slit_width, z0, I0, mud, slope):
336
325
 
337
326
  def _objective_function(params, z, observed_data):
338
327
  """Compute the objective function for fitting a model to the
339
- observed/experimental data by minimizing the sum of squared residuals
340
- between the observed data and the convolved model data."""
328
+ observed/experimental data by minimizing the sum of squared
329
+ residuals between the observed data and the convolved model data."""
341
330
  diameter, half_slit_width, z0, I0, mud, slope = params
342
331
  convolved_model_data = _extend_z_and_convolve(
343
332
  z, diameter, half_slit_width, z0, I0, mud, slope
@@ -347,7 +336,8 @@ def _objective_function(params, z, observed_data):
347
336
 
348
337
 
349
338
  def _compute_single_mud(z_data, I_data):
350
- """Perform dual annealing optimization and extract the parameters."""
339
+ """Perform dual annealing optimization and extract the
340
+ parameters."""
351
341
  bounds = [
352
342
  (
353
343
  1e-5,
@@ -376,8 +366,8 @@ def _compute_single_mud(z_data, I_data):
376
366
 
377
367
 
378
368
  def compute_mud(filepath):
379
- """Compute the best-fit mu*D value from a z-scan file, removing the sample
380
- holder effect.
369
+ """Compute the best-fit mu*D value from a z-scan file, removing the
370
+ sample holder effect.
381
371
 
382
372
  This function loads z-scan data and fits it to a model
383
373
  that convolves a top-hat function with I = I0 * e^{-mu * l}.
@@ -400,7 +390,7 @@ def compute_mud(filepath):
400
390
  mu*D : float
401
391
  The best-fit mu*D value.
402
392
  """
403
- z_data, I_data = loadData(filepath, unpack=True)
393
+ z_data, I_data = load_data(filepath, unpack=True)
404
394
  best_mud, _ = min(
405
395
  (_compute_single_mud(z_data, I_data) for _ in range(20)),
406
396
  key=lambda pair: pair[1],
@@ -52,7 +52,7 @@ def q_to_tth(q, wavelength):
52
52
 
53
53
  Parameters
54
54
  ----------
55
- q : ndarray
55
+ q : ``ndarray``
56
56
  The 1D array of :math:`q` values numpy.array([qs]).
57
57
  The units of q must be reciprocal of the units of wavelength.
58
58
 
@@ -61,7 +61,7 @@ def q_to_tth(q, wavelength):
61
61
 
62
62
  Returns
63
63
  -------
64
- tth : ndarray
64
+ tth : ``ndarray``
65
65
  The 1D array of :math:`2\theta` values in degrees numpy.array([tths]).
66
66
  """
67
67
  _validate_inputs(q, wavelength)
@@ -76,7 +76,8 @@ def q_to_tth(q, wavelength):
76
76
 
77
77
 
78
78
  def tth_to_q(tth, wavelength):
79
- r"""Helper function to convert two-theta to q on independent variable axis.
79
+ r"""Helper function to convert two-theta to q on independent variable
80
+ axis.
80
81
 
81
82
  If wavelength is missing, returns independent variable axis as integer
82
83
  indexes.
@@ -95,7 +96,7 @@ def tth_to_q(tth, wavelength):
95
96
 
96
97
  Parameters
97
98
  ----------
98
- tth : ndarray
99
+ tth : ``ndarray``
99
100
  The 1D array of :math:`2\theta` values np.array([tths]).
100
101
  The units of tth are expected in degrees.
101
102
 
@@ -104,7 +105,7 @@ def tth_to_q(tth, wavelength):
104
105
 
105
106
  Returns
106
107
  -------
107
- q : ndarray
108
+ q : ``ndarray``
108
109
  The 1D array of :math:`q` values np.array([qs]).
109
110
  The units for the q-values are the inverse of the units of the
110
111
  provided wavelength.
@@ -124,18 +125,18 @@ def tth_to_q(tth, wavelength):
124
125
 
125
126
 
126
127
  def q_to_d(q):
127
- r"""Helper function to convert q to d on independent variable axis, using
128
- :math:`d = \frac{2 \pi}{q}`.
128
+ r"""Helper function to convert q to d on independent variable axis,
129
+ using :math:`d = \frac{2 \pi}{q}`.
129
130
 
130
131
  Parameters
131
132
  ----------
132
- q : ndarray
133
+ q : ``ndarray``
133
134
  The 1D array of :math:`q` values np.array([qs]).
134
135
  The units of q must be reciprocal of the units of wavelength.
135
136
 
136
137
  Returns
137
138
  -------
138
- d : ndarray
139
+ d : ``ndarray``
139
140
  The 1D array of :math:`d` values np.array([ds]).
140
141
  """
141
142
  if 0 in q:
@@ -144,7 +145,8 @@ def q_to_d(q):
144
145
 
145
146
 
146
147
  def tth_to_d(tth, wavelength):
147
- r"""Helper function to convert two-theta to d on independent variable axis.
148
+ r"""Helper function to convert two-theta to d on independent variable
149
+ axis.
148
150
 
149
151
  The formula is ..
150
152
  math:: d = \frac{\lambda}{2 \sin\left(\frac{2\theta}{2}\right)}.
@@ -153,7 +155,7 @@ def tth_to_d(tth, wavelength):
153
155
 
154
156
  Parameters
155
157
  ----------
156
- tth : nsarray
158
+ tth : ``nsarray``
157
159
  The 1D array of :math:`2\theta` values np.array([tths]).
158
160
  The units of tth are expected in degrees.
159
161
 
@@ -162,7 +164,7 @@ def tth_to_d(tth, wavelength):
162
164
 
163
165
  Returns
164
166
  -------
165
- d : nsarray
167
+ d : ``nsarray``
166
168
  The 1D array of :math:`d` values np.array([ds]).
167
169
  """
168
170
  q = tth_to_q(tth, wavelength)
@@ -178,16 +180,17 @@ def tth_to_d(tth, wavelength):
178
180
 
179
181
 
180
182
  def d_to_q(d):
181
- r"""Helper function to convert q to d using :math:`d = \frac{2 \pi}{q}`.
183
+ r"""Helper function to convert q to d using :math:`d = \frac{2
184
+ \pi}{q}`.
182
185
 
183
186
  Parameters
184
187
  ----------
185
- d : nsarray
188
+ d : ``nsarray``
186
189
  The 1D array of :math:`d` values np.array([ds]).
187
190
 
188
191
  Returns
189
192
  -------
190
- q : nsarray
193
+ q : ``nsarray``
191
194
  The 1D array of :math:`q` values np.array([qs]).
192
195
  The units of q must be reciprocal of the units of wavelength.
193
196
  """
@@ -197,7 +200,8 @@ def d_to_q(d):
197
200
 
198
201
 
199
202
  def d_to_tth(d, wavelength):
200
- r"""Helper function to convert d to two-theta on independent variable axis.
203
+ r"""Helper function to convert d to two-theta on independent variable
204
+ axis.
201
205
 
202
206
  The formula is ..
203
207
  math:: 2\theta = 2 \arcsin\left(\frac{\lambda}{2d}\right).
@@ -206,7 +210,7 @@ def d_to_tth(d, wavelength):
206
210
 
207
211
  Parameters
208
212
  ----------
209
- d : nsarray
213
+ d : ``nsarray``
210
214
  The 1D array of :math:`d` values np.array([ds]).
211
215
 
212
216
  wavelength : float
@@ -214,7 +218,7 @@ def d_to_tth(d, wavelength):
214
218
 
215
219
  Returns
216
220
  -------
217
- tth : nsarray
221
+ tth : ``nsarray``
218
222
  The 1D array of :math:`2\theta` values np.array([tths]).
219
223
  The units of tth are expected in degrees.
220
224
  """
@@ -0,0 +1,33 @@
1
+ import argparse
2
+
3
+ from diffpy.utils.version import __version__ # noqa
4
+
5
+
6
+ def main():
7
+ parser = argparse.ArgumentParser(
8
+ prog="diffpy.utils",
9
+ description=(
10
+ "Shared utilities for diffpy packages.\n\n"
11
+ "For more information, visit: "
12
+ "https://github.com/diffpy/diffpy.utils/"
13
+ ),
14
+ formatter_class=argparse.RawDescriptionHelpFormatter,
15
+ )
16
+
17
+ parser.add_argument(
18
+ "--version",
19
+ action="store_true",
20
+ help="Show the program's version number and exit",
21
+ )
22
+
23
+ args = parser.parse_args()
24
+
25
+ if args.version:
26
+ print(f"diffpy.utils {__version__}")
27
+ else:
28
+ # Default behavior when no arguments are given
29
+ parser.print_help()
30
+
31
+
32
+ if __name__ == "__main__":
33
+ main()
diffpy/utils/version.py CHANGED
@@ -18,8 +18,9 @@
18
18
  # __all__ = ["__date__", "__git_commit__", "__timestamp__", "__version__"]
19
19
 
20
20
  # obtain version information
21
- from importlib.metadata import version
21
+ from importlib.metadata import PackageNotFoundError, version
22
22
 
23
- __version__ = version("diffpy.utils")
24
-
25
- # End of file
23
+ try:
24
+ __version__ = version("diffpy.utils")
25
+ except PackageNotFoundError:
26
+ __version__ = "unknown"
@@ -146,9 +146,9 @@ def quickResizeColumns(grid, indices):
146
146
 
147
147
 
148
148
  def _indicesToBlocks(indices):
149
- """Convert a list of integer indices to a list of (start, stop) tuples. The
150
- (start, stop) tuple defines a continuous block, where the stop index is
151
- included in the block.
149
+ """Convert a list of integer indices to a list of (start, stop)
150
+ tuples. The (start, stop) tuple defines a continuous block, where
151
+ the stop index is included in the block.
152
152
 
153
153
  Parameters
154
154
  ----------
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: diffpy.utils
3
- Version: 3.6.1rc1
3
+ Version: 3.7.0rc0
4
4
  Summary: General utilities for analyzing diffraction data
5
5
  Author-email: Simon Billinge <sb2896@columbia.edu>
6
6
  Maintainer-email: Simon Billinge <sb2896@columbia.edu>
@@ -16,12 +16,12 @@ Classifier: Operating System :: MacOS :: MacOS X
16
16
  Classifier: Operating System :: Microsoft :: Windows
17
17
  Classifier: Operating System :: POSIX
18
18
  Classifier: Operating System :: Unix
19
- Classifier: Programming Language :: Python :: 3.11
20
19
  Classifier: Programming Language :: Python :: 3.12
21
20
  Classifier: Programming Language :: Python :: 3.13
21
+ Classifier: Programming Language :: Python :: 3.14
22
22
  Classifier: Topic :: Scientific/Engineering :: Physics
23
23
  Classifier: Topic :: Scientific/Engineering :: Chemistry
24
- Requires-Python: <3.14,>=3.11
24
+ Requires-Python: <3.15,>=3.12
25
25
  Description-Content-Type: text/x-rst
26
26
  License-File: LICENSE.rst
27
27
  License-File: LICENSE_DANSE.txt
@@ -58,6 +58,7 @@ Dynamic: license-file
58
58
  :target: https://anaconda.org/conda-forge/diffpy.utils
59
59
 
60
60
  .. |PR| image:: https://img.shields.io/badge/PR-Welcome-29ab47ff
61
+ :target: https://github.com/diffpy/diffpy.utils/pulls
61
62
 
62
63
  .. |PyPI| image:: https://img.shields.io/pypi/v/diffpy.utils
63
64
  :target: https://pypi.org/project/diffpy.utils/
@@ -68,8 +69,7 @@ Dynamic: license-file
68
69
  .. |Tracking| image:: https://img.shields.io/badge/issue_tracking-github-blue
69
70
  :target: https://github.com/diffpy/diffpy.utils/issues
70
71
 
71
- diffpy.utils Package
72
- ========================================================================
72
+ Shared utilities for diffpy packages.
73
73
 
74
74
  General utilities for analyzing diffraction data
75
75
 
@@ -0,0 +1,24 @@
1
+ diffpy/__init__.py,sha256=PLQx_UmkmhCTu5bPeYdp9nQBx-OJGP0s4Pz-lLQhKsU,926
2
+ diffpy/utils/__init__.py,sha256=CtxZ5VpVDjhWlvoGLIEjkBGtXn1Pnb4lrdhpIfzmYYc,704
3
+ diffpy/utils/_deprecator.py,sha256=12F5wxSBZ3WPJbFa_K5WzVqyUfJywG0k5ZyntOv2ajU,5716
4
+ diffpy/utils/diffraction_objects.py,sha256=wBxD-tFsV0KrKg6LIjBUOnjZdqLkOmr3Wfdlfivcqmc,23406
5
+ diffpy/utils/resampler.py,sha256=m6dCsaxieizjAbWftIJyxlfVLnr1AsoyefUvJixjJ58,5980
6
+ diffpy/utils/tools.py,sha256=gDAZJ9Da_5Fz1ps1OLAn8ykWF5-_8XC7n-W1GHKnRXs,14208
7
+ diffpy/utils/transforms.py,sha256=q4L17QZp0eQrvghx6AzbQlXmqbieYUrD22u7TN_kp-4,6209
8
+ diffpy/utils/utils_app.py,sha256=0ofHWceSaz4Sj8TtrfW0pXpVOZdecOCFZHIhnDr-mzA,779
9
+ diffpy/utils/validators.py,sha256=JOtQBXbmke4ShMrBKy3-Ia1rc_0qrDBJ6gf66-9ukgA,901
10
+ diffpy/utils/version.py,sha256=bSLZJHvxtxaB1QMgGMUl1F2DvE5wKO7spgo1od52lzA,898
11
+ diffpy/utils/parsers/__init__.py,sha256=gojPo8UTIHsXzTqvLxizRreJVJ4H_aJxfeKTeR_ylRs,934
12
+ diffpy/utils/parsers/custom_exceptions.py,sha256=aWFm1AJA_3dprNeBxb_SfQ7Mw2s3ENdzxxCy3QiZM5c,1737
13
+ diffpy/utils/parsers/loaddata.py,sha256=dRjd25LJYbYqEAltBsft2ApJuDuq18KlZvBHE_yyoRY,13972
14
+ diffpy/utils/parsers/serialization.py,sha256=GsCBNPzD3rDHaQtt4u2S5q7rzZVOKmw9PYuEutMVVZA,6856
15
+ diffpy/utils/wx/__init__.py,sha256=dyVlLVVqqn3pBhCTyWr3zvvIcmQjqzUCOjWAaZ2lkX4,586
16
+ diffpy/utils/wx/gridutils.py,sha256=mor8QT8xE3SZN74CwboLnSBfYM3PEHRzZ-AX3ZmlJfM,5158
17
+ diffpy_utils-3.7.0rc0.dist-info/licenses/AUTHORS.rst,sha256=vSJE4eFlrvgzwe0UiB5nnuqWVi7HO1aTzavOgqH1ngE,181
18
+ diffpy_utils-3.7.0rc0.dist-info/licenses/LICENSE.rst,sha256=Fic68qk6_MHLTR4fTua4ufK3iZH7ioQJ0x9STJAjkyk,6011
19
+ diffpy_utils-3.7.0rc0.dist-info/licenses/LICENSE_DANSE.txt,sha256=mPt7YHs0xQgff18u_MPvAFqHRTTF0x9ecqubGy6Fxjs,2160
20
+ diffpy_utils-3.7.0rc0.dist-info/METADATA,sha256=tkkSzU_DT6wbgrhC1Jsa4pbSTPcJWIKFCIhb4iVWP7s,7569
21
+ diffpy_utils-3.7.0rc0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
22
+ diffpy_utils-3.7.0rc0.dist-info/entry_points.txt,sha256=k8fC_YuQDSsgvst9b-qgOB-9lRE88howBp6Tb0i3T-M,55
23
+ diffpy_utils-3.7.0rc0.dist-info/top_level.txt,sha256=34qLZyi9mxikpHepVDTMHrrNbe8VoOuz3ShYeiWA7KA,7
24
+ diffpy_utils-3.7.0rc0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ diffpy-utils = diffpy.utils_app:main
@@ -1,21 +0,0 @@
1
- diffpy/__init__.py,sha256=PLQx_UmkmhCTu5bPeYdp9nQBx-OJGP0s4Pz-lLQhKsU,926
2
- diffpy/utils/__init__.py,sha256=CtxZ5VpVDjhWlvoGLIEjkBGtXn1Pnb4lrdhpIfzmYYc,704
3
- diffpy/utils/diffraction_objects.py,sha256=Qj3ka5DE-XswAo1jI3FhRYwyFrfCOWvkhBhrcBdrgj8,23294
4
- diffpy/utils/resampler.py,sha256=7M5VfH9Wddpy4j3SzSiCp1txUQwLPfwC1GcdYLdjyzE,5948
5
- diffpy/utils/tools.py,sha256=rAxjUrcnkQReT6uSu2X7GzqqLiEsaNArKkr-cfdkCTA,15161
6
- diffpy/utils/transforms.py,sha256=FW8vJB8Ft8TM4_vwRPMwTLZBiTxgZnLn9sbW8Nz0Ef4,6145
7
- diffpy/utils/validators.py,sha256=JOtQBXbmke4ShMrBKy3-Ia1rc_0qrDBJ6gf66-9ukgA,901
8
- diffpy/utils/version.py,sha256=b4ZYUji9mSEb7KDhiqdJoM17rJ9mQ9IJA21joYoCvtE,825
9
- diffpy/utils/parsers/__init__.py,sha256=nfOvZXjWN0nx4Yqt6BYspqdXjTeBLJcsm5X2-3SMhb4,612
10
- diffpy/utils/parsers/custom_exceptions.py,sha256=aWFm1AJA_3dprNeBxb_SfQ7Mw2s3ENdzxxCy3QiZM5c,1737
11
- diffpy/utils/parsers/loaddata.py,sha256=YQ7bAMHx0sGuE123BYNpg8npfruNEd4P8ZBma7Jmr48,13257
12
- diffpy/utils/parsers/serialization.py,sha256=6huTN8R4zkF2V30DeQxs-knHn7ZwotKaVN5kaEM-h9c,6851
13
- diffpy/utils/wx/__init__.py,sha256=dyVlLVVqqn3pBhCTyWr3zvvIcmQjqzUCOjWAaZ2lkX4,586
14
- diffpy/utils/wx/gridutils.py,sha256=940h1kN5yClQwLrWLhQ6QlBvf7hVHBLqOfaDJ2QZZoc,5158
15
- diffpy_utils-3.6.1rc1.dist-info/licenses/AUTHORS.rst,sha256=vSJE4eFlrvgzwe0UiB5nnuqWVi7HO1aTzavOgqH1ngE,181
16
- diffpy_utils-3.6.1rc1.dist-info/licenses/LICENSE.rst,sha256=Fic68qk6_MHLTR4fTua4ufK3iZH7ioQJ0x9STJAjkyk,6011
17
- diffpy_utils-3.6.1rc1.dist-info/licenses/LICENSE_DANSE.txt,sha256=mPt7YHs0xQgff18u_MPvAFqHRTTF0x9ecqubGy6Fxjs,2160
18
- diffpy_utils-3.6.1rc1.dist-info/METADATA,sha256=f_OJxDgSo9k87Txtxq0zHHj4gL4iNg9K4-i89vJGaVw,7563
19
- diffpy_utils-3.6.1rc1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
20
- diffpy_utils-3.6.1rc1.dist-info/top_level.txt,sha256=34qLZyi9mxikpHepVDTMHrrNbe8VoOuz3ShYeiWA7KA,7
21
- diffpy_utils-3.6.1rc1.dist-info/RECORD,,