Skip to content

Conversation

@kotopesutility
Copy link
Contributor

First, it is much better to use modules from the standard library. Secondly, this patch conforms to https://peps.python.org/pep-0632/#migration-advice (without it, this project depends on distutils.util.convert_path, which is provided by both the deprecated package from the standard library and the setuptools, which can cause confusion). Otherwise you can just use Path(where).as_posix() instead of convert_path or even import setuptools._distutils.convert_path instead of distutils.convert_path

@cdent
Copy link
Collaborator

cdent commented Oct 15, 2023

Can you update this from the latest master now that #84 has been put in place? Just to be sure.

Otherwise I'm fine with merging this. The reason this hasn't been done in the past is because of Paste's status as described in the README:

Paste is in maintenance mode and recently moved from bitbucket to github. Patches are accepted to keep it on life support, but for the most part, please consider using other options.

So assuming this works and since it has been provided by "the community" I'm happy for it to go in.

@kotopesutility
Copy link
Contributor Author

pull-ed #84 + #85, then cherrypicked and force-pushed. Please, check it!

@cdent
Copy link
Collaborator

cdent commented Oct 15, 2023

Okay, this looks okay, now we need to make a decision:

Up to now paste has worked with Python 2.7 despite Python 2 being long dead. This has been maintained as the case as Paste too should be long dead, so if people are stuck on Paste it feels likely they may be stuck on Python 2.7 as well (for whatever reason).

So the options here are to:

  1. Formally kill the tacit support for 2.7
  2. Use pathlib2 as a conditional requirement and import

I'm kind of trending towards option 1. People who really need Python 2.7 can always pin an older version of Paste, and we can document that.

However I'd prefer some input from recent contributors. Can the following please chime in with their opinions: @hugovk , @tomodachi94 , @cjwatson , @brondsem , @2silver , @kloczek

Option 1 is probably the best choice because sometime in the past few months the build has broken for 2.7. While the code will still run (as far as I can tell), to make build and install behave correctly will require stricter management of requirements and imports, which is probably more work than it warrants.

But it would be good to have some confirmation and second opinions.

@hugovk
Copy link
Contributor

hugovk commented Oct 15, 2023

Formally kill the tacit support for 2.7

Yes. It's time. It's way past time. This version is no more. It has ceased to be.

image

https://devguide.python.org/versions/

At least 73.9% of the top 360 packages have dropped it by removing the Trove classifier (and some packages don't use Trove classifiers):

https://pyreadiness.org/2.7/

If people are still pinned to old Python 2.7, they can pin to an old Paste. They're already pinning many other old packages.

GitHub Actions have dropped 2.7, making it difficult to test. If you can't easily test PRs, you can't be sure PRs still work for it.

It's getting harder to support it, for little to no gain.

It's time.

@cdent
Copy link
Collaborator

cdent commented Oct 16, 2023

Right, I'll take care of merging this, killing 2 support, and doing a new release in the next few days.

Thanks very much to everyone for the patch and the input.

@cdent cdent merged commit 74a9c5d into pasteorg:master Oct 19, 2023
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 participants