Skip to content

Commit 9ee12cc

Browse files
committed
deploy: 693d5cc
0 parents  commit 9ee12cc

File tree

95 files changed

+8373
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

95 files changed

+8373
-0
lines changed

.buildinfo

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Sphinx build info version 1
2+
# This file records the configuration used when building these files. When it is not found, a full rebuild will be done.
3+
config: bfb6e4b85e582bc952cd5a3e0c55c897
4+
tags: 645f666f9bcd5a90fca523b33c5a78b7

.nojekyll

Whitespace-only changes.

_images/cmi_problem_types.png

90.1 KB
Loading

_images/diffpycmi_screenshot.png

235 KB
Loading

_images/makerecipe_flow.png

92 KB
Loading

_images/pdfprimer.png

102 KB
Loading

_sources/api/diffpy.cmi.rst.txt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
:tocdepth: -1
2+
3+
|title|
4+
=======
5+
6+
.. |title| replace:: diffpy.cmi Contents
7+
8+
``diffpy.cmi`` includes Python and C++ libraries developed by the DiffPy team as well as external libraries necessary for functionality.
9+
10+
Libraries developed by the DiffPy team
11+
--------------------------------------
12+
13+
.. include:: ../snippets/diffpy_libraries.rst
14+
15+
External Libraries
16+
------------------
17+
18+
.. include:: ../snippets/external_libraries.rst

_sources/getting-started.rst.txt

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
:tocdepth: -1
2+
3+
.. index:: getting-started
4+
5+
.. _getting-started:
6+
7+
================
8+
Getting started
9+
================
10+
11+
.. image:: ./img/pdfprimer.png
12+
:alt: codecov-in-pr-comment
13+
:width: 150px
14+
:align: right
15+
16+
For detailed instructions and in-depth examples of modeling with ``diffpy.cmi``, we highly recommend the book,
17+
18+
*Atomic Pair Distribution Function Analysis: A Primer* by Simon J. L. Billinge and Kirsten M. Ø. Jensen (Oxford University Press, 2023).
19+
20+
To purchase this book, please visit `this link <https://www.amazon.com/Atomic-Pair-Distribution-Function-Analysis/dp/0198885806>`_.
21+
22+
Installation
23+
------------
24+
25+
To install ``diffpy.cmi``, create a new conda environment or activate an existing environment and install the package from the conda-forge channel.
26+
27+
.. code-block:: bash
28+
29+
conda create -n diffpy.cmi-env
30+
conda install -c conda-forge diffpy.cmi
31+
conda activate diffpy.cmi-env
32+
33+
To confirm that the installation was successful, type
34+
35+
.. code-block:: bash
36+
37+
python -c "import diffpy.cmi; print(diffpy.cmi.__version__)"
38+
39+
The output should print the latest version.
40+
41+
If the above does not work, you can use ``pip`` to download and install the latest release from
42+
`Python Package Index <https://pypi.python.org>`_.
43+
To install using ``pip`` into your ``diffpy.cmi_env`` environment, type
44+
45+
.. code-block:: bash
46+
47+
pip install diffpy.cmi
48+
49+
Pack and Profile Installation
50+
-----------------------------
51+
52+
Use the `cmi` command-line interface to install and manage modular optional dependencies, known as `packs`,
53+
and to configure or execute user-defined workflows that combine multiple packs with optional post-installation steps,
54+
known as `profiles`. To use `cmi`, you can run the following example commands:
55+
56+
Show available commands and options with,
57+
58+
.. code-block:: bash
59+
60+
cmi -h
61+
62+
List installed and available packs and profiles,
63+
64+
.. code-block:: bash
65+
66+
cmi pack list
67+
cmi profile list
68+
69+
Show details of a specific pack or profile,
70+
71+
.. code-block:: bash
72+
73+
cmi pack show <pack_name>
74+
cmi profile show <profile_name>
75+
76+
Install a pack or profile (by name or path),
77+
78+
.. code-block:: bash
79+
80+
cmi install <pack_name>
81+
cmi install <profile_name>
82+
cmi install </absolute/path/to/profile>
83+
84+
List and get installed examples,
85+
86+
.. code-block:: bash
87+
88+
cmi example list
89+
cmi example (copy) <example_name>
90+
91+
Data and Examples
92+
-----------------
93+
94+
Worked examples and experimental data from the book are freely available at our
95+
`GitHub repository <https://github.com/Billingegroup/pdfttp_data>`_.

_sources/index.rst.txt

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
#######
2+
|title|
3+
#######
4+
5+
.. |title| replace:: diffpy.cmi documentation
6+
| Software version |release|
7+
| Last updated |today|.
8+
9+
``diffpy.cmi`` - Complex modeling infrastructure: a modular framework for multi-modal modeling of scientific data.
10+
11+
diffpy.cmi is designed as an extensible complex modeling infrastructure. Users and developers can readily integrate novel data types and constraints into custom workflows. While widely used for advanced analysis of structural data, the framework is general and can be applied to any problem where model parameters are refined to fit calculated quantities to data.
12+
13+
diffpy.cmi is a community-driven project that supports Unix, Linux, macOS, and Windows platforms. It is designed to be used in Python scripts enabling flexible scripting and automation for advanced and reproducible workflows. Users are encouraged to leverage the software for their modeling needs and to contribute feedback, use cases, and extensions through the project community.
14+
15+
.. image:: ./img/diffpycmi_screenshot.png
16+
:alt: codecov-in-pr-comment
17+
:width: 400px
18+
:align: center
19+
20+
=======================================
21+
Community Use and Extensible Modeling
22+
=======================================
23+
24+
One of the key strengths of ``diffpy.cmi`` is its modular design, which allows the integration and fitting of *any* data type, not just PDFs.
25+
While its current core functionality is in PDF modeling and multi-dataset fitting, **we actively encourage and support community-developed modules and workflows for any data types you see fit!**
26+
27+
.. image:: ./img/cmi_problem_types.png
28+
:alt: codecov-in-pr-comment
29+
:width: 500px
30+
:align: center
31+
32+
Have you built a new workflow you'd like to implement into ``diffpy.cmi``?
33+
We would love to **highlight your extension or application!**
34+
35+
1. **Share your work:** Please `open an issue or a pull request <https://github.com/diffpy/diffpy.cmi>`_ to share your work and help us expand the platform.
36+
2. **Be recognized:** Community contributions and new use cases will be showcased and credited here.
37+
38+
===============
39+
Getting started
40+
===============
41+
42+
To get started, please visit the :ref:`Getting started <getting-started>` page.
43+
44+
=======
45+
Authors
46+
=======
47+
48+
``diffpy.cmi`` is developed by Simon Billinge and members of the Billinge Group. The maintainer for this project is Simon Billinge. For a detailed list of contributors see
49+
https://github.com/diffpy/diffpy.cmi/graphs/contributors.
50+
51+
============
52+
Installation
53+
============
54+
55+
See the `README <https://github.com/diffpy/diffpy.cmi#installation>`_
56+
file included with the distribution.
57+
58+
================
59+
Acknowledgements
60+
================
61+
62+
``diffpy.cmi`` is built and maintained with `scikit-package <https://scikit-package.github.io/scikit-package/>`_.
63+
64+
========
65+
Citation
66+
========
67+
68+
If you use ``diffpy.cmi`` in a scientific publication, we would like you to cite this package as
69+
70+
Juhás, P.; Farrow, C. L.; Yang, X.; Knox, K. R.; Billinge, S. J. L.
71+
Complex Modeling: A Strategy and Software Program for Combining Multiple Information Sources to Solve Ill Posed Structure and Nanostructure Inverse Problems.
72+
*Acta Crystallogr A Found Adv* **2015**, *71* (6), 562–568.
73+
`https://doi.org/10.1107/S2053273315014473 <https://doi.org/10.1107/S2053273315014473>`_
74+
75+
76+
=================
77+
Table of contents
78+
=================
79+
.. toctree::
80+
:maxdepth: 2
81+
82+
getting-started
83+
Tutorials <tutorials/index>
84+
Package API <api/diffpy.cmi>
85+
release
86+
license
87+
88+
=======
89+
Indices
90+
=======
91+
92+
* :ref:`genindex`
93+
* :ref:`search`

_sources/license.rst.txt

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
:tocdepth: -1
2+
3+
.. index:: license
4+
5+
License
6+
#######
7+
8+
OPEN SOURCE LICENSE AGREEMENT
9+
=============================
10+
BSD 3-Clause License
11+
12+
Copyright (c) 2025, The Trustees of Columbia University in the City of New York.
13+
All Rights Reserved.
14+
15+
Redistribution and use in source and binary forms, with or without
16+
modification, are permitted provided that the following conditions are met:
17+
18+
1. Redistributions of source code must retain the above copyright notice, this
19+
list of conditions and the following disclaimer.
20+
21+
2. Redistributions in binary form must reproduce the above copyright notice,
22+
this list of conditions and the following disclaimer in the documentation
23+
and/or other materials provided with the distribution.
24+
25+
3. Neither the name of the copyright holder nor the names of its
26+
contributors may be used to endorse or promote products derived from
27+
this software without specific prior written permission.
28+
29+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
30+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
31+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
32+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
33+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
34+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
35+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
36+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
37+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
38+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

0 commit comments

Comments
 (0)