diffpy.labpdfproc 0.2.0rc0__tar.gz → 0.3.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.
Files changed (55) hide show
  1. diffpy_labpdfproc-0.3.0rc0/.codecov.yml +14 -0
  2. {diffpy_labpdfproc-0.2.0rc0 → diffpy_labpdfproc-0.3.0rc0}/.flake8 +4 -2
  3. diffpy_labpdfproc-0.3.0rc0/.isort.cfg +5 -0
  4. diffpy_labpdfproc-0.3.0rc0/.pre-commit-config.yaml +66 -0
  5. diffpy_labpdfproc-0.3.0rc0/.readthedocs.yaml +13 -0
  6. {diffpy_labpdfproc-0.2.0rc0 → diffpy_labpdfproc-0.3.0rc0}/AUTHORS.rst +1 -1
  7. {diffpy_labpdfproc-0.2.0rc0 → diffpy_labpdfproc-0.3.0rc0}/CHANGELOG.rst +13 -1
  8. diffpy_labpdfproc-0.2.0rc0/CODE_OF_CONDUCT.rst → diffpy_labpdfproc-0.3.0rc0/CODE-OF-CONDUCT.rst +2 -2
  9. {diffpy_labpdfproc-0.2.0rc0 → diffpy_labpdfproc-0.3.0rc0}/LICENSE.rst +4 -2
  10. {diffpy_labpdfproc-0.2.0rc0 → diffpy_labpdfproc-0.3.0rc0}/PKG-INFO +40 -41
  11. {diffpy_labpdfproc-0.2.0rc0 → diffpy_labpdfproc-0.3.0rc0}/README.rst +31 -34
  12. diffpy_labpdfproc-0.3.0rc0/cookiecutter.json +20 -0
  13. {diffpy_labpdfproc-0.2.0rc0 → diffpy_labpdfproc-0.3.0rc0}/pyproject.toml +22 -6
  14. {diffpy_labpdfproc-0.2.0rc0 → diffpy_labpdfproc-0.3.0rc0}/requirements/conda.txt +1 -0
  15. {diffpy_labpdfproc-0.2.0rc0 → diffpy_labpdfproc-0.3.0rc0}/requirements/docs.txt +2 -1
  16. {diffpy_labpdfproc-0.2.0rc0 → diffpy_labpdfproc-0.3.0rc0}/requirements/pip.txt +1 -0
  17. {diffpy_labpdfproc-0.2.0rc0 → diffpy_labpdfproc-0.3.0rc0}/src/diffpy/__init__.py +6 -11
  18. {diffpy_labpdfproc-0.2.0rc0 → diffpy_labpdfproc-0.3.0rc0}/src/diffpy/labpdfproc/__init__.py +8 -4
  19. diffpy_labpdfproc-0.3.0rc0/src/diffpy/labpdfproc/data/coefficient_list.csv +7 -0
  20. diffpy_labpdfproc-0.3.0rc0/src/diffpy/labpdfproc/functions.py +307 -0
  21. diffpy_labpdfproc-0.3.0rc0/src/diffpy/labpdfproc/labpdfprocapp.py +327 -0
  22. diffpy_labpdfproc-0.3.0rc0/src/diffpy/labpdfproc/tools.py +582 -0
  23. {diffpy_labpdfproc-0.2.0rc0 → diffpy_labpdfproc-0.3.0rc0}/src/diffpy/labpdfproc/version.py +11 -7
  24. {diffpy_labpdfproc-0.2.0rc0 → diffpy_labpdfproc-0.3.0rc0}/src/diffpy.labpdfproc.egg-info/PKG-INFO +40 -41
  25. {diffpy_labpdfproc-0.2.0rc0 → diffpy_labpdfproc-0.3.0rc0}/src/diffpy.labpdfproc.egg-info/SOURCES.txt +4 -7
  26. {diffpy_labpdfproc-0.2.0rc0 → diffpy_labpdfproc-0.3.0rc0}/src/diffpy.labpdfproc.egg-info/requires.txt +1 -0
  27. {diffpy_labpdfproc-0.2.0rc0 → diffpy_labpdfproc-0.3.0rc0}/tests/conftest.py +19 -4
  28. diffpy_labpdfproc-0.3.0rc0/tests/test_fixtures.py +18 -0
  29. diffpy_labpdfproc-0.3.0rc0/tests/test_functions.py +222 -0
  30. diffpy_labpdfproc-0.3.0rc0/tests/test_tools.py +849 -0
  31. {diffpy_labpdfproc-0.2.0rc0 → diffpy_labpdfproc-0.3.0rc0}/tests/test_version.py +3 -3
  32. diffpy_labpdfproc-0.2.0rc0/.codecov.yml +0 -34
  33. diffpy_labpdfproc-0.2.0rc0/.coveragerc +0 -13
  34. diffpy_labpdfproc-0.2.0rc0/.isort.cfg +0 -4
  35. diffpy_labpdfproc-0.2.0rc0/.pre-commit-config.yaml +0 -46
  36. diffpy_labpdfproc-0.2.0rc0/requirements/README.txt +0 -11
  37. diffpy_labpdfproc-0.2.0rc0/requirements/requirements-dev.txt +0 -20
  38. diffpy_labpdfproc-0.2.0rc0/src/diffpy/labpdfproc/data/coefficient_list.csv +0 -5
  39. diffpy_labpdfproc-0.2.0rc0/src/diffpy/labpdfproc/functions.py +0 -304
  40. diffpy_labpdfproc-0.2.0rc0/src/diffpy/labpdfproc/labpdfprocapp.py +0 -179
  41. diffpy_labpdfproc-0.2.0rc0/src/diffpy/labpdfproc/mud_calculator.py +0 -100
  42. diffpy_labpdfproc-0.2.0rc0/src/diffpy/labpdfproc/tools.py +0 -284
  43. diffpy_labpdfproc-0.2.0rc0/tests/test_fixtures.py +0 -18
  44. diffpy_labpdfproc-0.2.0rc0/tests/test_functions.py +0 -128
  45. diffpy_labpdfproc-0.2.0rc0/tests/test_mud_calculator.py +0 -22
  46. diffpy_labpdfproc-0.2.0rc0/tests/test_tools.py +0 -349
  47. {diffpy_labpdfproc-0.2.0rc0 → diffpy_labpdfproc-0.3.0rc0}/MANIFEST.in +0 -0
  48. {diffpy_labpdfproc-0.2.0rc0 → diffpy_labpdfproc-0.3.0rc0}/environment.yml +0 -0
  49. {diffpy_labpdfproc-0.2.0rc0 → diffpy_labpdfproc-0.3.0rc0}/requirements/build.txt +0 -0
  50. /diffpy_labpdfproc-0.2.0rc0/requirements/test.txt → /diffpy_labpdfproc-0.3.0rc0/requirements/tests.txt +0 -0
  51. {diffpy_labpdfproc-0.2.0rc0 → diffpy_labpdfproc-0.3.0rc0}/setup.cfg +0 -0
  52. {diffpy_labpdfproc-0.2.0rc0 → diffpy_labpdfproc-0.3.0rc0}/src/diffpy/labpdfproc/data/inverse_cve.xy +0 -0
  53. {diffpy_labpdfproc-0.2.0rc0 → diffpy_labpdfproc-0.3.0rc0}/src/diffpy.labpdfproc.egg-info/dependency_links.txt +0 -0
  54. {diffpy_labpdfproc-0.2.0rc0 → diffpy_labpdfproc-0.3.0rc0}/src/diffpy.labpdfproc.egg-info/entry_points.txt +0 -0
  55. {diffpy_labpdfproc-0.2.0rc0 → diffpy_labpdfproc-0.3.0rc0}/src/diffpy.labpdfproc.egg-info/top_level.txt +0 -0
@@ -0,0 +1,14 @@
1
+ coverage:
2
+ status:
3
+ project: # more options at https://docs.codecov.com/docs/commit-status
4
+ default:
5
+ target: auto # use the coverage from the base commit, fail if coverage is lower
6
+ threshold: 0% # allow the coverage to drop by
7
+
8
+ comment:
9
+ layout: " diff, flags, files"
10
+ behavior: default
11
+ require_changes: false
12
+ require_base: false # [true :: must have a base report to post]
13
+ require_head: false # [true :: must have a head report to post]
14
+ hide_project_coverage: false # [true :: only show coverage on the git diff aka patch coverage]
@@ -1,11 +1,13 @@
1
+ # As of now, flake8 does not natively support configuration via pyproject.toml
2
+ # https://github.com/microsoft/vscode-flake8/issues/135
1
3
  [flake8]
2
4
  exclude =
3
5
  .git,
4
6
  __pycache__,
5
7
  build,
6
8
  dist,
7
- doc/source/conf.py
8
- max-line-length = 115
9
+ docs/source/conf.py
10
+ max-line-length = 79
9
11
  # Ignore some style 'errors' produced while formatting by 'black'
10
12
  # https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html#labels-why-pycodestyle-warnings
11
13
  extend-ignore = E203
@@ -0,0 +1,5 @@
1
+ [settings]
2
+ # Keep import statement below line_length character limit
3
+ line_length = 79
4
+ multi_line_output = 3
5
+ include_trailing_comma = True
@@ -0,0 +1,66 @@
1
+ default_language_version:
2
+ python: python3
3
+ ci:
4
+ autofix_commit_msg: |
5
+ [pre-commit.ci] auto fixes from pre-commit hooks
6
+ autofix_prs: true
7
+ autoupdate_branch: "pre-commit-autoupdate"
8
+ autoupdate_commit_msg: "[pre-commit.ci] pre-commit autoupdate"
9
+ autoupdate_schedule: monthly
10
+ skip: [no-commit-to-branch]
11
+ submodules: false
12
+ repos:
13
+ - repo: https://github.com/pre-commit/pre-commit-hooks
14
+ rev: v4.6.0
15
+ hooks:
16
+ - id: check-yaml
17
+ - id: end-of-file-fixer
18
+ - id: trailing-whitespace
19
+ - id: check-case-conflict
20
+ - id: check-merge-conflict
21
+ - id: check-toml
22
+ - id: check-added-large-files
23
+ - repo: https://github.com/psf/black
24
+ rev: 24.4.2
25
+ hooks:
26
+ - id: black
27
+ - repo: https://github.com/pycqa/flake8
28
+ rev: 7.0.0
29
+ hooks:
30
+ - id: flake8
31
+ - repo: https://github.com/pycqa/isort
32
+ rev: 5.13.2
33
+ hooks:
34
+ - id: isort
35
+ args: ["--profile", "black"]
36
+ - repo: https://github.com/kynan/nbstripout
37
+ rev: 0.7.1
38
+ hooks:
39
+ - id: nbstripout
40
+ - repo: https://github.com/pre-commit/pre-commit-hooks
41
+ rev: v4.4.0
42
+ hooks:
43
+ - id: no-commit-to-branch
44
+ name: Prevent Commit to Main Branch
45
+ args: ["--branch", "main"]
46
+ stages: [pre-commit]
47
+ - repo: https://github.com/codespell-project/codespell
48
+ rev: v2.3.0
49
+ hooks:
50
+ - id: codespell
51
+ additional_dependencies:
52
+ - tomli
53
+ # prettier - multi formatter for .json, .yml, and .md files
54
+ - repo: https://github.com/pre-commit/mirrors-prettier
55
+ rev: f12edd9c7be1c20cfa42420fd0e6df71e42b51ea # frozen: v4.0.0-alpha.8
56
+ hooks:
57
+ - id: prettier
58
+ additional_dependencies:
59
+ - "prettier@^3.2.4"
60
+ # docformatter - PEP 257 compliant docstring formatter
61
+ - repo: https://github.com/s-weigand/docformatter
62
+ rev: 5757c5190d95e5449f102ace83df92e7d3b06c6c
63
+ hooks:
64
+ - id: docformatter
65
+ additional_dependencies: [tomli]
66
+ args: [--in-place, --config, ./pyproject.toml]
@@ -0,0 +1,13 @@
1
+ version: 2
2
+
3
+ build:
4
+ os: "ubuntu-22.04"
5
+ tools:
6
+ python: "latest"
7
+
8
+ python:
9
+ install:
10
+ - requirements: requirements/docs.txt
11
+
12
+ sphinx:
13
+ configuration: docs/source/conf.py
@@ -1,7 +1,7 @@
1
1
  Authors
2
2
  =======
3
3
 
4
- Billinge Group and community contributors.
4
+ Yucong Chen, Till Schertenleib, Caden Myers, Billinge Group members
5
5
 
6
6
  Contributors
7
7
  ------------
@@ -1,9 +1,21 @@
1
1
  =============
2
- Release Notes
2
+ Release notes
3
3
  =============
4
4
 
5
5
  .. current developments
6
6
 
7
+ 0.2.0
8
+ =====
9
+
10
+ **Added:**
11
+
12
+ * Support for Python 3.13
13
+
14
+ **Removed:**
15
+
16
+ * Support for Python 3.10
17
+
18
+
7
19
  0.1.3
8
20
  =====
9
21
 
@@ -8,7 +8,7 @@ Our Pledge
8
8
  We as members, contributors, and leaders pledge to make participation in our
9
9
  community a harassment-free experience for everyone, regardless of age, body
10
10
  size, visible or invisible disability, ethnicity, sex characteristics, gender
11
- identity and expression, level of experience, education, socio-economic status,
11
+ identity and expression, level of experience, education, socioeconomic status,
12
12
  nationality, personal appearance, race, caste, color, religion, or sexual
13
13
  identity and orientation.
14
14
 
@@ -67,7 +67,7 @@ Enforcement
67
67
 
68
68
  Instances of abusive, harassing, or otherwise unacceptable behavior may be
69
69
  reported to the community leaders responsible for enforcement at
70
- sb2896@columbia.edu. All complaints will be reviewed and investigated promptly and fairly.
70
+ sbillinge@ucsb.edu. All complaints will be reviewed and investigated promptly and fairly.
71
71
 
72
72
  All community leaders are obligated to respect the privacy and security of the
73
73
  reporter of any incident.
@@ -1,7 +1,9 @@
1
1
  BSD 3-Clause License
2
2
 
3
- Copyright (c) 2024, The Trustees of Columbia University
4
- in the City of New York.
3
+ Copyright (c) 2025-2026, The Trustees of Columbia University in the City of New York.
4
+ All rights reserved.
5
+
6
+ Copyright (c) 2026-present, diffpy.labpdfproc developers and contributors.
5
7
  All rights reserved.
6
8
 
7
9
  Redistribution and use in source and binary forms, with or without
@@ -1,12 +1,12 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: diffpy.labpdfproc
3
- Version: 0.2.0rc0
3
+ Version: 0.3.0rc0
4
4
  Summary: Tools for processing x-ray powder diffraction data from laboratory sources.
5
- Author-email: "Simon J.L. Billinge group" <simon.billinge@gmail.com>
6
- Maintainer-email: "Simon J.L. Billinge group" <simon.billinge@gmail.com>
5
+ Author-email: Yucong Chen <yc4372@columbia.edu>, Till Schertenleib <ts@chem.ku.dk>, Caden Myers <cjm2304@columbia.edu>, Simon Billinge <sbillinge@ucsb.edu>
6
+ Maintainer-email: Simon Billinge <sbillinge@ucsb.edu>
7
7
  Project-URL: Homepage, https://github.com/diffpy/diffpy.labpdfproc/
8
8
  Project-URL: Issues, https://github.com/diffpy/diffpy.labpdfproc/issues/
9
- Keywords: powder xrd,absorption correction,pdf,diffpy
9
+ Keywords: powder XRD,absorption correction,PDF,diffpy
10
10
  Classifier: Development Status :: 5 - Production/Stable
11
11
  Classifier: Environment :: Console
12
12
  Classifier: Intended Audience :: Developers
@@ -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: AUTHORS.rst
@@ -29,6 +29,8 @@ Requires-Dist: numpy
29
29
  Requires-Dist: diffpy.utils
30
30
  Requires-Dist: pandas
31
31
  Requires-Dist: scipy
32
+ Requires-Dist: gooey
33
+ Dynamic: license-file
32
34
 
33
35
  |Icon| |title|_
34
36
  ===============
@@ -40,7 +42,7 @@ Requires-Dist: scipy
40
42
  :target: https://diffpy.github.io/diffpy.labpdfproc
41
43
  :height: 100px
42
44
 
43
- |PyPi| |Forge| |PythonVersion| |PR|
45
+ |PyPI| |Forge| |PythonVersion| |PR|
44
46
 
45
47
  |CI| |Codecov| |Black| |Tracking|
46
48
 
@@ -57,8 +59,9 @@ Requires-Dist: scipy
57
59
  :target: https://anaconda.org/conda-forge/diffpy.labpdfproc
58
60
 
59
61
  .. |PR| image:: https://img.shields.io/badge/PR-Welcome-29ab47ff
62
+ :target: https://github.com/diffpy/diffpy.labpdfproc/pulls
60
63
 
61
- .. |PyPi| image:: https://img.shields.io/pypi/v/diffpy.labpdfproc
64
+ .. |PyPI| image:: https://img.shields.io/pypi/v/diffpy.labpdfproc
62
65
  :target: https://pypi.org/project/diffpy.labpdfproc/
63
66
 
64
67
  .. |PythonVersion| image:: https://img.shields.io/pypi/pyversions/diffpy.labpdfproc
@@ -80,17 +83,19 @@ which is the most common geometry for lab PDF measurements.
80
83
 
81
84
  The theory is described in the following paper:
82
85
 
83
- An ad hoc Absorption Correction for Reliable
84
- Pair-Distribution Functions from Low Energy x-ray Sources,
85
- Yucong Chen, Till Schertenleib, Andrew Yang, Pascal Schouwink,
86
- Wendy L. Queen and Simon J. L. Billinge, in preparation.
86
+ Chen, Y., Schertenleib, T., Yang, A., Schouwink, P., Queen, W. L., and Billinge, S. J. L.,
87
+ *Absorption Correction for Reliable Pair Distribution Functions from Low Energy X-ray Sources*.
88
+ Crystal Growth & Design, 2026, 26 (3), 1036–1047.
89
+ https://doi.org/10.1021/acs.cgd.5c00551
90
+
87
91
 
88
92
  The related experimental data acquisition protocols are described in the following paper:
89
93
 
90
- Protocols for Obtaining Reliable PDFs from Laboratory
91
- x-ray Sources Using PDFgetX3,
92
- Till Schertenleib, Daniel Schmuckler, Yucong Chen, Geng Bang Jin,
93
- Wendy L. Queen and Simon J. L. Billinge, in preparation.
94
+ Schertenleib, T., Schmuckler, D., Chen, Y., Jin, G. B., Queen, W. L., and Billinge, S. J. L. (2025).
95
+ *Testing Protocols for Obtaining Reliable Pair Distribution Functions from Laboratory X-Ray Sources Using PDFgetX3*.
96
+ Chem. Methods, 2500001.
97
+ https://doi.org/10.1002/cmtd.202500001
98
+
94
99
 
95
100
  For more information about the diffpy.labpdfproc library, please consult our `online documentation <https://diffpy.github.io/diffpy.labpdfproc>`_.
96
101
 
@@ -99,7 +104,10 @@ Citation
99
104
 
100
105
  If you use diffpy.labpdfproc in a scientific publication, we would like you to cite this package as
101
106
 
102
- diffpy.labpdfproc Package, https://github.com/diffpy/diffpy.labpdfproc
107
+ Chen, Y., Schertenleib, T., Yang, A., Schouwink, P., Queen, W. L., and Billinge, S. J. L.,
108
+ *Absorption Correction for Reliable Pair Distribution Functions from Low Energy X-ray Sources*.
109
+ Crystal Growth & Design, 2026, 26 (3), 1036–1047.
110
+ https://doi.org/10.1021/acs.cgd.5c00551
103
111
 
104
112
  Installation
105
113
  ------------
@@ -118,10 +126,6 @@ The following creates and activates a new environment named ``diffpy.labpdfproc_
118
126
  conda create -n diffpy.labpdfproc_env diffpy.labpdfproc
119
127
  conda activate diffpy.labpdfproc_env
120
128
 
121
- To confirm that the installation was successful, type ::
122
-
123
- python -c "import diffpy.labpdfproc; print(diffpy.labpdfproc.__version__)"
124
-
125
129
  The output should print the latest version displayed on the badges above.
126
130
 
127
131
  If the above does not work, you can use ``pip`` to download and install the latest release from
@@ -136,26 +140,18 @@ and run the following ::
136
140
 
137
141
  pip install .
138
142
 
139
- Example
140
- -------
143
+ This package also provides command-line utilities. To check the software has been installed correctly, type ::
141
144
 
142
- Navigate to the directory that contains 1D diffraction patterns that you would like to process.
143
- Activate the conda environment (`conda activate diffpy.labpdfproc_env`) that contains the package and run the following command ::
145
+ labpdfproc --version
144
146
 
145
- labpdfproc <muD> <path/to/inputfile.txt>
147
+ You can also type the following command to verify the installation. ::
146
148
 
147
- Here replace <muD> with the value of muD for your sample
148
- and <path/to/inputfile.txt> with the path and filename of your input file.
149
- For example, if the uncorrected data case is called zro2_mo.xy and is in the current directory
150
- and it has a muD of 2.5 then the command would be ::
151
-
152
- labpdfproc 2.5 zro2_mo.xy
149
+ python -c "import diffpy.labpdfproc; print(diffpy.labpdfproc.__version__)"
153
150
 
154
- Please type ::
155
151
 
156
- labpdfproc --help
152
+ To view the basic usage and available commands, type ::
157
153
 
158
- for more information on the available options.
154
+ labpdfproc -h
159
155
 
160
156
  Getting Started
161
157
  ---------------
@@ -165,9 +161,7 @@ You may consult our `online documentation <https://diffpy.github.io/diffpy.labpd
165
161
  Support and Contribute
166
162
  ----------------------
167
163
 
168
- `Diffpy user group <https://groups.google.com/g/diffpy-users>`_ is the discussion forum for general questions and discussions about the use of diffpy.labpdfproc. Please join the diffpy.labpdfproc users community by joining the Google group. The diffpy.labpdfproc project welcomes your expertise and enthusiasm!
169
-
170
- If you see a bug or want to request a feature, please `report it as an issue <https://github.com/diffpy/diffpy.labpdfproc/issues>`_ and/or `submit a fix as a PR <https://github.com/diffpy/diffpy.labpdfproc/pulls>`_. You can also post it to the `Diffpy user group <https://groups.google.com/g/diffpy-users>`_.
164
+ If you see a bug or want to request a feature, please `report it as an issue <https://github.com/diffpy/diffpy.labpdfproc/issues>`_ and/or `submit a fix as a PR <https://github.com/diffpy/diffpy.labpdfproc/pulls>`_.
171
165
 
172
166
  Feel free to fork the project and contribute. To install diffpy.labpdfproc
173
167
  in a development mode, with its sources being directly used by Python
@@ -190,9 +184,14 @@ trying to commit again.
190
184
 
191
185
  Improvements and fixes are always appreciated.
192
186
 
193
- Before contributing, please read our `Code of Conduct <https://github.com/diffpy/diffpy.labpdfproc/blob/main/CODE_OF_CONDUCT.rst>`_.
187
+ Before contributing, please read our `Code of Conduct <https://github.com/diffpy/diffpy.labpdfproc/blob/main/CODE-OF-CONDUCT.rst>`_.
194
188
 
195
189
  Contact
196
190
  -------
197
191
 
198
- For more information on diffpy.labpdfproc please visit the project `web-page <https://diffpy.github.io/>`_ or email Prof. Simon Billinge at sb2896@columbia.edu.
192
+ For more information on diffpy.labpdfproc please visit the project `web-page <https://diffpy.github.io/>`_ or email the maintainers ``Simon Billinge(sbillinge@ucsb.edu)``.
193
+
194
+ Acknowledgements
195
+ ----------------
196
+
197
+ ``diffpy.labpdfproc`` is built and maintained with `scikit-package <https://scikit-package.github.io/scikit-package/>`_.
@@ -8,7 +8,7 @@
8
8
  :target: https://diffpy.github.io/diffpy.labpdfproc
9
9
  :height: 100px
10
10
 
11
- |PyPi| |Forge| |PythonVersion| |PR|
11
+ |PyPI| |Forge| |PythonVersion| |PR|
12
12
 
13
13
  |CI| |Codecov| |Black| |Tracking|
14
14
 
@@ -25,8 +25,9 @@
25
25
  :target: https://anaconda.org/conda-forge/diffpy.labpdfproc
26
26
 
27
27
  .. |PR| image:: https://img.shields.io/badge/PR-Welcome-29ab47ff
28
+ :target: https://github.com/diffpy/diffpy.labpdfproc/pulls
28
29
 
29
- .. |PyPi| image:: https://img.shields.io/pypi/v/diffpy.labpdfproc
30
+ .. |PyPI| image:: https://img.shields.io/pypi/v/diffpy.labpdfproc
30
31
  :target: https://pypi.org/project/diffpy.labpdfproc/
31
32
 
32
33
  .. |PythonVersion| image:: https://img.shields.io/pypi/pyversions/diffpy.labpdfproc
@@ -48,17 +49,19 @@ which is the most common geometry for lab PDF measurements.
48
49
 
49
50
  The theory is described in the following paper:
50
51
 
51
- An ad hoc Absorption Correction for Reliable
52
- Pair-Distribution Functions from Low Energy x-ray Sources,
53
- Yucong Chen, Till Schertenleib, Andrew Yang, Pascal Schouwink,
54
- Wendy L. Queen and Simon J. L. Billinge, in preparation.
52
+ Chen, Y., Schertenleib, T., Yang, A., Schouwink, P., Queen, W. L., and Billinge, S. J. L.,
53
+ *Absorption Correction for Reliable Pair Distribution Functions from Low Energy X-ray Sources*.
54
+ Crystal Growth & Design, 2026, 26 (3), 1036–1047.
55
+ https://doi.org/10.1021/acs.cgd.5c00551
56
+
55
57
 
56
58
  The related experimental data acquisition protocols are described in the following paper:
57
59
 
58
- Protocols for Obtaining Reliable PDFs from Laboratory
59
- x-ray Sources Using PDFgetX3,
60
- Till Schertenleib, Daniel Schmuckler, Yucong Chen, Geng Bang Jin,
61
- Wendy L. Queen and Simon J. L. Billinge, in preparation.
60
+ Schertenleib, T., Schmuckler, D., Chen, Y., Jin, G. B., Queen, W. L., and Billinge, S. J. L. (2025).
61
+ *Testing Protocols for Obtaining Reliable Pair Distribution Functions from Laboratory X-Ray Sources Using PDFgetX3*.
62
+ Chem. Methods, 2500001.
63
+ https://doi.org/10.1002/cmtd.202500001
64
+
62
65
 
63
66
  For more information about the diffpy.labpdfproc library, please consult our `online documentation <https://diffpy.github.io/diffpy.labpdfproc>`_.
64
67
 
@@ -67,7 +70,10 @@ Citation
67
70
 
68
71
  If you use diffpy.labpdfproc in a scientific publication, we would like you to cite this package as
69
72
 
70
- diffpy.labpdfproc Package, https://github.com/diffpy/diffpy.labpdfproc
73
+ Chen, Y., Schertenleib, T., Yang, A., Schouwink, P., Queen, W. L., and Billinge, S. J. L.,
74
+ *Absorption Correction for Reliable Pair Distribution Functions from Low Energy X-ray Sources*.
75
+ Crystal Growth & Design, 2026, 26 (3), 1036–1047.
76
+ https://doi.org/10.1021/acs.cgd.5c00551
71
77
 
72
78
  Installation
73
79
  ------------
@@ -86,10 +92,6 @@ The following creates and activates a new environment named ``diffpy.labpdfproc_
86
92
  conda create -n diffpy.labpdfproc_env diffpy.labpdfproc
87
93
  conda activate diffpy.labpdfproc_env
88
94
 
89
- To confirm that the installation was successful, type ::
90
-
91
- python -c "import diffpy.labpdfproc; print(diffpy.labpdfproc.__version__)"
92
-
93
95
  The output should print the latest version displayed on the badges above.
94
96
 
95
97
  If the above does not work, you can use ``pip`` to download and install the latest release from
@@ -104,26 +106,18 @@ and run the following ::
104
106
 
105
107
  pip install .
106
108
 
107
- Example
108
- -------
109
+ This package also provides command-line utilities. To check the software has been installed correctly, type ::
109
110
 
110
- Navigate to the directory that contains 1D diffraction patterns that you would like to process.
111
- Activate the conda environment (`conda activate diffpy.labpdfproc_env`) that contains the package and run the following command ::
111
+ labpdfproc --version
112
112
 
113
- labpdfproc <muD> <path/to/inputfile.txt>
113
+ You can also type the following command to verify the installation. ::
114
114
 
115
- Here replace <muD> with the value of muD for your sample
116
- and <path/to/inputfile.txt> with the path and filename of your input file.
117
- For example, if the uncorrected data case is called zro2_mo.xy and is in the current directory
118
- and it has a muD of 2.5 then the command would be ::
119
-
120
- labpdfproc 2.5 zro2_mo.xy
115
+ python -c "import diffpy.labpdfproc; print(diffpy.labpdfproc.__version__)"
121
116
 
122
- Please type ::
123
117
 
124
- labpdfproc --help
118
+ To view the basic usage and available commands, type ::
125
119
 
126
- for more information on the available options.
120
+ labpdfproc -h
127
121
 
128
122
  Getting Started
129
123
  ---------------
@@ -133,9 +127,7 @@ You may consult our `online documentation <https://diffpy.github.io/diffpy.labpd
133
127
  Support and Contribute
134
128
  ----------------------
135
129
 
136
- `Diffpy user group <https://groups.google.com/g/diffpy-users>`_ is the discussion forum for general questions and discussions about the use of diffpy.labpdfproc. Please join the diffpy.labpdfproc users community by joining the Google group. The diffpy.labpdfproc project welcomes your expertise and enthusiasm!
137
-
138
- If you see a bug or want to request a feature, please `report it as an issue <https://github.com/diffpy/diffpy.labpdfproc/issues>`_ and/or `submit a fix as a PR <https://github.com/diffpy/diffpy.labpdfproc/pulls>`_. You can also post it to the `Diffpy user group <https://groups.google.com/g/diffpy-users>`_.
130
+ If you see a bug or want to request a feature, please `report it as an issue <https://github.com/diffpy/diffpy.labpdfproc/issues>`_ and/or `submit a fix as a PR <https://github.com/diffpy/diffpy.labpdfproc/pulls>`_.
139
131
 
140
132
  Feel free to fork the project and contribute. To install diffpy.labpdfproc
141
133
  in a development mode, with its sources being directly used by Python
@@ -158,9 +150,14 @@ trying to commit again.
158
150
 
159
151
  Improvements and fixes are always appreciated.
160
152
 
161
- Before contributing, please read our `Code of Conduct <https://github.com/diffpy/diffpy.labpdfproc/blob/main/CODE_OF_CONDUCT.rst>`_.
153
+ Before contributing, please read our `Code of Conduct <https://github.com/diffpy/diffpy.labpdfproc/blob/main/CODE-OF-CONDUCT.rst>`_.
162
154
 
163
155
  Contact
164
156
  -------
165
157
 
166
- For more information on diffpy.labpdfproc please visit the project `web-page <https://diffpy.github.io/>`_ or email Prof. Simon Billinge at sb2896@columbia.edu.
158
+ For more information on diffpy.labpdfproc please visit the project `web-page <https://diffpy.github.io/>`_ or email the maintainers ``Simon Billinge(sbillinge@ucsb.edu)``.
159
+
160
+ Acknowledgements
161
+ ----------------
162
+
163
+ ``diffpy.labpdfproc`` is built and maintained with `scikit-package <https://scikit-package.github.io/scikit-package/>`_.
@@ -0,0 +1,20 @@
1
+ {
2
+ "author_names": "Yucong Chen, Till Schertenleib, Caden Myers, Simon Billinge",
3
+ "author_emails": "yc4372@columbia.edu, ts@chem.ku.dk, cjm2304@columbia.edu, sbillinge@ucsb.edu",
4
+ "maintainer_names": "Simon Billinge",
5
+ "maintainer_emails": "sbillinge@ucsb.edu",
6
+ "maintainer_github_usernames": "sbillinge",
7
+ "contributors": "Yucong Chen, Till Schertenleib, Caden Myers, Billinge Group members",
8
+ "license_holders": "The Trustees of Columbia University in the City of New York",
9
+ "project_name": "diffpy.labpdfproc",
10
+ "github_username_or_orgname": "diffpy",
11
+ "github_repo_name": "diffpy.labpdfproc",
12
+ "conda_pypi_package_dist_name": "diffpy.labpdfproc",
13
+ "package_dir_name": "diffpy.labpdfproc",
14
+ "project_short_description": "Tools for processing x-ray powder diffraction data from laboratory sources.",
15
+ "project_keywords": "powder XRD, absorption correction, PDF, diffpy",
16
+ "minimum_supported_python_version": "3.12",
17
+ "maximum_supported_python_version": "3.14",
18
+ "project_needs_c_code_compiled": "No",
19
+ "project_has_gui_tests": "No"
20
+ }
@@ -6,15 +6,18 @@ build-backend = "setuptools.build_meta"
6
6
  name = "diffpy.labpdfproc"
7
7
  dynamic=['version', 'dependencies']
8
8
  authors = [
9
- { name="Simon J.L. Billinge group", email="simon.billinge@gmail.com" },
9
+ {name='Yucong Chen', email='yc4372@columbia.edu'},
10
+ {name='Till Schertenleib', email='ts@chem.ku.dk'},
11
+ {name='Caden Myers', email='cjm2304@columbia.edu'},
12
+ {name='Simon Billinge', email='sbillinge@ucsb.edu'},
10
13
  ]
11
14
  maintainers = [
12
- { name="Simon J.L. Billinge group", email="simon.billinge@gmail.com" },
15
+ {name='Simon Billinge', email='sbillinge@ucsb.edu'},
13
16
  ]
14
17
  description = "Tools for processing x-ray powder diffraction data from laboratory sources."
15
- keywords = ['powder xrd', 'absorption correction', 'pdf', 'diffpy']
18
+ keywords = ['powder XRD', 'absorption correction', 'PDF', 'diffpy']
16
19
  readme = "README.rst"
17
- requires-python = ">=3.11, <3.14"
20
+ requires-python = ">=3.12, <3.15"
18
21
  classifiers = [
19
22
  'Development Status :: 5 - Production/Stable',
20
23
  'Environment :: Console',
@@ -25,9 +28,9 @@ classifiers = [
25
28
  'Operating System :: Microsoft :: Windows',
26
29
  'Operating System :: POSIX',
27
30
  'Operating System :: Unix',
28
- 'Programming Language :: Python :: 3.11',
29
31
  'Programming Language :: Python :: 3.12',
30
32
  'Programming Language :: Python :: 3.13',
33
+ 'Programming Language :: Python :: 3.14',
31
34
  'Topic :: Scientific/Engineering :: Physics',
32
35
  'Topic :: Scientific/Engineering :: Chemistry',
33
36
  ]
@@ -51,11 +54,24 @@ include = ["*"] # package names should match these glob patterns (["*"] by defa
51
54
  exclude = ["diffpy.labpdfproc.tests*"] # exclude packages matching these glob patterns (empty by default)
52
55
  namespaces = false # to disable scanning PEP 420 namespaces (true by default)
53
56
 
57
+ [tool.setuptools.package-data]
58
+ "diffpy.labpdfproc" = ["data/*"]
59
+
54
60
  [tool.setuptools.dynamic]
55
61
  dependencies = {file = ["requirements/pip.txt"]}
56
62
 
63
+ [tool.codespell]
64
+ exclude-file = ".codespell/ignore_lines.txt"
65
+ ignore-words = ".codespell/ignore_words.txt"
66
+ skip = "*.cif,*.dat"
67
+
68
+ [tool.docformatter]
69
+ recursive = true
70
+ wrap-summaries = 72
71
+ wrap-descriptions = 72
72
+
57
73
  [tool.black]
58
- line-length = 115
74
+ line-length = 79
59
75
  include = '\.pyi?$'
60
76
  exclude = '''
61
77
  /(
@@ -2,3 +2,4 @@ numpy
2
2
  diffpy.utils
3
3
  pandas
4
4
  scipy
5
+ wxpython
@@ -1,4 +1,5 @@
1
1
  sphinx
2
2
  sphinx_rtd_theme
3
+ sphinx-copybutton
3
4
  doctr
4
- m2r
5
+ m2r2
@@ -2,3 +2,4 @@ numpy
2
2
  diffpy.utils
3
3
  pandas
4
4
  scipy
5
+ gooey
@@ -1,10 +1,14 @@
1
1
  #!/usr/bin/env python
2
2
  ##############################################################################
3
3
  #
4
- # (c) 2024 The Trustees of Columbia University in the City of New York.
4
+ # (c) 2024-2025, The Trustees of Columbia University in the City of New York.
5
5
  # All rights reserved.
6
6
  #
7
- # File coded by: Billinge Group members and community contributors.
7
+ # (c) 2026-present, diffpy.labpdfproc developers and contributors.
8
+ # All rights reserved.
9
+ #
10
+ # File coded by: Yucong Chen, Till Schertenleib, Caden Myers,
11
+ # Billinge Group members.
8
12
  #
9
13
  # See GitHub contributions for a more detailed list of contributors.
10
14
  # https://github.com/diffpy/diffpy.labpdfproc/graphs/contributors
@@ -12,12 +16,3 @@
12
16
  # See LICENSE.rst for license information.
13
17
  #
14
18
  ##############################################################################
15
-
16
- """Blank namespace package for module diffpy."""
17
-
18
-
19
- from pkgutil import extend_path
20
-
21
- __path__ = extend_path(__path__, __name__)
22
-
23
- # End of file
@@ -1,10 +1,14 @@
1
1
  #!/usr/bin/env python
2
2
  ##############################################################################
3
3
  #
4
- # (c) 2024 The Trustees of Columbia University in the City of New York.
4
+ # (c) 2024-2025, The Trustees of Columbia University in the City of New York.
5
5
  # All rights reserved.
6
6
  #
7
- # File coded by: Billinge Group members and community contributors.
7
+ # (c) 2026-present, diffpy.labpdfproc developers and contributors.
8
+ # All rights reserved.
9
+ #
10
+ # File coded by: Yucong Chen, Till Schertenleib, Caden Myers,
11
+ # Billinge Group members.
8
12
  #
9
13
  # See GitHub contributions for a more detailed list of contributors.
10
14
  # https://github.com/diffpy/diffpy.labpdfproc/graphs/contributors
@@ -12,8 +16,8 @@
12
16
  # See LICENSE.rst for license information.
13
17
  #
14
18
  ##############################################################################
15
-
16
- """Tools for processing x-ray powder diffraction data from laboratory sources."""
19
+ """Tools for processing x-ray powder diffraction data from laboratory
20
+ sources."""
17
21
 
18
22
  # package version
19
23
  from diffpy.labpdfproc.version import __version__