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

Drop support for EOL Python 2.7 #563

Closed
wants to merge 8 commits into from
Closed

Conversation

hugovk
Copy link
Contributor

@hugovk hugovk commented Aug 28, 2021

This PR has the objective of dropping support for EOL Python 2.7 to reduce maintenance burden, reduce use of CI resources, modernise the codebase, and allow new Python features to be freely used.

Fixes #478.

Changes

  1. Stop testing 2.7
  2. Update docs, python_requires and classifiers
  3. Remove redundant code such as compat.py
  4. Update Python syntax using https://github.com/asottile/pyupgrade ----py36-plus

Checklist

Checklist for for pull requests including new code and/or changes to existing code...

  • Code
    • Includes unit tests
    • New functions have docstrings with examples that can be run with doctest
    • New functions are included in API docs
    • Docstrings include notes for any changes to API or behaviour
    • All changes documented in docs/changes.rst
  • Testing
    • (Optional) Tested local against remote servers
    • Travis CI passes (unit tests run under Linux)
    • AppVeyor CI passes (unit tests run under Windows)
    • GitHub Actions CI passes (unit tests run under Linux, macOS, Windows)
    • Unit test coverage has not decreased (see Coveralls)
  • Changes
    • (Optional) Just a proof of concept
    • (Optional) Work in progress
    • Ready to review
    • Ready to merge

@coveralls
Copy link

Coverage Status

Coverage increased (+0.9%) to 92.221% when pulling 735e809 on hugovk:rm-2 into 84c7b7f on petl-developers:master.

@juarezr juarezr added the Maintainability Issues for code modernization, improve development, testing label Aug 31, 2021
Copy link
Member

@juarezr juarezr left a comment

Choose a reason for hiding this comment

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

Great!
I'm wondering about what are your plans.

Should this land in a major version change? like 2.0?

Also, I would like to hear @alimanfoo about the recommended change.

petl/comparison.py Show resolved Hide resolved
@juarezr juarezr added this to the v2.0 milestone Aug 31, 2021
@hugovk
Copy link
Contributor Author

hugovk commented Aug 31, 2021

Should this land in a major version change? like 2.0?

Some projects don't but generally they do bump the major version and I'd tend to agree, as it's a good way to signal for users.

@juarezr
Copy link
Member

juarezr commented Aug 31, 2021

Some considerations:

  1. As stated on @alimanfoo roadmap here it would be interesting to drop old behavior like convert() and fieldmap() swallow errors silently by default #365 and this.
  2. Other interesting migrations for v2.0 would be [POC] added typing to materialize (breaks py27 tests) #559 and Migrate to pytest #453. Maybe after v2.0?
  3. Also, I wonder what could break within external libraries for:
    a. File formats
    b. Remote Access

Copy link
Member

@juarezr juarezr left a comment

Choose a reason for hiding this comment

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

I think this is a great addition and the needed next step for petl.

But I wonder if also it would be possible before merging this PR:

@hugovk
Copy link
Contributor Author

hugovk commented Dec 7, 2021

Seems this has gotten out of sync, closing and it can be revisited afresh when the above issues are resolved.

@hugovk hugovk closed this Dec 7, 2021
@juarezr
Copy link
Member

juarezr commented Dec 7, 2021

Yes, Sure.

The evolution in this PR paves the road for migration.
I think there are a few additional issues to solve and we are done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Maintainability Issues for code modernization, improve development, testing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Drop support for Python 2.7
5 participants