Python 2 removal strategy

2018-01-10 Thread Ole Streicher
Hi,

I am the maintainer of the "python-astropy" package, that currently
creates packages for both Python 2 and Python 3. Both packages have a
number of reverse dependencies.

Recently, upstream announced a new version 3.0 of astropy, which
supports Python 3 only, and I think of the best mid-term strategy: The
old version 2.0 is supported upstream for ~2 years, and I want to have a
smooth migration path. I checked the wiki, but could not find good
information about migration.

I thought of a temporary package split: create a new source package
"astropy" that inherits of the current python-astropy package, but only
builds python3-astropy (and the utils + doc, which depend on
python3-astropy), and update this to version 3.0. Then I would remove
these binary packages from the python-astropy package. In parallel, I
would file bugs (severity: important) to remove the reverse dependencies
of the Python 2 packages (many of them are mine, but also may have
reverse dependencies).

As long as there are substantial problems with the removal of the Python
2 support, I then keep the "old" python-astropy package updated. Once
everything is figured out and we decide to finally kick out Python 2
support (from Debian-Astro, or from Debian), I would set the remaining
bugs as RC, and (once they are solved) remove the "python-astropy"
package.

Does this sound reasonable? And how should I do this technically?

Best regards

Ole



PyQwt3D packaging strategy

2018-01-10 Thread Guðjón Guðjónsson
Hi list

I am updating my package pyqwt3d. It is tested for Qt5, python2 and python3.
The changes were so huge that I made GitHub fork of it:
https://github.com/GauiStori/PyQwt3D

Now I have two questions:

1. Shall I skip the python2 version since it is already end of life?
2. Shall I make my changes into a huge patch (changes from upstream
in the DPMT git repository) or make my own GitHub repository as an
upstream source?

Regards
Gudjon


Re: Python 2 removal strategy

2018-01-10 Thread Matthias Klose
On 10.01.2018 17:06, Ole Streicher wrote:
> Hi,
> 
> I am the maintainer of the "python-astropy" package, that currently
> creates packages for both Python 2 and Python 3. Both packages have a
> number of reverse dependencies.
> 
> Recently, upstream announced a new version 3.0 of astropy, which
> supports Python 3 only, and I think of the best mid-term strategy: The
> old version 2.0 is supported upstream for ~2 years, and I want to have a
> smooth migration path. I checked the wiki, but could not find good
> information about migration.

Currently discussed. See "Python2 EOL and moving towards Python3" on this ML.

> I thought of a temporary package split: create a new source package
> "astropy" that inherits of the current python-astropy package, but only
> builds python3-astropy (and the utils + doc, which depend on
> python3-astropy), and update this to version 3.0. Then I would remove
> these binary packages from the python-astropy package. In parallel, I
> would file bugs (severity: important) to remove the reverse dependencies
> of the Python 2 packages (many of them are mine, but also may have
> reverse dependencies).
> 
> As long as there are substantial problems with the removal of the Python
> 2 support, I then keep the "old" python-astropy package updated. Once
> everything is figured out and we decide to finally kick out Python 2
> support (from Debian-Astro, or from Debian), I would set the remaining
> bugs as RC, and (once they are solved) remove the "python-astropy"
> package.
> 
> Does this sound reasonable? And how should I do this technically?

well, astropy is not such a mainstream package that I would mind removing some
of it's reverse dependencies.  If you want to add the additional pain having a
separate Python2 source stack, go for it. I wouldn't want to do that myself.  If
not, just go ahead with Python3 after having identified the reverse dependencies
which are not maintained by yourself.

Matthias



Re: Python 2 removal strategy

2018-01-10 Thread eamanu15 .
Hi Ole,

It would be great have two different package. One of them, the python3
version and maintain the python2 version.

Regards!
Emmanuel

El mié., 10 de ene. de 2018 a la(s) 18:03, Matthias Klose 
escribió:

> On 10.01.2018 17:06, Ole Streicher wrote:
> > Hi,
> >
> > I am the maintainer of the "python-astropy" package, that currently
> > creates packages for both Python 2 and Python 3. Both packages have a
> > number of reverse dependencies.
> >
> > Recently, upstream announced a new version 3.0 of astropy, which
> > supports Python 3 only, and I think of the best mid-term strategy: The
> > old version 2.0 is supported upstream for ~2 years, and I want to have a
> > smooth migration path. I checked the wiki, but could not find good
> > information about migration.
>
> Currently discussed. See "Python2 EOL and moving towards Python3" on this
> ML.
>
> > I thought of a temporary package split: create a new source package
> > "astropy" that inherits of the current python-astropy package, but only
> > builds python3-astropy (and the utils + doc, which depend on
> > python3-astropy), and update this to version 3.0. Then I would remove
> > these binary packages from the python-astropy package. In parallel, I
> > would file bugs (severity: important) to remove the reverse dependencies
> > of the Python 2 packages (many of them are mine, but also may have
> > reverse dependencies).
> >
> > As long as there are substantial problems with the removal of the Python
> > 2 support, I then keep the "old" python-astropy package updated. Once
> > everything is figured out and we decide to finally kick out Python 2
> > support (from Debian-Astro, or from Debian), I would set the remaining
> > bugs as RC, and (once they are solved) remove the "python-astropy"
> > package.
> >
> > Does this sound reasonable? And how should I do this technically?
>
> well, astropy is not such a mainstream package that I would mind removing
> some
> of it's reverse dependencies.  If you want to add the additional pain
> having a
> separate Python2 source stack, go for it. I wouldn't want to do that
> myself.  If
> not, just go ahead with Python3 after having identified the reverse
> dependencies
> which are not maintained by yourself.
>
> Matthias
>
>

-- 
Arias Emmanuel
https://www.linkedin.com/in/emmanuel-arias-437a6a8a
http://eamanu.com


Re: Python 2 removal strategy

2018-01-10 Thread Stuart Prescott
Hi Ole,

> I thought of a temporary package split: create a new source package
> "astropy" that inherits of the current python-astropy package, but only
> builds python3-astropy (and the utils + doc, which depend on
> python3-astropy), and update this to version 3.0. Then I would remove
> these binary packages from the python-astropy package. In parallel, I
> would file bugs (severity: important) to remove the reverse dependencies
> of the Python 2 packages (many of them are mine, but also may have
> reverse dependencies).

This is more or less what I ended up doing for the plotting module PyX and I 
think it's a reasonable path forward given that there will also be lots of 
legacy user scripts out there that are using pyx (and astropy) that don't 
need to be broken just yet.

The pyx source continues to build python-pyx and is stuck at the last 
version of pyx that supported Python 2. It's only used by users in their 
existing scripts for plotting their data and they will keep working for as 
long as we have a Python 2 interpreter. The only changes that happen in 
python-pyx are adjusting to new dependencies such as python-imaging → 
python-pil.

An additional source package pyx3 builds python3-pyx and is tracking 
upstream releases meaning new features get added etc. pyx3 isn't a great 
source name but then users never see it and certainly never need to guess 
it. That said, pyx3 is probably less confusing as a name than astropy vs 
python-astropy.

I've wondered about putting some noisy warnings into the python-pyx code 
that talks about the need to migrate to Python 3 if you want your scripts to 
keep working into the future. I've not done so because I assume that anyone 
using pyx probably pays attention to upstream documentation and knows this 
story already; at the risk of hijacking this thread, I'd be interested in 
the thoughts of others on this.

cheers
Stuart


-- 
Stuart Prescotthttp://www.nanonanonano.net/   stu...@nanonanonano.net
Debian Developer   http://www.debian.org/ stu...@debian.org
GPG fingerprint90E2 D2C1 AD14 6A1B 7EBB 891D BBC1 7EBB 1396 F2F7