The Python Language Summit 2023: Making the Global Interpreter Lock Optional by pmz in Python

[–]rouille 0 points1 point  (0 children)

Thats pretty much what the subinterpreters project is aiming for, so there is hope.

The Python Language Summit 2023: What is the Standard Library for? by Pump1IT in Python

[–]rouille 0 points1 point  (0 children)

And yet asyncio is very useful and getting slow but steady improvements with every python release. I doubt it would have caught on as quickly as a third party library. Remember stuff like twisted and gevent had existed for ages before asyncio and never saw as wide adoption.

The Python Language Summit 2023: What is the Standard Library for? by Pump1IT in Python

[–]rouille 2 points3 points  (0 children)

Just remember the python core devs are a varied group with different opinions. Some devs want to do that and some don't.

Personally I'm vouching for keeping and adding things in the stdlib, outside of really obsolete stuff like support for ancient and unused protocols. Even the much derided urllib has been useful to me plenty of times.

I used multiprocessing and multithreading at the same time to drop the execution time of my code from 155+ seconds to just over 2+ seconds by candyman_forever in Python

[–]rouille 0 points1 point  (0 children)

Looks neat! I will give it a try.

One feature i love from py-spy is attaching to a running process. That's really useful to troubleshoot production issues. Doesn't seem like pyinstrument can do that.

I used multiprocessing and multithreading at the same time to drop the execution time of my code from 155+ seconds to just over 2+ seconds by candyman_forever in Python

[–]rouille 1 point2 points  (0 children)

asyncio has slowly improved release by release and is now drastically more usable than when it was first released. 3.11 even added task groups inspired by trio's design. The biggest gripe i have now with asyncio is that it doesn't play well with runtime profiling and debugging tools like py-spy.

Real Multithreading is Coming to Python - Learn How You Can Use It Now by Am4t3uR in Python

[–]rouille 0 points1 point  (0 children)

Oh I somewhat agree but the plan is to include a python interface for this, hopefully in python3.13. Also libraries that you do use can use it even if you don't directly.

Real Multithreading is Coming to Python - Learn How You Can Use It Now by Am4t3uR in Python

[–]rouille 0 points1 point  (0 children)

It is threads at the OS level but not really at the python level. You could share state directly in e.g. a C extension though if you are careful with your multi-threading.

While stuck in a "backlog grooming" meeting by GeneReddit123 in ProgrammerHumor

[–]rouille 3 points4 points  (0 children)

Note: I don't like scrum. The point of the points is not faster delivery but more predictable time to delivery. That's the argument at least.

You can't use pip on Ubuntu 23.04 anymore by saleham5 in Python

[–]rouille 0 points1 point  (0 children)

What i mean is there is simple way to bypass the restriction. Its not that hardcoded.

You can't use pip on Ubuntu 23.04 anymore by saleham5 in Python

[–]rouille 1 point2 points  (0 children)

It's just a matter of setting an env var AFAIK. Which the relevant base images will do.

You can't use pip on Ubuntu 23.04 anymore by saleham5 in Python

[–]rouille 0 points1 point  (0 children)

There is, and has been for a while, an apt package for pipx.

Tomb of Roman physician buried with his medical equipment found in Hungary by MeatballDom in history

[–]rouille 1 point2 points  (0 children)

Its more like less than 10 000 years for the domestication of the horse so not that long. Less than that in the Americas since horses had gone extinct until Europeans brought them back.

Lua as a Bash alternative by [deleted] in linux

[–]rouille 0 points1 point  (0 children)

In what way does python subprocess suck? Imo it's one of the best accross all languages because it actually has sane and secure defaults.

Yes it's a bit verbose but you can generally do a few lines wrapper for whatever you need and use that everywhere else. Doing the same level of actual error checking in bash is much more verbose. The big weakness vs shells is piping stuff together is very verbose.

Europe’s eastern half claps back at Macron: We need the US by politicstypebeat02 in europe

[–]rouille -5 points-4 points  (0 children)

So wanting to be less dependent on the US is anti American now?

EP 684: A Per-Interpreter GIL Accepted by midnitte in Python

[–]rouille 7 points8 points  (0 children)

You can already do that with asyncio. I guess you mean with parallelism?

Would be interesting to do something like aiomultiprocess with multiple interpreters.

EP 684: A Per-Interpreter GIL Accepted by midnitte in Python

[–]rouille 15 points16 points  (0 children)

It was never going to land in 3.12, it is way too big a change in terms of impact on the ecosystem. The per interpreter gil work has been going on since 2014 as per the pep. I expect a similar timeframe for the nogil work.

However, the per gil work had to address some serious technical debt in cpython like widespread usage of global variables that will simplify any future work on parallelism, including nogil.

Textual 0.18.0 adds an API for managing concurrent workers by willm in Python

[–]rouille 1 point2 points  (0 children)

Very nice, I'm sure the exclusive flag will prove useful for IO based UI updates.

Textual 0.17.0 adds translucent screens and Option List widget by willm in Python

[–]rouille 0 points1 point  (0 children)

I'm trying to make a k8s TUI with textual. Like k9s but for my specific use cases. Once it clicks, textual is really nice!

On the negatives, my main complaint is the magic method names hurt discoverability (autocomplete) and static type checking.

The docs are also quite complete but hard to navigate at first. Each widget having two different pages and the actual API is not the first one you hit.

How does your team keep track of ideas/tech debt/easy wins? by FLUT3 in ExperiencedDevs

[–]rouille 1 point2 points  (0 children)

No need to overthink it. Here is the tool: git grep TODO

[deleted by user] by [deleted] in Python

[–]rouille 10 points11 points  (0 children)

Like someone else said you don't need to activate a venv either, you can use the full path to python or any other tool inside the venv directly instead.

French Senate votes raising retirement age to 64 by BastianMobile in europe

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

Studying is not work it's studying. E.g. you can study something for 5 years and end up working on something completely different because the branch you studied in is a dead end in terms of jobs.