pdfbl.sequential 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.
- pdfbl_sequential-0.1.0/AUTHORS.rst +10 -0
- pdfbl_sequential-0.1.0/LICENSE.rst +29 -0
- pdfbl_sequential-0.1.0/MANIFEST.in +12 -0
- pdfbl_sequential-0.1.0/PKG-INFO +190 -0
- pdfbl_sequential-0.1.0/README.rst +155 -0
- pdfbl_sequential-0.1.0/pyproject.toml +88 -0
- pdfbl_sequential-0.1.0/requirements/build.txt +0 -0
- pdfbl_sequential-0.1.0/requirements/conda.txt +7 -0
- pdfbl_sequential-0.1.0/requirements/docs.txt +5 -0
- pdfbl_sequential-0.1.0/requirements/pip.txt +6 -0
- pdfbl_sequential-0.1.0/requirements/tests.txt +6 -0
- pdfbl_sequential-0.1.0/setup.cfg +4 -0
- pdfbl_sequential-0.1.0/src/pdfbl/__init__.py +14 -0
- pdfbl_sequential-0.1.0/src/pdfbl/sequential/__init__.py +23 -0
- pdfbl_sequential-0.1.0/src/pdfbl/sequential/pdfadapter.py +470 -0
- pdfbl_sequential-0.1.0/src/pdfbl/sequential/pdfbl_sequential_app.py +25 -0
- pdfbl_sequential-0.1.0/src/pdfbl/sequential/sequential_cmi_runner.py +556 -0
- pdfbl_sequential-0.1.0/src/pdfbl/sequential/version.py +26 -0
- pdfbl_sequential-0.1.0/src/pdfbl.sequential.egg-info/PKG-INFO +190 -0
- pdfbl_sequential-0.1.0/src/pdfbl.sequential.egg-info/SOURCES.txt +29 -0
- pdfbl_sequential-0.1.0/src/pdfbl.sequential.egg-info/dependency_links.txt +1 -0
- pdfbl_sequential-0.1.0/src/pdfbl.sequential.egg-info/entry_points.txt +2 -0
- pdfbl_sequential-0.1.0/src/pdfbl.sequential.egg-info/requires.txt +6 -0
- pdfbl_sequential-0.1.0/src/pdfbl.sequential.egg-info/top_level.txt +1 -0
- pdfbl_sequential-0.1.0/tests/conftest.py +14 -0
- pdfbl_sequential-0.1.0/tests/data/Ni.cif +216 -0
- pdfbl_sequential-0.1.0/tests/data/Ni.gr +6022 -0
- pdfbl_sequential-0.1.0/tests/data/input_data_dir/Ni_PDF_20250923-065606_148a45_300K.gr +10026 -0
- pdfbl_sequential-0.1.0/tests/helper.py +101 -0
- pdfbl_sequential-0.1.0/tests/test_pdfadapter.py +66 -0
- pdfbl_sequential-0.1.0/tests/test_sequential_cmi_runner.py +167 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
BSD 3-Clause License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025, Simon Billinge.
|
|
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,190 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: pdfbl.sequential
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Automated sequential refinements of PDF data
|
|
5
|
+
Author-email: Simon Billinge <sb2896@columbia.edu>
|
|
6
|
+
Maintainer-email: Simon Billinge <sb2896@columbia.edu>
|
|
7
|
+
Project-URL: Homepage, https://github.com/pdf-bl/pdfbl.sequential/
|
|
8
|
+
Project-URL: Issues, https://github.com/pdf-bl/pdfbl.sequential/issues/
|
|
9
|
+
Keywords: diffraction,PDF,X-ray,neutron,nsls-ii
|
|
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
|
+
Requires-Dist: scipy
|
|
30
|
+
Requires-Dist: prompt_toolkit
|
|
31
|
+
Requires-Dist: bg-mpl-stylesheets
|
|
32
|
+
Requires-Dist: psutil
|
|
33
|
+
Requires-Dist: matplotlib
|
|
34
|
+
Dynamic: license-file
|
|
35
|
+
|
|
36
|
+
|Icon| |title|_
|
|
37
|
+
===============
|
|
38
|
+
|
|
39
|
+
.. |title| replace:: pdfbl.sequential
|
|
40
|
+
.. _title: https://pdf-bl.github.io/pdfbl.sequential
|
|
41
|
+
|
|
42
|
+
.. |Icon| image:: https://avatars.githubusercontent.com/pdf-bl
|
|
43
|
+
:target: https://pdf-bl.github.io/pdfbl.sequential
|
|
44
|
+
:height: 100px
|
|
45
|
+
|
|
46
|
+
|PyPI| |Forge| |PythonVersion| |PR|
|
|
47
|
+
|
|
48
|
+
|CI| |Codecov| |Black| |Tracking|
|
|
49
|
+
|
|
50
|
+
.. |Black| image:: https://img.shields.io/badge/code_style-black-black
|
|
51
|
+
:target: https://github.com/psf/black
|
|
52
|
+
|
|
53
|
+
.. |CI| image:: https://github.com/pdf-bl/pdfbl.sequential/actions/workflows/matrix-and-codecov-on-merge-to-main.yml/badge.svg
|
|
54
|
+
:target: https://github.com/pdf-bl/pdfbl.sequential/actions/workflows/matrix-and-codecov-on-merge-to-main.yml
|
|
55
|
+
|
|
56
|
+
.. |Codecov| image:: https://codecov.io/gh/pdf-bl/pdfbl.sequential/branch/main/graph/badge.svg
|
|
57
|
+
:target: https://codecov.io/gh/pdf-bl/pdfbl.sequential
|
|
58
|
+
|
|
59
|
+
.. |Forge| image:: https://img.shields.io/conda/vn/conda-forge/pdfbl.sequential
|
|
60
|
+
:target: https://anaconda.org/conda-forge/pdfbl.sequential
|
|
61
|
+
|
|
62
|
+
.. |PR| image:: https://img.shields.io/badge/PR-Welcome-29ab47ff
|
|
63
|
+
:target: https://github.com/pdf-bl/pdfbl.sequential/pulls
|
|
64
|
+
|
|
65
|
+
.. |PyPI| image:: https://img.shields.io/pypi/v/pdfbl.sequential
|
|
66
|
+
:target: https://pypi.org/project/pdfbl.sequential/
|
|
67
|
+
|
|
68
|
+
.. |PythonVersion| image:: https://img.shields.io/pypi/pyversions/pdfbl.sequential
|
|
69
|
+
:target: https://pypi.org/project/pdfbl.sequential/
|
|
70
|
+
|
|
71
|
+
.. |Tracking| image:: https://img.shields.io/badge/issue_tracking-github-blue
|
|
72
|
+
:target: https://github.com/pdf-bl/pdfbl.sequential/issues
|
|
73
|
+
|
|
74
|
+
Automated sequential refinements of PDF data
|
|
75
|
+
|
|
76
|
+
Scripts for running sequential PDF refinements using diffpy.cmi automatically
|
|
77
|
+
|
|
78
|
+
For more information about the pdfbl.sequential library, please consult our `online documentation <https://pdf-bl.github.io/pdfbl.sequential>`_.
|
|
79
|
+
|
|
80
|
+
Citation
|
|
81
|
+
--------
|
|
82
|
+
|
|
83
|
+
If you use pdfbl.sequential in a scientific publication, we would like you to cite this package as
|
|
84
|
+
|
|
85
|
+
pdfbl.sequential Package, https://github.com/pdf-bl/pdfbl.sequential
|
|
86
|
+
|
|
87
|
+
Installation
|
|
88
|
+
------------
|
|
89
|
+
|
|
90
|
+
The preferred method is to use `Miniconda Python
|
|
91
|
+
<https://docs.conda.io/projects/miniconda/en/latest/miniconda-install.html>`_
|
|
92
|
+
and install from the "conda-forge" channel of Conda packages.
|
|
93
|
+
|
|
94
|
+
To add "conda-forge" to the conda channels, run the following in a terminal. ::
|
|
95
|
+
|
|
96
|
+
conda config --add channels conda-forge
|
|
97
|
+
|
|
98
|
+
We want to install our packages in a suitable conda environment.
|
|
99
|
+
The following creates and activates a new environment named ``pdfbl.sequential_env`` ::
|
|
100
|
+
|
|
101
|
+
conda create -n pdfbl.sequential_env pdfbl.sequential
|
|
102
|
+
conda activate pdfbl.sequential_env
|
|
103
|
+
|
|
104
|
+
The output should print the latest version displayed on the badges above.
|
|
105
|
+
|
|
106
|
+
You can also use ``pip`` to download and install the latest release from
|
|
107
|
+
`Python Package Index <https://pypi.python.org>`_ in your environment.
|
|
108
|
+
But you would still need to install the dependency ``diffpy.cmi`` using
|
|
109
|
+
``conda`` first ::
|
|
110
|
+
|
|
111
|
+
conda install diffpy.cmi
|
|
112
|
+
pip install pdfbl.sequential
|
|
113
|
+
|
|
114
|
+
If you prefer to install from sources, after installing the dependencies, obtain the source archive from
|
|
115
|
+
`GitHub <https://github.com/pdf-bl/pdfbl.sequential/>`_. Once installed, ``cd`` into your ``pdfbl.sequential`` directory
|
|
116
|
+
and run the following ::
|
|
117
|
+
|
|
118
|
+
conda install diffpy.cmi
|
|
119
|
+
pip install .
|
|
120
|
+
|
|
121
|
+
This package also provides command-line utilities. To check the software has been installed correctly, type ::
|
|
122
|
+
|
|
123
|
+
pdfbl.sequential --version
|
|
124
|
+
|
|
125
|
+
You can also type the following command to verify the installation. ::
|
|
126
|
+
|
|
127
|
+
python -c "import pdfbl.sequential; print(pdfbl.sequential.__version__)"
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
To view the basic usage and available commands, type ::
|
|
131
|
+
|
|
132
|
+
pdfbl.sequential -h
|
|
133
|
+
|
|
134
|
+
Examples
|
|
135
|
+
--------
|
|
136
|
+
|
|
137
|
+
To run a temperature sequential refinement, ::
|
|
138
|
+
|
|
139
|
+
from pdfbl.sequential.sequential_cmi_runner import SequentialCMIRunner
|
|
140
|
+
runner = SequentialCMIRunner()
|
|
141
|
+
runner.load_inputs(
|
|
142
|
+
input_data_dir="path/to/inputs",
|
|
143
|
+
output_result_dir="path/to/outputs",
|
|
144
|
+
structure_path="path/to/structure.cif",
|
|
145
|
+
filename_order_pattern=r"(\d+)K\.gr", # regex pattern to extract the temperature from the filename
|
|
146
|
+
)
|
|
147
|
+
runner.run(mode="batch") # or mode="stream" for running sequentially as data becomes available
|
|
148
|
+
|
|
149
|
+
Getting Started
|
|
150
|
+
---------------
|
|
151
|
+
|
|
152
|
+
You may consult our `online documentation <https://pdf-bl.github.io/pdfbl.sequential>`_ for tutorials and API references.
|
|
153
|
+
|
|
154
|
+
Support and Contribute
|
|
155
|
+
----------------------
|
|
156
|
+
|
|
157
|
+
If you see a bug or want to request a feature, please `report it as an issue <https://github.com/pdf-bl/pdfbl.sequential/issues>`_ and/or `submit a fix as a PR <https://github.com/pdf-bl/pdfbl.sequential/pulls>`_.
|
|
158
|
+
|
|
159
|
+
Feel free to fork the project and contribute. To install pdfbl.sequential
|
|
160
|
+
in a development mode, with its sources being directly used by Python
|
|
161
|
+
rather than copied to a package directory, use the following in the root
|
|
162
|
+
directory ::
|
|
163
|
+
|
|
164
|
+
pip install -e .
|
|
165
|
+
|
|
166
|
+
To ensure code quality and to prevent accidental commits into the default branch, please set up the use of our pre-commit
|
|
167
|
+
hooks.
|
|
168
|
+
|
|
169
|
+
1. Install pre-commit in your working environment by running ``conda install pre-commit``.
|
|
170
|
+
|
|
171
|
+
2. Initialize pre-commit (one time only) ``pre-commit install``.
|
|
172
|
+
|
|
173
|
+
Thereafter your code will be linted by black and isort and checked against flake8 before you can commit.
|
|
174
|
+
If it fails by black or isort, just rerun and it should pass (black and isort will modify the files so should
|
|
175
|
+
pass after they are modified). If the flake8 test fails please see the error messages and fix them manually before
|
|
176
|
+
trying to commit again.
|
|
177
|
+
|
|
178
|
+
Improvements and fixes are always appreciated.
|
|
179
|
+
|
|
180
|
+
Before contributing, please read our `Code of Conduct <https://github.com/pdf-bl/pdfbl.sequential/blob/main/CODE-OF-CONDUCT.rst>`_.
|
|
181
|
+
|
|
182
|
+
Contact
|
|
183
|
+
-------
|
|
184
|
+
|
|
185
|
+
For more information on pdfbl.sequential please visit the project `web-page <https://pdf-bl.github.io/>`_ or email Simon Billinge at sb2896@columbia.edu.
|
|
186
|
+
|
|
187
|
+
Acknowledgements
|
|
188
|
+
----------------
|
|
189
|
+
|
|
190
|
+
``pdfbl.sequential`` is built and maintained with `scikit-package <https://scikit-package.github.io/scikit-package/>`_.
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
|Icon| |title|_
|
|
2
|
+
===============
|
|
3
|
+
|
|
4
|
+
.. |title| replace:: pdfbl.sequential
|
|
5
|
+
.. _title: https://pdf-bl.github.io/pdfbl.sequential
|
|
6
|
+
|
|
7
|
+
.. |Icon| image:: https://avatars.githubusercontent.com/pdf-bl
|
|
8
|
+
:target: https://pdf-bl.github.io/pdfbl.sequential
|
|
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/pdf-bl/pdfbl.sequential/actions/workflows/matrix-and-codecov-on-merge-to-main.yml/badge.svg
|
|
19
|
+
:target: https://github.com/pdf-bl/pdfbl.sequential/actions/workflows/matrix-and-codecov-on-merge-to-main.yml
|
|
20
|
+
|
|
21
|
+
.. |Codecov| image:: https://codecov.io/gh/pdf-bl/pdfbl.sequential/branch/main/graph/badge.svg
|
|
22
|
+
:target: https://codecov.io/gh/pdf-bl/pdfbl.sequential
|
|
23
|
+
|
|
24
|
+
.. |Forge| image:: https://img.shields.io/conda/vn/conda-forge/pdfbl.sequential
|
|
25
|
+
:target: https://anaconda.org/conda-forge/pdfbl.sequential
|
|
26
|
+
|
|
27
|
+
.. |PR| image:: https://img.shields.io/badge/PR-Welcome-29ab47ff
|
|
28
|
+
:target: https://github.com/pdf-bl/pdfbl.sequential/pulls
|
|
29
|
+
|
|
30
|
+
.. |PyPI| image:: https://img.shields.io/pypi/v/pdfbl.sequential
|
|
31
|
+
:target: https://pypi.org/project/pdfbl.sequential/
|
|
32
|
+
|
|
33
|
+
.. |PythonVersion| image:: https://img.shields.io/pypi/pyversions/pdfbl.sequential
|
|
34
|
+
:target: https://pypi.org/project/pdfbl.sequential/
|
|
35
|
+
|
|
36
|
+
.. |Tracking| image:: https://img.shields.io/badge/issue_tracking-github-blue
|
|
37
|
+
:target: https://github.com/pdf-bl/pdfbl.sequential/issues
|
|
38
|
+
|
|
39
|
+
Automated sequential refinements of PDF data
|
|
40
|
+
|
|
41
|
+
Scripts for running sequential PDF refinements using diffpy.cmi automatically
|
|
42
|
+
|
|
43
|
+
For more information about the pdfbl.sequential library, please consult our `online documentation <https://pdf-bl.github.io/pdfbl.sequential>`_.
|
|
44
|
+
|
|
45
|
+
Citation
|
|
46
|
+
--------
|
|
47
|
+
|
|
48
|
+
If you use pdfbl.sequential in a scientific publication, we would like you to cite this package as
|
|
49
|
+
|
|
50
|
+
pdfbl.sequential Package, https://github.com/pdf-bl/pdfbl.sequential
|
|
51
|
+
|
|
52
|
+
Installation
|
|
53
|
+
------------
|
|
54
|
+
|
|
55
|
+
The preferred method is to use `Miniconda Python
|
|
56
|
+
<https://docs.conda.io/projects/miniconda/en/latest/miniconda-install.html>`_
|
|
57
|
+
and install from the "conda-forge" channel of Conda packages.
|
|
58
|
+
|
|
59
|
+
To add "conda-forge" to the conda channels, run the following in a terminal. ::
|
|
60
|
+
|
|
61
|
+
conda config --add channels conda-forge
|
|
62
|
+
|
|
63
|
+
We want to install our packages in a suitable conda environment.
|
|
64
|
+
The following creates and activates a new environment named ``pdfbl.sequential_env`` ::
|
|
65
|
+
|
|
66
|
+
conda create -n pdfbl.sequential_env pdfbl.sequential
|
|
67
|
+
conda activate pdfbl.sequential_env
|
|
68
|
+
|
|
69
|
+
The output should print the latest version displayed on the badges above.
|
|
70
|
+
|
|
71
|
+
You can also use ``pip`` to download and install the latest release from
|
|
72
|
+
`Python Package Index <https://pypi.python.org>`_ in your environment.
|
|
73
|
+
But you would still need to install the dependency ``diffpy.cmi`` using
|
|
74
|
+
``conda`` first ::
|
|
75
|
+
|
|
76
|
+
conda install diffpy.cmi
|
|
77
|
+
pip install pdfbl.sequential
|
|
78
|
+
|
|
79
|
+
If you prefer to install from sources, after installing the dependencies, obtain the source archive from
|
|
80
|
+
`GitHub <https://github.com/pdf-bl/pdfbl.sequential/>`_. Once installed, ``cd`` into your ``pdfbl.sequential`` directory
|
|
81
|
+
and run the following ::
|
|
82
|
+
|
|
83
|
+
conda install diffpy.cmi
|
|
84
|
+
pip install .
|
|
85
|
+
|
|
86
|
+
This package also provides command-line utilities. To check the software has been installed correctly, type ::
|
|
87
|
+
|
|
88
|
+
pdfbl.sequential --version
|
|
89
|
+
|
|
90
|
+
You can also type the following command to verify the installation. ::
|
|
91
|
+
|
|
92
|
+
python -c "import pdfbl.sequential; print(pdfbl.sequential.__version__)"
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
To view the basic usage and available commands, type ::
|
|
96
|
+
|
|
97
|
+
pdfbl.sequential -h
|
|
98
|
+
|
|
99
|
+
Examples
|
|
100
|
+
--------
|
|
101
|
+
|
|
102
|
+
To run a temperature sequential refinement, ::
|
|
103
|
+
|
|
104
|
+
from pdfbl.sequential.sequential_cmi_runner import SequentialCMIRunner
|
|
105
|
+
runner = SequentialCMIRunner()
|
|
106
|
+
runner.load_inputs(
|
|
107
|
+
input_data_dir="path/to/inputs",
|
|
108
|
+
output_result_dir="path/to/outputs",
|
|
109
|
+
structure_path="path/to/structure.cif",
|
|
110
|
+
filename_order_pattern=r"(\d+)K\.gr", # regex pattern to extract the temperature from the filename
|
|
111
|
+
)
|
|
112
|
+
runner.run(mode="batch") # or mode="stream" for running sequentially as data becomes available
|
|
113
|
+
|
|
114
|
+
Getting Started
|
|
115
|
+
---------------
|
|
116
|
+
|
|
117
|
+
You may consult our `online documentation <https://pdf-bl.github.io/pdfbl.sequential>`_ for tutorials and API references.
|
|
118
|
+
|
|
119
|
+
Support and Contribute
|
|
120
|
+
----------------------
|
|
121
|
+
|
|
122
|
+
If you see a bug or want to request a feature, please `report it as an issue <https://github.com/pdf-bl/pdfbl.sequential/issues>`_ and/or `submit a fix as a PR <https://github.com/pdf-bl/pdfbl.sequential/pulls>`_.
|
|
123
|
+
|
|
124
|
+
Feel free to fork the project and contribute. To install pdfbl.sequential
|
|
125
|
+
in a development mode, with its sources being directly used by Python
|
|
126
|
+
rather than copied to a package directory, use the following in the root
|
|
127
|
+
directory ::
|
|
128
|
+
|
|
129
|
+
pip install -e .
|
|
130
|
+
|
|
131
|
+
To ensure code quality and to prevent accidental commits into the default branch, please set up the use of our pre-commit
|
|
132
|
+
hooks.
|
|
133
|
+
|
|
134
|
+
1. Install pre-commit in your working environment by running ``conda install pre-commit``.
|
|
135
|
+
|
|
136
|
+
2. Initialize pre-commit (one time only) ``pre-commit install``.
|
|
137
|
+
|
|
138
|
+
Thereafter your code will be linted by black and isort and checked against flake8 before you can commit.
|
|
139
|
+
If it fails by black or isort, just rerun and it should pass (black and isort will modify the files so should
|
|
140
|
+
pass after they are modified). If the flake8 test fails please see the error messages and fix them manually before
|
|
141
|
+
trying to commit again.
|
|
142
|
+
|
|
143
|
+
Improvements and fixes are always appreciated.
|
|
144
|
+
|
|
145
|
+
Before contributing, please read our `Code of Conduct <https://github.com/pdf-bl/pdfbl.sequential/blob/main/CODE-OF-CONDUCT.rst>`_.
|
|
146
|
+
|
|
147
|
+
Contact
|
|
148
|
+
-------
|
|
149
|
+
|
|
150
|
+
For more information on pdfbl.sequential please visit the project `web-page <https://pdf-bl.github.io/>`_ or email Simon Billinge at sb2896@columbia.edu.
|
|
151
|
+
|
|
152
|
+
Acknowledgements
|
|
153
|
+
----------------
|
|
154
|
+
|
|
155
|
+
``pdfbl.sequential`` is built and maintained with `scikit-package <https://scikit-package.github.io/scikit-package/>`_.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=62.0", "setuptools-git-versioning>=2.0"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "pdfbl.sequential"
|
|
7
|
+
dynamic=['version', 'dependencies']
|
|
8
|
+
authors = [
|
|
9
|
+
{ name="Simon Billinge", email="sb2896@columbia.edu" },
|
|
10
|
+
]
|
|
11
|
+
maintainers = [
|
|
12
|
+
{ name="Simon Billinge", email="sb2896@columbia.edu" },
|
|
13
|
+
]
|
|
14
|
+
description = "Automated sequential refinements of PDF data"
|
|
15
|
+
keywords = ['diffraction', 'PDF', 'X-ray', 'neutron', 'nsls-ii']
|
|
16
|
+
readme = "README.rst"
|
|
17
|
+
requires-python = ">=3.11, <3.14"
|
|
18
|
+
classifiers = [
|
|
19
|
+
'Development Status :: 5 - Production/Stable',
|
|
20
|
+
'Environment :: Console',
|
|
21
|
+
'Intended Audience :: Developers',
|
|
22
|
+
'Intended Audience :: Science/Research',
|
|
23
|
+
'License :: OSI Approved :: BSD License',
|
|
24
|
+
'Operating System :: MacOS :: MacOS X',
|
|
25
|
+
'Operating System :: Microsoft :: Windows',
|
|
26
|
+
'Operating System :: POSIX',
|
|
27
|
+
'Operating System :: Unix',
|
|
28
|
+
'Programming Language :: Python :: 3.11',
|
|
29
|
+
'Programming Language :: Python :: 3.12',
|
|
30
|
+
'Programming Language :: Python :: 3.13',
|
|
31
|
+
'Topic :: Scientific/Engineering :: Physics',
|
|
32
|
+
'Topic :: Scientific/Engineering :: Chemistry',
|
|
33
|
+
]
|
|
34
|
+
|
|
35
|
+
[project.urls]
|
|
36
|
+
Homepage = "https://github.com/pdf-bl/pdfbl.sequential/"
|
|
37
|
+
Issues = "https://github.com/pdf-bl/pdfbl.sequential/issues/"
|
|
38
|
+
|
|
39
|
+
[tool.setuptools-git-versioning]
|
|
40
|
+
enabled = true
|
|
41
|
+
template = "{tag}"
|
|
42
|
+
dev_template = "{tag}"
|
|
43
|
+
dirty_template = "{tag}"
|
|
44
|
+
|
|
45
|
+
[tool.setuptools.packages.find]
|
|
46
|
+
where = ["src"] # list of folders that contain the packages (["."] by default)
|
|
47
|
+
include = ["*"] # package names should match these glob patterns (["*"] by default)
|
|
48
|
+
exclude = [] # exclude packages matching these glob patterns (empty by default)
|
|
49
|
+
namespaces = false # to disable scanning PEP 420 namespaces (true by default)
|
|
50
|
+
|
|
51
|
+
[project.scripts]
|
|
52
|
+
pdfbl-sequential = "pdfbl.sequential.pdfbl_sequential_app:main"
|
|
53
|
+
|
|
54
|
+
[tool.setuptools.dynamic]
|
|
55
|
+
dependencies = {file = ["requirements/pip.txt"]}
|
|
56
|
+
|
|
57
|
+
[tool.codespell]
|
|
58
|
+
exclude-file = ".codespell/ignore_lines.txt"
|
|
59
|
+
ignore-words = ".codespell/ignore_words.txt"
|
|
60
|
+
skip = "*.cif,*.dat"
|
|
61
|
+
|
|
62
|
+
[tool.docformatter]
|
|
63
|
+
recursive = true
|
|
64
|
+
wrap-summaries = 72
|
|
65
|
+
wrap-descriptions = 72
|
|
66
|
+
|
|
67
|
+
[tool.black]
|
|
68
|
+
line-length = 79
|
|
69
|
+
include = '\.pyi?$'
|
|
70
|
+
exclude = '''
|
|
71
|
+
/(
|
|
72
|
+
\.git
|
|
73
|
+
| \.hg
|
|
74
|
+
| \.mypy_cache
|
|
75
|
+
| \.tox
|
|
76
|
+
| \.venv
|
|
77
|
+
| \.rst
|
|
78
|
+
| \.txt
|
|
79
|
+
| _build
|
|
80
|
+
| buck-out
|
|
81
|
+
| build
|
|
82
|
+
| dist
|
|
83
|
+
|
|
84
|
+
# The following are specific to Black, you probably don't want those.
|
|
85
|
+
| blib2to3
|
|
86
|
+
| tests/data
|
|
87
|
+
)/
|
|
88
|
+
'''
|
|
File without changes
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env python
|
|
2
|
+
##############################################################################
|
|
3
|
+
#
|
|
4
|
+
# (c) 2025 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/pdf-bl/pdfbl.sequential/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) 2025 Simon Billinge.
|
|
5
|
+
# All rights reserved.
|
|
6
|
+
#
|
|
7
|
+
# File coded by: members of the Billinge Group and PDF beamline at NSLS-II.
|
|
8
|
+
#
|
|
9
|
+
# See GitHub contributions for a more detailed list of contributors.
|
|
10
|
+
# https://github.com/pdf-bl/pdfbl.sequential/graphs/contributors
|
|
11
|
+
#
|
|
12
|
+
# See LICENSE.rst for license information.
|
|
13
|
+
#
|
|
14
|
+
##############################################################################
|
|
15
|
+
"""Automated sequential refinements of PDF data."""
|
|
16
|
+
|
|
17
|
+
# package version
|
|
18
|
+
from pdfbl.sequential.version import __version__ # noqa
|
|
19
|
+
|
|
20
|
+
# silence the pyflakes syntax checker
|
|
21
|
+
assert __version__ or True
|
|
22
|
+
|
|
23
|
+
# End of file
|