mahmoud / glom

☄️ Python's nested data operator (and CLI), for all your declarative restructuring needs. Got data? Glom it! ☄️
https://glom.readthedocs.io
Other
1.88k stars 61 forks source link

Only supporting Python 3.7+ (including dropping Python 2) #255

Closed mahmoud closed 1 year ago

mahmoud commented 1 year ago

Per the changelog last month, Python 2 is not long for glom.

Actually supporting the intrinsic idiosyncrasies between the two major versions wasn't so bad. But all the headaches of tools (virtualenv, tox, etc.) and keeping CI running for Py2 slows down releases and definitely makes feature development less fun.

As far as usage, Python 2 represents <1% of pip installs almost every day in the available history, according to PyPI stats.

Maybe also worth noting that we'd planned to do this for a while, but wanted to wait for a moment when it felt like most of the important features were available. So matching, error traces, scopes, extensions, etc., can still be found in versions <23.2.

Anyways, feel free to chime in. @kurtbrose and I think 2/23 sounds like a great time for glom to go from 2->3. (Get it? two to three, 2 2 3, 2/23 :grin: )

codecov[bot] commented 1 year ago

Codecov Report

Merging #255 (3ca6fc0) into master (a8de39d) will decrease coverage by 0.25%. The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #255      +/-   ##
==========================================
- Coverage   98.26%   98.01%   -0.25%     
==========================================
  Files          27       27              
  Lines        4380     4336      -44     
  Branches      760      748      -12     
==========================================
- Hits         4304     4250      -54     
- Misses         48       56       +8     
- Partials       28       30       +2     
Impacted Files Coverage Δ
glom/matching.py 99.36% <ø> (-0.64%) :arrow_down:
glom/_version.py 100.00% <100.00%> (ø)
glom/cli.py 85.82% <100.00%> (-0.33%) :arrow_down:
glom/core.py 98.04% <100.00%> (-0.19%) :arrow_down:
glom/test/test_error.py 97.42% <100.00%> (-2.12%) :arrow_down:
glom/test/test_path_and_t.py 99.06% <100.00%> (-0.02%) :arrow_down:
glom/__main__.py 0.00% <0.00%> (-33.34%) :arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

mahmoud commented 1 year ago

Alright, I feel like if anyone was going to comment on the PR, a week's time is a pretty solid window. Unsurprisingly uncontroversial so far. Merging for release later this week.