President Trump’s Asia trip kicks off with peace deal between Cambodia and Thailand and a trade framework with China, before meeting with President Xi Jinping on Thursday. The massive U.S. military build up in the Caribbean waters off the coast of Venezuela is causing concern from Caracas to the U.S. Congress, Venezuelan troops conduct drills on their beaches this weekend. And federal workers face growing financial strain as the government shutdown threatens holiday travel and food benefits.
Want more comprehensive analysis of the most important news of the day, plus a little fun? Subscribe to the Up First newsletter.
Today’s episode of Up First was edited by Dana Farrington, Tara Neil, Kelsey Snell, Mohamad ElBardicy and Alice Woelfle .
It was produced by Ziad Buchh, Ben Abrams and Christopher Thomas
We get engineering support from Neisha Heinis. And our technical director is Carleigh Strange.
Correction: In a previous audio version of this episode we refer to Venezuelan Minister Diosdado Cabello as Minister of Defense instead of Minister of Interior.
There are a lot of trending videos of people using face recognition tools to find cheating partners on dating apps. On TikTok, for example, videos have gone viral about people explaining how to use the tools like Cheater Buster, plus other staged videos of supposed partners catching their significant other on Tinder.
Joseph Cox, tech reporter at 404 Media, looked into the sudden rise of these services and the risks they pose to privacy.
A federal investigation into illegal gambling has rocked the N.B.A. On Thursday, more than 30 people were indicted in the case, which involves the Mafia, high-profile players and the manipulation of professional basketball games to rig bets.
Jonah E. Bromwich and Jenny Vrentas, who have been covering the story, discuss the shocking facts and the growing concern that online betting might be compromising the integrity of the sport.
Guest:
Jonah E. Bromwich, a New York Times reporter covering criminal justice in the New York region, with an emphasis on federal prosecutors and judges.
Jenny Vrentas, a New York Times reporter covering money, power and influence in sports.
In this episode, the Goods from the Woods Boys are THRILLED to welcome our ol' pal, comedian and actor Blake Hamilton! We start things off with an "ultra hydration" drink courtesy of the "Call Her Daddy" podcast crew. The drink is called "UNWELL" and it's literally just seawater. We also talk about Unwell's other partner, the always reliably evil Nestlé Corporation. Next, we take a spooky stroll through Blake’s hometown of Huntsville, Alabama. We go through the EXTRA CREEPY YouTube comments left on The Police’s classic hit "Every Breath You Take." Tune in now! You’re in for a great time! Follow Blake on social media @Blake__Hamilton Follow our show @TheGoodsPod on absolutely everything! Rivers is @RiversLangley Sam is @SamHarter666 Carter is @Carter_Glascock Subscribe on Patreon for an UNCUT video version of the show as well as HOURS of bonus content! http://patreon.com/TheGoodsPod Pick up a Goods from the Woods t-shirt at: http://prowrestlingtees.com/TheGoodsPod
Police arrest two suspects in the Louvre heist case as they allegedly try to flee France. The White House reaches a framework trade agreement with China ahead of a meeting between President Trump and Chinese leader Xi Jinping. And Jamaica braces for Hurricane Melissa as it rapidly gains strength.
Located in an arch sweeping to the east and south of the Marina Islands and Guam is the deepest part of the ocean, the Mariana Trench.
Running over 2,500 kilometers or 1,200 miles, the very deepest part of the trench is known as Challenger Deep.
At the very bottom of the sea, there is no light, temperatures are almost freezing, and the pressure is enough to crush almost anything that might make it down there.
It is so inhospitable that the number of people who have ever been there is about the number who have walked on the moon.
Learn more about the Mariana Trench and Challenger Deep on this episode of Everything Everywhere Daily.
Sponsors
Quince
Go to quince.com/daily for 365-day returns, plus free shipping on your order!
Mint Mobile
Get your 3-month Unlimited wireless plan for just 15 bucks a month at mintmobile.com/eed
Stash
Go to get.stash.com/EVERYTHING to see how you can
receive $25 towards your first stock purchase.
Newspaper.com
Go to Newspapers.com to get a gift subscription for the family historian in your life!
Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too.
Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it.
A CLI library that fixes 13 annoying issues in Typer
Much of Cyclopts was inspired by the excellent Typer library.
Despite its popularity, Typer has some traits that I (and others) find less than ideal. Part of this stems from Typer's age, with its first release in late 2019, soon after Python 3.8's release. Because of this, most of its API was initially designed around assigning proxy default values to function parameters. This made the decorated command functions difficult to use outside of Typer. With the introduction of <code>Annotated</code> in python3.9, type-hints were able to be directly annotated, allowing for the removal of these proxy defaults.
“Python 3.14 was released at the beginning of the month. This release was particularly interesting to me because of the improvements on the "free-threaded" variant of the interpreter.
Specifically, the two major changes when compared to the free-threaded variant of Python 3.13 are:
Free-threaded support now reached phase II, meaning it's no longer considered experimental
The implementation is now completed, meaning that the workarounds introduced in Python 3.13 to make code sound without the GIL are now gone, and the free-threaded implementation now uses the adaptive interpreter as the GIL enabled variant. These facts, plus additional optimizations make the performance penalty now way better, moving from a 35% penalty to a 5-10% difference.”
“On asynchronous protocols like ASGI, despite the fact the concurrency model doesn't change that much – we shift from one event loop per process, to one event loop per thread – just the fact we no longer need to scale memory allocations just to use more CPU is a massive improvement. ”
“… for everybody out there coding a web application in Python: simplifying the concurrency paradigms and the deployment process of such applications is a good thing.”
“… to me the future of Python web services looks GIL-free.”
The free-threaded build of Python uses a different garbage collector implementation than the default GIL-enabled build.
The Default GC: In the standard CPython build, every object that supports garbage collection (like lists or dictionaries) is part of a per-interpreter, doubly-linked list. The list pointers are contained in a PyGC_Head structure.
The Free-Threaded GC: Takes a different approach. It scraps the PyGC_Head structure and the linked list entirely. Instead, it allocates these objects from a special memory heap managed by the "mimalloc" library. This allows the GC to find and iterate over all collectible objects using mimalloc's data structures, without needing to link them together manually.
The free-threaded GC does NOT support "generations”
By marking all objects reachable from these known roots, we can identify a large set of objects that are definitely alive and exclude them from the more expensive cycle-finding part of the GC process.
Overall speedup of the free-threaded GC collection is between 2 and 12 times faster than the 3.13 version.
I wrote a lazy loading mechanism for Textual's widgets. Without it, the entire widget library would be imported even if you needed just one widget. Having this as a core language feature would make me very happy.”
Well, I was excited about Will’s example for how to, essentially, allow users of your package to import only the part they need, when they need it.
So I wrote up my thoughts and an explainer for how this works.
Special thanks to Trey Hunner’s Every dunder method in Python, which I referenced to understand the difference between __getattr__() and __getattribute__().
Extras
Brian:
Started writing a book on Test Driven Development.
Should have an announcement in a week or so.
I want to give folks access while I’m writing it, so I’ll be opening it up for early access as soon as I have 2-3 chapters ready to review. Sign up for the pythontest newsletter if you’d like to be informed right away when it’s ready. Or stay tuned here.
Building a UI in Python usually means choosing between "quick and limited" or "powerful and painful." What if you could write modern, component-based web apps in pure Python and still keep full control? NiceGUI, pronounced "Nice Guy" sits on FastAPI with a Vue/Quasar front end, gives you real components, live updates over websockets, and it’s running in production at Zauberzeug, a German robotic company. On this episode, I’m talking with NiceGUI’s creators, Rodja Trappe and Falko Schindler, about how it works, where it shines, and what’s coming next. With version 3.0 releasing around the same time this episode comes out, we spend the end of the episode celebrating the 3.0 release.