Skip to content

chore: add Python 3.14 support#31

Merged
sbillinge merged 9 commits into
diffpy:mainfrom
SYMSCAE:py314
Jun 3, 2026
Merged

chore: add Python 3.14 support#31
sbillinge merged 9 commits into
diffpy:mainfrom
SYMSCAE:py314

Conversation

@SYMSCAE
Copy link
Copy Markdown
Contributor

@SYMSCAE SYMSCAE commented May 29, 2026

Summary

This PR updated supported python version to 3.14. Resolves #30

@SYMSCAE SYMSCAE marked this pull request as ready for review May 29, 2026 18:16
@SYMSCAE
Copy link
Copy Markdown
Contributor Author

SYMSCAE commented May 29, 2026

@stevenhua0320 PR ready to review.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 29, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 81.63%. Comparing base (5065c05) to head (71b558f).

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #31   +/-   ##
=======================================
  Coverage   81.63%   81.63%           
=======================================
  Files           3        3           
  Lines          49       49           
=======================================
  Hits           40       40           
  Misses          9        9           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@sbillinge
Copy link
Copy Markdown
Contributor

please remove 3.11 support. Add it in the news too. under "removed". Please don't say "bumped" but use slightly more formal language as this will go into the changelog. "Added support for Python 3.14" and so on.

@stevenhua0320
Copy link
Copy Markdown
Contributor

please remove 3.11 support. Add it in the news too. under "removed". Please don't say "bumped" but use slightly more formal language as this will go into the changelog. "Added support for Python 3.14" and so on.

I'm afraid that we still need to keep the python 3.11 version for some time since this is a subpackage for diffpy.xpdfsuite and it only supports version 3.11 and 3.12. Therefore, while it could add support for 3.14 we still need to keep 3.11 for a while.

@sbillinge
Copy link
Copy Markdown
Contributor

please remove 3.11 support. Add it in the news too. under "removed". Please don't say "bumped" but use slightly more formal language as this will go into the changelog. "Added support for Python 3.14" and so on.

I'm afraid that we still need to keep the python 3.11 version for some time since this is a subpackage for diffpy.xpdfsuite and it only supports version 3.11 and 3.12. Therefore, while it could add support for 3.14 we still need to keep 3.11 for a while.

I am not sure I understand the reasoning here. If xpdfsuite supports 3.12 then it can use this version even if it doesn't support 3.11 as long as we build it in a 3.12 env. Also, 1.0.x release is there and still supports 3.11 so if someone builds a 3.11 env for some reason, it will just install the earlier version.

@stevenhua0320
Copy link
Copy Markdown
Contributor

please remove 3.11 support. Add it in the news too. under "removed". Please don't say "bumped" but use slightly more formal language as this will go into the changelog. "Added support for Python 3.14" and so on.

I'm afraid that we still need to keep the python 3.11 version for some time since this is a subpackage for diffpy.xpdfsuite and it only supports version 3.11 and 3.12. Therefore, while it could add support for 3.14 we still need to keep 3.11 for a while.

I am not sure I understand the reasoning here. If xpdfsuite supports 3.12 then it can use this version even if it doesn't support 3.11 as long as we build it in a 3.12 env. Also, 1.0.x release is there and still supports 3.11 so if someone builds a 3.11 env for some reason, it will just install the earlier version.

OK, that makes sense. So, we could remove 3.11 version then.

@SYMSCAE SYMSCAE changed the title chore: bump python version to 3.14 chore: add Python 3.14 support Jun 2, 2026
@stevenhua0320
Copy link
Copy Markdown
Contributor

@SYMSCAE Could you move the news item Added support... from Changed to Added one? thx

@stevenhua0320
Copy link
Copy Markdown
Contributor

Looks good to me now, @sbillinge ready for review

Copy link
Copy Markdown
Contributor

@sbillinge sbillinge left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please check workflows are the latest from skpkg

Comment thread .github/workflows/tests-on-pr.yml Outdated
c_extension: false
headless: false
python_version: 3.13
python_version: 3.14
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems wrong to me. Please can we check that this is using the latest workflows. We are not pinning python versions any more so the workflows may need to be updated

@stevenhua0320
Copy link
Copy Markdown
Contributor

stevenhua0320 commented Jun 2, 2026

I took a quick look over the current workflow for this package, it seems that we are still using the outdated workflow here. So, we might need to do a quick skpkg for this package. @SYMSCAE For how we will do this please reference here: https://scikit-package.github.io/scikit-package/overview.html. After you install this package in one of your local environment, please run package update command and follow the instruction to recut this package. If you have any questions feel free to ask me. One more to add that when you do the update, please remove the outdated workflow in the .github folder. Moreover, pay attention to this line in the pyproject.toml

[project.scripts]
distanceprinter = "diffpy.distanceprinter.distanceprinter:main"

Please maintain this one if the package update command modify this, we don't want the name of script/name of the command to run to be changed.

@SYMSCAE
Copy link
Copy Markdown
Contributor Author

SYMSCAE commented Jun 2, 2026

I took a quick look over the current workflow for this package, it seems that we are still using the outdated workflow here. So, we might need to do a quick skpkg for this package. @SYMSCAE For how we will do this please reference here: https://scikit-package.github.io/scikit-package/overview.html. After you install this package in one of your local environment, please run package update command and follow the instruction to recut this package. If you have any questions feel free to ask me. One more to add that when you do the update, please remove the outdated workflow in the .github folder. Moreover, pay attention to this line in the pyproject.toml

[project.scripts]
distanceprinter = "diffpy.distanceprinter.distanceprinter:main"

Please maintain this one if the package update command modify this, we don't want the name of script/name of the command to run to be changed.

I wonder which of the workflows is marked as outdated? The test-on-pr one has its version pin removed by the package update cmd.
image

@stevenhua0320
Copy link
Copy Markdown
Contributor

I took a quick look over the current workflow for this package, it seems that we are still using the outdated workflow here. So, we might need to do a quick skpkg for this package. @SYMSCAE For how we will do this please reference here: https://scikit-package.github.io/scikit-package/overview.html. After you install this package in one of your local environment, please run package update command and follow the instruction to recut this package. If you have any questions feel free to ask me. One more to add that when you do the update, please remove the outdated workflow in the .github folder. Moreover, pay attention to this line in the pyproject.toml

[project.scripts]
distanceprinter = "diffpy.distanceprinter.distanceprinter:main"

Please maintain this one if the package update command modify this, we don't want the name of script/name of the command to run to be changed.

I wonder which of the workflows is marked as outdated? The test-on-pr one has its version pin removed by the package update cmd. image

I think we should remove matrix-and-codecov-on-merge-to-main.yml and publish-docs-on-release.yml as they are replaced by matrix-and-codecov.yml and build-and-publish-docs-on-dispatch.yml. In the latest scikit-package workflow, I believe we have removed the version pin, so please remove that pin in the test-on-pr.yml. Thanks.

Comment thread docs/source/index.rst Outdated
=======

``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
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For this package, the maintainer are Simon Billinge and Billinge Group members.

Comment thread docs/source/index.rst Outdated
.. toctree::
:maxdepth: 2

getting-started
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please delete getting-started as we don't have this page built.

Comment thread src/diffpy/distanceprinter/__init__.py Outdated
##############################################################################
#
# (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.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please make this 2013-2025, also below this line add the line Copyright (c) 2026-present, The Contributors to the diffpy.distanceprinter project. All rights reserved.

Comment thread src/diffpy/distanceprinter/version.py Outdated
##############################################################################
#
# (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.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same requirement as before in the license

Comment thread src/diffpy/__init__.py Outdated
##############################################################################
#
# (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.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And here

Comment thread CHANGELOG.rst


1.0.0
=====
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please keep all the CHANGELOG as before. These are for the CHANGELOG for the future release message and its history.

Comment thread CODE-OF-CONDUCT.rst Outdated
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.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We only need the Simon's email here.

Comment thread LICENSE.rst Outdated
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.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same requirement as the license here.

Comment thread pyproject.toml Outdated
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'},
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please only keep Simon's info here.

Comment thread pyproject.toml Outdated
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'},
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also we only need Simon's info.

Comment thread README.rst Outdated
Distance Printer, calculate the inter atomic distances. Part of xPDFsuite
Distance Printer, calculate the inter atomic distances. Part of xPDFsuite.

* LONGER DESCRIPTION HERE
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please delete the * LONGER DESCRIPTION HERE. For some other packages that we have longer description, please replace this line to the original description to the package here. (We don't have it for this package, so just delete it.)

Comment thread README.rst Outdated
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
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please keep the original reference here.

Comment thread README.rst Outdated
-------

For more information on diffpy.distanceprinter please visit the project `web-page <https://www.diffpy.org>`_ or email Simon J.L. Billinge Group at sb2896@columbia.edu.
For more information on diffpy.distanceprinter please visit the project `web-page <https://diffpy.github.io/>`_ or email the maintainers ``Simon Billinge(sbillinge@ucsb.edu) and Sangjoon Bob Lee(sl5400@columbia.edu)``.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please here only have Prof. Simon. Thanks

project: diffpy.distanceprinter
c_extension: false
maintainer_GITHUB_username: sbillinge
maintainer_github_username: sbillinge, bobleesj
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One more things to change here: we only need to keep Simon's github account here.

Comment thread docs/source/index.rst Outdated
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 <getting-started>` page.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please keep the original description of the package (the deleted lines here).

@stevenhua0320
Copy link
Copy Markdown
Contributor

Looks good to me now. @sbillinge we have recut this package to the latest skpkg version, ready for review.

@sbillinge sbillinge merged commit 38fe5f8 into diffpy:main Jun 3, 2026
6 checks passed
@sbillinge
Copy link
Copy Markdown
Contributor

great job guys! @stevenhua0320 do we want to make a new release? If we don't have one, could you make a release issue?

@stevenhua0320
Copy link
Copy Markdown
Contributor

Yes we could do a new release and I believe I have created the release issue workflow for version release 1.1.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3.14 update

3 participants