Release version 0.61 by cclauss · Pull Request #662 · webpy/webpy

@cclauss

setup.py: Add python_requires='>=3.5'

This prevents installation on legacy Python and other versions < Python 3.5 as discussed in
https://packaging.python.org/guides/distributing-packages-using-setuptools/#python-requires

Tasks for making a new release.

  • Reread Packaging Python Projects to make sure you miss no steps...
  • Bump the version in web/__init__.py
  • Update ChangeLog.txt and mark the release date in ChangeLog.txt
  • Check setup.py and update if necessary
  • Check README.md and update if necessary
  • Check MANIFEST.in and update if necessary Added MANIFEST.in to include docs, tests and tools in source package. #628
  • Tag the version and mark it as a release in GitHub
  • python3 -m pip install --upgrade pip setuptools wheel # Important for PyPI page rendering
  • Run python3 setup.py sdist under webpy source code directory to generate package file used to publish to PyPI
  • Run tar tf dist/web.py-<version>.tar.gz to make sure all required files are included.
  • Publish package on PyPI with command python3 setup.py sdist upload
  • Update the documentation on the website (see webpy.github.com repo) Release v0.61 webpy.github.com#137
  • Announce it on the mailing list
  • Update the API docs if required (not required)

@cclauss

iredmail

Choose a reason for hiding this comment

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

Could you please reformat file to satisfy the “black” tool? :)

@cclauss

iredmail

@Nicusor97

Hello! Is there any ETA when a new version of this module will be released? (including this change (prevents installation on legacy Python and other versions < Python 3.5)). The current version of the web.py (0.60) is a blocker for our pipelines and we can't downpin it for all our releases

@iredmail

Seems we need a new release immediately for this purpose.

@cclauss you can publish 0.61 if you want.

@Nicusor97

Will be great if the 0.61 version will be released as soon as possible!

@cclauss

@Nicusor97 Workaround is to pin your dependency for legacy Python:
pip install --upgrade "web.py<0.60;python_version<'3.5'" "web.py;python_version>='3.5'"

@laura-surcel

@cclauss it's not that easy. I have a package with multiple released versions that are actively used by clients. I cannot pin it in all versions. I can pin it for next releases though but not for the old ones. The python_requires would solve this issue for us.

@cclauss

@cclauss

@anandology Can you please pick up where I left off on the checklist above? I do not have publishing rights on PyPI.

Please ensure to update wheel before creating the dist so that our PyPI page is rendered properly. Thanks.

@Nicusor97 @laura-surcel Please view the Files changed and then click the Review changes green button at the top right of that page and then click Approve.

Positive reviews give project maintainers confidence that these changes are in the best interests of the project.

laura-surcel

Nicusor97

@cclauss cclauss changed the title setup.py: Add python_requires='>=3.5' Release version 0.61

Jul 24, 2020

@cclauss

@codecov-commenter

Codecov Report

Merging #662 into master will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #662   +/-   ##
=======================================
  Coverage   58.76%   58.76%           
=======================================
  Files          23       23           
  Lines        4278     4278           
  Branches      627      627           
=======================================
  Hits         2514     2514           
  Misses       1587     1587           
  Partials      177      177           
Flag Coverage Δ
#py35 58.74% <ø> (ø)
#py36 58.78% <ø> (ø)
#py37 58.78% <ø> (ø)
#py38 58.80% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.


Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e58983b...2ccd4b0. Read the comment docs.

@iredmail

hi @cclauss

Could you also add MANIFEST.in file? see #628

btw, i used pip2 install web.py>=0.51 in my application released weeks ago, and now it failed to install due to missing the python_requires=">=3.5" in 0.60. :)

iredmail

@cclauss

btw, i used pip2 install web.py>=0.51

You want python2 -m pip install web.py<0.60 or better yet, just dump legacy Python. ;-)

@iredmail

You want python2 -m pip install web.py<0.60 or better yet, just dump legacy Python. ;-)

Still need to run legacy Python 2 code for few more months while moving to Python 3. No worries about this. :)
Would you like to tag 0.61 now?

@iredmail

Just a remind: once you published to pypi, there's no chance to remove it and re-publish same version.

@iredmail

Should we include README.md in file MANIFEST.in?

@cclauss

I think we are ready. Is the order of the checklist above incorrect? Do we publish to PyPI first and then tag the release after or vice versa? Only you and @anandology have the rights to publish to PyPI.

@iredmail

  • I suggest tag first, then publish to pypi.
  • Please ask @anandology to grant your account required privileges.

@cclauss

@iredmail

Hold on, don't publish to pypi right now. Because you forgot to merge this PR.
Please merge first, remove the github tag, then re-tag. :)

@iredmail

It's ok to (re-)tag 0.61 in github now, and publish to PYPI. Good job. :)

@cclauss

  1. I cannot "re-tag“ on GitHub.
  2. I do not have the permissions required to publish on PyPI.

@cclauss

My sense is that we need to do a 0.62.

@iredmail

About "re-tag", usually I delete old tag and tag again with same name. I see you already done on GitHub. Well done. :)

btw, I have 3 (bash) shell functions in my ~/.bash_profile (on macOS, Linux can use ~/.bashrc):

gittag() {
    _tag="${1}"

    git tag ${_tag}             # Tag locally
    git push origin ${_tag}     # Tag remotely
}

gitdeletetag() {
    _tag="${1}"

    git tag -d ${_tag}          # Delete tag locally
    git push origin :${_tag}    # Delete tag remotely
}

gitretag() {
    _tag="${1}"

    gitdeletetag ${_tag}
    gittag ${_tag}
}

Then i simply run command like gitretag 0.61 to re-tag. :)

@iredmail

My sense is that we need to do a 0.62.

0.61 is ok IMO. No one use the old 0.61 yet in passed one hour, so quickly fix it and retag is ok for me before publishing on PYPI.

@iredmail

Please do not publish to PYPI right now, one packaging issue found:

While running python3 setup.py sdist under webpy source code repo, it generates file dist/web.py-0.61.tar.gz, run tar tf dist/web.py-0.61.tar.gz to list all files inside the tar.gz file, you can see some directories defined in file MANIFEST.in are missing: docs, tests, tools.

@iredmail

Fixed incorrect syntax in MANIFEST.in: #663

@iredmail

Re-tagged 0.61. :)
Should be fine to publish to pypi now.

Hi @anandology, please grant @cclauss's pypi account required privileges to publish new release.

@cclauss

How did you re-tag?!? I could not figure out how to do that.

@iredmail

We don't have privilege to push to github repo directly, and GitHub web UI doesn't support "re-"tag, we have to delete it first, then draft a new release with the latest revision. :(

@cclauss

@iredmail

Wait for @anandology to grant you privileges to publish release on pypi.

I can publish too, but we’re not rush and better let you practice and contribute to the project this time. :)

@anandology

Wait for @anandology to grant you privileges to publish release on pypi.

Done. Added @cclauss as maintainer.

@iredmail FYI, you are already admin in pypi. You can also add other members.

@iredmail

@iredmail FYI, you are already admin in pypi. You can also add other members.

I didn’t notice that :(
Thanks for the remind.

@cclauss go go go, v0.61

This was referenced

Jul 27, 2020

@cclauss

@cclauss cclauss deleted the setup.py-python_requires branch

July 28, 2020 08:21

cclauss added a commit to cclauss/infogami that referenced this pull request

Jul 28, 2020