Re: Fwd: next version of csvkit

2017-04-03 Thread Ben Finney
Brian May  writes:

>  I just noticed that Ubuntu plan to drop Python 2.7 completely - from
> default installs at least

That's a pretty important modifier!

Ubuntu does not yet plan to drop Python 2.7 completely. Rather, the
current plan is to ensure no *dependencies on* Python 2.7 in the default
installs.

It's the reverse dependencies that are being targeted; not Python 2.7
itself.

So, similar to what we Debian Python folk are striving to do: no plan to
drop Python 2.7, instead working on the reverse dependencies.

-- 
 \“Absurdity, n. A statement or belief manifestly inconsistent |
  `\with one's own opinion.” —Ambrose Bierce, _The Devil's |
_o__)Dictionary_, 1906 |
Ben Finney



Re: next version of csvkit

2017-04-03 Thread Barry Warsaw
On Apr 04, 2017, at 09:49 AM, Brian May wrote:

> I just noticed that Ubuntu plan to drop Python 2.7 completely - from
>default installs at least - for the 18.04 release: 

That's not the same as dropping Python 2.7 from the archive, which we're no
where near close to doing.

It's really just an extension of what I mentioned before.  Specifically, any
leaf packages that go on the default installs should be Python 3 only, and
thus by reverse dependency, only python3-* library packages would go on
images.  Note that Ubuntu is almost already there, but Samba (which afaik is
still not ported to Python 3) is keeping it on the desktop image.

Nothing is different for 17.04.  Depending on how the 3.6 transition goes for
17.10, I'd like to explore options for demoting Python 2.7 to universe so we
don't need to make LTS guarantees for it for 18.04, but that will depend on
the technical details and available resources (e.g. my time ;).  I don't
foresee any possibility of dropping it from the archive for 18.04.

Cheers,
-Barry



Re: Fwd: next version of csvkit

2017-04-03 Thread Brian May
On 2017-04-04 08:21, Brian May wrote:

> I would suggest that Buster have Python 2.7, however we only support 3rd
> party libraries where it is practical to do so. Any library that has
> dropped Python 2.7 support upstream, is not practical for us to support
> in Python2. Anything that depends on such a package (directly or
> indirectly) also is not practical for us to support.

 I just noticed that Ubuntu plan to drop Python 2.7 completely - from
default installs at least - for the 18.04 release: 

"Plans for 18.04 LTS 

Overarching goals include: 

Python 3 only on the default installs for desktop, server, touch, snappy
images. (Some may already be there.)
Python 3.6 transition" 

https://wiki.ubuntu.com/Python 

Trying to find out what the situation will be for the 17.04 release, not
finding much yet however. 

  

Re: What should Debian do about Python 2? (was Re: next version of csvkit)

2017-04-03 Thread Ben Finney
Brian May  writes:

> It is perhaps worth noting that Django 2.0 is due to be released in
> December:
>
> https://www.djangoproject.com/weblog/2015/jun/25/roadmap/

Yes. More directly, Django 1.11 is planned to be the final
Python-2-compatible release. From the above URL:

As a final heads up, Django 1.11 is likely to be the last version to
support Python 2.7 as it will be supported until the end of Python 2
upstream support in 2020.

-- 
 \ “It's my belief we developed language because of our deep inner |
  `\  need to complain.” —Jane Wagner, via Lily Tomlin |
_o__)  |
Ben Finney



Re: Fwd: next version of csvkit

2017-04-03 Thread Brian May
Vincent Bernat  writes:

> On the current subject, I also agree we should not drop prematurely
> packages targeted to Python 2. It is likely the support will be extended
> past 2020, at least by distributions with a 10-year support.

RHEL 7 will be supported until 2024.
https://en.wikipedia.org/wiki/Red_Hat_Enterprise_Linux#RHEL_7

I seem to recall RH had a commitment to support Python 2.7 until 2030,
but I can't find that now.

However, just because some random distribution is supporting Python 2
past 2020, doesn't mean we have any obligation to do so.

Also "we support Python 2.7" doesn't mean "support Python 2.7 in
unstable." It is possible that we will continue supporting Stretch, post
2020 as a LTS release.

https://wiki.debian.org/LTS

Providing *full* Python 2.7 support in unstable is likely to prove to be
harder and harder when various upstreams start dropping Python 2.7
support, starting with Django this December. e.g. When Django drops
support, and we upload that version to unstable, suddenly everything
that depends on Django will also fail to work under Python 2.7.

https://docs.djangoproject.com/en/dev/releases/2.0/

If Django 2.0 is released on schedule, I would like to see it in Buster
- assuming our release cycle remains every 2 years, that will make it
early 2019.

I would suggest that Buster have Python 2.7, however we only support 3rd
party libraries where it is practical to do so. Any library that has
dropped Python 2.7 support upstream, is not practical for us to support
in Python2. Anything that depends on such a package (directly or
indirectly) also is not practical for us to support.
-- 
Brian May 



Re: What should Debian do about Python 2? (was Re: next version of csvkit)

2017-04-03 Thread Brian May
Barry Warsaw  writes:

> For libraries that already support 2 and 3, I don't think we necessarily need
> to actively drop Python 2 yet.  We have great tools, so it's usually just as
> easy to continue supporting both.  I'm on the fence for new library packages,
> but I suppose if it's also just as easy to support both, we might as well go
> through NEW for both, since it's easier to drop binary packages than add them.

It is perhaps worth noting that Django 2.0 is due to be released in
December:

https://www.djangoproject.com/weblog/2015/jun/25/roadmap/

It will require Python >= 3.5 - that is no support for Python 2.x.

https://docs.djangoproject.com/en/dev/releases/2.0/
-- 
Brian May 



What should Debian do about Python 2? (was Re: next version of csvkit)

2017-04-03 Thread Barry Warsaw
On Apr 01, 2017, at 05:12 PM, Ghislain Vaillant wrote:

>Pasting the relevant quotes below:
>
>"The 2.x series of Python is due for deprecation and will not be maintained
>past 2020 so it is recommended that Python 2 modules are not packaged unless
>necessary."

It's true that upstream will almost certainly end bug fix support for Python
2.7 (and thus the 2.x series) in 2020, with the exact date still TBD.  It's
not unlikely that source-only security fixes will continue upstream for some
indeterminate time after that, but it depends on quite a few factors, not the
least of which is core developers and an RM still interested in working on
Python 2.  Keep in mind that 2.7 will be *10 years old* at that point!

Distributions with long term support releases will also be continuing to
support Python 2.7 in some capacity after that.  Ubuntu's 16.04 LTS release
will live until 2021.  Other distros may have longer commitments.  I am hoping
that in Ubuntu, we will be able to demote Python 2.7 for the 18.04 LTS release
so that we won't be committed to supporting it until 2023, but we'll see about
that.

As for Debian, I do think we need to plan on how and when we're going to
downgrade our commitment to Python 2.  Yes, there will probably be Python 2
code bases for effectively forever, but that doesn't necessarily mean Debian's
commitment to it also has to be open ended.  It's not an easy decision or
transition, but I think it's inevitable.  Already we are seeing upstream
library authors beginning to drop Python 2 support, so I suspect at some point
we may have to split source packages if we think we still want to maintain
Python 2 and 3 for some packages.

>"The idea is to basically stop uploading new Python 2 only libraries,
>port things on the critical path, and swap leaf packages to Python 3."

I think we should be very strict about leaf packages.  If they support Python
3 we should not allow them to enter Debian as Python 2 applications, and all
new uploads of leaf applications should use Python 3 if at all possible.

For libraries that already support 2 and 3, I don't think we necessarily need
to actively drop Python 2 yet.  We have great tools, so it's usually just as
easy to continue supporting both.  I'm on the fence for new library packages,
but I suppose if it's also just as easy to support both, we might as well go
through NEW for both, since it's easier to drop binary packages than add them.

I think we should strongly discourage (or even reject?) new Python 2-only
library packages, and I think that's the scenario that the lintian tag is
trying to support.

>csvkit definitely qualifies as such leaf package, since it is a
>collection of command-line tools, not a Python library.

Does it support Python 3?  If so, then why not make them Python 3
applications?

Debian's long term plans for Python 2 would be a great topic to discuss at
Debconf.

-Barry