diffpy.apps 0.1.1__tar.gz → 0.2.0rc0__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.
- {diffpy_apps-0.1.1/src/diffpy.apps.egg-info → diffpy_apps-0.2.0rc0}/PKG-INFO +3 -2
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0}/README.rst +1 -0
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0}/pyproject.toml +1 -1
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0}/requirements/conda.txt +4 -0
- diffpy_apps-0.2.0rc0/src/diffpy/__init__.py +0 -0
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0}/src/diffpy/apps/pdfadapter.py +17 -17
- diffpy_apps-0.2.0rc0/src/diffpy/apps/refinebase/__init__.py +0 -0
- diffpy_apps-0.2.0rc0/src/diffpy/apps/refinebase/parametric_model.py +663 -0
- diffpy_apps-0.2.0rc0/src/diffpy/apps/refinebase/refinement_server.py +626 -0
- diffpy_apps-0.2.0rc0/src/diffpy/apps/refinebase/refinement_session.py +606 -0
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0/src/diffpy.apps.egg-info}/PKG-INFO +3 -2
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0}/src/diffpy.apps.egg-info/SOURCES.txt +19 -1
- diffpy_apps-0.2.0rc0/tests/conftest.py +43 -0
- diffpy_apps-0.2.0rc0/tests/data/C60.gr +1999 -0
- diffpy_apps-0.2.0rc0/tests/data/c60xyz.txt +60 -0
- diffpy_apps-0.2.0rc0/tests/data/make_c60.txt +22 -0
- diffpy_apps-0.2.0rc0/tests/data/ni-q27r100-neutron.gr +10052 -0
- diffpy_apps-0.2.0rc0/tests/data/ni-q27r60-xray.gr +6133 -0
- diffpy_apps-0.2.0rc0/tests/data/pb.cif +240 -0
- diffpy_apps-0.2.0rc0/tests/data/pb_100_qmin1.gr +3500 -0
- diffpy_apps-0.2.0rc0/tests/data/si-q27r60-xray.gr +6133 -0
- diffpy_apps-0.2.0rc0/tests/data/si.cif +224 -0
- diffpy_apps-0.2.0rc0/tests/data/si90ni10-q27r60-xray.gr +6134 -0
- diffpy_apps-0.2.0rc0/tests/data/sine.dat +400 -0
- diffpy_apps-0.2.0rc0/tests/helper.py +327 -0
- diffpy_apps-0.2.0rc0/tests/test_parametric_model.py +143 -0
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0}/tests/test_pdfadapter.py +4 -20
- diffpy_apps-0.2.0rc0/tests/test_refinement_server.py +451 -0
- diffpy_apps-0.2.0rc0/tests/test_refinement_session.py +455 -0
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0}/tests/test_runmacro.py +3 -26
- diffpy_apps-0.1.1/src/diffpy/__init__.py +0 -14
- diffpy_apps-0.1.1/tests/conftest.py +0 -19
- diffpy_apps-0.1.1/tests/helper.py +0 -100
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0}/AUTHORS.rst +0 -0
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0}/LICENSE.rst +0 -0
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0}/MANIFEST.in +0 -0
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0}/requirements/build.txt +0 -0
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0}/requirements/docs.txt +0 -0
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0}/requirements/pip.txt +0 -0
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0}/requirements/tests.txt +0 -0
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0}/setup.cfg +0 -0
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0}/src/diffpy/apps/__init__.py +0 -0
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0}/src/diffpy/apps/app_agentify.py +0 -0
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0}/src/diffpy/apps/app_runmacro.py +0 -0
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0}/src/diffpy/apps/apps.py +0 -0
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0}/src/diffpy/apps/version.py +0 -0
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0}/src/diffpy.apps.egg-info/dependency_links.txt +0 -0
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0}/src/diffpy.apps.egg-info/entry_points.txt +0 -0
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0}/src/diffpy.apps.egg-info/requires.txt +0 -0
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0}/src/diffpy.apps.egg-info/top_level.txt +0 -0
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0}/tests/data/Ni.cif +0 -0
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0}/tests/data/Ni.gr +0 -0
- {diffpy_apps-0.1.1 → diffpy_apps-0.2.0rc0}/tests/test_agentify.py +0 -0
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: diffpy.apps
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0rc0
|
|
4
4
|
Summary: User applications to help with tasks using diffpy packages
|
|
5
5
|
Author-email: Yuchen Xiao <yx2924@columbia.edu>, Simon Billinge <sbillinge@ucsb.edu>
|
|
6
6
|
Maintainer-email: Yuchen Xiao <yx2924@columbia.edu>, Simon Billinge <sbillinge@ucsb.edu>
|
|
7
|
+
License-Expression: BSD-3-Clause
|
|
7
8
|
Project-URL: Homepage, https://github.com/diffpy/diffpy.apps/
|
|
8
9
|
Project-URL: Issues, https://github.com/diffpy/diffpy.apps/issues/
|
|
9
10
|
Keywords: diffraction,PDF,X-ray,neutron
|
|
@@ -11,7 +12,6 @@ Classifier: Development Status :: 5 - Production/Stable
|
|
|
11
12
|
Classifier: Environment :: Console
|
|
12
13
|
Classifier: Intended Audience :: Developers
|
|
13
14
|
Classifier: Intended Audience :: Science/Research
|
|
14
|
-
Classifier: License :: OSI Approved :: BSD License
|
|
15
15
|
Classifier: Operating System :: MacOS :: MacOS X
|
|
16
16
|
Classifier: Operating System :: Microsoft :: Windows
|
|
17
17
|
Classifier: Operating System :: POSIX
|
|
@@ -71,6 +71,7 @@ contains
|
|
|
71
71
|
|
|
72
72
|
- `runmacro`: A runner for DiffPy macro files.
|
|
73
73
|
- `agentify`: A deployer for diffpy.cmi agentic skills.
|
|
74
|
+
- `Diffpy MCP server`: A local server for the DiffPy MCP instance.
|
|
74
75
|
|
|
75
76
|
For more information about the diffpy.apps library, please consult our `online documentation <https://diffpy.github.io/diffpy.apps>`_.
|
|
76
77
|
|
|
@@ -41,6 +41,7 @@ contains
|
|
|
41
41
|
|
|
42
42
|
- `runmacro`: A runner for DiffPy macro files.
|
|
43
43
|
- `agentify`: A deployer for diffpy.cmi agentic skills.
|
|
44
|
+
- `Diffpy MCP server`: A local server for the DiffPy MCP instance.
|
|
44
45
|
|
|
45
46
|
For more information about the diffpy.apps library, please consult our `online documentation <https://diffpy.github.io/diffpy.apps>`_.
|
|
46
47
|
|
|
@@ -22,7 +22,6 @@ classifiers = [
|
|
|
22
22
|
'Environment :: Console',
|
|
23
23
|
'Intended Audience :: Developers',
|
|
24
24
|
'Intended Audience :: Science/Research',
|
|
25
|
-
'License :: OSI Approved :: BSD License',
|
|
26
25
|
'Operating System :: MacOS :: MacOS X',
|
|
27
26
|
'Operating System :: Microsoft :: Windows',
|
|
28
27
|
'Operating System :: POSIX',
|
|
@@ -33,6 +32,7 @@ classifiers = [
|
|
|
33
32
|
'Topic :: Scientific/Engineering :: Physics',
|
|
34
33
|
'Topic :: Scientific/Engineering :: Chemistry',
|
|
35
34
|
]
|
|
35
|
+
license = "BSD-3-Clause"
|
|
36
36
|
|
|
37
37
|
[project.urls]
|
|
38
38
|
Homepage = "https://github.com/diffpy/diffpy.apps/"
|
|
File without changes
|
|
@@ -65,8 +65,8 @@ class PDFAdapter:
|
|
|
65
65
|
"""
|
|
66
66
|
profile = Profile()
|
|
67
67
|
parser = PDFParser()
|
|
68
|
-
parser.
|
|
69
|
-
profile.
|
|
68
|
+
parser.parse_file(profile_path)
|
|
69
|
+
profile.load_parsed_data(parser)
|
|
70
70
|
if q_range is not None:
|
|
71
71
|
profile.meta["qmin"] = q_range[0]
|
|
72
72
|
profile.meta["qmax"] = q_range[1]
|
|
@@ -77,7 +77,7 @@ class PDFAdapter:
|
|
|
77
77
|
"xmax": calculation_range[1],
|
|
78
78
|
"dx": calculation_range[2],
|
|
79
79
|
}
|
|
80
|
-
profile.
|
|
80
|
+
profile.set_calculation_range(**calculation_range)
|
|
81
81
|
self.profile = profile
|
|
82
82
|
|
|
83
83
|
def initialize_structures(
|
|
@@ -185,10 +185,10 @@ class PDFAdapter:
|
|
|
185
185
|
"""
|
|
186
186
|
equation = equation[0] if equation is not None else None
|
|
187
187
|
contribution = FitContribution("pdfcontribution")
|
|
188
|
-
contribution.
|
|
188
|
+
contribution.set_profile(self.profile)
|
|
189
189
|
for pdfgenerator in self.pdfgenerators:
|
|
190
|
-
contribution.
|
|
191
|
-
contribution.
|
|
190
|
+
contribution.add_profile_generator(pdfgenerator)
|
|
191
|
+
contribution.set_equation(equation)
|
|
192
192
|
self.contribution = contribution
|
|
193
193
|
return self.contribution
|
|
194
194
|
|
|
@@ -204,9 +204,9 @@ class PDFAdapter:
|
|
|
204
204
|
"""
|
|
205
205
|
|
|
206
206
|
recipe = FitRecipe()
|
|
207
|
-
recipe.
|
|
208
|
-
qdamp = recipe.
|
|
209
|
-
qbroad = recipe.
|
|
207
|
+
recipe.add_contribution(self.contribution)
|
|
208
|
+
qdamp = recipe.create_new_variable("qdamp", fixed=False, value=0.04)
|
|
209
|
+
qbroad = recipe.create_new_variable("qbroad", fixed=False, value=0.02)
|
|
210
210
|
for i, (pdfgenerator, spacegroup) in enumerate(
|
|
211
211
|
zip(self.pdfgenerators, self.spacegroups)
|
|
212
212
|
):
|
|
@@ -215,23 +215,23 @@ class PDFAdapter:
|
|
|
215
215
|
"delta2",
|
|
216
216
|
]:
|
|
217
217
|
par = getattr(pdfgenerator, pname)
|
|
218
|
-
recipe.
|
|
218
|
+
recipe.add_variable(
|
|
219
219
|
par, name=f"{pdfgenerator.name}_{pname}", fixed=False
|
|
220
220
|
)
|
|
221
|
-
recipe.
|
|
222
|
-
recipe.
|
|
221
|
+
recipe.add_constraint(pdfgenerator.qdamp, qdamp)
|
|
222
|
+
recipe.add_constraint(pdfgenerator.qbroad, qbroad)
|
|
223
223
|
stru_parset = pdfgenerator.phase
|
|
224
224
|
spacegroupparams = constrainAsSpaceGroup(stru_parset, spacegroup)
|
|
225
225
|
for par in spacegroupparams.xyzpars:
|
|
226
|
-
recipe.
|
|
226
|
+
recipe.add_variable(
|
|
227
227
|
par, name=f"{pdfgenerator.name}_{par.name}", fixed=False
|
|
228
228
|
)
|
|
229
229
|
for par in spacegroupparams.latpars:
|
|
230
|
-
recipe.
|
|
230
|
+
recipe.add_variable(
|
|
231
231
|
par, name=f"{pdfgenerator.name}_{par.name}", fixed=False
|
|
232
232
|
)
|
|
233
233
|
for par in spacegroupparams.adppars:
|
|
234
|
-
recipe.
|
|
234
|
+
recipe.add_variable(
|
|
235
235
|
par, name=f"{pdfgenerator.name}_{par.name}", fixed=False
|
|
236
236
|
)
|
|
237
237
|
recipe.fithooks[0].verbose = 0
|
|
@@ -247,7 +247,7 @@ class PDFAdapter:
|
|
|
247
247
|
e.g. 's0' for scale factor.
|
|
248
248
|
"""
|
|
249
249
|
for var_name in variable_names:
|
|
250
|
-
self.recipe.
|
|
250
|
+
self.recipe.add_variable(
|
|
251
251
|
getattr(self.contribution, var_name),
|
|
252
252
|
name=var_name,
|
|
253
253
|
fixed=False,
|
|
@@ -275,7 +275,7 @@ class PDFAdapter:
|
|
|
275
275
|
Mapping from recipe variable names to new values.
|
|
276
276
|
"""
|
|
277
277
|
for vname, vvalue in variable_name_to_value.items():
|
|
278
|
-
self.recipe._parameters[vname].
|
|
278
|
+
self.recipe._parameters[vname].set_value(vvalue)
|
|
279
279
|
|
|
280
280
|
def get_results(self):
|
|
281
281
|
"""Return the current fit results as a JSON-compatible
|
|
File without changes
|