Live data from Hacker News

Most popular Python packages now support Python 3

py3readiness.org

11–20 of 166 posts

Re: Most popular Python packages now support Python 3

#11

I notice boto as one of the top items on the list as compatible. It has many many python3 crash bugs, especially on the MWS side. I have had an open PR for like a year to fix one of them, and it has been ignored. This makes me not very hopeful that being on the list means anything. (I am exclusively python3, but I have to wrestle with this a fair bit still)

This was quite poorly communicated for pypi consumers of python libraries, you should switch to boto3 as stated in their readme for boto[1].

Be wary adventurer, while boto3 is super neat and a python3 treat, there unsteady footings beneath your feet (api differences).

1. https://github.com/boto/boto/blob/develop/README.rst

Re: Most popular Python packages now support Python 3

#12

Yup at this point there is no reason to not use Python 3 for new projects. What I'm finding actually is that some companies that have their codebase in Python 2 have actually started migrating to Golang rather than Python 3, because of the increased performance benefits. I'm kind of sad about this, but I think that Golang will eventually replace Python as the go-to back-end server language (maybe even data processing…

As much as a I like Go in general, there are two pythonic things that, IMO, really should go into the next major revision.

1: sets; in this day and age, not having sets as native, stdlib-provided data types is simply unacceptable.[ß]

2: The ease of python's "in" keyword; being able to test for a key in a map (or set!) without any indirection is crucial

ß: granted, IIRC python moved sets into native stdlib types only somewhere in 2.x but better late than never

Re: Most popular Python packages now support Python 3

#13

I notice boto as one of the top items on the list as compatible. It has many many python3 crash bugs, especially on the MWS side. I have had an open PR for like a year to fix one of them, and it has been ignored. This makes me not very hopeful that being on the list means anything. (I am exclusively python3, but I have to wrestle with this a fair bit still)

boto is effectively a deprecated package. Use boto3, which has a far better architecture, is rigorously tested and maintained with lots of community activity.

Re: Most popular Python packages now support Python 3

#14
post #8

Clicking around, those that don't seem to be: 1. Obsolete. Either explicitly so (e.g. Google API) or abandoned, without even a minor/patch release (initools, 2010) or in some cases a code commit (e.g. pathtools, 2012) for five years or more. I suspect that they will never be Py3, the community will just move on to alternatives. 2. Working hard to bring support (e.g. ansible). 3. Part of the graphite ecosystem. If the…

Lack of commit activity doesn't necessarily mean a package is obsolete. A small set of well defined functionality can be "done" at some point and need no further changes.

Re: Most popular Python packages now support Python 3

#15

Yup at this point there is no reason to not use Python 3 for new projects. What I'm finding actually is that some companies that have their codebase in Python 2 have actually started migrating to Golang rather than Python 3, because of the increased performance benefits. I'm kind of sad about this, but I think that Golang will eventually replace Python as the go-to back-end server language (maybe even data processing…

For network glue, Go is a wonderful and super useful language. Not just in how efficient it is, or how easy FFI calls are, but also in how easy it is to deploy.

I don't see Go replacing anything that isn't a lightweight server or really small data processing script, though. Anything Tensorflow or numpy of any notable complexity will probably remain Python afaict.

Re: Most popular Python packages now support Python 3

#16
post #8

Clicking around, those that don't seem to be: 1. Obsolete. Either explicitly so (e.g. Google API) or abandoned, without even a minor/patch release (initools, 2010) or in some cases a code commit (e.g. pathtools, 2012) for five years or more. I suspect that they will never be Py3, the community will just move on to alternatives. 2. Working hard to bring support (e.g. ansible). 3. Part of the graphite ecosystem. If the…

A brief look around the supervisor site indicates that they have public version control and issue tracking on their github page[0] and that they have a merged PR[1] to add python 3 testing (which appears to be passing).

[0] https://github.com/Supervisor/supervisor [1] https://github.com/Supervisor/supervisor/pull/901

Re: Most popular Python packages now support Python 3

#18
post #12

Yup at this point there is no reason to not use Python 3 for new projects. What I'm finding actually is that some companies that have their codebase in Python 2 have actually started migrating to Golang rather than Python 3, because of the increased performance benefits. I'm kind of sad about this, but I think that Golang will eventually replace Python as the go-to back-end server language (maybe even data processing…

As much as a I like Go in general, there are two pythonic things that, IMO, really should go into the next major revision. 1: sets; in this day and age, not having sets as native, stdlib-provided data types is simply unacceptable.[ß] 2: The ease of python's "in" keyword; being able to test for a key in a map (or set!) without any indirection is crucial ß: granted, IIRC python moved sets into native stdlib types only…

Sets, if you mean a collection that contains no more than 1 of something, are easy. Use a map with struct{}{} values. If ordering is important, it's ~30 lines of simple code to encase a slice and a map in a struct and define your desired interface.

Testing for a key's existence is easy as well. Accessing a map returns two variables--the 1st is the value itself. The 2nd variable is that "exists" variable you're asking for. It's true when the key is present in the map and false if not. Often you'll see the 2nd variable omitted, but if you need to test for existence it's there for you to use.

Re: Most popular Python packages now support Python 3

#19

I would like to know if fellow HNers who regularly code in Python are using f-strings and type hints in your production code or otherwise. I often find myself inclined to use type hinting.

I'm still on on Python 3.5, probably will be until Ubuntu 18.04 comes out.

Re: Most popular Python packages now support Python 3

#20

I notice boto as one of the top items on the list as compatible. It has many many python3 crash bugs, especially on the MWS side. I have had an open PR for like a year to fix one of them, and it has been ignored. This makes me not very hopeful that being on the list means anything. (I am exclusively python3, but I have to wrestle with this a fair bit still)

This was quite poorly communicated for pypi consumers of python libraries, you should switch to boto3 as stated in their readme for boto[1]. Be wary adventurer, while boto3 is super neat and a python3 treat, there unsteady footings beneath your feet (api differences). 1. https://github.com/boto/boto/blob/develop/README.rst

That second paragraph is an awesome limerick.
Post reply on HN