diffpy.apps 0.1.0__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 (32) hide show
  1. diffpy_apps-0.1.0/AUTHORS.rst +10 -0
  2. diffpy_apps-0.1.0/LICENSE.rst +29 -0
  3. diffpy_apps-0.1.0/MANIFEST.in +12 -0
  4. diffpy_apps-0.1.0/PKG-INFO +178 -0
  5. diffpy_apps-0.1.0/README.rst +148 -0
  6. diffpy_apps-0.1.0/pyproject.toml +91 -0
  7. diffpy_apps-0.1.0/requirements/build.txt +0 -0
  8. diffpy_apps-0.1.0/requirements/conda.txt +8 -0
  9. diffpy_apps-0.1.0/requirements/docs.txt +5 -0
  10. diffpy_apps-0.1.0/requirements/pip.txt +1 -0
  11. diffpy_apps-0.1.0/requirements/tests.txt +6 -0
  12. diffpy_apps-0.1.0/setup.cfg +4 -0
  13. diffpy_apps-0.1.0/src/diffpy/__init__.py +14 -0
  14. diffpy_apps-0.1.0/src/diffpy/apps/__init__.py +23 -0
  15. diffpy_apps-0.1.0/src/diffpy/apps/app_agentify.py +35 -0
  16. diffpy_apps-0.1.0/src/diffpy/apps/app_runmacro.py +298 -0
  17. diffpy_apps-0.1.0/src/diffpy/apps/apps.py +81 -0
  18. diffpy_apps-0.1.0/src/diffpy/apps/pdfadapter.py +341 -0
  19. diffpy_apps-0.1.0/src/diffpy/apps/version.py +26 -0
  20. diffpy_apps-0.1.0/src/diffpy.apps.egg-info/PKG-INFO +178 -0
  21. diffpy_apps-0.1.0/src/diffpy.apps.egg-info/SOURCES.txt +30 -0
  22. diffpy_apps-0.1.0/src/diffpy.apps.egg-info/dependency_links.txt +1 -0
  23. diffpy_apps-0.1.0/src/diffpy.apps.egg-info/entry_points.txt +3 -0
  24. diffpy_apps-0.1.0/src/diffpy.apps.egg-info/requires.txt +1 -0
  25. diffpy_apps-0.1.0/src/diffpy.apps.egg-info/top_level.txt +1 -0
  26. diffpy_apps-0.1.0/tests/conftest.py +19 -0
  27. diffpy_apps-0.1.0/tests/data/Ni.cif +216 -0
  28. diffpy_apps-0.1.0/tests/data/Ni.gr +6022 -0
  29. diffpy_apps-0.1.0/tests/helper.py +100 -0
  30. diffpy_apps-0.1.0/tests/test_agentify.py +110 -0
  31. diffpy_apps-0.1.0/tests/test_pdfadapter.py +68 -0
  32. diffpy_apps-0.1.0/tests/test_runmacro.py +224 -0
@@ -0,0 +1,10 @@
1
+ Authors
2
+ =======
3
+
4
+ Yuchen Xiao, Simon Billinge and members of the Billinge group
5
+
6
+ Contributors
7
+ ------------
8
+
9
+ For a list of contributors, visit
10
+ https://github.com/diffpy/diffpy.apps/graphs/contributors
@@ -0,0 +1,29 @@
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2026, diffpy.apps contributors.
4
+ All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted provided that the following conditions are met:
8
+
9
+ 1. Redistributions of source code must retain the above copyright notice, this
10
+ list of conditions and the following disclaimer.
11
+
12
+ 2. Redistributions in binary form must reproduce the above copyright notice,
13
+ this list of conditions and the following disclaimer in the documentation
14
+ and/or other materials provided with the distribution.
15
+
16
+ 3. Neither the name of the copyright holder nor the names of its contributors
17
+ may be used to endorse or promote products derived from this software
18
+ without specific prior written permission.
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,12 @@
1
+ graft src
2
+ graft tests
3
+ graft requirements
4
+
5
+ include AUTHORS.rst LICENSE*.rst README.rst
6
+
7
+ # Exclude all bytecode files and __pycache__ directories
8
+ global-exclude *.py[cod] # Exclude all .pyc, .pyo, and .pyd files.
9
+ global-exclude .DS_Store # Exclude Mac filesystem artifacts.
10
+ global-exclude __pycache__ # Exclude Python cache directories.
11
+ global-exclude .git* # Exclude git files and directories.
12
+ global-exclude .idea # Exclude PyCharm project settings.
@@ -0,0 +1,178 @@
1
+ Metadata-Version: 2.4
2
+ Name: diffpy.apps
3
+ Version: 0.1.0
4
+ Summary: User applications to help with tasks using diffpy packages
5
+ Author-email: Yuchen Xiao <yx2924@columbia.edu>, Simon Billinge <sbillinge@ucsb.edu>
6
+ Maintainer-email: Yuchen Xiao <yx2924@columbia.edu>, Simon Billinge <sbillinge@ucsb.edu>
7
+ Project-URL: Homepage, https://github.com/diffpy/diffpy.apps/
8
+ Project-URL: Issues, https://github.com/diffpy/diffpy.apps/issues/
9
+ Keywords: diffraction,PDF,X-ray,neutron
10
+ Classifier: Development Status :: 5 - Production/Stable
11
+ Classifier: Environment :: Console
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Intended Audience :: Science/Research
14
+ Classifier: License :: OSI Approved :: BSD License
15
+ Classifier: Operating System :: MacOS :: MacOS X
16
+ Classifier: Operating System :: Microsoft :: Windows
17
+ Classifier: Operating System :: POSIX
18
+ Classifier: Operating System :: Unix
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Topic :: Scientific/Engineering :: Physics
23
+ Classifier: Topic :: Scientific/Engineering :: Chemistry
24
+ Requires-Python: <3.14,>=3.11
25
+ Description-Content-Type: text/x-rst
26
+ License-File: LICENSE.rst
27
+ License-File: AUTHORS.rst
28
+ Requires-Dist: numpy
29
+ Dynamic: license-file
30
+
31
+ |Icon| |title|_
32
+ ===============
33
+
34
+ .. |title| replace:: diffpy.apps
35
+ .. _title: https://diffpy.github.io/diffpy.apps
36
+
37
+ .. |Icon| image:: https://avatars.githubusercontent.com/diffpy
38
+ :target: https://diffpy.github.io/diffpy.apps
39
+ :height: 100px
40
+
41
+ |PyPI| |Forge| |PythonVersion| |PR|
42
+
43
+ |CI| |Codecov| |Black| |Tracking|
44
+
45
+ .. |Black| image:: https://img.shields.io/badge/code_style-black-black
46
+ :target: https://github.com/psf/black
47
+
48
+ .. |CI| image:: https://github.com/diffpy/diffpy.apps/actions/workflows/matrix-and-codecov-on-merge-to-main.yml/badge.svg
49
+ :target: https://github.com/diffpy/diffpy.apps/actions/workflows/matrix-and-codecov-on-merge-to-main.yml
50
+
51
+ .. |Codecov| image:: https://codecov.io/gh/diffpy/diffpy.apps/branch/main/graph/badge.svg
52
+ :target: https://codecov.io/gh/diffpy/diffpy.apps
53
+
54
+ .. |Forge| image:: https://img.shields.io/conda/vn/conda-forge/diffpy.apps
55
+ :target: https://anaconda.org/conda-forge/diffpy.apps
56
+
57
+ .. |PR| image:: https://img.shields.io/badge/PR-Welcome-29ab47ff
58
+ :target: https://github.com/diffpy/diffpy.apps/pulls
59
+
60
+ .. |PyPI| image:: https://img.shields.io/pypi/v/diffpy.apps
61
+ :target: https://pypi.org/project/diffpy.apps/
62
+
63
+ .. |PythonVersion| image:: https://img.shields.io/pypi/pyversions/diffpy.apps
64
+ :target: https://pypi.org/project/diffpy.apps/
65
+
66
+ .. |Tracking| image:: https://img.shields.io/badge/issue_tracking-github-blue
67
+ :target: https://github.com/diffpy/diffpy.apps/issues
68
+
69
+ User applications to help with tasks using diffpy packages. Currently it
70
+ contains
71
+
72
+ - `runmacro`: A runner for DiffPy macro files.
73
+ - `agentify`: A deployer for diffpy.cmi agentic skills.
74
+
75
+ For more information about the diffpy.apps library, please consult our `online documentation <https://diffpy.github.io/diffpy.apps>`_.
76
+
77
+ Citation
78
+ --------
79
+
80
+ If you use diffpy.apps in a scientific publication, we would like you to cite this package as
81
+
82
+ diffpy.apps Package, https://github.com/diffpy/diffpy.apps
83
+
84
+ Installation
85
+ ------------
86
+
87
+ The preferred method is to use `Miniconda Python
88
+ <https://docs.conda.io/projects/miniconda/en/latest/miniconda-install.html>`_
89
+ and install from the "conda-forge" channel of Conda packages.
90
+
91
+ To add "conda-forge" to the conda channels, run the following in a terminal. ::
92
+
93
+ conda config --add channels conda-forge
94
+
95
+ We want to install our packages in a suitable conda environment.
96
+ The following creates and activates a new environment named ``diffpy.apps_env`` ::
97
+
98
+ conda create -n diffpy.apps_env diffpy.apps python=3.13
99
+ conda activate diffpy.apps_env
100
+
101
+ The output should print the latest version displayed on the badges above.
102
+
103
+ If the above does not work, you can use ``pip`` to download and install the latest release from
104
+ `Python Package Index <https://pypi.python.org>`_.
105
+
106
+ You still need to install some of its dependencies from ``conda`` ::
107
+
108
+ git clone https://github.com/diffpy/diffpy.apps.git
109
+ cd diffpy.apps
110
+ conda activate diffpy.apps_env
111
+ conda install --file requirements/conda.txt
112
+
113
+
114
+ To install using ``pip`` into your ``diffpy.apps_env`` environment, type ::
115
+
116
+ pip install diffpy.apps
117
+
118
+ If you prefer to install from sources, after installing the dependencies, obtain the source archive from
119
+ `GitHub <https://github.com/diffpy/diffpy.apps/>`_. Once installed, ``cd`` into your ``diffpy.apps`` directory
120
+ and run the following ::
121
+
122
+ pip install .
123
+
124
+ This package also provides command-line utilities. To check the software has been installed correctly, type ::
125
+
126
+ diffpy.apps --version
127
+
128
+ You can also type the following command to verify the installation. ::
129
+
130
+ python -c "import diffpy.apps; print(diffpy.apps.__version__)"
131
+
132
+
133
+ To view the basic usage and available commands, type ::
134
+
135
+ diffpy.apps -h
136
+
137
+ Getting Started
138
+ ---------------
139
+
140
+ You may consult our `online documentation <https://diffpy.github.io/diffpy.apps>`_ for tutorials and API references.
141
+
142
+ Support and Contribute
143
+ ----------------------
144
+
145
+ If you see a bug or want to request a feature, please `report it as an issue <https://github.com/diffpy/diffpy.apps/issues>`_ and/or `submit a fix as a PR <https://github.com/diffpy/diffpy.apps/pulls>`_.
146
+
147
+ Feel free to fork the project and contribute. To install diffpy.apps
148
+ in a development mode, with its sources being directly used by Python
149
+ rather than copied to a package directory, use the following in the root
150
+ directory ::
151
+
152
+ pip install -e .
153
+
154
+ To ensure code quality and to prevent accidental commits into the default branch, please set up the use of our pre-commit
155
+ hooks.
156
+
157
+ 1. Install pre-commit in your working environment by running ``conda install pre-commit``.
158
+
159
+ 2. Initialize pre-commit (one time only) ``pre-commit install``.
160
+
161
+ Thereafter your code will be linted by black and isort and checked against flake8 before you can commit.
162
+ If it fails by black or isort, just rerun and it should pass (black and isort will modify the files so should
163
+ pass after they are modified). If the flake8 test fails please see the error messages and fix them manually before
164
+ trying to commit again.
165
+
166
+ Improvements and fixes are always appreciated.
167
+
168
+ Before contributing, please read our `Code of Conduct <https://github.com/diffpy/diffpy.apps/blob/main/CODE-OF-CONDUCT.rst>`_.
169
+
170
+ Contact
171
+ -------
172
+
173
+ For more information on diffpy.apps please visit the project `web-page <https://diffpy.github.io/>`_ or email the maintainers ``Yuchen Xiao(yx2924@columbia.edu) and Simon Billinge(sbillinge@ucsb.edu)``.
174
+
175
+ Acknowledgements
176
+ ----------------
177
+
178
+ ``diffpy.apps`` is built and maintained with `scikit-package <https://scikit-package.github.io/scikit-package/>`_.
@@ -0,0 +1,148 @@
1
+ |Icon| |title|_
2
+ ===============
3
+
4
+ .. |title| replace:: diffpy.apps
5
+ .. _title: https://diffpy.github.io/diffpy.apps
6
+
7
+ .. |Icon| image:: https://avatars.githubusercontent.com/diffpy
8
+ :target: https://diffpy.github.io/diffpy.apps
9
+ :height: 100px
10
+
11
+ |PyPI| |Forge| |PythonVersion| |PR|
12
+
13
+ |CI| |Codecov| |Black| |Tracking|
14
+
15
+ .. |Black| image:: https://img.shields.io/badge/code_style-black-black
16
+ :target: https://github.com/psf/black
17
+
18
+ .. |CI| image:: https://github.com/diffpy/diffpy.apps/actions/workflows/matrix-and-codecov-on-merge-to-main.yml/badge.svg
19
+ :target: https://github.com/diffpy/diffpy.apps/actions/workflows/matrix-and-codecov-on-merge-to-main.yml
20
+
21
+ .. |Codecov| image:: https://codecov.io/gh/diffpy/diffpy.apps/branch/main/graph/badge.svg
22
+ :target: https://codecov.io/gh/diffpy/diffpy.apps
23
+
24
+ .. |Forge| image:: https://img.shields.io/conda/vn/conda-forge/diffpy.apps
25
+ :target: https://anaconda.org/conda-forge/diffpy.apps
26
+
27
+ .. |PR| image:: https://img.shields.io/badge/PR-Welcome-29ab47ff
28
+ :target: https://github.com/diffpy/diffpy.apps/pulls
29
+
30
+ .. |PyPI| image:: https://img.shields.io/pypi/v/diffpy.apps
31
+ :target: https://pypi.org/project/diffpy.apps/
32
+
33
+ .. |PythonVersion| image:: https://img.shields.io/pypi/pyversions/diffpy.apps
34
+ :target: https://pypi.org/project/diffpy.apps/
35
+
36
+ .. |Tracking| image:: https://img.shields.io/badge/issue_tracking-github-blue
37
+ :target: https://github.com/diffpy/diffpy.apps/issues
38
+
39
+ User applications to help with tasks using diffpy packages. Currently it
40
+ contains
41
+
42
+ - `runmacro`: A runner for DiffPy macro files.
43
+ - `agentify`: A deployer for diffpy.cmi agentic skills.
44
+
45
+ For more information about the diffpy.apps library, please consult our `online documentation <https://diffpy.github.io/diffpy.apps>`_.
46
+
47
+ Citation
48
+ --------
49
+
50
+ If you use diffpy.apps in a scientific publication, we would like you to cite this package as
51
+
52
+ diffpy.apps Package, https://github.com/diffpy/diffpy.apps
53
+
54
+ Installation
55
+ ------------
56
+
57
+ The preferred method is to use `Miniconda Python
58
+ <https://docs.conda.io/projects/miniconda/en/latest/miniconda-install.html>`_
59
+ and install from the "conda-forge" channel of Conda packages.
60
+
61
+ To add "conda-forge" to the conda channels, run the following in a terminal. ::
62
+
63
+ conda config --add channels conda-forge
64
+
65
+ We want to install our packages in a suitable conda environment.
66
+ The following creates and activates a new environment named ``diffpy.apps_env`` ::
67
+
68
+ conda create -n diffpy.apps_env diffpy.apps python=3.13
69
+ conda activate diffpy.apps_env
70
+
71
+ The output should print the latest version displayed on the badges above.
72
+
73
+ If the above does not work, you can use ``pip`` to download and install the latest release from
74
+ `Python Package Index <https://pypi.python.org>`_.
75
+
76
+ You still need to install some of its dependencies from ``conda`` ::
77
+
78
+ git clone https://github.com/diffpy/diffpy.apps.git
79
+ cd diffpy.apps
80
+ conda activate diffpy.apps_env
81
+ conda install --file requirements/conda.txt
82
+
83
+
84
+ To install using ``pip`` into your ``diffpy.apps_env`` environment, type ::
85
+
86
+ pip install diffpy.apps
87
+
88
+ If you prefer to install from sources, after installing the dependencies, obtain the source archive from
89
+ `GitHub <https://github.com/diffpy/diffpy.apps/>`_. Once installed, ``cd`` into your ``diffpy.apps`` directory
90
+ and run the following ::
91
+
92
+ pip install .
93
+
94
+ This package also provides command-line utilities. To check the software has been installed correctly, type ::
95
+
96
+ diffpy.apps --version
97
+
98
+ You can also type the following command to verify the installation. ::
99
+
100
+ python -c "import diffpy.apps; print(diffpy.apps.__version__)"
101
+
102
+
103
+ To view the basic usage and available commands, type ::
104
+
105
+ diffpy.apps -h
106
+
107
+ Getting Started
108
+ ---------------
109
+
110
+ You may consult our `online documentation <https://diffpy.github.io/diffpy.apps>`_ for tutorials and API references.
111
+
112
+ Support and Contribute
113
+ ----------------------
114
+
115
+ If you see a bug or want to request a feature, please `report it as an issue <https://github.com/diffpy/diffpy.apps/issues>`_ and/or `submit a fix as a PR <https://github.com/diffpy/diffpy.apps/pulls>`_.
116
+
117
+ Feel free to fork the project and contribute. To install diffpy.apps
118
+ in a development mode, with its sources being directly used by Python
119
+ rather than copied to a package directory, use the following in the root
120
+ directory ::
121
+
122
+ pip install -e .
123
+
124
+ To ensure code quality and to prevent accidental commits into the default branch, please set up the use of our pre-commit
125
+ hooks.
126
+
127
+ 1. Install pre-commit in your working environment by running ``conda install pre-commit``.
128
+
129
+ 2. Initialize pre-commit (one time only) ``pre-commit install``.
130
+
131
+ Thereafter your code will be linted by black and isort and checked against flake8 before you can commit.
132
+ If it fails by black or isort, just rerun and it should pass (black and isort will modify the files so should
133
+ pass after they are modified). If the flake8 test fails please see the error messages and fix them manually before
134
+ trying to commit again.
135
+
136
+ Improvements and fixes are always appreciated.
137
+
138
+ Before contributing, please read our `Code of Conduct <https://github.com/diffpy/diffpy.apps/blob/main/CODE-OF-CONDUCT.rst>`_.
139
+
140
+ Contact
141
+ -------
142
+
143
+ For more information on diffpy.apps please visit the project `web-page <https://diffpy.github.io/>`_ or email the maintainers ``Yuchen Xiao(yx2924@columbia.edu) and Simon Billinge(sbillinge@ucsb.edu)``.
144
+
145
+ Acknowledgements
146
+ ----------------
147
+
148
+ ``diffpy.apps`` is built and maintained with `scikit-package <https://scikit-package.github.io/scikit-package/>`_.
@@ -0,0 +1,91 @@
1
+ [build-system]
2
+ requires = ["setuptools>=62.0", "setuptools-git-versioning>=2.0"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "diffpy.apps"
7
+ dynamic=['version', 'dependencies']
8
+ authors = [
9
+ {name='Yuchen Xiao', email='yx2924@columbia.edu'},
10
+ {name='Simon Billinge', email='sbillinge@ucsb.edu'},
11
+ ]
12
+ maintainers = [
13
+ {name='Yuchen Xiao', email='yx2924@columbia.edu'},
14
+ {name='Simon Billinge', email='sbillinge@ucsb.edu'},
15
+ ]
16
+ description = "User applications to help with tasks using diffpy packages"
17
+ keywords = ['diffraction', 'PDF', 'X-ray', 'neutron']
18
+ readme = "README.rst"
19
+ requires-python = ">=3.11, <3.14"
20
+ classifiers = [
21
+ 'Development Status :: 5 - Production/Stable',
22
+ 'Environment :: Console',
23
+ 'Intended Audience :: Developers',
24
+ 'Intended Audience :: Science/Research',
25
+ 'License :: OSI Approved :: BSD License',
26
+ 'Operating System :: MacOS :: MacOS X',
27
+ 'Operating System :: Microsoft :: Windows',
28
+ 'Operating System :: POSIX',
29
+ 'Operating System :: Unix',
30
+ 'Programming Language :: Python :: 3.11',
31
+ 'Programming Language :: Python :: 3.12',
32
+ 'Programming Language :: Python :: 3.13',
33
+ 'Topic :: Scientific/Engineering :: Physics',
34
+ 'Topic :: Scientific/Engineering :: Chemistry',
35
+ ]
36
+
37
+ [project.urls]
38
+ Homepage = "https://github.com/diffpy/diffpy.apps/"
39
+ Issues = "https://github.com/diffpy/diffpy.apps/issues/"
40
+
41
+ [tool.setuptools-git-versioning]
42
+ enabled = true
43
+ template = "{tag}"
44
+ dev_template = "{tag}"
45
+ dirty_template = "{tag}"
46
+
47
+ [tool.setuptools.packages.find]
48
+ where = ["src"] # list of folders that contain the packages (["."] by default)
49
+ include = ["*"] # package names should match these glob patterns (["*"] by default)
50
+ exclude = [] # exclude packages matching these glob patterns (empty by default)
51
+ namespaces = false # to disable scanning PEP 420 namespaces (true by default)
52
+
53
+ [project.scripts]
54
+ "diffpy.apps" = "diffpy.apps.apps:main"
55
+ "diffpy.app" = "diffpy.apps.apps:main"
56
+
57
+ [tool.setuptools.dynamic]
58
+ dependencies = {file = ["requirements/pip.txt"]}
59
+
60
+ [tool.codespell]
61
+ exclude-file = ".codespell/ignore_lines.txt"
62
+ ignore-words = ".codespell/ignore_words.txt"
63
+ skip = "*.cif,*.dat"
64
+
65
+ [tool.docformatter]
66
+ recursive = true
67
+ wrap-summaries = 72
68
+ wrap-descriptions = 72
69
+
70
+ [tool.black]
71
+ line-length = 79
72
+ include = '\.pyi?$'
73
+ exclude = '''
74
+ /(
75
+ \.git
76
+ | \.hg
77
+ | \.mypy_cache
78
+ | \.tox
79
+ | \.venv
80
+ | \.rst
81
+ | \.txt
82
+ | _build
83
+ | buck-out
84
+ | build
85
+ | dist
86
+
87
+ # The following are specific to Black, you probably don't want those.
88
+ | blib2to3
89
+ | tests/data
90
+ )/
91
+ '''
File without changes
@@ -0,0 +1,8 @@
1
+ numpy
2
+ scipy
3
+ psutil
4
+ textx
5
+ pyyaml
6
+ diffpy.srfit
7
+ diffpy.srreal
8
+ diffpy.structure
@@ -0,0 +1,5 @@
1
+ sphinx
2
+ sphinx_rtd_theme
3
+ sphinx-copybutton
4
+ doctr
5
+ m2r2
@@ -0,0 +1 @@
1
+ numpy
@@ -0,0 +1,6 @@
1
+ flake8
2
+ pytest
3
+ codecov
4
+ coverage
5
+ pytest-cov
6
+ pytest-env
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env python
2
+ ##############################################################################
3
+ #
4
+ # (c) 2026 The Trustees of Columbia University in the City of New York.
5
+ # All rights reserved.
6
+ #
7
+ # File coded by: Billinge Group members and community contributors.
8
+ #
9
+ # See GitHub contributions for a more detailed list of contributors.
10
+ # https://github.com/diffpy/diffpy.apps/graphs/contributors
11
+ #
12
+ # See LICENSE.rst for license information.
13
+ #
14
+ ##############################################################################
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env python
2
+ ##############################################################################
3
+ #
4
+ # (c) 2026 diffpy.apps contributors.
5
+ # All rights reserved.
6
+ #
7
+ # File coded by: Yuchen Xiao, Simon Billinge and members of the Billinge group.
8
+ #
9
+ # See GitHub contributions for a more detailed list of contributors.
10
+ # https://github.com/diffpy/diffpy.apps/graphs/contributors
11
+ #
12
+ # See LICENSE.rst for license information.
13
+ #
14
+ ##############################################################################
15
+ """User applications to help with tasks using diffpy packages."""
16
+
17
+ # package version
18
+ from diffpy.apps.version import __version__ # noqa
19
+
20
+ # silence the pyflakes syntax checker
21
+ assert __version__ or True
22
+
23
+ # End of file
@@ -0,0 +1,35 @@
1
+ import shutil
2
+ import subprocess
3
+ import tempfile
4
+ from pathlib import Path
5
+
6
+ REPO_URL = "https://github.com/diffpy/cmi-agent-skills"
7
+ DIR_NAME = "cmi-skill"
8
+
9
+
10
+ def agentify(args):
11
+ agent = args.agent
12
+ system_flag = args.system
13
+ if agent == "claude":
14
+ skills_dir = ".claude/skills"
15
+ elif agent == "codex":
16
+ skills_dir = ".codex/skills"
17
+ if system_flag:
18
+ destination = Path().home() / skills_dir / DIR_NAME
19
+ else:
20
+ destination = Path().cwd() / skills_dir / DIR_NAME
21
+ if destination.exists() and not args.update:
22
+ raise FileExistsError(
23
+ f"Agentic skill {DIR_NAME} already exists at {destination}. "
24
+ "To overwrite, pass '--update' flag to update the skill"
25
+ )
26
+ with tempfile.TemporaryDirectory() as tmp:
27
+ tmp_path = Path(tmp)
28
+ subprocess.run(
29
+ ["git", "clone", REPO_URL, str(tmp_path)],
30
+ check=True,
31
+ )
32
+ if destination.exists():
33
+ shutil.rmtree(destination)
34
+ shutil.copytree(tmp_path / DIR_NAME, destination, dirs_exist_ok=True)
35
+ print(f"Agentic skill {DIR_NAME} has been deployed to {destination}")