Skip to content

Ready for 1.0.0 PyPI/GitHub Release #32

Open

Description

@zmx27

PyPI/GitHub rc-release preparation checklist:

  • 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.
  • 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.

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:

PyPI/GitHub full-release preparation checklist:

  • Create a new conda environment and install the rc from PyPI (pip install <package-name>==??)
  • License information on PyPI is correct.
  • Docs are deployed successfully to https://<github-username-or-orgname>/<package-name>.
  • Successfully run all tests, tutorial examples or do functional testing.

Please let the maintainer know that all checks are done and the package is ready for full release.

conda-forge release preparation checklist:

  • Ensure that the full release has appeared on PyPI successfully.
  • New package dependencies listed in conda.txt and tests.txt are added to meta.yaml in the feedstock.
  • Close any open issues on the feedstock. Reach out to the maintainer if you have questions.
  • Tag the maintainer for conda-forge release.

Post-release checklist

  • Run tutorial examples and conduct functional testing using the installation guide in the README. Attach screenshots/results as comments.
  • Documentation (README, tutorials, API references, and websites) is deployed without broken links or missing figures.

Activity

  1. stevenhua0320 commented on Oct 22, 2025

    @stevenhua0320
    Contributor

    @sbillinge Have checked for srxplanargui PyPI/GitHub rc-release preparation checklist and ready for rc-release.
    The test is shown here

    (diffpy.srxplanargui-env) ~/dbs/diffpy.srxplanargui/diffpy.srxplanargui git:[main]
    twine check dist/*
    Checking dist/diffpy_srxplanargui-0.0.1-py3-none-any.whl: PASSED
    Checking dist/diffpy_srxplanargui-0.0.1.tar.gz: PASSED
    
  2. sbillinge commented on Oct 23, 2025

    @sbillinge
    Contributor

    @stevenhua0320 please go through the checklist above and check everything. I already did the first check.

    However, I see that the README has not been successfully scikit-packaged. This makes me nervous that other things were not done correctly. I wonder if we need to redo the packaging to make sure that we catch everything correctly?

  3. stevenhua0320 commented on Oct 23, 2025

    @stevenhua0320
    Contributor

    @sbillinge No, we have done that. It is highly probably because you are on the getegui branch because it sets to the default branch on GH. The main branch README looks like this:

    Image
  4. stevenhua0320 commented on Oct 23, 2025

    @stevenhua0320
    Contributor

    @sbillinge @zmx27 Moreover, I find I cannot tick the box for the checklist created by Zhiming, still figuring out why, but is that because I do not have the permission to edit it?

  5. sbillinge commented on Oct 23, 2025

    @sbillinge
    Contributor

    OK, sorry about that. I reset the default branch to main to avoid this pdfgete issue again. I also should have fixed the issue that you couldn't click the boxes. Could you try now?

    Sorry for hte difficulties.

  6. stevenhua0320 commented on Oct 23, 2025

    @stevenhua0320
    Contributor

    OK, sorry about that. I reset the default branch to main to avoid this pdfgete issue again. I also should have fixed the issue that you couldn't click the boxes. Could you try now?

    Sorry for hte difficulties.

    Hmm, still not working for me... Maybe we need Zhiming to set the permission on his side so that I can click the box?

  7. sbillinge commented on Oct 23, 2025

    @sbillinge
    Contributor

    ok, I guess you can't edit @zmx27 's issue. Let me know here which ones I can check off and I will do it.

  8. sbillinge commented on Oct 23, 2025

    @sbillinge
    Contributor

    @zmx27 are we going to do a 3.11-3.13 release or go straight to 3,12-3.14?

  9. stevenhua0320 commented on Oct 23, 2025

    @stevenhua0320
    Contributor

    @sbillinge The checklist of all rc-release is now redo again and I confirm that it should be fine (i.e All box in the rc-release checklist could be clicked)after you see the latest PR on srxplanargui
    Moreover, I noticed that because of the 3.14 release of python, some dependencies packages are not synchronized so far to py 3.14 version when I build the srxplanargui and srxplanar, so the CI would not pass if we set 3.14 as a default testing version right now. See the reason of failing CI test on my recent PR.

  10. sbillinge commented on Oct 23, 2025

    @sbillinge
    Contributor

    Simon note to self: this is ready to release at 1.0.0 when #33 merges

  11. changed the title [-]Ready for 0.0.1 PyPI/GitHub Release[/-] [+]Ready for 1.0.0 PyPI/GitHub Release[/+] on Oct 23, 2025
  12. sbillinge commented on Oct 24, 2025

    @sbillinge
    Contributor

    @zmx27 @dabeycorn @stevenhua0320 to get things to pass CI, add to the "on_PR" workflow:

          python_version: 3.13
    

    under with

  13. zmx27 commented on Oct 24, 2025

    @zmx27
    CollaboratorAuthor

    @stevenhua0320 quick question, how did you build the docs? I noticed that there isn't a Makefile under docs

  14. sbillinge commented on Oct 24, 2025

    @sbillinge
    Contributor

    @stevenhua0320, in these private repos we also want to remove the "pr welcome" badge which is appropriate only for public repos.

  15. stevenhua0320 commented on Oct 24, 2025

    @stevenhua0320
    Contributor

    @zmx27 There is the Makefile in my local, it seems that I forgot to add it to commit. Let me make a PR along with removing "pr welcome badge" in index.rst

  16. 4 remaining items

  17. zmx27 commented on Nov 7, 2025

    @zmx27
    CollaboratorAuthor

    I will go through the checklist again to double check:

    1. All PRs and issues are closed (the only other issue is for the 1.1.0 release)
    2. The badges in the README don't all pass, but that's because this package isn't on PyPI/CF. But they do now match the badges that scikit-package provides for open source/public packages.
    Image
    1. The license is correctly named LICENSE.rst and uses the BSD 3-Clause License for open source software.
    2. The documentation can be built and correctly renders.
    Image @sbillinge do we want to change the part in the "Getting Started" section about how this package is not designed to be ran on its own and comes with xpdfsuite?
    1. The installation instructions are updated to use the instructions from skpkg for packages that are put on PyPI/CF.
    2. There are no tutorial examples, but here is the result of pytest
    ============================= test session starts ==============================
    platform darwin -- Python 3.13.5, pytest-8.4.2, pluggy-1.6.0
    rootdir: /Users/zhimingxu/BillingeGroup/diffpy.srxplanargui
    configfile: pyproject.toml
    plugins: env-1.2.0, cov-7.0.0
    collected 1 item
    
    tests/test_version.py .                                                  [100%]
    
    ============================== 1 passed in 0.06s ===============================
    

    Note: Similar to xpdfsuite, this only seems to work with pip install . for some reason. Installing in editable mode will result in a ModuleNotFoundError.
    7. Grammar and writing is checked.
    8. The package is correctly formatted for PyPI release

    $ twine check dist/*
    Checking dist/diffpy_srxplanargui-1.0.0rc0-py3-none-any.whl: PASSED
    Checking dist/diffpy_srxplanargui-1.0.0rc0.tar.gz: PASSED
    

    @sbillinge assuming that we don't need to change the section in the documentation (I doubt anyone will read it since there is nothing in it), this package is ready for release. As noted, there is an error with installing with pip install -e . just like in xpdfsuite, but I'm not sure how long we want to spend on it

  18. sbillinge commented on Nov 7, 2025

    @sbillinge
    Contributor

    Thanks, this is perfect. I would like to get to the bottom of why the -e installation doesn't work in these packages in general as this maybe a fix we need to make to scikit-package, but let's not let that hold this up.

  19. sbillinge commented on Nov 7, 2025

    @sbillinge
    Contributor

    Actually, checking this, the docs are not actually deployed so (4.) should have failed. You are not testing if the docs can be built, but whether they deployed corectly during the release (and they did not because of the python version error that should now be fixed). However, I will run another rc release...

  20. sbillinge commented on Nov 7, 2025

    @sbillinge
    Contributor

    also, the test of the installation wasn't done correctly. You should have been testing not pip install . which is a local installation, but pip install diffpy.srxplanargui==1.0.0-rc.0.

    After I am running the new pre-release, please could you check the correct installation and the docs (the one to check will actually be pip install diffpy.srxplanargui==1.0.0-rc.1) and you check hte docs by looking up https://diffpy.github.io/diffpy.srxplanargui

    Remember that now we are checking that the public pre-release is good so you should be able to even delete your local version of diffpy.srxplanargui and it would all work.

  21. sbillinge commented on Nov 7, 2025

    @sbillinge
    Contributor

    OK, @zmx27 (@stevenhua0320) you should be able to check the new rc release (type conda create -n test-srxplanargui-1.0.0-rc.1 diffpy.srxplanargui==1.0.0-rc.1 and then activate and run tests and examples.) now.

    However the docs are still not deploying correctly. I will continue to work with Bob to try and fix this, so don't worry about the docs for now. Let me know if the pypi installation works ok, and I can move to a full release.

  22. sbillinge commented on Nov 7, 2025

    @sbillinge
    Contributor

    @zmx27 @stevenhua0320 rc.2 successfully built docs so please check this release per instructions above and let me know and I will run the full release. Then when that is done we can move on to conda-forge

  23. zmx27 commented on Nov 7, 2025

    @zmx27
    CollaboratorAuthor

    @sbillinge first, it doesn't seem like the docs are deployed properly still. When I navigated to https://diffpy.github.io/diffpy.srxplanargui, I am met with a 404 error like shown below:

    Image

    You mentioned that rc.2 should have correctly built the docs, so what could be the issue here?

    Next, I'm also having trouble installing the rc from PyPI. What I did was that I first created a new python 3.13 conda environment using conda create -n planargui-test python=3.13.
    Then, I activated this conda environment and ran pip install diffpy.srxplanargui==1.0.0-rc.2. Here is the result:

    ...
    INFO: pip is looking at multiple versions of diffpy-srxplanargui to determine which version is compatible with other requirements. This could take a while.
    ERROR: Ignored the following versions that require a different python version: 1.10.0 Requires-Python >=3.8,<3.12; 1.10.0rc1 Requires-Python >=3.8,<3.12; 1.10.0rc2 Requires-Python >=3.8,<3.12; 1.10.1 Requires-Python >=3.8,<3.12; 1.11.0 Requires-Python >=3.9,<3.13; 1.11.0rc1 Requires-Python >=3.9,<3.13; 1.11.0rc2 Requires-Python >=3.9,<3.13; 1.11.1 Requires-Python >=3.9,<3.13; 1.11.2 Requires-Python >=3.9,<3.13; 1.11.3 Requires-Python >=3.9,<3.13; 1.21.2 Requires-Python >=3.7,<3.11; 1.21.3 Requires-Python >=3.7,<3.11; 1.21.4 Requires-Python >=3.7,<3.11; 1.21.5 Requires-Python >=3.7,<3.11; 1.21.6 Requires-Python >=3.7,<3.11; 1.26.0 Requires-Python >=3.9,<3.13; 1.26.1 Requires-Python >=3.9,<3.13; 1.6.2 Requires-Python >=3.7,<3.10; 1.6.3 Requires-Python >=3.7,<3.10; 1.7.0 Requires-Python >=3.7,<3.10; 1.7.1 Requires-Python >=3.7,<3.10; 1.7.2 Requires-Python >=3.7,<3.11; 1.7.3 Requires-Python >=3.7,<3.11; 1.8.0 Requires-Python >=3.8,<3.11; 1.8.0rc1 Requires-Python >=3.8,<3.11; 1.8.0rc2 Requires-Python >=3.8,<3.11; 1.8.0rc3 Requires-Python >=3.8,<3.11; 1.8.0rc4 Requires-Python >=3.8,<3.11; 1.8.1 Requires-Python >=3.8,<3.11; 1.9.0 Requires-Python >=3.8,<3.12; 1.9.0rc1 Requires-Python >=3.8,<3.12; 1.9.0rc2 Requires-Python >=3.8,<3.12; 1.9.0rc3 Requires-Python >=3.8,<3.12; 1.9.1 Requires-Python >=3.8,<3.12
    ERROR: Could not find a version that satisfies the requirement diffpy.srxplanar (from diffpy-srxplanargui) (from versions: none)
    ERROR: No matching distribution found for diffpy.srxplanar
    

    It seems like we need to do a rc release for srxplanar first, so I will go through the checklist there asap and ping you when the rc release is ready.

  24. stevenhua0320 commented on Nov 7, 2025

    @stevenhua0320
    Contributor

    @zmx27 Yes, same issue for me about these problems.

  25. sbillinge commented on Nov 8, 2025

    @sbillinge
    Contributor

    ok, docs issue is resolved:

    Image
  26. sbillinge commented on Nov 8, 2025

    @sbillinge
    Contributor

    @zmx27 @stevenhua0320 I created a couple of checklists to help us keep track of these things:
    https://github.com/bg-mission-control/operation-release-everything/blob/main/README.md

    I think in summary, that there is a dependency tree:
    xpdfsuite -> srxplanargui -> srxplanar -> srxconfutils on CF

    Conda-forge is a bottleneck. It would be good to get all the staged recipes as ready as possible to try and keep it all moving forward as well as possible.

    @zmx27 @stevenhua0320

    • please can you review and make sure that everything we can do has been done and we are just waiting on the CF reviewers?
    • This weekend, let's make a plan for how the actual xpdfsuite release is going to be (from a user perspective) and how we are going to build that. Then we ca work on it.
  27. zmx27 commented on Nov 25, 2025

    @zmx27
    CollaboratorAuthor

    PyPI Full Release Checklist:

    • Installed rc-2 from PyPI
    • The license on PyPI is the BSD license, which is correct
    • The documentation is deployed successfully
    Image
    • Here are the results of running pytest after installing the rc from PyPI and installing the testing frameworks:
    ================================== test session starts ===================================
    platform darwin -- Python 3.13.9, pytest-9.0.1, pluggy-1.6.0
    rootdir: /Users/zhimingxu/BillingeGroup/diffpy.srxplanargui
    configfile: pyproject.toml
    plugins: env-1.2.0, cov-7.0.0
    collected 1 item
    
    tests/test_version.py .                                                            [100%]
    
    =================================== 1 passed in 0.12s ==================================== 
    

    @sbillinge this package is ready for the full release on PyPI (after #40 is merged first)

  28. sbillinge commented on Nov 25, 2025

    @sbillinge
    Contributor

    ok, i pushed out 1.0.0-rc.3. lets see howit goes

  29. sbillinge commented on Nov 25, 2025

    @sbillinge
    Contributor

    💯 srxplanargui build and deploy was successful! Please can you check 1.0.0-rc.3 checklist everything is ok from a pip install diffpy.srxplanargui=1.0.0-rc.3 command in a clean env.

    Let me know and I will fush out the full release and we can work on conda-forge

  30. zmx27 commented on Dec 9, 2025

    @zmx27
    CollaboratorAuthor

    PyPI Full Release Checklist:

    • Installed rc-3 from PyPI
    • The license on PyPI is the BSD license, which is correct
    • The documentation is deployed successfully
    Image
    • Here are the results of running pytest after installing the rc from PyPI and installing the testing frameworks:
    ================================== test session starts ===================================
    platform darwin -- Python 3.13.9, pytest-9.0.1, pluggy-1.6.0
    rootdir: /Users/zhimingxu/BillingeGroup/diffpy.srxplanargui
    configfile: pyproject.toml
    plugins: env-1.2.0, cov-7.0.0
    collected 1 item
    
    tests/test_version.py .                                                            [100%]
    
    =================================== 1 passed in 0.12s ==================================== 
    

    @sbillinge this package is ready for the full release on PyPI

  31. sbillinge commented on Dec 9, 2025

    @sbillinge
    Contributor

    ok, I pushed that release up

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions