Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Jazzband guidelines for pathlib2 #66

Open
12 of 13 tasks
jazzband-bot opened this issue Sep 14, 2021 · 10 comments
Open
12 of 13 tasks

Implement Jazzband guidelines for pathlib2 #66

jazzband-bot opened this issue Sep 14, 2021 · 10 comments
Assignees

Comments

@jazzband-bot
Copy link
Contributor

jazzband-bot commented Sep 14, 2021

This issue tracks the implementation of the Jazzband guidelines for the project pathlib2

It was initiated by @mcmtroffaes who was automatically assigned in addition to the Jazzband roadies.

See the TODO list below for the generally required tasks, but feel free to update it in case the project requires it.

Feel free to ping a Jazzband roadie if you have any question.

TODOs

Project details

Description Backport of pathlib aiming to support the full stdlib Python API. As of January 1 2020, this repository will no longer receive any further feature updates, as Python 2 is no longer supported.
Homepage
Stargazers 64
Open issues 0
Forks 18
Default branch develop
Is a fork False
Has Wiki False
Has Pages False
@mcmtroffaes
Copy link
Collaborator

Note: this was moved at the suggestion of @graingert. I think I've done everything, except:

  • There are no docs for this (since the upstream python documentation should cover everything).
  • Not sure what CI for releases should look like (I've done this manually in the past as I prefer to see what's happening), but happy for someone to set that up.
  • I have no intention to be the project lead anymore (actually the repository had not been maintained since January 2020 due to Python 2 going EOL), but I'll happily help out reviewing PRs or addressing quick and simple issues.
  • The phrase "As of January 1 2020, this repository will no longer receive any further feature updates, as Python 2 is no longer supported." should be removed from the project description, however it appears that I cannot edit it myself following the transfer (or I have not found how to do it...).

@jezdez
Copy link
Member

jezdez commented Sep 15, 2021

Hi @mcmtroffaes, welcome to Jazzband!

This is a fascinating project given that it's a backport. Could you elaborate what your plans were for the project?

It's quite the high-profile project and I want to make clear that it's really important for such projects to have a continuity of maintenance. In other words, have you talked with @graingert about who will lead this project? I'm afraid I have to insist on someone leading it given its special circumstances.

BTW, @graingert When you suggest moving a project to Jazzband, it'd be better to first follow the proposal process so we can clear any questions before the project is moved, to rule out any incompatibilities with the Jazzband guidelines.

Note: this was moved at the suggestion of @graingert. I think I've done everything, except:

  • There are no docs for this (since the upstream python documentation should cover everything).

I'm afraid that's not optional in this case since this project is not maintained by the Python core team and its users need a place to read what this project is about and how to use it. A simple Sphinx/RTD setup suffices.

A few things that should be answered somewhere very public to ease maintenance, e.g.:

  • Does it accept PRs or is this only limited to copying the stdlib pathlib?
  • What's the contributing process in an organization where everyone has commit?
  • What does QA look like, e.g. that you did manually over the years.
  • What are the supported Python versions and how will changes in the Python stdlib be backported?
  • Not sure what CI for releases should look like (I've done this manually in the past as I prefer to see what's happening), but happy for someone to set that up.

This is also not optional, CI/CD is essential for Jazzband projects to lower the barrier for contributions from Jazzband members and 3rd party contributors. All other Jazzband projects have examples how to set up GitHub actions with tox/pytest.

  • I have no intention to be the project lead anymore (actually the repository had not been maintained since January 2020 due to Python 2 going EOL), but I'll happily help out reviewing PRs or addressing quick and simple issues.

I'm not sure I follow, the project is generally unmaintained since Python 2's EOL? Does that mean the project is effectively dead as in "not needed anymore"? What about the other maintained Python 3 versions?

I'm super worried that this is effectively a dead project but still used by quite the number of high-profile projects (e.g. requests, pipenv, buildbot, Apache Arrow, pytest-django). Have you talked with those projects about supporting pathlib2?

  • The phrase "As of January 1 2020, this repository will no longer receive any further feature updates, as Python 2 is no longer supported." should be removed from the project description, however it appears that I cannot edit it myself following the transfer (or I have not found how to do it...).

Yeah, you lost admin permissions during the transfer, that's an expected side-effect of lowering the permissions to "write". I'm happy to update the description once we worked out what the roadmap for the project looks like.

@jezdez
Copy link
Member

jezdez commented Sep 15, 2021

@graingert Adding you to this ticket since you suggested the transfer and likely would act as project lead if I understand correctly.

@graingert
Copy link
Member

BTW, @graingert When you suggest moving a project to Jazzband, it'd be better to first follow the proposal process

Yes when I suggested a move, I wasn't expecting the project to move so quickly!

@graingert
Copy link
Member

graingert commented Sep 15, 2021

  • There are no docs for this (since the upstream python documentation should cover everything).

I'm afraid that's not optional in this case since this project is not maintained by the Python core team and its users need a place to read what this project is about and how to use it. A simple Sphinx/RTD setup suffices.

A few things that should be answered somewhere very public to ease maintenance, e.g.:

* Does it accept PRs or is this only limited to copying the stdlib pathlib?

I imagine this project working exactly the same as contextlib2

* What's the contributing process in an organization where everyone has commit?

The main branch can be protected so all PRs and releases must have bilateral agreement

* What are the supported Python versions and how will changes in the Python stdlib be backported?

Following contextlib2's lead I'd like to see only supported python versions will be all supported python versions eg 3.6+ with changes from Python main backported

@mcmtroffaes
Copy link
Collaborator

This is a fascinating project given that it's a backport. Could you elaborate what your plans were for the project?

I took over the backport many years ago as I needed it in another project for Python 2.x, and the original maintainer (Antoine Pitrou) had no intention to further maintain it. I've not used it myself for a few years but I've kept it in sync with upstream pathlib until January 2020 as a service to the community. Since then, I've only done a few minor updates (migrating from travis to github actions, some typing fixes following the module being added to typeshed, and some further very minor bugs fixed).

It's quite the high-profile project and I want to make clear that it's really important for such projects to have a continuity of maintenance. In other words, have you talked with @graingert about who will lead this project? I'm afraid I have to insist on someone leading it given its special circumstances.

Yes. I effectively would like to stand down as lead. From what I read about the project, jazzband seemed like a healthy place for something like pathlib2 to live on. I like the initiative and would like to support it in some way.

  • There are no docs for this (since the upstream python documentation should cover everything).

I'm afraid that's not optional in this case since this project is not maintained by the Python core team and its users need a place to read what this project is about and how to use it. A simple Sphinx/RTD setup suffices.

Sure, the readme should serve as documentation.

  • Does it accept PRs or is this only limited to copying the stdlib pathlib?

Copying only.

  • What's the contributing process in an organization where everyone has commit?

I don't know your processes but @graingert made a suggestion that seems very sensible at glance.

  • What does QA look like, e.g. that you did manually over the years.

I didn't do much manually: travis used to do most of the QA, and I've switched it to github actions when travis closed. However, as mentioned, releases are done manually (i.e. I run the setup build command followed by twine upload, locally).

  • What are the supported Python versions and how will changes in the Python stdlib be backported?

Currently, 2.7, 3.5, 3.6, 3.7, 3.8, and 3.9 (presumably 3.10 works too, but I haven't fully tested this).

  • Not sure what CI for releases should look like (I've done this manually in the past as I prefer to see what's happening), but happy for someone to set that up.

This is also not optional, CI/CD is essential for Jazzband projects to lower the barrier for contributions from Jazzband members and 3rd party contributors. All other Jazzband projects have examples how to set up GitHub actions with tox/pytest.

It runs pytest. It just doesn't run the release process.

I'm not sure I follow, the project is generally unmaintained since Python 2's EOL? Does that mean the project is effectively dead as in "not needed anymore"? What about the other maintained Python 3 versions?

The 2.7 version is basically not needed anymore. I guess some folks may be using it to have Python 3.9 features on older Python versions. If that's sufficiently widespread, it may be worth keeping it in sync.

I'm super worried that this is effectively a dead project but still used by quite the number of high-profile projects (e.g. requests, pipenv, buildbot, Apache Arrow, pytest-django). Have you talked with those projects about supporting pathlib2?

Since January 2020, I haven't had feature requests, issues, ... from any of those projects as far as I know, so no, I haven't reached out. You guys were the first to reach out in many years, so I assume there must be some people here with some interest.

  • The phrase "As of January 1 2020, this repository will no longer receive any further feature updates, as Python 2 is no longer supported." should be removed from the project description, however it appears that I cannot edit it myself following the transfer (or I have not found how to do it...).

Yeah, you lost admin permissions during the transfer, that's an expected side-effect of lowering the permissions to "write". I'm happy to update the description once we worked out what the roadmap for the project looks like.

Ok, thanks!

I hope I've answered everything clearly. If you need further clarifications, do say.

As a first action, I can set up some quick sphinx docs.

@graingert
Copy link
Member

I added jazzband-bot to https://readthedocs.org/dashboard/pathlib2/users/ but I get

Webhook activation failed. Make sure you have the necessary permissions.

on the webhook page https://readthedocs.org/dashboard/pathlib2/integrations/

This was referenced Sep 16, 2021
@mcmtroffaes
Copy link
Collaborator

mcmtroffaes commented Feb 9, 2022

On September 14th 2021, I requested...

  • The phrase "As of January 1 2020, this repository will no longer receive any further feature updates, as Python 2 is no longer supported." should be removed from the project description, however it appears that I cannot edit it myself following the transfer (or I have not found how to do it...).

Could someone with the required powers please implement this? The description is now confusing end users (see for instance #81).

@jezdez
Copy link
Member

jezdez commented Feb 10, 2022

On September 14th 2021, I requested...

  • The phrase "As of January 1 2020, this repository will no longer receive any further feature updates, as Python 2 is no longer supported." should be removed from the project description, however it appears that I cannot edit it myself following the transfer (or I have not found how to do it...).

Could someone with the required powers please implement this? The description is now confusing end users (see for instance #81).

Done that now, sorry!

@mcmtroffaes
Copy link
Collaborator

Great, looks perfect now - thanks for acting on this @jezdez!

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

No branches or pull requests

4 participants