-
Notifications
You must be signed in to change notification settings - Fork 209
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
chore: remove python2 #310
Conversation
(cherry picked from commit 2ac583c)
Codecov Report
@@ Coverage Diff @@
## master #310 +/- ##
==========================================
- Coverage 74.30% 74.19% -0.12%
==========================================
Files 105 105
Lines 4492 4449 -43
Branches 419 405 -14
==========================================
- Hits 3338 3301 -37
+ Misses 1049 1041 -8
- Partials 105 107 +2
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, thanks @dorianj , Also I think we should bump the dep to indicate we remove py2. In terms of typing, I would suggest waiting for a bit as a few soon to be reviewed PR is still open (e.g https://github.com/lyft/amundsendatabuilder/pull/303/files). If we change the mypy rule, it may cause some churns for the open pr. WDYT?
Out of curiosity: how urgent is this change? I know it's 2020 and all, but I, uh, have use cases for potentially running a custom data builder on top of python 2 code. I totally understand if six is a maintenance burden, but wanted to ask anyway. |
@jfhbrook, all the prevision pypi should support both py2 and py3. |
This change removes python2 support. Python 3.6 or up are now required. There are no other breaking changes in this release.
@jfhbrook the biggest improvement is in the ability to upgrade mypy and enforce type annotations. After doing that, I found dozens of legitimate logic errors already in the code (and hundreds of harmless type violations)... so the more we wait, the harder it will be do to get that upgraded @feng-tao I bumped version from 2.6.5 -> 3.0.0. I believe by semvar this is correct because this is an API breaking change. But happy to do 2.7.0 if you disagree, not sure what norm here is. With regards to holding the typings PR, I'd rather get it landed, rather than wait. There will be more PRs opened during the time it's being reviewed, which could cause the typing PR to get delayed indefinitely (and require continuous follow-up work). I will personally rebase and add typings to the existing PRs that are out there to make it seamless. wdyt? |
@dorianj yeah I have a lot of sympathy for that. Personally not stoked about maintaining a py2 codebase, just more trying to plan accordingly. |
Thanks Tao! |
* commit 'e14b33e776929f8b020f1c6fec75d0fb83687693': (23 commits) Fix Athena sample DAG (amundsen-io#341) fix: Update postgres_sample_dag to set table extract job as upstream for elastic search publisher (amundsen-io#340) chore: mypy cleanup (convert last comment types, remove noqa imports) (amundsen-io#338) chore: Convert typings to mypy (amundsen-io#311) chore: replace all references of Lyft repo with Amundsen (amundsen-io#323) feat: add github actions for databuilder (amundsen-io#336) build: fix broken tests in Python 3.7, test in CI (amundsen-io#334) fix(deps): Unpin attrs (amundsen-io#332) ci: add dependabot config (amundsen-io#330) Change repo name in travis file (amundsen-io#324) tests: add mock for bigquery auth (amundsen-io#313) feat: allow hive sql to be provided as config (amundsen-io#312) chore: remove python2 (amundsen-io#310) chore: update deps for databuilder (amundsen-io#309) fix: cypher statement param issue in Neo4jStalenessRemovalTask (amundsen-io#307) fix: Added missing job tag key in hive_sample_dag.py (amundsen-io#308) feat: enhance glue extractor (amundsen-io#306) fix: Fix sql for missing columns and mysql based dialects (#550) (amundsen-io#305) docs: Fix broken doc link to dashboard_execution model (amundsen-io#296) chore: apply license headers to all the source files (amundsen-io#304) ... # Conflicts: # README.md # databuilder/extractor/kafka_source_extractor.py # databuilder/publisher/neo4j_csv_publisher.py # docs/models.md # example/scripts/sample_data_loader.py # setup.py
Summary of Changes
Remove all direct usage of
six
(must stay in requirements because other packages still use it), remove python 2 CI.Ref: amundsen-io/amundsen#560
Tests
Removed Python 2 from CI suite, but no tests modified.
Documentation
README updated to reflect new requirements.
CheckList
Make sure you have checked all steps below to ensure a timely review.
make test
cc @feng-tao