Skip to content

Move this repository upstream to Scientific Python #199

Closed

Description

@pllim

During Scientific Python Developers Summit 2023, another package has taken interest to use and co-contribute to pytest-doctestplus. Given the non-astronomy nature of this package, it would make sense to move this package upstream to https://github.com/scientific-python/ so it could be shared in terms of maintenance and usage across multiple packages (including but not limited to, say, numpy).

Here is the plan:

  1. @bsipocz would move this repo upstream to Scientific Python.
  2. @bsipocz would add new maintainers from another package to the repo, in addition to existing maintainers from Astropy. Does this also include RTD, PyPI, and Zenodo access? Have to hash this out...
  3. @seberg would open a PR to add a feature his package needs. (Though this could happen anytime.)
  4. Future development and release goes on as usual but now part of Scientific Python org.
  5. ???
  6. Profit!!!

From infrastructure tag-up on 2023-05-30 (#199 (comment)), astropy and numpy have agreed on the following terms:

  • The license remains the same (BSD modulo the organization name change).
  • The current maintainers of pytest-doctestplus will be allowed to continue as full maintainers (provided they still wish to be).
    • Admin: @astropy/astropy-project-release-team and @astropy/devops-maintainers
    • Write: @astropy/astropy-core-maintainers
    • If these are too many people, we can negotiate down to the few who are actually active in pytest-doctestplus currently.
  • The workflow should not be altered significantly. We follow common OSS workflow of opening PR from forks, going through code reviews, prohibiting force push to main, and so on.
  • Backwards compatibility should be maintained for a while (hopefully with semantic versioning).

Please comment in support or against in this issue.

FWIW, I am in support of this plan, as I presented this as one of the options during the State of Infrastructure in the recent Astropy Coordination Meeting 2023.

✔️ ❌
pllim
mhvk
mwcraig
saimn
bsipocz
seberg (numpy)
hamogu
astrofrog
infrastructure tag-up
dev telecon
CoCo

xref astropy/astropy-project#118 and https://zenodo.org/record/7948556#.ZHXusXbMKUk

Activity

  1. mhvk commented on May 30, 2023

    @mhvk
    Contributor

    Good idea! Note that I think pytest's NUMBER could in fact replace FLOAT_CMP, though on the astropy side it might need adjusting tests, since the tolerance is implicit in the number of digits one uses. But that's a detail on the larger question here.

  2. pllim commented on May 30, 2023

    @pllim
    Author
  3. mwcraig commented on May 30, 2023

    @mwcraig

    Sounds like a good plan to me

  4. bsipocz commented on May 30, 2023

    @bsipocz
    Member

    At this point I think we should keep FLOAT_CMP, even if it's just an alias to NUMBER. But I'm +1 on ripping the code out and aliasing it, if someone volunteers to do so. Personally, I think there are other fishes to fry first, a lot of missing nice-to-haves.

    There is just a lot of usage out there, and cleaning up those for the sake of cleaning doesn't make much sense to me.

  5. mhvk commented on May 30, 2023

    @mhvk
    Contributor

    Good point. There may well be more +FLOAT_CMP than +NUMBER...

  6. saimn commented on May 30, 2023

    @saimn
    Contributor

    Sounds great !

  7. pllim commented on May 30, 2023

    @pllim
    ContributorAuthor

    I have added a table tracking ✔️ and ❌ that I have seen here so far. Thanks, everyone! 😸

  8. pllim commented on May 30, 2023

    @pllim
    ContributorAuthor

    From infrastructure tag-up on 2023-05-30 , astropy and numpy have agreed on the following terms:

    • The license remains the same (BSD modulo the organization name change).
    • The current maintainers of pytest-doctestplus will be allowed to continue as full maintainers (provided they still wish to be).
      • Admin: @astropy/astropy-project-release-team and @astropy/devops-maintainers
      • Write: @astropy/astropy-core-maintainers
      • If these are too many people, we can negotiate down to the few who are actually active in pytest-doctestplus currently.
    • The workflow should not be altered significantly. We follow common OSS workflow of opening PR from forks, going through code reviews, prohibiting force push to main, and so on.
    • Backwards compatibility should be maintained for a while (hopefully with semantic versioning).

    For completeness, I will also mention this on the original post.

  9. bsipocz commented on May 30, 2023

    @bsipocz
    Member

    It's weird why the ~30 core maintainers have write access to the infra plugins, isn't that more like an existing oversight here?

    Otherwise, I see no issues with bringing over the 4 individuals who are in the admin teams (it has to be a new team though, as afaik cross-org teams are not a thing).

  10. hamogu commented on May 30, 2023

    @hamogu
    Contributor

    Personally, I don't care as much who has write access to the new repro, as long as there are maintainers (old or new) who are responsive to PRs. While I technically have write access now, in practice I would open a PR and wait for it to be reviewed by someone.

    In my mind, the large number of maintainers is more "anybody can merge a fix of typos in the docs so the maintainers are free to concentrate on the difficult stuff" (like in astropy core, where I might merge a typo fix in a docstring in cosmology, but never a feature that touches code). However, in practice, it seems very rare that that happens (based on looking at recently merged PRs), so there is no evidence that such a broad write access is actually needed.

  11. hamogu commented on May 30, 2023

    @hamogu
    Contributor

    I agree though that people who've recently been active in this module and have write access now should be asked to become maintainers in the new repro if they wish to.

  12. astrofrog commented on May 31, 2023

    @astrofrog
    Contributor

    I am very much in favour of this move. I don't think all core maintainers need to continue being maintainers, maybe just testing infrastructure maintainers and any active maintainers in the last few years?

  13. pllim commented on May 31, 2023

    @pllim
    ContributorAuthor

    Yes, I agree with <30 maintainers ported over. 😆 I think even 2-5 would be enough if they are all active.

  14. pllim commented on Jun 5, 2023

    @pllim
    ContributorAuthor

    Update from 2023-06-05: 4/5 CoCo members agreed to this (@eteq was absent due to AAS). At this time, there is also no objection from those present at infrastructure tag-up and from dev telecon. So as far as Astropy Project is concerned as a whole, this is a go.

  15. pllim commented on Jun 6, 2023

    @pllim
    ContributorAuthor

    Plan from @bsipocz

    1. She will wrap up a last release for what we have on main atm (next few days)
    2. Set up maintainer teams etc on the Scientific Python (SP) side
    3. Get @pllim temporary permissions to move the repo cross GitHub orgs (we need @jarrodmillman or @stefanv for this)
    4. Tag a new release maybe, with updated license, push the updates to PyPI
    5. Something else she forgot about?
  16. stefanv commented on Jun 6, 2023

    @stefanv
    Member

    I think you should be okay to move repos to another org with that org's "permission", but happy to stand by to give you whatever permissions you need along the way to maintain ownership over that repo.

  17. bsipocz commented on Jun 8, 2023

    @bsipocz
    Member

    Step1 is done from the list above with v0.13.0.
    Step2 is the CI infrastructure team. We may need to fine-tune and use subteams for the different elements, but atm both @pllim and I are in that team, so can start the moving procedure. Eventually, we need to invite Tom (astrofrog) and Simon (saimn) to the org. Could you @stefanv or @jarrodmillman do it please? Once they are in the org, the two of us can sort out the team.

    Step3: @pllim - I can create new repos in the org, so I assume you can too. So maybe it's indeed enough with you astropy owner permissions to get the move done.

    Step4: I'll cleanup the CI matrix and add py3.12 compatibility, etc, and tag a 1.0 as a new beginning in the new org.
    Step5: ping Sebastian to open his PR :)

  18. jarrodmillman commented on Jun 8, 2023

    @jarrodmillman
    Member

    I just invited invited Tom (astrofrog) and Simon (saimn) to the CI infrastructure team on the Scientific Python GH org.

  19. pllim commented on Jun 8, 2023

    @pllim
    ContributorAuthor

    Step 3 is done! The repo is now https://github.com/scientific-python/pytest-doctestplus 🎉

    I'll let the Scientific Python admins figure out the license wordings but it should remain BSD 3-clause. Thanks!

  20. pllim commented on Jun 8, 2023

    @pllim
    ContributorAuthor

    I also did Step 5 out of order (didn't read that far down). 😅

  21. bsipocz commented on Jun 13, 2023

    @bsipocz
    Member

    OK, move is done, I'll tag a release soonish, but that's not a blocker for this issue, therefore I'm closing. Thanks @pllim for facilitating.

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