Re: [Python-Dev] Snap Python for simple distribution across multiple Linux distros

2017-05-25 Thread Nick Coghlan
On 25 May 2017 at 20:32, Martin Wimpress  wrote:
> Hi,
>
> On 23/05/17 17:54, Guido van Rossum wrote:
>>
>> I think the I inevitable conclusion is"thanks, but no thanks."
>
>
> Can I ask why this the inevitable conclusion? The Python Foundation make
> packages for Windows and macOS, why not snaps for Linux?

Mainly because there's no real pay-off to CPython as a project in
lowering barriers to adoption for end users: if someone is running
Linux, they're almost always going to have ready access to completely
usable pre-built Python binaries through their system package manager.

That means that if we were to start publishing our own docker/OCI
images, or our own snaps, or our own FlatPak runtime environment, we'd
be incurring additional ongoing effort without a comparable increase
in the audience we're able to effectively reach.

It also relates to the fact that when it comes to the interminable
packaging format debates in the Linux world, the typical pattern has
been for groups and organisations aiming to promote the use of a
particular package format to use the availability of Python to lower
the barriers to adoption for their particular offering, rather than
the other way around. Some examples:

* Debian takes care of providing deb packages and docker images
* Fedora provides RPMs and docker images
* OpenSUSE provides RPMs (and maybe docker images?)
* the Nix community provide nix packages
* Continuum Analytics provide conda packages
* Heroku take care of providing build packs
* Red Hat provides the RHEL/CentOS and Software Collections RPMs and
docker images
* Docker provide Alpine Linux based docker images
* ActiveState and Enthought provide binaries in a suitable format for
their users
* FreeBSD/NetBSD/OpenBSD also provide their own binaries

With snaps vs docker/OCI and snaps vs FlatPak vs AppImage emerging as
new variations of the longstanding "deb vs RPM vs something else"
arguments, "Here's a source tarball, y'all have fun now" remains the
most sensible publication approach for relatively low level operating
system components like CPython, while the `manylinux` ABI definition
provides "usefully broad" compatibility of pre-built wheel files
across a range of Linux distributions.

Cheers,
Nick.

P.S. Full disclosure: I do work for Red Hat, but I'd still be opposed
to the idea even if the suggestion was to publish our own RPMs or
docker/OCI images

-- 
Nick Coghlan   |   ncogh...@gmail.com   |   Brisbane, Australia
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Snap Python for simple distribution across multiple Linux distros

2017-05-25 Thread Martin Wimpress

Hi,

On 23/05/17 17:54, Guido van Rossum wrote:

I think the I inevitable conclusion is"thanks, but no thanks."


Can I ask why this the inevitable conclusion? The Python Foundation make 
packages for Windows and macOS, why not snaps for Linux?


On May 23, 2017 8:05 AM, "Martin Wimpress" 
> 
wrote:


Hi,

On 23/05/17 00:56, Matt Billenstein wrote:

On Tue, May 16, 2017 at 11:31:42AM +0100, Martin Wimpress wrote:

Is there someone here who'd be interested in doing the same
for Python?


Do snaps support Windows and/or MacOS?


You can't install snaps on Windows or macOS. Snaps are currently
targeting various Linux distros, you can create Linux snaps on
Windows using WSL and we're working on improving the tooling for
snap creation on macOS and Windows.

m


-- 
--

Regards, Martin.
___
Python-Dev mailing list
Python-Dev@python.org 
https://mail.python.org/mailman/listinfo/python-dev

Unsubscribe:
https://mail.python.org/mailman/options/python-dev/guido%40python.org 




--
--
Regards, Martin.
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Snap Python for simple distribution across multiple Linux distros

2017-05-23 Thread Nathaniel Smith
Well, it sounds like you have an answer to the question of whether the
cpython developers are interested in making official snap releases, but of
course this doesn't stop you making unofficial snap releases, and simple
standalone python distributions can be pretty handy. I just wanted to point
out that virtualenv support is a very important feature of python builds,
and it may be a challenge to support this within the app-as-container
paradigm, because it requires that the python interpreter be able to locate
itself, copy itself to arbitrary directories, and then run the copy. (Or
maybe it's fine, dunno. And python 3 has some changes that might make it
friendlier than python 2 in this regard.)

-n

On May 16, 2017 8:09 AM, "Martin Wimpress" 
wrote:

> Hi all,
>
> I work at Canonical as part of the engineering team developing Ubuntu
> and Snapcraft [1] and I'm a long time Python fan :-)
>
> We've created snaps, a platform that enables projects to directly
> control delivery of software updates to users. This video of a
> lightning talk by dlang developers at DConf2017 [2] shows how they've
> made good use of snaps to distribute their compiler. They found the
> release channels particularly useful so their users can track a
> specific release.
>
> Is there someone here who'd be interested in doing the same for Python?
>
> [1] https://snapcraft.io/
> [2] https://www.youtube.com/watch?v=M-bDzr4gYUU
> [3] https://snapcraft.io/docs/core/install
> [4] https://build.snapcraft.io/
>
> --
> Regards, Martin.
> ___
> Python-Dev mailing list
> Python-Dev@python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: https://mail.python.org/mailman/options/python-dev/
> njs%40pobox.com
>
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Snap Python for simple distribution across multiple Linux distros

2017-05-23 Thread Guido van Rossum
I think the I inevitable conclusion is"thanks, but no thanks."

On May 23, 2017 8:05 AM, "Martin Wimpress" 
wrote:

> Hi,
>
> On 23/05/17 00:56, Matt Billenstein wrote:
>
>> On Tue, May 16, 2017 at 11:31:42AM +0100, Martin Wimpress wrote:
>>
>>> Is there someone here who'd be interested in doing the same for Python?
>>>
>>
>> Do snaps support Windows and/or MacOS?
>>
>
> You can't install snaps on Windows or macOS. Snaps are currently targeting
> various Linux distros, you can create Linux snaps on Windows using WSL and
> we're working on improving the tooling for snap creation on macOS and
> Windows.
>
> m
>>
>>
> --
> --
> Regards, Martin.
> ___
> Python-Dev mailing list
> Python-Dev@python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: https://mail.python.org/mailman/options/python-dev/guido%
> 40python.org
>
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Snap Python for simple distribution across multiple Linux distros

2017-05-23 Thread Antoine Pitrou
On Mon, 22 May 2017 23:56:43 +
Matt Billenstein  wrote:
> On Tue, May 16, 2017 at 11:31:42AM +0100, Martin Wimpress wrote:
> > Is there someone here who'd be interested in doing the same for Python?  
> 
> Do snaps support Windows and/or MacOS?

If you want a package manager that supports installing binaries on
Linux, Windows and MacOS, I suggest you try out conda:
https://conda.io/docs/
Building conda packages uses a tool named conda-build (both are open
source):
https://conda.io/docs/building/recipe.html

Conda powers the Anaconda software distribution, published by Continuum
Analytics.  Many conda-build recipes are available publicly:
https://github.com/ContinuumIO/anaconda-recipes
For example here is the conda-build recipe for Python 3.6.1:
https://github.com/ContinuumIO/anaconda-recipes/blob/master/python-3.6/meta.yaml
There are also a growing number of community-maintained
recipes and packages:
https://conda-forge.github.io/

Disclaimer: I work for Continuum (though not on Conda nor
Anaconda).

Regards

Antoine.


___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Snap Python for simple distribution across multiple Linux distros

2017-05-23 Thread Martin Wimpress

Hi,

On 23/05/17 00:56, Matt Billenstein wrote:

On Tue, May 16, 2017 at 11:31:42AM +0100, Martin Wimpress wrote:

Is there someone here who'd be interested in doing the same for Python?


Do snaps support Windows and/or MacOS?


You can't install snaps on Windows or macOS. Snaps are currently 
targeting various Linux distros, you can create Linux snaps on Windows 
using WSL and we're working on improving the tooling for snap creation 
on macOS and Windows.



m



--
--
Regards, Martin.
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Snap Python for simple distribution across multiple Linux distros

2017-05-23 Thread Martin Wimpress

On 23/05/17 09:27, Petr Viktorin wrote:

On 05/23/2017 01:34 AM, Brett Cannon wrote:


On Tue, 16 May 2017 at 08:08 Martin Wimpress 
> 
wrote:


Hi all,

I work at Canonical as part of the engineering team developing Ubuntu
and Snapcraft [1] and I'm a long time Python fan :-)

We've created snaps, a platform that enables projects to directly
control delivery of software updates to users. This video of a
lightning talk by dlang developers at DConf2017 [2] shows how they've
made good use of snaps to distribute their compiler. They found the
release channels particularly useful so their users can track a
specific release.

Is there someone here who'd be interested in doing the same for 
Python?



So the problem with adding Snap is it's yet one more thing for us to 
create at release time. And if we do this for Snap are there 
competitors from e.g. Fedora that people would want supported?


Not Fedora per se, Flatpak [0] (formerly `xdg-app`) is distro-agnostic [1].


Snaps are supported on Fedora 24, 25 and 26 [1] as well as other distros 
[2].





[0] http://flatpak.org/
[1] http://flatpak.org/faq.html
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/martin.wimpress%40canonical.com 



[1] 
https://insights.ubuntu.com/2017/04/11/snap-support-lands-in-fedora-24-25-26/

[2] https://snapcraft.io/docs/core/install

--
Regards, Martin.
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Snap Python for simple distribution across multiple Linux distros

2017-05-23 Thread Freddy Rietdijk
In my opinion the trend of creating these standalone packages is pretty
bad. Developers that choose to support these kind of packages become
responsible not only for the code they distribute, but also for whether the
dependencies that are bundled in such a standalone package are up to date
and secure.

What libraries would have to be bundled? I guess that depends on how
standalone you want to get. In Nixpkgs we get to 130 MB for Python 3.5, if
it would bundle all its dependencies (glibc, openssl, ncurses, some X11
libs, ...). If I am correct you can assume certain libraries are available
on the host system so you could skip bundling them.

Furthermore, there's now at least three competing formats: Snappy, Flatpak
and AppImage.


On Tue, May 16, 2017 at 12:31 PM, Martin Wimpress <
martin.wimpr...@canonical.com> wrote:

> Hi all,
>
> I work at Canonical as part of the engineering team developing Ubuntu
> and Snapcraft [1] and I'm a long time Python fan :-)
>
> We've created snaps, a platform that enables projects to directly
> control delivery of software updates to users. This video of a
> lightning talk by dlang developers at DConf2017 [2] shows how they've
> made good use of snaps to distribute their compiler. They found the
> release channels particularly useful so their users can track a
> specific release.
>
> Is there someone here who'd be interested in doing the same for Python?
>
> [1] https://snapcraft.io/
> [2] https://www.youtube.com/watch?v=M-bDzr4gYUU
> [3] https://snapcraft.io/docs/core/install
> [4] https://build.snapcraft.io/
>
> --
> Regards, Martin.
> ___
> Python-Dev mailing list
> Python-Dev@python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: https://mail.python.org/mailman/options/python-dev/
> freddyrietdijk%40fridh.nl
>
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Snap Python for simple distribution across multiple Linux distros

2017-05-23 Thread Petr Viktorin

On 05/23/2017 01:34 AM, Brett Cannon wrote:


On Tue, 16 May 2017 at 08:08 Martin Wimpress 
> 
wrote:


Hi all,

I work at Canonical as part of the engineering team developing Ubuntu
and Snapcraft [1] and I'm a long time Python fan :-)

We've created snaps, a platform that enables projects to directly
control delivery of software updates to users. This video of a
lightning talk by dlang developers at DConf2017 [2] shows how they've
made good use of snaps to distribute their compiler. They found the
release channels particularly useful so their users can track a
specific release.

Is there someone here who'd be interested in doing the same for Python?


So the problem with adding Snap is it's yet one more thing for us to 
create at release time. And if we do this for Snap are there competitors 
from e.g. Fedora that people would want supported?


Not Fedora per se, Flatpak [0] (formerly `xdg-app`) is distro-agnostic [1].


[0] http://flatpak.org/
[1] http://flatpak.org/faq.html
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Snap Python for simple distribution across multiple Linux distros

2017-05-23 Thread Matt Billenstein
On Tue, May 16, 2017 at 11:31:42AM +0100, Martin Wimpress wrote:
> Is there someone here who'd be interested in doing the same for Python?

Do snaps support Windows and/or MacOS?

m

-- 
Matt Billenstein
m...@vazor.com
http://www.vazor.com/
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Snap Python for simple distribution across multiple Linux distros

2017-05-22 Thread Brett Cannon
On Tue, 16 May 2017 at 08:08 Martin Wimpress 
wrote:

> Hi all,
>
> I work at Canonical as part of the engineering team developing Ubuntu
> and Snapcraft [1] and I'm a long time Python fan :-)
>
> We've created snaps, a platform that enables projects to directly
> control delivery of software updates to users. This video of a
> lightning talk by dlang developers at DConf2017 [2] shows how they've
> made good use of snaps to distribute their compiler. They found the
> release channels particularly useful so their users can track a
> specific release.
>
> Is there someone here who'd be interested in doing the same for Python?
>
>
So the problem with adding Snap is it's yet one more thing for us to create
at release time. And if we do this for Snap are there competitors from e.g.
Fedora that people would want supported?

-Brett


> [1] https://snapcraft.io/
> [2] https://www.youtube.com/watch?v=M-bDzr4gYUU
> [3] https://snapcraft.io/docs/core/install
> [4] https://build.snapcraft.io/
>
> --
> Regards, Martin.
> ___
> Python-Dev mailing list
> Python-Dev@python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe:
> https://mail.python.org/mailman/options/python-dev/brett%40python.org
>
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] Snap Python for simple distribution across multiple Linux distros

2017-05-16 Thread Martin Wimpress
Hi all,

I work at Canonical as part of the engineering team developing Ubuntu
and Snapcraft [1] and I'm a long time Python fan :-)

We've created snaps, a platform that enables projects to directly
control delivery of software updates to users. This video of a
lightning talk by dlang developers at DConf2017 [2] shows how they've
made good use of snaps to distribute their compiler. They found the
release channels particularly useful so their users can track a
specific release.

Is there someone here who'd be interested in doing the same for Python?

[1] https://snapcraft.io/
[2] https://www.youtube.com/watch?v=M-bDzr4gYUU
[3] https://snapcraft.io/docs/core/install
[4] https://build.snapcraft.io/

-- 
Regards, Martin.
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com