Jrnl: Drop support for 2.7

Created on 8 Jul 2019  Â·  10Comments  Â·  Source: jrnl-org/jrnl

Since Python is officially dropping support for 2.7 on January 1st, 2020, I would like to drop support for Python 2 in jrnl 2.0 too. Happy to comb through the v2.0-rc2 branch and make the adjustments, it'll make future maintenance a lot easier.

@wren, @MinchinWeb, @micahellison Any concerns or objections?

Most helpful comment

Great. We can officially drop support for 2.7 with the release, even though it might still "accidentally" work, and rework the code afterwards. If we move to Poetry with #162 we can specify compatible python versions rigidly for PyPi, for homebrew we need to change the formula (which we need to do anyway for the next release).

On Mon, Jul 08, 2019 at 3:14 PM, MinchinWeb < [email protected] > wrote:

I have no personal objections to dropped Python 2.7. If people are running
a Python 2-only environment, v1.9.8 remains a proven option.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub (
https://github.com/jrnl-org/jrnl/issues/615?email_source=notifications&email_token=AAH7U7LYLTQ66XSHK54VAEDP6O35ZA5CNFSM4H66JYB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZOQEQQ#issuecomment-509411906
) , or mute the thread (
https://github.com/notifications/unsubscribe-auth/AAH7U7NZY4I4PJM4TSINH3TP6O35ZANCNFSM4H66JYBQ
).

All 10 comments

@maebert I agree that we should drop Python 2 support by the end of the year, but trying to get this into v2.0 feels like scope creep.

The CI tests are already running only on Python 3, so new PRs don't have to support it. And the current v2.0-rc2 build is currently passing the Python 3 tests, so this doesn't seem like a high priority (as long as it's done by 2020).

Since users have already been stuck on v1.9.8 for a long time, we should avoid anything that could possibly delay v2.0 any longer. v2.0 really needs to be locked down to the existing code, and only include critical bug fixes (with lower priority bug fixes in v2.0.1). We can then follow up with refactors and features after that.

This will get the bug fixes and features already in v2.0 out to users more quickly, which is the highest priority.

I'm also feeling like a solid testable release is worth prioritizing over an overhaul of code, especially if it's mainly dealing with deprecated-but-not-broken language from 2.7, since that sounds like a regression risk. Though since we are only running tests in 3, is there anything we should do on PyPi or Homebrew related to this change?

I have no personal objections to dropped Python 2.7. If people are running a Python 2-only environment, v1.9.8 remains a proven option.

Great. We can officially drop support for 2.7 with the release, even though it might still "accidentally" work, and rework the code afterwards. If we move to Poetry with #162 we can specify compatible python versions rigidly for PyPi, for homebrew we need to change the formula (which we need to do anyway for the next release).

On Mon, Jul 08, 2019 at 3:14 PM, MinchinWeb < [email protected] > wrote:

I have no personal objections to dropped Python 2.7. If people are running
a Python 2-only environment, v1.9.8 remains a proven option.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub (
https://github.com/jrnl-org/jrnl/issues/615?email_source=notifications&email_token=AAH7U7LYLTQ66XSHK54VAEDP6O35ZA5CNFSM4H66JYB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZOQEQQ#issuecomment-509411906
) , or mute the thread (
https://github.com/notifications/unsubscribe-auth/AAH7U7NZY4I4PJM4TSINH3TP6O35ZANCNFSM4H66JYBQ
).

I agree that support for Python 2 and up to 3.5 should be dropped, however right now the pyproject.toml specifies only versions 3.7+ are supported, is that on purpose? 3.7 has been out for less than 1.5 years, I think we can and should support 3.6 as well.

Perfectly reasonable. We're not usinc asyncio or annotations, so 3.6 support should be easily maintainable for a while.

On Mon, Oct 28, 2019 at 2:47 PM, Peter Schmidbauer < [email protected] > wrote:

I agree that support for Python 2 and up to 3.5 should be dropped, however
right now the pyproject.toml specifies only versions 3.7+ are supported,
is that on purpose? 3.7 has been out for less than 1.5 years, I think we
can and should support 3.6 as well.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub (
https://github.com/jrnl-org/jrnl/issues/615?email_source=notifications&email_token=AAH7U7JHPOGEOEBTFWEDYOLQQ5MW3A5CNFSM4H66JYB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECOQAMI#issuecomment-547160113
) , or unsubscribe (
https://github.com/notifications/unsubscribe-auth/AAH7U7PSBEOPZCFJOLMS3MDQQ5MW3ANCNFSM4H66JYBQ
).

I have been wanting to add annotations to the codebase, but it's not on the
roadmap yet, so we should be good for a while. Can you please file a
separate issue for this so we can give the tests a once over before
committing to it?

>

Annotations are available in 3.6+. They are not quite as performant as in 3.7 and don't support forward references, but I've used them without any issues in 3.6 for quite a while.

I just put up a PR for this, please have a look: #705.
I had to change the tests a bit, but they all pass still and they are a bit more readable now in my opinion :)

I also recommend changing travis to test on the Python versions we support, but I didn't want to create a PR for that.

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

Was this page helpful?
0 / 5 - 0 ratings