From d63d6bcbf740825261f4cc171c0cc266189903f7 Mon Sep 17 00:00:00 2001 From: symscae Date: Fri, 29 May 2026 11:11:19 -0700 Subject: [PATCH 1/7] bump python version to 3.14 --- .github/workflows/tests-on-pr.yml | 2 +- cookiecutter.json | 2 +- news/python-314-support.rst | 23 +++++++++++++++++++++++ pyproject.toml | 3 ++- 4 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 news/python-314-support.rst diff --git a/.github/workflows/tests-on-pr.yml b/.github/workflows/tests-on-pr.yml index 5e5a75a..c0c71ad 100644 --- a/.github/workflows/tests-on-pr.yml +++ b/.github/workflows/tests-on-pr.yml @@ -11,6 +11,6 @@ jobs: project: diffpy.distanceprinter c_extension: false headless: false - python_version: 3.13 + python_version: 3.14 secrets: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} diff --git a/cookiecutter.json b/cookiecutter.json index b9286f7..c199393 100644 --- a/cookiecutter.json +++ b/cookiecutter.json @@ -12,7 +12,7 @@ "project_short_description": "Distance Printer, calculate the inter atomic distances. Part of xPDFsuite.", "project_keywords": "diffpy, pdf, data-interpretation", "minimum_supported_python_version": "3.11", - "maximum_supported_python_version": "3.13", + "maximum_supported_python_version": "3.14", "project_needs_c_code_compiled": "No", "project_has_gui_tests": "No" } diff --git a/news/python-314-support.rst b/news/python-314-support.rst new file mode 100644 index 0000000..8532ccb --- /dev/null +++ b/news/python-314-support.rst @@ -0,0 +1,23 @@ +**Added:** + +* + +**Changed:** + +* Bumped supported python version to 3.14. + +**Deprecated:** + +* + +**Removed:** + +* + +**Fixed:** + +* + +**Security:** + +* diff --git a/pyproject.toml b/pyproject.toml index 6499958..9f06fe7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,7 +14,7 @@ maintainers = [ description = "Distance Printer, calculate the inter atomic distances. Part of xPDFsuite" keywords = ['diffpy', 'pdf', 'data-interpretation'] readme = "README.rst" -requires-python = ">=3.11, <3.14" +requires-python = ">=3.11, <3.15" classifiers = [ 'Development Status :: 5 - Production/Stable', 'Environment :: Console', @@ -28,6 +28,7 @@ classifiers = [ 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', 'Programming Language :: Python :: 3.13', + 'Programming Language :: Python :: 3.14', 'Topic :: Scientific/Engineering :: Physics', 'Topic :: Scientific/Engineering :: Chemistry', ] From 1dc3297ac05c47505ed3e4921e7fc475b9380f59 Mon Sep 17 00:00:00 2001 From: symscae Date: Tue, 2 Jun 2026 10:01:01 -0700 Subject: [PATCH 2/7] remove python 3.11 support --- cookiecutter.json | 2 +- news/python-314-support.rst | 4 ++-- pyproject.toml | 3 +-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/cookiecutter.json b/cookiecutter.json index c199393..9367ea9 100644 --- a/cookiecutter.json +++ b/cookiecutter.json @@ -11,7 +11,7 @@ "package_dir_name": "diffpy.distanceprinter", "project_short_description": "Distance Printer, calculate the inter atomic distances. Part of xPDFsuite.", "project_keywords": "diffpy, pdf, data-interpretation", - "minimum_supported_python_version": "3.11", + "minimum_supported_python_version": "3.12", "maximum_supported_python_version": "3.14", "project_needs_c_code_compiled": "No", "project_has_gui_tests": "No" diff --git a/news/python-314-support.rst b/news/python-314-support.rst index 8532ccb..266fd2c 100644 --- a/news/python-314-support.rst +++ b/news/python-314-support.rst @@ -4,7 +4,7 @@ **Changed:** -* Bumped supported python version to 3.14. +* Added support for Python 3.14. **Deprecated:** @@ -12,7 +12,7 @@ **Removed:** -* +* Removed support for Python 3.11. **Fixed:** diff --git a/pyproject.toml b/pyproject.toml index 9f06fe7..3bae1e7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,7 +14,7 @@ maintainers = [ description = "Distance Printer, calculate the inter atomic distances. Part of xPDFsuite" keywords = ['diffpy', 'pdf', 'data-interpretation'] readme = "README.rst" -requires-python = ">=3.11, <3.15" +requires-python = ">=3.12, <3.15" classifiers = [ 'Development Status :: 5 - Production/Stable', 'Environment :: Console', @@ -25,7 +25,6 @@ classifiers = [ 'Operating System :: Microsoft :: Windows', 'Operating System :: POSIX', 'Operating System :: Unix', - 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', 'Programming Language :: Python :: 3.13', 'Programming Language :: Python :: 3.14', From 7e18d23ab1a3aedfd0181e199510663ced02eb84 Mon Sep 17 00:00:00 2001 From: symscae Date: Tue, 2 Jun 2026 10:10:11 -0700 Subject: [PATCH 3/7] changed news item category --- news/python-314-support.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/news/python-314-support.rst b/news/python-314-support.rst index 266fd2c..55f119f 100644 --- a/news/python-314-support.rst +++ b/news/python-314-support.rst @@ -1,10 +1,10 @@ **Added:** -* +* Added support for Python 3.14. **Changed:** -* Added support for Python 3.14. +* **Deprecated:** From df0d48a3a1621aefcd329060bf5d6bcbc37012dd Mon Sep 17 00:00:00 2001 From: symscae Date: Tue, 2 Jun 2026 16:56:09 -0700 Subject: [PATCH 4/7] run package update --- .github/ISSUE_TEMPLATE/release_checklist.md | 5 +- .../build-and-publish-docs-on-dispatch.yml | 18 +++++ .../workflows/build-wheel-release-upload.yml | 64 ++++++++++++++++- .github/workflows/check-news-item.yml | 2 +- ...rge-to-main.yml => matrix-and-codecov.yml} | 8 +-- .github/workflows/publish-docs-on-release.yml | 12 ---- .github/workflows/tests-on-pr.yml | 1 - CHANGELOG.rst | 20 ------ CODE-OF-CONDUCT.rst | 2 +- LICENSE.rst | 2 +- README.rst | 22 +++--- cookiecutter.json | 8 ++- docs/make.bat | 72 +++++++++---------- docs/source/conf.py | 8 +-- docs/source/img/.placeholder | 0 docs/source/index.rst | 7 +- docs/source/license.rst | 38 ++++++++++ docs/source/snippets/.placeholder | 0 pyproject.toml | 8 ++- requirements/conda.txt | 2 - requirements/docs.txt | 2 +- requirements/pip.txt | 2 - src/diffpy/__init__.py | 5 +- src/diffpy/distanceprinter/__init__.py | 7 +- src/diffpy/distanceprinter/version.py | 7 +- 25 files changed, 200 insertions(+), 122 deletions(-) create mode 100644 .github/workflows/build-and-publish-docs-on-dispatch.yml rename .github/workflows/{matrix-and-codecov-on-merge-to-main.yml => matrix-and-codecov.yml} (84%) delete mode 100644 .github/workflows/publish-docs-on-release.yml create mode 100644 docs/source/img/.placeholder create mode 100644 docs/source/license.rst create mode 100644 docs/source/snippets/.placeholder diff --git a/.github/ISSUE_TEMPLATE/release_checklist.md b/.github/ISSUE_TEMPLATE/release_checklist.md index 56bcd01..56c5fca 100644 --- a/.github/ISSUE_TEMPLATE/release_checklist.md +++ b/.github/ISSUE_TEMPLATE/release_checklist.md @@ -11,12 +11,13 @@ assignees: "" - [ ] All PRs/issues attached to the release are merged. - [ ] All the badges on the README are passing. - [ ] License information is verified as correct. If you are unsure, please comment below. -- [ ] Locally rendered documentation contains all appropriate pages, including API references (check no modules are - missing), tutorials, and other human-written text is up-to-date with any changes in the code. +- [ ] Locally rendered documentation contains all appropriate pages, tutorials, and other human-written text is up-to-date with any changes in the code. +- [ ] All API references are included. To check this, run `conda install scikit-package` and then `package build api-doc`. Review any edits made by rerendering the docs locally. - [ ] Installation instructions in the README, documentation, and the website are updated. - [ ] Successfully run any tutorial examples or do functional testing with the latest Python version. - [ ] Grammar and writing quality are checked (no typos). - [ ] Install `pip install build twine`, run `python -m build` and `twine check dist/*` to ensure that the package can be built and is correctly formatted for PyPI release. +- [ ] Dispatch matrix testing to test the release on all Python versions and systems. If you do not have permission to run this workflow, tag the maintainer and say `@maintainer, please dispatch matrix testing workflow`. Please tag the maintainer (e.g., @username) in the comment here when you are ready for the PyPI/GitHub release. Include any additional comments necessary, such as version information and details about the pre-release here: diff --git a/.github/workflows/build-and-publish-docs-on-dispatch.yml b/.github/workflows/build-and-publish-docs-on-dispatch.yml new file mode 100644 index 0000000..6a3cbff --- /dev/null +++ b/.github/workflows/build-and-publish-docs-on-dispatch.yml @@ -0,0 +1,18 @@ +name: Build and Publish Docs on Dispatch + +on: + workflow_dispatch: + +jobs: + get-python-version: + uses: scikit-package/release-scripts/.github/workflows/_get-python-version-latest.yml@v0 + with: + python_version: 0 + + docs: + uses: scikit-package/release-scripts/.github/workflows/_release-docs.yml@v0 + with: + project: diffpy.distanceprinter + c_extension: false + headless: false + python_version: ${{ fromJSON(needs.get-python-version.outputs.latest_python_version) }} diff --git a/.github/workflows/build-wheel-release-upload.yml b/.github/workflows/build-wheel-release-upload.yml index 4d246d8..6ad9759 100644 --- a/.github/workflows/build-wheel-release-upload.yml +++ b/.github/workflows/build-wheel-release-upload.yml @@ -1,18 +1,76 @@ -name: Release (GitHub/PyPI) and Deploy Docs +name: Build Wheel and Release +# Trigger on tag push or manual dispatch. +# Tag and release privilege are verified inside the reusable workflow. on: workflow_dispatch: push: tags: - - "*" # Trigger on all tags initially, but tag and release privilege are verified in _build-wheel-release-upload.yml + - "*" + +# ── Release modality ────────────────────────────────────────────────────────── +# Three options are provided below. Only ONE job should be active at a time. +# To switch: comment out the active job and uncomment your preferred option, +# then commit the change to main before tagging a release. +# ───────────────────────────────────────────────────────────────────────────── jobs: + # Option 1 (default): Release to GitHub, publish to PyPI, and deploy docs. + # + # The wheel is uploaded to PyPI so users can install with `pip install`. + # A GitHub release is created with the changelog as the release body, and + # the Sphinx documentation is rebuilt and deployed to GitHub Pages. + # + # Choose this for open-source packages distributed via PyPI and/or + # conda-forge where broad public availability is the goal. build-release: uses: scikit-package/release-scripts/.github/workflows/_build-wheel-release-upload.yml@v0 with: project: diffpy.distanceprinter c_extension: false - maintainer_GITHUB_username: sbillinge + maintainer_github_username: sbillinge, bobleesj secrets: PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} PAT_TOKEN: ${{ secrets.PAT_TOKEN }} + + # Option 2: Release to GitHub and deploy docs, without publishing to PyPI. + # + # A GitHub release is created and the Sphinx docs are deployed, but the + # wheel is not uploaded to PyPI. The source code remains publicly visible + # on GitHub and can be installed directly from there. + # + # Choose this when the package is public but you prefer to keep it off the + # default pip index — for example, if you distribute via conda-forge only, + # or if the package is not yet ready for a permanent PyPI presence. + # + # To use: comment out Option 1 above and uncomment the lines below. + # build-release-no-pypi: + # uses: scikit-package/release-scripts/.github/workflows/_build-release-github-no-pypi.yml@v0 + # with: + # project: diffpy.distanceprinter + # c_extension: false + # maintainer_github_username: sbillinge, bobleesj + # secrets: + # PAT_TOKEN: ${{ secrets.PAT_TOKEN }} + + # Option 3: Release to GitHub with wheel, license, and instructions bundled + # as a downloadable zip attached to the GitHub release asset. + # + # The wheel is built and packaged together with INSTRUCTIONS.txt and the + # LICENSE file into a zip that is attached directly to the GitHub release. + # Users with access to the (private) repo download the zip, follow the + # instructions inside, and install locally with pip. No PyPI or conda-forge + # upload occurs, and no docs are deployed. + # + # Choose this for private or restricted packages where distribution must be + # controlled: only users with repo access can download the release asset, + # making the GitHub release itself the distribution channel. + # + # To use: comment out Option 1 above and uncomment the lines below. + # build-release-private: + # uses: scikit-package/release-scripts/.github/workflows/_build-release-github-private-pure.yml@v0 + # with: + # project: diffpy.distanceprinter + # maintainer_github_username: sbillinge, bobleesj + # secrets: + # PAT_TOKEN: ${{ secrets.PAT_TOKEN }} diff --git a/.github/workflows/check-news-item.yml b/.github/workflows/check-news-item.yml index 31a88bf..d6cf892 100644 --- a/.github/workflows/check-news-item.yml +++ b/.github/workflows/check-news-item.yml @@ -3,7 +3,7 @@ name: Check for News on: pull_request_target: branches: - - main + - main # GitHub does not evaluate expressions in trigger filters; edit this value if your base branch is not main jobs: check-news-item: diff --git a/.github/workflows/matrix-and-codecov-on-merge-to-main.yml b/.github/workflows/matrix-and-codecov.yml similarity index 84% rename from .github/workflows/matrix-and-codecov-on-merge-to-main.yml rename to .github/workflows/matrix-and-codecov.yml index ca02afa..3bb1452 100644 --- a/.github/workflows/matrix-and-codecov-on-merge-to-main.yml +++ b/.github/workflows/matrix-and-codecov.yml @@ -1,9 +1,9 @@ -name: CI +name: Matrix and Codecov on: - push: - branches: - - main + # push: + # branches: + # - main release: types: - prereleased diff --git a/.github/workflows/publish-docs-on-release.yml b/.github/workflows/publish-docs-on-release.yml deleted file mode 100644 index 6803e26..0000000 --- a/.github/workflows/publish-docs-on-release.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: Deploy Documentation on Release - -on: - workflow_dispatch: - -jobs: - docs: - uses: scikit-package/release-scripts/.github/workflows/_publish-docs-on-release.yml@v0 - with: - project: diffpy.distanceprinter - c_extension: false - headless: false diff --git a/.github/workflows/tests-on-pr.yml b/.github/workflows/tests-on-pr.yml index c0c71ad..4f1528b 100644 --- a/.github/workflows/tests-on-pr.yml +++ b/.github/workflows/tests-on-pr.yml @@ -11,6 +11,5 @@ jobs: project: diffpy.distanceprinter c_extension: false headless: false - python_version: 3.14 secrets: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 1be95b2..f29d3b5 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -3,23 +3,3 @@ Release notes ============= .. current developments - -1.0.2 -===== - - -1.0.1 -===== - -**Fixed:** - -* Fixed command line control usability - - -1.0.0 -===== - -**Changed:** - -* Updated from Python 2.6-2.7 to Python 3.11-3.13 -* Support ``scikit-package`` Level 5 standard (https://scikit-package.github.io/scikit-package/). diff --git a/CODE-OF-CONDUCT.rst b/CODE-OF-CONDUCT.rst index e8199ca..99ab31b 100644 --- a/CODE-OF-CONDUCT.rst +++ b/CODE-OF-CONDUCT.rst @@ -67,7 +67,7 @@ Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at -sb2896@columbia.edu. All complaints will be reviewed and investigated promptly and fairly. +sbillinge@ucsb.edu and sl5400@columbia.edu. All complaints will be reviewed and investigated promptly and fairly. All community leaders are obligated to respect the privacy and security of the reporter of any incident. diff --git a/LICENSE.rst b/LICENSE.rst index c01cc33..43d13fc 100644 --- a/LICENSE.rst +++ b/LICENSE.rst @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2009-2025, The Trustees of Columbia University in the City of New York. +Copyright (c) 2026, The Trustees of Columbia University in the City of New York. All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/README.rst b/README.rst index 025c34f..6e86796 100644 --- a/README.rst +++ b/README.rst @@ -36,16 +36,18 @@ .. |Tracking| image:: https://img.shields.io/badge/issue_tracking-github-blue :target: https://github.com/diffpy/diffpy.distanceprinter/issues -Distance Printer, calculate the inter atomic distances. Part of xPDFsuite +Distance Printer, calculate the inter atomic distances. Part of xPDFsuite. + +* LONGER DESCRIPTION HERE + +For more information about the diffpy.distanceprinter library, please consult our `online documentation `_. Citation -------- If you use diffpy.distanceprinter in a scientific publication, we would like you to cite this package as - Xiaohao Yang, Pavol Juhas, Christopher L. Farrow and Simon J. L. Billinge, xPDFsuite: an end-to-end - software solution for high throughput pair distribution function transformation, visualization and - analysis, arXiv 1402.3163 (2025) + diffpy.distanceprinter Package, https://github.com/diffpy/diffpy.distanceprinter Installation ------------ @@ -91,6 +93,11 @@ To view the basic usage and available commands, type :: diffpy.distanceprinter -h +Getting Started +--------------- + +You may consult our `online documentation `_ for tutorials and API references. + Support and Contribute ---------------------- @@ -119,15 +126,10 @@ Improvements and fixes are always appreciated. Before contributing, please read our `Code of Conduct `_. -Getting Started ---------------- - -You may consult our `online documentation `_ for tutorials and API references. - Contact ------- -For more information on diffpy.distanceprinter please visit the project `web-page `_ or email Simon J.L. Billinge Group at sb2896@columbia.edu. +For more information on diffpy.distanceprinter please visit the project `web-page `_ or email the maintainers ``Simon Billinge(sbillinge@ucsb.edu) and Sangjoon Bob Lee(sl5400@columbia.edu)``. Acknowledgements ---------------- diff --git a/cookiecutter.json b/cookiecutter.json index 9367ea9..a9fdc3f 100644 --- a/cookiecutter.json +++ b/cookiecutter.json @@ -1,7 +1,9 @@ { - "maintainer_name": "Simon Billinge", - "maintainer_email": "sb2896@columbia.edu", - "maintainer_github_username": "sbillinge", + "author_names": "Simon Billinge, Sangjoon Bob Lee", + "author_emails": "sbillinge@ucsb.edu, sl5400@columbia.edu", + "maintainer_names": "Simon Billinge, Sangjoon Bob Lee", + "maintainer_emails": "sbillinge@ucsb.edu, sl5400@columbia.edu", + "maintainer_github_usernames": "sbillinge, bobleesj", "contributors": "Xiaohao Yang and Billinge Group members", "license_holders": "The Trustees of Columbia University in the City of New York", "project_name": "diffpy.distanceprinter", diff --git a/docs/make.bat b/docs/make.bat index 2be8306..ac53d5b 100644 --- a/docs/make.bat +++ b/docs/make.bat @@ -1,36 +1,36 @@ -@ECHO OFF - -pushd %~dp0 - -REM Command file for Sphinx documentation - -if "%SPHINXBUILD%" == "" ( - set SPHINXBUILD=sphinx-build -) -set SOURCEDIR=source -set BUILDDIR=build -set SPHINXPROJ=PackagingScientificPython - -if "%1" == "" goto help - -%SPHINXBUILD% >NUL 2>NUL -if errorlevel 9009 ( - echo. - echo.The 'sphinx-build' command was not found. Make sure you have Sphinx - echo.installed, then set the SPHINXBUILD environment variable to point - echo.to the full path of the 'sphinx-build' executable. Alternatively you - echo.may add the Sphinx directory to PATH. - echo. - echo.If you don't have Sphinx installed, grab it from - echo.http://sphinx-doc.org/ - exit /b 1 -) - -%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% -goto end - -:help -%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% - -:end -popd +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=source +set BUILDDIR=build +set SPHINXPROJ=PackagingScientificPython + +if "%1" == "" goto help + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 +) + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% + +:end +popd diff --git a/docs/source/conf.py b/docs/source/conf.py index 451aec0..bef4011 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -2,7 +2,7 @@ # -*- coding: utf-8 -*- # # diffpy.distanceprinter documentation build configuration file, created by # noqa: E501 -# sphinx-quickstart on Thu Jan 30 15:49:41 2025. +# sphinx-quickstart on Thu Jan 30 15:49:41 2014. # # This file is execfile()d with the current directory set to its # containing dir. @@ -32,9 +32,7 @@ sys.path.insert(0, str(Path("../../src").resolve())) # abbreviations -ab_authors = ( - "Xiaohao Yang, Sangjoon Lee, Simon Billinge, Billinge Group members" -) +ab_authors = "Xiaohao Yang and Billinge Group members" # -- General configuration ------------------------------------------------ @@ -52,7 +50,7 @@ "sphinx.ext.intersphinx", "sphinx_rtd_theme", "sphinx_copybutton", - "m2r", + "m2r2", ] # Add any paths that contain templates here, relative to this directory. diff --git a/docs/source/img/.placeholder b/docs/source/img/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/docs/source/index.rst b/docs/source/index.rst index 46426dc..49dfaee 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -15,15 +15,13 @@ Getting started Welcome to the ``diffpy.distanceprinter`` documentation! -This package is not designed to be installed independently. To get started, please visit -https://www.diffpy.org/products/xPDFsuite.html for more information about the xpdfsuite package and -download the package together with ``diffpy.xpdfsuite``. +To get started, please visit the :ref:`Getting started ` page. ======= Authors ======= -``diffpy.distanceprinter`` is developed by Xiaohao Yang and Billinge Group members. The maintainer for this project is Simon Billinge. For a detailed list of contributors see +``diffpy.distanceprinter`` is developed by Xiaohao Yang and Billinge Group members. This project is maintained by Simon Billinge and Sangjoon Bob Lee. For a detailed list of contributors see https://github.com/diffpy/diffpy.distanceprinter/graphs/contributors. ============ @@ -45,6 +43,7 @@ Table of contents .. toctree:: :maxdepth: 2 + getting-started Package API release license diff --git a/docs/source/license.rst b/docs/source/license.rst new file mode 100644 index 0000000..7428e28 --- /dev/null +++ b/docs/source/license.rst @@ -0,0 +1,38 @@ +:tocdepth: -1 + +.. index:: license + +License +####### + +OPEN SOURCE LICENSE AGREEMENT +============================= +BSD 3-Clause License + +Copyright (c) 2026, The Trustees of Columbia University in the City of New York. +All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/docs/source/snippets/.placeholder b/docs/source/snippets/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/pyproject.toml b/pyproject.toml index 3bae1e7..77bc351 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,12 +6,14 @@ build-backend = "setuptools.build_meta" name = "diffpy.distanceprinter" dynamic=['version', 'dependencies'] authors = [ - { name="Simon J.L. Billinge Group", email="sb2896@columbia.edu" }, + {name='Simon Billinge', email='sbillinge@ucsb.edu'}, + {name='Sangjoon Bob Lee', email='sl5400@columbia.edu'}, ] maintainers = [ - { name="Simon J.L. Billinge Group", email="sb2896@columbia.edu" }, + {name='Simon Billinge', email='sbillinge@ucsb.edu'}, + {name='Sangjoon Bob Lee', email='sl5400@columbia.edu'}, ] -description = "Distance Printer, calculate the inter atomic distances. Part of xPDFsuite" +description = "Distance Printer, calculate the inter atomic distances. Part of xPDFsuite." keywords = ['diffpy', 'pdf', 'data-interpretation'] readme = "README.rst" requires-python = ">=3.12, <3.15" diff --git a/requirements/conda.txt b/requirements/conda.txt index 92111f9..24ce15a 100644 --- a/requirements/conda.txt +++ b/requirements/conda.txt @@ -1,3 +1 @@ numpy -diffpy.pdffit2 -diffpy.structure diff --git a/requirements/docs.txt b/requirements/docs.txt index 5f34c6e..1de813f 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -2,4 +2,4 @@ sphinx sphinx_rtd_theme sphinx-copybutton doctr -m2r +m2r2 diff --git a/requirements/pip.txt b/requirements/pip.txt index 92111f9..24ce15a 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -1,3 +1 @@ numpy -diffpy.pdffit2 -diffpy.structure diff --git a/src/diffpy/__init__.py b/src/diffpy/__init__.py index c82d1a5..493d113 100644 --- a/src/diffpy/__init__.py +++ b/src/diffpy/__init__.py @@ -1,14 +1,13 @@ #!/usr/bin/env python ############################################################################## # -# (c) 2013-2025 The Trustees of Columbia University in the City of New York. +# (c) 2026 The Trustees of Columbia University in the City of New York. # All rights reserved. # -# File coded by: Xiaohao Yang and Billinge Group members +# File coded by: Billinge Group members and community contributors. # # See GitHub contributions for a more detailed list of contributors. # https://github.com/diffpy/diffpy.distanceprinter/graphs/contributors -# noqa: E501 # # See LICENSE.rst for license information. # diff --git a/src/diffpy/distanceprinter/__init__.py b/src/diffpy/distanceprinter/__init__.py index 24623df..ba3ea3d 100644 --- a/src/diffpy/distanceprinter/__init__.py +++ b/src/diffpy/distanceprinter/__init__.py @@ -1,21 +1,20 @@ #!/usr/bin/env python ############################################################################## # -# (c) 2013-2025 The Trustees of Columbia University in the City of New York. +# (c) 2026 The Trustees of Columbia University in the City of New York. # All rights reserved. # -# File coded by: Xiaohao Yang and Billinge Group members +# File coded by: Xiaohao Yang and Billinge Group members. # # See GitHub contributions for a more detailed list of contributors. # https://github.com/diffpy/diffpy.distanceprinter/graphs/contributors -# noqa: E501 # # See LICENSE.rst for license information. # ############################################################################## """Distance Printer, calculate the inter atomic distances. -Part of xPDFsuite +Part of xPDFsuite. """ # package version diff --git a/src/diffpy/distanceprinter/version.py b/src/diffpy/distanceprinter/version.py index e05d9ea..a41b432 100644 --- a/src/diffpy/distanceprinter/version.py +++ b/src/diffpy/distanceprinter/version.py @@ -1,14 +1,13 @@ #!/usr/bin/env python ############################################################################## # -# (c) 2013-2025 The Trustees of Columbia University in the City of New York. +# (c) 2026 The Trustees of Columbia University in the City of New York. # All rights reserved. # -# File coded by: Xiaohao Yang and Billinge Group members +# File coded by: Xiaohao Yang and Billinge Group members. # # See GitHub contributions for a more detailed list of contributors. -# https://github.com/diffpy/diffpy.distanceprinter/graphs/contributors -# noqa: E501 +# https://github.com/diffpy/diffpy.distanceprinter/graphs/contributors # noqa: E501 # # See LICENSE.rst for license information. # From 4c5f6be727d22afdf751d21db1b2793ad3e60479 Mon Sep 17 00:00:00 2001 From: symscae Date: Tue, 2 Jun 2026 17:02:02 -0700 Subject: [PATCH 5/7] fix dependencies --- requirements/conda.txt | 2 ++ requirements/pip.txt | 2 ++ 2 files changed, 4 insertions(+) diff --git a/requirements/conda.txt b/requirements/conda.txt index 24ce15a..92111f9 100644 --- a/requirements/conda.txt +++ b/requirements/conda.txt @@ -1 +1,3 @@ numpy +diffpy.pdffit2 +diffpy.structure diff --git a/requirements/pip.txt b/requirements/pip.txt index 24ce15a..92111f9 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -1 +1,3 @@ numpy +diffpy.pdffit2 +diffpy.structure From 487bed67d56ee8ac59b99c2c998a21d95ce8ae6c Mon Sep 17 00:00:00 2001 From: symscae Date: Tue, 2 Jun 2026 17:23:32 -0700 Subject: [PATCH 6/7] correct repo info and revert readme --- CHANGELOG.rst | 20 +++++++++++++++++++ CODE-OF-CONDUCT.rst | 2 +- LICENSE.rst | 3 ++- README.rst | 8 ++++---- cookiecutter.json | 8 +++----- docs/source/index.rst | 3 +-- docs/source/license.rst | 3 ++- pyproject.toml | 2 -- src/diffpy/__init__.py | 3 ++- src/diffpy/distanceprinter/__init__.py | 3 ++- src/diffpy/distanceprinter/distanceprinter.py | 1 + src/diffpy/distanceprinter/version.py | 3 ++- 12 files changed, 40 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index f29d3b5..1be95b2 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -3,3 +3,23 @@ Release notes ============= .. current developments + +1.0.2 +===== + + +1.0.1 +===== + +**Fixed:** + +* Fixed command line control usability + + +1.0.0 +===== + +**Changed:** + +* Updated from Python 2.6-2.7 to Python 3.11-3.13 +* Support ``scikit-package`` Level 5 standard (https://scikit-package.github.io/scikit-package/). diff --git a/CODE-OF-CONDUCT.rst b/CODE-OF-CONDUCT.rst index 99ab31b..25fafe2 100644 --- a/CODE-OF-CONDUCT.rst +++ b/CODE-OF-CONDUCT.rst @@ -67,7 +67,7 @@ Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at -sbillinge@ucsb.edu and sl5400@columbia.edu. All complaints will be reviewed and investigated promptly and fairly. +sbillinge@ucsb.edu. All complaints will be reviewed and investigated promptly and fairly. All community leaders are obligated to respect the privacy and security of the reporter of any incident. diff --git a/LICENSE.rst b/LICENSE.rst index 43d13fc..1a60cc5 100644 --- a/LICENSE.rst +++ b/LICENSE.rst @@ -1,6 +1,7 @@ BSD 3-Clause License -Copyright (c) 2026, The Trustees of Columbia University in the City of New York. +Copyright (c) 2009-2025, The Trustees of Columbia University in the City of New York. +Copyright (c) 2026-present, The Contributors to the diffpy.distanceprinter project. All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/README.rst b/README.rst index 6e86796..ef25a38 100644 --- a/README.rst +++ b/README.rst @@ -38,8 +38,6 @@ Distance Printer, calculate the inter atomic distances. Part of xPDFsuite. -* LONGER DESCRIPTION HERE - For more information about the diffpy.distanceprinter library, please consult our `online documentation `_. Citation @@ -47,7 +45,9 @@ Citation If you use diffpy.distanceprinter in a scientific publication, we would like you to cite this package as - diffpy.distanceprinter Package, https://github.com/diffpy/diffpy.distanceprinter + Xiaohao Yang, Pavol Juhas, Christopher L. Farrow and Simon J. L. Billinge, xPDFsuite: an end-to-end + software solution for high throughput pair distribution function transformation, visualization and + analysis, arXiv 1402.3163 (2025) Installation ------------ @@ -129,7 +129,7 @@ Before contributing, please read our `Code of Conduct `_ or email the maintainers ``Simon Billinge(sbillinge@ucsb.edu) and Sangjoon Bob Lee(sl5400@columbia.edu)``. +For more information on diffpy.distanceprinter please visit the project `web-page `_ or email the maintainers ``Simon Billinge(sbillinge@ucsb.edu)``. Acknowledgements ---------------- diff --git a/cookiecutter.json b/cookiecutter.json index a9fdc3f..9367ea9 100644 --- a/cookiecutter.json +++ b/cookiecutter.json @@ -1,9 +1,7 @@ { - "author_names": "Simon Billinge, Sangjoon Bob Lee", - "author_emails": "sbillinge@ucsb.edu, sl5400@columbia.edu", - "maintainer_names": "Simon Billinge, Sangjoon Bob Lee", - "maintainer_emails": "sbillinge@ucsb.edu, sl5400@columbia.edu", - "maintainer_github_usernames": "sbillinge, bobleesj", + "maintainer_name": "Simon Billinge", + "maintainer_email": "sb2896@columbia.edu", + "maintainer_github_username": "sbillinge", "contributors": "Xiaohao Yang and Billinge Group members", "license_holders": "The Trustees of Columbia University in the City of New York", "project_name": "diffpy.distanceprinter", diff --git a/docs/source/index.rst b/docs/source/index.rst index 49dfaee..e1a122f 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -21,7 +21,7 @@ To get started, please visit the :ref:`Getting started ` page. Authors ======= -``diffpy.distanceprinter`` is developed by Xiaohao Yang and Billinge Group members. This project is maintained by Simon Billinge and Sangjoon Bob Lee. For a detailed list of contributors see +``diffpy.distanceprinter`` is developed by Xiaohao Yang and Billinge Group members. This project is maintained by Simon Billinge and Billinge Group members. For a detailed list of contributors see https://github.com/diffpy/diffpy.distanceprinter/graphs/contributors. ============ @@ -43,7 +43,6 @@ Table of contents .. toctree:: :maxdepth: 2 - getting-started Package API release license diff --git a/docs/source/license.rst b/docs/source/license.rst index 7428e28..e989b1f 100644 --- a/docs/source/license.rst +++ b/docs/source/license.rst @@ -9,7 +9,8 @@ OPEN SOURCE LICENSE AGREEMENT ============================= BSD 3-Clause License -Copyright (c) 2026, The Trustees of Columbia University in the City of New York. +Copyright (c) 2009-2025, The Trustees of Columbia University in the City of New York. +Copyright (c) 2026-present, The Contributors to the diffpy.distanceprinter project. All Rights Reserved. Redistribution and use in source and binary forms, with or without diff --git a/pyproject.toml b/pyproject.toml index 77bc351..6444a5f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,11 +7,9 @@ name = "diffpy.distanceprinter" dynamic=['version', 'dependencies'] authors = [ {name='Simon Billinge', email='sbillinge@ucsb.edu'}, - {name='Sangjoon Bob Lee', email='sl5400@columbia.edu'}, ] maintainers = [ {name='Simon Billinge', email='sbillinge@ucsb.edu'}, - {name='Sangjoon Bob Lee', email='sl5400@columbia.edu'}, ] description = "Distance Printer, calculate the inter atomic distances. Part of xPDFsuite." keywords = ['diffpy', 'pdf', 'data-interpretation'] diff --git a/src/diffpy/__init__.py b/src/diffpy/__init__.py index 493d113..7731ae0 100644 --- a/src/diffpy/__init__.py +++ b/src/diffpy/__init__.py @@ -1,7 +1,8 @@ #!/usr/bin/env python ############################################################################## # -# (c) 2026 The Trustees of Columbia University in the City of New York. +# (c) 2013-2025 The Trustees of Columbia University in the City of New York. +# (c) 2026-present, The Contributors to the diffpy.distanceprinter project. # All rights reserved. # # File coded by: Billinge Group members and community contributors. diff --git a/src/diffpy/distanceprinter/__init__.py b/src/diffpy/distanceprinter/__init__.py index ba3ea3d..a61da5a 100644 --- a/src/diffpy/distanceprinter/__init__.py +++ b/src/diffpy/distanceprinter/__init__.py @@ -1,7 +1,8 @@ #!/usr/bin/env python ############################################################################## # -# (c) 2026 The Trustees of Columbia University in the City of New York. +# (c) 2013-2025 The Trustees of Columbia University in the City of New York. +# (c) 2026-present, The Contributors to the diffpy.distanceprinter project. # All rights reserved. # # File coded by: Xiaohao Yang and Billinge Group members. diff --git a/src/diffpy/distanceprinter/distanceprinter.py b/src/diffpy/distanceprinter/distanceprinter.py index 23acd5e..2466ea8 100644 --- a/src/diffpy/distanceprinter/distanceprinter.py +++ b/src/diffpy/distanceprinter/distanceprinter.py @@ -2,6 +2,7 @@ ############################################################################## # # (c) 2013-2025 The Trustees of Columbia University in the City of New York. +# (c) 2026-present, The Contributors to the diffpy.distanceprinter project. # All rights reserved. # # File coded by: Xiaohao Yang and Billinge Group members diff --git a/src/diffpy/distanceprinter/version.py b/src/diffpy/distanceprinter/version.py index a41b432..cb7f46a 100644 --- a/src/diffpy/distanceprinter/version.py +++ b/src/diffpy/distanceprinter/version.py @@ -1,7 +1,8 @@ #!/usr/bin/env python ############################################################################## # -# (c) 2026 The Trustees of Columbia University in the City of New York. +# (c) 2013-2025 The Trustees of Columbia University in the City of New York. +# (c) 2026-present, The Contributors to the diffpy.distanceprinter project. # All rights reserved. # # File coded by: Xiaohao Yang and Billinge Group members. From 71b558f61e5374edc6d08c63760c9bd0277722ea Mon Sep 17 00:00:00 2001 From: symscae Date: Tue, 2 Jun 2026 17:34:05 -0700 Subject: [PATCH 7/7] fix repo info, revert description --- .github/workflows/build-wheel-release-upload.yml | 2 +- docs/source/index.rst | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-wheel-release-upload.yml b/.github/workflows/build-wheel-release-upload.yml index 6ad9759..ba0aa46 100644 --- a/.github/workflows/build-wheel-release-upload.yml +++ b/.github/workflows/build-wheel-release-upload.yml @@ -28,7 +28,7 @@ jobs: with: project: diffpy.distanceprinter c_extension: false - maintainer_github_username: sbillinge, bobleesj + maintainer_github_username: sbillinge secrets: PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} PAT_TOKEN: ${{ secrets.PAT_TOKEN }} diff --git a/docs/source/index.rst b/docs/source/index.rst index e1a122f..15a8c0b 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -15,7 +15,9 @@ Getting started Welcome to the ``diffpy.distanceprinter`` documentation! -To get started, please visit the :ref:`Getting started ` page. +This package is not designed to be installed independently. To get started, please visit +https://www.diffpy.org/products/xPDFsuite.html for more information about the xpdfsuite package and +download the package together with ``diffpy.xpdfsuite``. ======= Authors