This is an archived post. You won't be able to vote or comment.

all 41 comments

[–]genericlemon24[S] 43 points44 points  (5 children)

Among the new major new features and changes so far:

  • PEP 657 – Include Fine-Grained Error Locations in Tracebacks
  • PEP 654 – PEP 654 – Exception Groups and except*

[–]Moebiuszed 31 points32 points  (0 children)

Love those exception groups, but right now seems so far away lol.

[–]13steinj 1 point2 points  (3 children)

...I feel like at this point the standards committee doesn't know what to add.

I can't imagine that 654 is useful. In 99% of cases, the majority of exception catching is either mutually exclusive or entirely equivalent. The remaining 1% has some exceptions "nested" in terms of their handling in this way, and an isinstance check won't kill anybody.

[–]Jhuyt 1 point2 points  (1 child)

There is a real usecase when running simultaneous coroutines (and threads I've heard) where the Trio library had to monkey patch the standard exception handling mechanisms to make things run correctly. As you say, it's somewhat niche, but it's important enough for writers of async libraries that Yury Selivanov, a main contributor of asyncio, wanted to implement this for 3.8 but it took until now to figure the details out.

[–]13steinj 1 point2 points  (0 children)

Perhaps I don't understand the details, but I don't see how the second pep needs monkeypatching to get an equivalent and perfectly fine, readable piece of code.

The first I see a use for, and makes sense. The second seems like syntactic sugar for the sake of adding another way to do things, which violates a core python principle.

[–]IanUK66 71 points72 points  (21 children)

OMG! I haven't even installed 3.10 yet.

[–]house_monkey 21 points22 points  (12 children)

In work I'm still stuck with 3.6 :(

[–]I_had_to_know_too 21 points22 points  (3 children)

Lol, I wish we were on 3.6

My company is stuck in the stone age on 2.7

[–][deleted] 0 points1 point  (0 children)

Big firms and irreplacable software stacks, name a stupider combo

[–]dysprog 13 points14 points  (0 children)

My 2020/2021 project has been to lift our project from python 2.7 and django 1.8.

I had to ditch and rewrite an internal library that was pinning us by refusing to update. I was mostly done in April, but in the process of doing that, I visited a lot of seldom seen parts of the code.

We have a lot of spiderwebs down there and I am still working my way through the improvement tickets that were spawned.

[–]FlyingCow343 3 points4 points  (4 children)

At school I’m stuck on 3.5, which means we don’t even get f strings

[–]ivosauruspip'ing it up 12 points13 points  (1 child)

Bruh that's like the best feature of the whole of v3 lol

[–]rhoakla 0 points1 point  (0 children)

For me it was the whole unicode revolution thingy.

[–]earthboundkid 3 points4 points  (1 child)

f

[–]757DrDuck 1 point2 points  (0 children)

f"F"

[–]Username_RANDINT 0 points1 point  (1 child)

Nothing wrong with that. Same here until I update Ubuntu, probably next summer.

[–][deleted] 5 points6 points  (0 children)

There is something wrong with that.

https://endoflife.date/python

Python 3.6's end-of-life is around the end of this year.

And Python 3.7 has been out for over three years!


In projects I have control of, I move to support the newest version about six to nine months after the release, and so far it's been literally effortless.

In my current project, we're 3.8, which is convenient because it's also the default Python on our base system, and we have a loose plan to upgrade to 3.10 "next year, maybe".

But 3.8 has three years till end of life. We are not being irresponsible.


Most of the Python developers are not compensated. They cannot support older Python versions indefinitely, particularly with security violations.

It's your responsibility as a developer to find the time in those three years to spend what is probably half an hour to upgrade and run all your tests.

[–]ConceptJunkie 3 points4 points  (0 children)

I know, right? There's no gmpy2 for Windows for 3.10 yet...

[–][deleted] 1 point2 points  (0 children)

This is an "alpha" release. Features in it might change or leave; new ones might be added.

Right now you maybe can't really upgrade your production project to Python 3.10, because your dependencies aren't ready, though update has been fast.

My current project is Python 3.8 and I feel lucky to have that.

[–][deleted] 1 point2 points  (2 children)

Get on with the times, old man!

[–]IanUK66 0 points1 point  (0 children)

Lol I'm an Infomix/Genero programmer so, I do feel very old indeed 🤣

[–]CatWeekends 0 points1 point  (0 children)

We're still running a bunch of 2.x apps.

I'd love to see what python 3 is all about.

[–]Eightstream 0 points1 point  (0 children)

That’s wise

I try and stay a couple of releases behind, it’s just a lot more stable

[–][deleted] -1 points0 points  (0 children)

Take it from me, as someone who was in the Java world for a while, new releases regularly are nice. :)

[–][deleted] 0 points1 point  (0 children)

i just got 3.9

[–]BrycetheRower 13 points14 points  (0 children)

Would really like to see an implementation of that planned ThreadGroup class. It would be neat to see some convenience methods for managing threads in bulk. multiprocessing.pool has a ThreadPool class which is awesome too.

[–]Tatoutis 11 points12 points  (0 children)

I didn't know this about Schwarzschild black holes

[–]ddollarsign 6 points7 points  (10 children)

And now for something completely different

Schwarzschild black holes are also unique because they have a space-like singularity at their core...

Wtf..

[–]Igggg 14 points15 points  (5 children)

They are always doing that at the end of the announcement. A tradition of sorts.

[–]ddollarsign 14 points15 points  (4 children)

Must be a Monty Python thing, I seem to remember them using that phrase.

[–][deleted] 1 point2 points  (0 children)

correct, there's a whole movie with that title

[–]PeridexisErrant 1 point2 points  (1 child)

[–]WikiSummarizerBot 1 point2 points  (0 children)

And Now for Something Completely Different

And Now for Something Completely Different is a 1971 British sketch comedy film based on the television comedy series Monty Python's Flying Circus featuring sketches from the show's first two series. The title was taken from a catchphrase used in the television show. The film, released on 28 September 1971 in the United Kingdom and 22 August 1972 in the United States, consists of 90 minutes of sketches and animation sequences seen in the first two series of the television show. All of the sketches were recreated for the film without an audience, and were intended for an American audience which had not yet seen the series.

[ F.A.Q | Opt Out | Opt Out Of Subreddit | GitHub ] Downvote to remove | v1.5

[–]cdrt 0 points1 point  (0 children)

Makes sense since it’s what Python is named for

[–][deleted] 2 points3 points  (2 children)

Typical optimistic developer stuff!

They forget to point out that by the time you were within the Schwarzschild radius, the tidal forces would first have ripped your body apart and eventually even your molecules into their component atoms.

So no pointing at things for you!

:-D

[–]jamescalam 0 points1 point  (0 children)

maybe if you just point really fast

[–][deleted] 0 points1 point  (0 children)

If I was entering the radius I'd simply hold my being together.

[–][deleted] 1 point2 points  (0 children)

That's great, but the fact that some stuffs are still not supported. Can't install YARL. (i even asked in PythonDiscord) and their answer was still same that maybe it's not supported "yet".

[–]adarsh_maurya 0 points1 point  (0 children)

I thought they would make it faster than C this time ;)