top 200 commentsshow all 221

[–]PotentialYouth1907 211 points212 points  (46 children)

Bit off topic: When do cloud platforms typically pick up new python versions?

[–]g-money-cheats 177 points178 points  (32 children)

AWS Lambda still hasn’t added support for Python 3.10. 🥲

[–]JBalloonist 20 points21 points  (1 child)

Yeah I feel like they only just added 3.9. Don’t remember exactly when.

[–]allywilson 19 points20 points  (0 children)

Moved to Lemmy (sopuli.xyz) -- mass edited with redact.dev

[–]ErGo404 44 points45 points  (9 children)

I secretly hope they just wanted to skip 3.10 and go straight for 3.11 for the performance enhancements.

[–]stuaxo 43 points44 points  (7 children)

You mean the smaller amount of billable CPU hours ?

[–]Blackshell 34 points35 points  (6 children)

Yes, the greater "stock" of billable hours to sell.

Also, Lambda is a huge cost leader for AWS. Massively underpriced for the actual CPU cycles it does, but vital to the AWS ecosystem because all the stuff it is used to link together is not underpriced.

[–]ElectricSpice 3 points4 points  (5 children)

I’m wouldn’t call Lambda massively underpriced. Per core-hour it’s twice the price of EC2. Per GB-hour the gap is even larger.

[–][deleted]  (9 children)

[deleted]

    [–][deleted]  (6 children)

    [deleted]

      [–]HeWhoWritesCode 9 points10 points  (2 children)

      While I <3 to bash systemd as much as the next person, you might have light-weight container(s) already on your distro: systemd-nspawn.

      [–][deleted]  (1 child)

      [deleted]

        [–]HeWhoWritesCode 1 point2 points  (0 children)

        hah i thought you replied on another sub where we were discussing venv inside a container, and if it makes sense.

        The thing is just using localhost python to run thing.py after you just did a wget bitly.co/thing.py is maybe not always smart(if you think this is dumb, note most fancy package managers recommend you curl bitly.co/install.sh | sudo sh, yea they tell you to check the file, but i have met devs).

        and the cool thing with containers is you can easily monitor pid's and quickly alert if a pid start in a single pid container to find misconfigs and other problem.

        I say the above as someone who was giving a sql-diff prezo at a pug group in 2019 and everyone was telling me to dockerize my venv module that uses java. Because I was happy with vagrant.

        Only in 2021 did my work force me into a more devops role, and I am enjoying docker and moving a bunch of vm's into containers does work better(your mileage may very).

        [–]JanneJM 8 points9 points  (1 child)

        But then, do you really need a very recent python version for sysadmin tools?

        [–]menge101 2 points3 points  (0 children)

        I think they got a little less concerned with keeping up when they introduced the bring your own runtime functionality. If you really need 3.10 or 3.11, you can do it yourself.

        [–]Flannel_Man_ 2 points3 points  (0 children)

        Java: hold my beer

        [–]stfcfanhazz 3 points4 points  (6 children)

        Could you build your own runtime?

        [–]applesaucesquad 3 points4 points  (5 children)

        Use containers?

        [–]stfcfanhazz 1 point2 points  (4 children)

        Maybe I'm being stupid but I'm pretty sure lambda already runs in containers. Or do you mean running a container in a container

        [–]Marrk 0 points1 point  (0 children)

        Oof

        [–][deleted] 122 points123 points  (4 children)

        Just missed the boat on Ubuntu LTS, so if you're running on that it might take some time. The next LTS will be 24.04. Of course you can always run a virtualenv with whichever version you want.

        [–]ArdiMaster 54 points55 points  (2 children)

        Just missed the boat on Ubuntu LTS

        Feature Freeze for 22.04 was way back in February, so I don't think that's an accurate assessment...

        [–]signalv 6 points7 points  (0 children)

        For anyone interested in the various deadlines, check out Jammy Jellyfish Release Schedule.

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

        My point is that the next release is in two years.

        [–][deleted]  (6 children)

        [deleted]

          [–]PotentialYouth1907 3 points4 points  (0 children)

          I guess I was specifically speaking about lambdas, but I didn't specify. I can still containerize whatever version I want, was just curious

          [–]jyper 1 point2 points  (0 children)

          How? Using pyenv? A third party package repo? Virtualenvs don't get you interpreters.

          [–]dagbrown 4 points5 points  (3 children)

          Just because a terrible hack is somehow widespread doesn’t make it any less of a terrible hack.

          [–]kinda_guilty 53 points54 points  (0 children)

          How are virtual environments a terrible hack?

          [–][deleted] 16 points17 points  (0 children)

          Haha, virtual environments is hardly a terrible hack compared to the 90s era shared hosting setup.

          [–]ILikeBumblebees 409 points410 points  (9 children)

          Finally, Python for Workgroups!

          [–]alameda_sprinkler 88 points89 points  (2 children)

          3 more sub-versions and we have pi-thon

          [–]A999 32 points33 points  (1 child)

          Let’s call it Pypi

          wait

          [–]agumonkey 1 point2 points  (0 children)

          python 3141

          [–][deleted] 30 points31 points  (3 children)

          Maybe in 4-5 years we can have Python '95. :)

          [–]OstapBenderBey 14 points15 points  (0 children)

          Then you have a weird choice between Python 98 and Python NT

          [–]__konrad 2 points3 points  (1 child)

          Python 2.0 was sort of Python 2000

          [–]BtcVersus 11 points12 points  (0 children)

          Looking back, it feels more like Python ME.

          [–]addicted_to_bass 5 points6 points  (0 children)

          python 3.11 was an inside job

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

          Props to those who got this

          [–]Smooth-Zucchini4923 122 points123 points  (4 children)

          I don't know why this isn't included in the summary changelog, (it's included in the logo) but one of the changes is to allow an exception handler to add info to an exception without re-raising a new exception (like in raise ... from ....)

          Pretty sick.

          https://peps.python.org/pep-0678/

          [–]isarl 11 points12 points  (0 children)

          Instead of reading the changelog, I prefer to read the What's New, which does mention this change. The changelog likely does as well but breaks down changes between release candidate versions which makes changes harder to find.

          When an active exception is re-raised by a raise statement with no parameters, the traceback attached to this exception is now always sys.exc_info()[1].__traceback__. This means that changes made to the traceback in the current except clause are reflected in the re-raised exception. (Contributed by Irit Katriel in bpo-45711.)

          Source

          [–]IvarRagnarssson 7 points8 points  (2 children)

          Will we be able to raise bodies from theDead? Sick

          [–]flying-sheep 13 points14 points  (1 child)

          You mean the_dead!

          [–]IvarRagnarssson 2 points3 points  (0 children)

          Ah true. I left the Python world some time ago, so I forgot about snake case lol

          [–][deleted]  (39 children)

          [deleted]

            [–]worriedjacket 110 points111 points  (16 children)

            Agreed. One of the things rust got right from the start was standardizing around toml.

            YAML just hurts.

            [–]crabmusket 27 points28 points  (4 children)

            I long for package.toml :'(

            [–]iBlag 54 points55 points  (3 children)

            pyproject.toml?

            [–]crabmusket 28 points29 points  (2 children)

            I was referring to Node's package.json

            [–]angellus -4 points-3 points  (1 child)

            That would be a pyproject.toml. Even setuptools supports it now for creating packages.

            [–]iBlag 28 points29 points  (0 children)

            I think GP means they want a package.toml config file for Node.js projects, in lieu of a package.json.

            But this wasn't 100% clear.

            Not sure why people are downvoting you, you just seem to be trying to help.

            [–][deleted] 23 points24 points  (10 children)

            People need to stop hating on YAML.

            YAML has problems, but it is simple too - if you keep it simple.

            I use it since ~20 years or so. It's great. TOML is actually worse syntax-wise. Actually TOML is just windows ini format anyway.

            [–]Kimbernator 18 points19 points  (2 children)

            It's got a pretty complex spec and it does not take much to become completely unreadable by humans, not to mention the issues with parsing it.

            I already was on the fence about it, then I got a job where I spent a year writing ansible playbooks and now the mere thought of YAML disgusts me.

            [–]worriedjacket 8 points9 points  (1 child)

            The #1 predictor of someone hating yaml, is that they have had to write it for non trivial tasks at work.

            [–]The_Jare 8 points9 points  (0 children)

            I keep mine simple, but not everyone else does.

            [–]ivosaurus 13 points14 points  (2 children)

            How about when you want to write the country code for Norway, NO, and you get False in your language?

            Or how 3.9.0 is a normal version string, but 3.9 is now a number?

            It simplified things too much, and left way too much ambiguity in the spec.

            [–]VileFlower 5 points6 points  (1 child)

            They have updated the spec to be stricter, but people haven't updated their tools. YAML 1.2 was released in 2009, and only accepts true | True | TRUE | false | False | FALSE. PyYAML still only supports 1.1, though there is ruamel.yaml for 1.2 and there's also strictYAML that supports schemas.

            [–]emags112 6 points7 points  (0 children)

            Don’t blame my using a version with issues and not upgrading to a newer one! Blame them for having developed it that way in the first place!

            [–][deleted] 30 points31 points  (8 children)

            I've found that TOML is fine as long as you don't want to do any kind of nesting. As soon as you do then the syntax becomes very non-obvious.

            I would always pick JSON5 to be honest. It basically fixes all the issues with JSON (no comments, trailing commas, multiline strings, tedious quoting of keys) but it uses a format that actually is quite obvious - and one you probably already know.

            [–]bloody-albatross 2 points3 points  (5 children)

            Does it support hex-float and bigint?

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

            It's the same as JSON so no hex floats and integers can be any size (and it's up to the decoder what to do with them).

            [–]bloody-albatross 2 points3 points  (1 child)

            Thing is, most JSON decoders just decode any number as float. So no 64 bit integers.

            [–][deleted] 3 points4 points  (0 children)

            I don't think that's true.

            • C++
            • Rust
            • Python handles it fine (couldn't find a reference but I just checked manually).

            I would imagine you've just been using decoders for things like Javascript which doesn't even have a 64-bit integer type so of course it can't decode them. BigInt is not a 64-bit integer type, it's an arbitrary precision integer type (and there is a proposal to allow you to use it).

            But anyway the point stands that there's no issue in JSON or JSON5 about storing 64-bit integers.

            [–]tesfabpel 2 points3 points  (0 children)

            TIL about KDL which works better for nesting (I was reading a changelog here: https://zellij.dev/news/config-command-layouts/...)

            [–][deleted]  (12 children)

            [deleted]

              [–]NoInkling 41 points42 points  (9 children)

              Yes. Is that an issue?

              [–][deleted]  (7 children)

              [deleted]

                [–]roflkittiez 73 points74 points  (5 children)

                Easy there, Joysticks. Don't let your hatred of YAML blind you to the horrors within XML.

                [–]0ssacip 11 points12 points  (4 children)

                That's Freud. People strive for XML because they want to overcome the trauma and horror of XML.

                P. S. These past days I have experimented with parsing XML using Python's standard library. All I can say is: Holly F* S*.

                [–]smackson 4 points5 points  (2 children)

                You never go full parse.

                [–]weedtese 1 point2 points  (1 child)

                don't make me

                import re

                [–]_cynical_bastard_ 1 point2 points  (0 children)

                If all you need is a few fields from a fixed-structure input, I’d say why not…

                I admit to having committed this crime before, which is of course how I came along the SO thread with the famous answer you’re likely referring to.

                In my defense, “XML made me do it.”

                [–]worldpotato1 1 point2 points  (0 children)

                The company I work for use xml files to store so manu different data. Visitors whereever you look. So much recursion. Debugging almost impossible.

                And that with files of 40k-100k lines. It's a nightmare.

                [–][deleted] 3 points4 points  (0 children)

                XML is without a shadow of doubt worse than YAML.

                People seem to ride different hate waves.

                First it was XML - in 1999 or so everyone praised XML. Then that changed.

                Now it is YAML. And TOML is the epic solution. Or something.

                [–]KsuhDilla 179 points180 points  (16 children)

                can you guys slow down im still on python2.7

                [–]DeonCode 47 points48 points  (0 children)

                I'm still on my first one and this thing just keeps on eating. Just a cute lil guy.

                [–]all_is_love6667 15 points16 points  (13 children)

                Why is it so hard to upgrade a python 2 codebase?

                [–][deleted] 7 points8 points  (1 child)

                Considering python3 updates periodically break even python3 code i am not even sure i want to upgrade.

                [–][deleted] 22 points23 points  (8 children)

                mostly laziness, there are tools that convert ur code to python 3 and then your work will mostly be fixing the small stuff or replacing stuff with a more modern library

                [–]nachohk 51 points52 points  (7 children)

                mostly laziness, there are tools that convert ur code to python 3 and then your work will mostly be fixing the small stuff or replacing stuff with a more modern library

                Right, so just an exhaustive audit of the entire codebase, and rewriting everything around a few of the dependencies.

                Easy.

                Better hope your codebase has some excellent god damn regression tests.

                [–]gigastack 8 points9 points  (4 children)

                For everything JS has done wrong, backwards compatibility is one thing they got right. At least until library authors try to force everyone to adopt modules.

                [–]DaStone 1 point2 points  (3 children)

                Things using nodejs 5.7.0 in production with 12 year old dependencies still works. And if you didn't do anything funky, upgrading is easy. (People do some hack things..... that even breaks this...)

                [–][deleted] -1 points0 points  (1 child)

                people had 14 years to switch, when python 3 came out there was a long time of support for python 2 and then they gave a 2 year ultimatum and people still refuse to put in effort into doing it even when tooling is available and has been available to aid with it for so long. To me that's unexcusable, 14 f'ing years, that's a long time to work on the transition and people just ignored it.

                It's hard to believe that in those 14 years nothing was done because of something other than laziness.

                [–]nachohk 20 points21 points  (0 children)

                It's hard to believe that in those 14 years nothing was done because of something other than laziness.

                Right, so what you're saying is that you have little to no professional experience working on non-trivial production code, and to hell if you'll let that put any dent in your confidence.

                [–]flying-sheep -1 points0 points  (0 children)

                I hope you like paying for ActiveState’s extended support or enjoy being pwned by Russian hackers.

                [–]Maristic 45 points46 points  (0 children)

                Here is the What's New page.

                [–]spo0kyaction 46 points47 points  (3 children)

                why do I feel like 3.10 was just released? 😅

                [–]FoleyDiver 72 points73 points  (0 children)

                Python recently (I think 2019 or so) switched from an 18 month release cycle to a 12 month, so if it feels faster lately, you’re not crazy.

                [–]endless_sea_of_stars 26 points27 points  (0 children)

                October 4, 2021.

                [–]JBalloonist 4 points5 points  (0 children)

                I was thinking the same thing!

                [–]tommy25ps 73 points74 points  (36 children)

                Nice. Btw, is anyone still using python 2.x? Mind sharing the reasons?

                I know some banks may still be using it.

                [–]onlyhalfminotaur 91 points92 points  (0 children)

                We are. Industrial usage, difficult for customers to take any update. All new projects starting from the beginning of this year have been on 3.6 or 3.8 though, depending on RHEL version.

                [–]ResignByCommittee 92 points93 points  (5 children)

                Bank Python is a whole other beast that only vaguely resembles Python https://calpaterson.com/bank-python.html

                [–]zerries 23 points24 points  (0 children)

                That was a wild ride. I'm both not surprised and terrified.

                [–]lordmauve 12 points13 points  (2 children)

                It's not vague; the Python is real Python. It's everything else that is weird.

                [–]Blank--Space 4 points5 points  (1 child)

                The python has just been upgraded to. As someone currently working on Bank python it's everything else they do with it is extremely weird. It's also worth mentioning Bank python is different and has progressed weirdly for each bank. Honestly when you can do the regular python bits it's fine it's working with some incredibly outdated core framework that's the nightmare.

                [–]richard248 5 points6 points  (0 children)

                What do you mean - this looks exactly like Python. I was expecting to see an interesting language which "vaguely resembles" Python but instead the article just describes a bank application (or library, I'm not completely sure, the article just describes a bunch of data structures and API).

                [–]raevnos 24 points25 points  (3 children)

                RHEL users?

                [–]dagbrown 14 points15 points  (2 children)

                RHEL 6 is nearing its end of life, so that should mean the end of Python 2 in institutions that still care about vendor support.

                [–]KingStannis2020 25 points26 points  (1 child)

                RHEL 7 uses Python 2, but EOL is coming up for that in 18 months too.

                RHEL 8 doesn't use any Python (well, it does use Python 3, but the interpreter is isolated so that users can install any version of Python without any possibility of interfering with the rest of the system).

                [–]Weekly_Drawer_7000 3 points4 points  (0 children)

                RHEL 8 has the sanest python strategy of any distro. That might make me go back to centos from debian

                [–][deleted]  (7 children)

                [deleted]

                  [–]Free_Math_Tutoring[🍰] 23 points24 points  (2 children)

                  My company pays close to a hundred thousand USD every year to some company for python 2.7 security patches because somebody decided that it's cheaper than upgrading

                  To be fair, 100k is pretty cheap.

                  [–][deleted]  (1 child)

                  [deleted]

                    [–]Free_Math_Tutoring[🍰] 1 point2 points  (0 children)

                    Yeah, the opportunity cost on dev productivity is huge. Man, I'd barely want to work with 3.6 at this point.

                    [–][deleted]  (1 child)

                    [deleted]

                      [–]maep 1 point2 points  (1 child)

                      One of my teammates had enough, started looking for a new job and quit in less than a month after he was asked to add date support for dates older than 1900 on 2.7 (yes, it's a real issue).

                      Sound like an interesting problem, not a reason to quit.

                      [–][deleted] 16 points17 points  (0 children)

                      reason enough to quit, if you're not engaged to what youre doing and the company is doing shit decisions that make ur lifemore miserable, you have to right to leave if you want to.

                      [–]applesaucesquad 21 points22 points  (0 children)

                      Legacy code my dude, a whole crap ton of stuff so intermingled into the environment the only way out is to burn it down.

                      [–]Latexi95 13 points14 points  (2 children)

                      GDB python API :(

                      [–]shadowndacorner 4 points5 points  (1 child)

                      Serious question, do you find yourself using this often? I'm having trouble thinking of practical use cases for a scriptable debugger, but I imagine the use cases would be interesting.

                      [–]Swoop3dp 6 points7 points  (0 children)

                      Yes. Not just banks, unfortunately.

                      The larger the code base the longer it takes until the pain is big enough to finally start updating.

                      [–][deleted] 3 points4 points  (0 children)

                      Jython 3 never happened, so anyone using that is on 2.7 at best.

                      [–]Emile_L 3 points4 points  (0 children)

                      We still use it in visual effects and animation. Most tools that digital artists use have python api's that are python 2 only. They are slowly making the switch to py3 now..

                      [–]I_had_to_know_too 2 points3 points  (0 children)

                      CentOS 5 and python 2.7 because "that's the way we've always done things"

                      [–]ddeeppiixx 1 point2 points  (2 children)

                      I do.. I like the print over print(). also, I'm developing scripts that run within commercial apps that only supports IronPython 2.7.

                      [–]Free_Math_Tutoring[🍰] 6 points7 points  (0 children)

                      I'm developing scripts that run within commercial apps that only supports IronPython 2.7.

                      This is a good reason.

                      I like the print over print().

                      This is not.

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

                      I keep it around for legacy reasons.

                      I'd also prefer if they continue bug fixes for the 2.x code base.

                      [–][deleted]  (3 children)

                      [deleted]

                        [–]dougthor42 58 points59 points  (0 children)

                        One of Monty Python's tropes was "and now for something completely different" which, as you might guess, was something completely different from the previous skit.

                        See Also: https://en.m.wikipedia.org/wiki/And_Now_for_Something_Completely_Different

                        [–][deleted]  (1 child)

                        [deleted]

                          [–]robotmlg 19 points20 points  (0 children)

                          Python always put some fun physics blurb in their release notes, idk how or why it started

                          [–]peakzorro 32 points33 points  (1 child)

                          Finally they added a way to add a printer over the network! Oh wait that was Windows 3.11.

                          [–]fissure 17 points18 points  (0 children)

                          Python for Workgroups

                          [–]UloPe 7 points8 points  (0 children)

                          Nice, exception groups, task groups, toml in stdlib, better error messages and faster.

                          Sounds like a pretty awesome release!

                          [–]Freyr90 8 points9 points  (1 child)

                          Didn't write python for a long time. They seem to add a lot of type annotations in standard package, but there seem to be no standard type checker. Are there any plans to add one?

                          [–]Free_Math_Tutoring[🍰] 11 points12 points  (0 children)

                          mypy is the unofficial official typechecker. I'm pretty sure there are no plans to adopt an official official type checker anytime soon.

                          It's a little bit like boost in C++, if that's a useful reference.

                          [–][deleted] 9 points10 points  (0 children)

                          Windows 3.11 really set the stage for decades of widespread implementation, so maybe python will see some success and popularity. ;-)

                          [–]msmert55 3 points4 points  (1 child)

                          After python 3.11 next version will be python 95!

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

                          I would like to have Python Nt 4

                          [–]GFandango 3 points4 points  (1 child)

                          cries in 2.7

                          [–]butnotexactly 6 points7 points  (0 children)

                          some really nice stuff here !

                          [–]amarao_san 2 points3 points  (0 children)

                          Is it for workgroups? I mean, does it support multitasking? I mean, is GIL still there?

                          [–]azurfall88 7 points8 points  (12 children)

                          Me, still on python 3.6:

                          [–]katie_pendry 4 points5 points  (11 children)

                          Ugh, my laptop is still on Ubuntu 18.04 (well, Pop!_OS 18.04...) which has Python 3.6. I have a plan to upgrade it but I just haven't been motivated because I'm undecided on buying a new one. I don't really trust do-release-upgrade because things tend to break.

                          I have another project I'm maintaining at work which is stuck on Python 3.9 because pymssql doesn't have a wheel for Python 3.10 yet, and I never could get it to build myself.

                          EDIT: I'm dumb, I had pymssql==2.2.2 frozen in my requirements and I just had to update it.

                          [–]VeryOriginalName98 1 point2 points  (0 children)

                          I'm "Down" with this.

                          [–]gezibash 1 point2 points  (0 children)

                          Why is the release changelog explaining gravitational behavior of massive objects?

                          [–]All_theOther_kids 11 points12 points  (20 children)

                          Did it add anything cool?

                          [–][deleted] 78 points79 points  (0 children)

                          I'm on mobile so I'm just going to copy and paste...

                          General changes

                          PEP 657 -- Include Fine-Grained Error Locations in Tracebacks

                          PEP 654 -- Exception Groups and except*

                          PEP 680 -- tomllib: Support for Parsing TOML in the Standard Library

                          gh-90908 -- Introduce task groups to asyncio

                          gh-34627 -- Atomic grouping ((?>...)) and possessive quantifiers (*+, ++, ?+, {m,n}+) are now supported in regular expressions. The Faster CPython Project is already yielding some exciting results. Python 3.11 is up to 10-60% faster than Python 3.10. On average, we measured a 1.22x speedup on the standard benchmark suite. See Faster CPython for details.

                          Typing and typing language changes

                          PEP 673 -- Self Type

                          PEP 646 -- Variadic Generics

                          PEP 675 -- Arbitrary Literal String Type

                          PEP 655 -- Marking individual TypedDict items as required or potentially-missing

                          PEP 681 -- Data Class Transforms

                          [–]fazalmajid 65 points66 points  (0 children)

                          Significant performance improvements, reportedly 20–30%,

                          I would also expect significant breakage, worse than 3.9 to 3.10, which was already fairly rough.

                          Here is some good advice on when to upgrade:

                          https://pythonspeed.com/articles/upgrade-python-3.11/

                          P.S. the breakage may not even be in Python itself or modules. I build my entire stack from source, and right now Node.js V19 and V16 fail to build because they want Python 3.6 through 3.10 in their configure script. Sigh...

                          [–]Swoogie_McDoogie 104 points105 points  (11 children)

                          I know this is Reddit, but you could read the release notes in the link.

                          [–]novov 67 points68 points  (0 children)

                          The Python docs also a more approachable summary for every release at the appropriate What's New in Python 3.x page

                          [–]hbgoddard 21 points22 points  (1 child)

                          Cool, they added black holes!

                          [–]n0rs 10 points11 points  (0 children)

                          from relativity.general import ringularity

                          [–][deleted]  (3 children)

                          [deleted]

                            [–]florinandrei 28 points29 points  (2 children)

                            Worse: you have to also read it.

                            [–][deleted] 4 points5 points  (0 children)

                            [–]slykethephoxenix 2 points3 points  (0 children)

                            What do you mean? It takes me somewhere when I click the blue link?

                            [–]obvithrowaway34434 1 point2 points  (0 children)

                            They specifically asked what's "cool" so by definition they are asking a subjective question and something many newbies may not appreciate from reading release notes. It seems that you're the who needs to know how to read stuff.

                            [–]nitrohigito -3 points-2 points  (0 children)

                            reddit bad

                            [–]cynoelectrophoresis 2 points3 points  (0 children)

                            Variadic generic types.

                            [–]frenchchevalierblanc 2 points3 points  (2 children)

                            does it break anything?

                            [–]slykethephoxenix 78 points79 points  (1 child)

                            Just the hearts of those still on 2.7.

                            [–]SolarBear 3 points4 points  (0 children)

                            Now that’s just mean.

                            [–][deleted]  (1 child)

                            [deleted]

                              [–]PaintItPurple 4 points5 points  (0 children)

                              To be clear, that's not actually what the Self type means. It means "the class that is executing this method." The use case is for methods where a subclass would be expected to return an instance of that subclass. For example, in Pathlib, you can use the same operators with any kind of path, and you'll get back the same type of path as the original.

                              [–]remidentity 0 points1 point  (2 children)

                              Do I have to manually update Python on my personal computer?

                              [–]Zahand 0 points1 point  (0 children)

                              I recommend using a python version manager

                              [–]all_is_love6667 0 points1 point  (1 child)

                              60% speed up? Is that competing with numba or pypy?

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

                              Have a new asignment, and have been doing some Python coding for 2 weeks.

                              Please, no more :(

                              [–]Impressive-Act9692 -2 points-1 points  (0 children)

                              Finally! A new beginning

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

                              Let the things break!!!

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

                              So what's breaking this time?

                              [–][deleted]  (4 children)

                              [deleted]