Podcasts about CPython

Python reference implementation

  • 29PODCASTS
  • 113EPISODES
  • 1h 2mAVG DURATION
  • 1EPISODE EVERY OTHER WEEK
  • May 19, 2025LATEST

POPULARITY

20172018201920202021202220232024


Best podcasts about CPython

Latest podcast episodes about CPython

Python Bytes
#432 How To Fix Your Computer

Python Bytes

Play Episode Listen Later May 19, 2025 25:48 Transcription Available


Topics covered in this episode: pre-commit: install with uv PEP 773: A Python Installation Manager for Windows (Accepted) Changes for Textual The Best Programmers I Know Extras Joke Watch on YouTube About the show Sponsored by NordLayer: pythonbytes.fm/nordlayer Connect with the hosts Michael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky) Brian: @brianokken@fosstodon.org / @brianokken.bsky.social Show: @pythonbytes@fosstodon.org / @pythonbytes.fm (bsky) 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. Brian #1: pre-commit: install with uv Adam Johnson uv tool works great at keeping tools you use on lots of projects up to date quickly, why not use it for pre-commit. The extension of pre-commit-uv will use uv to create virtual environments and install packages fore pre-commit. This speeds up initial pre-commit cache creation. However, Adam is recommending this flavor of using pre-commit because it's just plain easier to install pre-commit and dependencies than the official pre-commit install guide. Win-win. Side note: No Adam, I'm not going to pronounce uv “uhv”, I'll stick with “you vee”, even Astral tells me I'm wrong Michael #2: PEP 773: A Python Installation Manager for Windows (Accepted) via pycoders newsletter One manager to rule them all – PyManager. PEP 773 replaces all existing Windows installers (.exe “traditional” bundle, per-version Windows Store apps, and the separate py.exe launcher) with a single MSIX app called Python Install Manager (nick-named PyManager). PyManager should be mainstream by CPython 3.15, and the traditional installer disappears no earlier than 3.16 (≈ mid-2027). Simple, predictable commands. python → launches “the best” runtime already present or auto-installs the latest CPython if none is found. py → same launcher as today plus management sub-commands: py install, py uninstall, py list, py exec, py help. Optional python3 and python3.x aliases can be enabled by adding one extra PATH entry. Michael #3: Changes for Textual Bittersweet news: the business experiment ends, but the code lives on. Textual began as a hobby project layered on top of Rich, but it has grown into a mature, “makes-the-terminal-do-the-impossible” TUI framework with an active community and standout documentation. Despite Textual's technical success, the team couldn't pinpoint a single pain-point big enough to sustain a business model, so the company will wind down in the coming weeks. The projects themselves aren't going anywhere: they're stable, battle-tested, and will continue under the stewardship of the original author and the broader community. Brian #4: The Best Programmers I Know Matthias Endler “I have met a lot of developers in my life. Lately, I asked myself: “What does it take to be one of the best? What do they all have in common?”” The list Read the reference Know your tools really well Read the error message Break down problems Don't be afraid to get your hands dirty Always help others Write Never stop learning Status doesn't matter Build a reputation Have patience Never blame the computer Don't be afraid to say “I don't know” Don't guess Keep it simple Each topic has a short discussion. So don't just ready the bullet points, check out the article. Extras Brian: I had a great time in Munich last week. I a talk at a company event, met with tons of people, and had a great time. The best part was connecting with people from different divisions working on similar problems. I love the idea of internal conferences to get people to self organize by topic and meet people they wouldn't otherwise, to share ideas. Also got started working on a second book on the plane trip back. Michael: Talk Python Clips (e.g. mullet) Embrace your cloud firewall (example). Python 3.14.0 beta 1 is here Congrats to the new PSF Fellows. Cancelled faster CPython https://bsky.app/profile/snarky.ca/post/3lp5w5j5tws2i Joke: How To Fix Your Computer

52 Weeks of Cloud
Deno: The Modern TypeScript Runtime Alternative to Python

52 Weeks of Cloud

Play Episode Listen Later May 5, 2025 7:26


Deno: The Modern TypeScript Runtime Alternative to PythonEpisode SummaryDeno stands tall. TypeScript runs fast in this Rust-based runtime. It builds standalone executables and offers type safety without the headaches of Python's packaging and performance problems.KeywordsDeno, TypeScript, JavaScript, Python alternative, V8 engine, scripting language, zero dependencies, security model, standalone executables, Rust complement, DevOps tooling, microservices, CLI applicationsKey Benefits Over PythonBuilt-in TypeScript SupportFirst-class TypeScript integrationStatic type checking improves code qualityBetter IDE support with autocomplete and error detectionTypes catch errors before runtimeSuperior PerformanceV8 engine provides JIT compilation optimizationsSignificantly faster than CPython for most workloadsNo Global Interpreter Lock (GIL) limiting parallelismAsynchronous operations are first-class citizensBetter memory management with V8's garbage collectorZero Dependencies PhilosophyNo package.json or external package managerURLs as imports simplify dependency managementBuilt-in standard library for common operationsNo node_modules folderSimplified dependency auditingModern Security ModelExplicit permissions for file, network, and environment accessSecure by default - no arbitrary code executionSandboxed execution environmentSimplified Bundling and DistributionCompile to standalone executablesConsistent execution across platformsNo need for virtual environmentsSimplified deployment to productionReal-World Usage ScenariosDevOps tooling and automationMicroservices and API developmentData processing applicationsCLI applications with standalone executablesWeb development with full-stack TypeScriptEnterprise applications with type-safe business logicComplementing RustPerfect scripting companion to Rust's philosophyShared focus on safety and developer experienceUnified development experience across languagesPossibility to start with Deno and migrate performance-critical parts to RustComing in May: New courses on Deno from Pragmatic A-Lapse

Moscow Python: подкаст о Python на русском
Новости мира Python за апрель 2025

Moscow Python: подкаст о Python на русском

Play Episode Listen Later May 3, 2025 54:15


Python Day на Positive Hack Days 2025 — https://clck.ru/3KW4fm Ведущие – Григорий Петров и Михаил Корнеев Новости выпуска: В Python закончили затаскивать криптографию из HACL* — https://jonathan.protzenko.fr/2025/04/18/python.html Релиз Pydantic v2.11 — https://pydantic.dev/articles/pydantic-v2-11-release Dependency groups и экспериментальная поддержка pylock.toml в pip — https://ichard26.github.io/blog/2025/04/whats-new-in-pip-25.1/  Приняли PEP 768 – Safe external debugger interface for CPython — https://peps.python.org/pep-0768/ Приняли PEP 750 – Template Strings — https://peps.python.org/pep-0750/ Отклонили PEP 736 – Shorthand syntax for keyword arguments at invocation — https://peps.python.org/pep-0736/ Ссылки выпуска: Курс Learn Python — https://learn.python.ru/advanced Канал Миши в Telegram — https://t.me/tricky_python Канал Moscow Python в Telegram — https://t.me/moscow_python Все выпуски — https://podcast.python.ru Митапы Moscow Python — https://moscowpython.ru Канал Moscow Python на Rutube — https://rutube.ru/channel/45885590/ Канал Moscow Python в VK — https://vk.com/moscowpythonconf

Talk Python To Me - Python conversations for passionate developers
#499: BeeWare and the State of Python on Mobile

Talk Python To Me - Python conversations for passionate developers

Play Episode Listen Later Mar 31, 2025 67:47 Transcription Available


This episode is all about Beeware, the project that working towards true native apps built on Python, especially for iOS and Android. Russell's been at this for more than a decade, and the progress is now hitting critical mass. We'll talk about the Toga GUI toolkit, building and shipping your apps with Briefcase, the newly official support for iOS and Android in CPython, and so much more. I can't wait to explore how BeeWare opens up the entire mobile ecosystem for Python developers, let's jump right in. Episode sponsors Posit Python in Production Talk Python Courses Links from the show Anaconda open source team: anaconda.com PEP 730 – Adding iOS: peps.python.org PEP 738 – Adding Android: peps.python.org Toga: beeware.org Briefcase: beeware.org emscripten: emscripten.org Russell Keith-Magee - Keynote - PyCon 2019: youtube.com Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to Talk Python on YouTube: youtube.com Talk Python on Bluesky: @talkpython.fm at bsky.app Talk Python on Mastodon: talkpython Michael on Bluesky: @mkennedy.codes at bsky.app Michael on Mastodon: mkennedy

Podcast proConf
#160 PyCascades 2025 - CPython 3.13 | GIL теперь все | Потная асинхронщина | Монорепы или нет

Podcast proConf

Play Episode Listen Later Mar 26, 2025 132:24


Доклады: Goodbye GIL: Exploring the Free-threaded mode in Python 3.13 - Adarsh Divakaran (https://youtu.be/7NvgI3jDprg) Unlocking Concurrency and Performance in Python with ASGI and Async I/O - Allen Y, M Aswin Kishore (https://youtu.be/s5UGRvdrb_Q) Quantifying Nebraska - Adam Harvey (https://youtu.be/vH9xOxryqW8) Error Culture - Ryan Cheley (https://youtu.be/FBMg2Bp4I-Q) Mono-repositories in Python - Avik Basu (https://youtu.be/VIlcodf9Wrg) You Should Build a Robot (MicroPython) (https://youtu.be/UygK5W3txTM) As easy as breathing: manage your workflows with Airflow! - Madison Swain-Bowden (https://youtu.be/dWZSVY79-SM) Optimal Performance Over Basic as a Perfectionist with Deadlines - Velda Kiara (https://youtu.be/dvxzJDk6x9Q) Нас можно найти: 1. Telegram: https://t.me/proConf 2. Youtube: https://www.youtube.com/c/proconf 3. SoundCloud: https://soundcloud.com/proconf 4. Itunes: https://podcasts.apple.com/by/podcast/podcast-proconf/id1455023466 5. Spotify: https://open.spotify.com/show/77BSWwGavfnMKGIg5TDnLz

Python Bytes
#424 We Will Test in Production

Python Bytes

Play Episode Listen Later Mar 17, 2025 27:23 Transcription Available


Topics covered in this episode: The weird quirk with rounding in Python Python interpreter adds tail calls Remove punctuation from a string with translate and maketrans Extra, extra, extra Extras Joke Watch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python Training The Complete pytest Course Patreon Supporters Connect with the hosts Michael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky) Brian: @brianokken@fosstodon.org / @brianokken.bsky.social Show: @pythonbytes@fosstodon.org / @pythonbytes.fm (bsky) 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. Brian #1: The weird quirk with rounding in Python Tom Nijhof-Verheesb With numbers ending in .5, Python always rounds to an even number. round(0.5) → 0 round(1.5) → 2 etc This follows IEEE 754 You can use decimal if you need a different behavior. Michael #2: Python interpreter adds tail calls Ken Jin, a member of the project, has merged a new set of changes that have been benchmarked as improving performance by 10% for some architectures. "Speedup is roughly equal to 2 minor CPython releases worth of improvements. For example, CPython 3.12 roughly sped up by 5%.” Brian #3: Remove punctuation from a string with translate and maketrans Rodrigo “Don't use the method replace to remove punctuation from a Python string. Instead, use the method translate.” Michael #4: Extra, extra, extra Animation v Coding, hello world to transformers TypeScript rewritten in Go Firefox lies PyCon's Startup Row Python in Production Book Extras Joke: Startrek Testing

Moscow Python: подкаст о Python на русском
Итоги года мира Python 2024

Moscow Python: подкаст о Python на русском

Play Episode Listen Later Feb 8, 2025 58:38


Предварительная запись на офлайн-курс Learn Python в Москве — https://forms.gle/wE7Lit97U9Q2q3oT9   Ведущие – Григорий Петров и Михаил Корнеев Новости выпуска: Safe external debugger interface for CPython — https://peps.python.org/pep-0768/ результат опроса Facebook об аннотациях типов в Python — https://engineering.fb.com/2024/12/09... возможность указывать SBOM-файлы в pyproject.toml — https://peps.python.org/pep-0770/ Сравнение Django и FastAPI — https://www.david-dahan.com/blog/comp... предложение по добавлению выравнивания в PEP 8 — https://discuss.python.org/t/pep-8-mo...   Ссылки выпуска: Курс Learn Python — https://learn.python.ru/advanced Канал Миши в Telegram — https://t.me/tricky_python Канал Moscow Python в Telegram — https://t.me/moscow_python Все выпуски — https://podcast.python.ru Митапы Moscow Python — https://moscowpython.ru Канал Moscow Python на Rutube — https://rutube.ru/channel/45885590/ Канал Moscow Python в YouTube — https://www.youtube.com/@moscowdjangoru Канал Moscow Python в VK — https://vk.com/moscowpythonconf

core.py
Episode 17: Argparse, JIT, and balloons with Savannah Ostrowski

core.py

Play Episode Listen Later Nov 19, 2024 105:06


Meet our newest member of the core developer team, Savannah! Currently at Snowflake, she also worked with development tools at Docker and Microsoft, but also flew drones over forests. In terms of CPython, Savannah works on argparse and the JIT, but that's not her last word. # Timestamps (00:00:00) INTRO (00:01:26) PART 1: INTERVIEW WITH SAVANNAH OSTROWSKI (00:02:12) Beginnings as a Python user (00:04:14) Carol Willing's nudge (00:06:55) First PR (00:08:56) Psychological damage from asyncio (00:11:51) Savannah at ***** Maps (00:14:04) Chipotle Claim to Fame (00:16:14) The most funky CPython discoveries (00:19:06) What if you could break backwards compatibility in argparse? (00:23:51) How do the JIT internals look to new eyes? (00:27:33) Is Savannah team typing? (00:33:55) Somebody's jealous (00:37:29) Favorite PEP and least favorite PEP (00:42:10) Big Fish (00:52:58) Hard conversations (01:02:31) Polska (01:06:37) Do it scared (01:08:14) PART 2: PR OF THE WEEK (01:08:22) Łukasz (01:12:01) Pabluco (01:14:46) Savannah (01:18:27) PART 3: WHAT'S GOING ON IN CPYTHON (01:21:21) Features (01:29:59) Bug fixes (01:33:42) Performance (01:40:12) Security (01:43:23) OUTRO

Python Bytes
#404 The Lost Episode

Python Bytes

Play Episode Listen Later Oct 7, 2024 31:15 Transcription Available


Topics covered in this episode: Python 3.13.0 released Oct 7 PEP 759 – External Wheel Hosting pytest-freethreaded pytest-edit Extras Joke Watch on YouTube About the show Sponsored by ScoutAPM: pythonbytes.fm/scout Connect with the hosts Michael: @mkennedy@fosstodon.org Brian: @brianokken@fosstodon.org Show: @pythonbytes@fosstodon.org 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. Brian #1: Python 3.13.0 released Oct 7 That's today! What's New In Python 3.13 Interpreter (REPL) improvements exit works (really, this is worth the release right here) Multiline editing with history preservation. history sticks around between sessions Direct support for REPL-specific commands like help, exit, and quit, without the need to call them as functions. Prompts and tracebacks with color enabled by default. Interactive help browsing using F1 with a separate command history. History browsing using F2 that skips output as well as the >>> and … prompts. “Paste mode” with F3 that makes pasting larger blocks of code easier (press F3 again to return to the regular prompt). exit now works without parens Improved error messages Colorful tracebacks Better messages for naming a script/module the same name as a stdlib module. naming a script/module the same name as an installed third party module. misspelling a keyword argument Free threaded CPython Included in official installers on Windows and macOS Read these links to figure out how - it's not turned on by default Lot's more. see the What's new page Michael #2: PEP 759 – External Wheel Hosting pypi.org ships over 66 petabytes / month backed by Fastly There are hard project size limits for publishers to PyPI We can host the essence of a .whl as a .rim file, then allow an external download URL Security: Several factors as described in this proposal should mitigate security concerns with externally hosted wheels, such as: Wheel file checksums MUST be included in .rim files, and once uploaded cannot be changed. Since the checksum stored on PyPI is immutable and required, it is not possible to spoof an external wheel file, even if the owning organization lost control of their hosting domain. Externally hosted wheels MUST be served over HTTPS. In order to serve externally hosted wheels, organizations MUST be approved by the PyPI admins. Brian #3: pytest-freethreaded PyCon JP 2024 Team: This extension was created at PyCon JP sprints with Anthony Shaw and 7 other folks listed in credits. “A pytest plugin for helping verify that your tests and libraries are thread-safe with the Python 3.13 experimental freethreaded mode.” Testing your project for compatibility with freethreaded Python. Testing in single thread doesn't test that. Neither does testing with pytest-xdist, because it uses multiprocessing to parallelize tests. So, Ant and others “made this plugin to help you run your tests in a thread-pool with the GIL disabled, to help you identify if your tests are thread-safe.” “And the first library we tested it on (which was marked as compatible) caused a segmentation fault in CPython! So you should give this a go if you're a package maintainer.” Michael #4: pytest-edit A simple Pytest plugin for opening editor on the failed tests. Type pytest --edit to open the failing test code Be sure to set your favorite editor in the ENV variables Extras Michael: New way to explore Talk Python courses via topics This has been in our mobile apps since their rewrite but finally comes to the web Let's go easy on PyPI, OK? essay Hynek's video: uv IS the Future of Python Packaging djade-pre-commit Polyfill.io, BootCDN, Bootcss, Staticfile attack traced to 1 operator PurgeCSS CLI Python 3.12.7 released Incremental GC and pushing back the 3.13.0 release uv making the rounds LLM fatigue, is it real? Take the Python Developers Survey 2024 Joke: Funny 404 pages We have something at least interesting at pythonbytes.fm

Talk Python To Me - Python conversations for passionate developers

Every year the core developers meet to discuss and propose the major changes and trends in Python itself. This invite-only conference of about 50 people happens inside PyCon in the US. Because it's private, we rarely get detailed looks inside this event. On this episode, we have Seth Michael Larson here to give us his account of the sessions and proposals. It's a unique look into the zeitgeist of CPython. Episode sponsors Posit Talk Python Courses Links from the show Seth on Mastodon: @sethmlarson@fosstodon.org Seth on Twitter: @sethmlarson Seth on Github: github.com The Python Language Summit 2024: blogspot.com PEP 2026: Calendar versioning for Python: github.com PSF authorized as a CVE Numbering Authority: python.org Recommends Memory-Safe Programming Languages: blogspot.com Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy

Python Bytes
#397 So many PyCon videos

Python Bytes

Play Episode Listen Later Aug 20, 2024 22:21


Topics covered in this episode: pyawaitable Annotated area charts with plotnine DeltaDB PyCon US 2024 Recap + Videos are up Extras Joke Watch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python Training The Complete pytest Course Patreon Supporters Connect with the hosts Michael: @mkennedy@fosstodon.org Brian: @brianokken@fosstodon.org Show: @pythonbytes@fosstodon.org Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Tuesdays 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. Michael #1: pyawaitable CPython API for asynchronous functions. by Peter Bierma It was originally designed to be directly part of CPython - you can read the scrapped PEP about it. Since this library only uses the public ABI, it's better fit outside of CPython, as a library. Brian #2: Annotated area charts with plotnine Nicola Rennie This is a marvelous, very professional looking plot, and a tutorial for how to achieve it. Uses plotline, which is “.. an implementation of a grammar of graphics in Python based on ggplot2” I actually didn't know the gg in ggplot came from “grammar of graphics”. TIL Michael #3: DeltaDB A lightweight, comprehensive solution for managing delta tables built on polars and deltalake. Deltalake: Delta Lake is an open-source storage format that runs on top of existing data lakes. Polars: Dataframes powered by a multithreaded, vectorized query engine, written in Rust (aka fluent, rust-based pandas) See the docs. Brian #4: PyCon US 2024 Recap + Videos are up 95 countries attended total attendance of 2,991 2,551 in person 440 remote Videos available PyConUS I recommend Playlist → 2024 → view full playlist, as it's easier to see the talk titles. I've got Paul Gannsle's pytest for unittesters and Amitosh Swain's Testing Data Pipelines queued up Extras Brian: Hello, pytest! course available as of last Friday. Now the fastest way to get started using pytest. 16 lessons (really 12 + intro, outro, code download, pytest flag cheat sheet) The whole shebang is about 90 min. (faster if you bump up the video speed. :) Michael: Cutting back on digital distractions, trying Dumb Phone for iPhone. See screenshot Code in a Castle Event Joke: The Tao of Programming: 4.3 A master was explaining the nature of Tao of to one of his novices, "The Tao is embodied in all software -- regardless of how insignificant," said the master. "Is the Tao in a hand-held calculator?" asked the novice. "It is," came the reply. "Is the Tao in a video game?" continued the novice. "It is even in a video game," said the master. "And is the Tao in the DOS for a personal computer?" The master coughed and shifted his position slightly. "The lesson is over for today," he said.

Hacker News Recap
July 12th, 2024 | AT&T says criminals stole phone records of 'nearly all' customers in data breach

Hacker News Recap

Play Episode Listen Later Jul 13, 2024 13:06


This is a recap of the top 10 posts on Hacker News on July 12th, 2024.This podcast was generated by wondercraft.ai(00:33): AT&T says criminals stole phone records of 'nearly all' customers in data breachOriginal post: https://news.ycombinator.com/item?id=40944505&utm_source=wondercraft_ai(01:49): Use a Work Journal to Recover Focus Faster and Clarify Your ThoughtsOriginal post: https://news.ycombinator.com/item?id=40950584&utm_source=wondercraft_ai(03:03): Tau: Open-source PaaS – A self-hosted Vercel / Netlify / Cloudflare alternativeOriginal post: https://news.ycombinator.com/item?id=40946033&utm_source=wondercraft_ai(04:13): Free-threaded CPython is ready to experiment withOriginal post: https://news.ycombinator.com/item?id=40948806&utm_source=wondercraft_ai(05:20): Hackers Steal Phone, SMS Records for Nearly All AT&T CustomersOriginal post: https://news.ycombinator.com/item?id=40948035&utm_source=wondercraft_ai(06:18): Windows NT for Power MacintoshOriginal post: https://news.ycombinator.com/item?id=40945076&utm_source=wondercraft_ai(07:34): Crafting InterpretersOriginal post: https://news.ycombinator.com/item?id=40950235&utm_source=wondercraft_ai(08:41): CISA broke into a US federal agency, and no one noticed for a full 5 monthsOriginal post: https://news.ycombinator.com/item?id=40948064&utm_source=wondercraft_ai(09:54): What could explain the gallium anomaly?Original post: https://news.ycombinator.com/item?id=40948202&utm_source=wondercraft_ai(11:07): Beating the CompilerOriginal post: https://news.ycombinator.com/item?id=40948353&utm_source=wondercraft_aiThis is a third-party project, independent from HN and YC. Text and audio generated using AI, by wondercraft.ai. Create your own studio quality podcast with text as the only input in seconds at app.wondercraft.ai. Issues or feedback? We'd love to hear from you: team@wondercraft.ai

Python Bytes
#390 Coding in a Castle

Python Bytes

Play Episode Listen Later Jul 2, 2024 36:39


Topics covered in this episode: Joining Strings in Python: A "Huh" Moment 10 hard-to-swallow truths they won't tell you about software engineer job My thoughts on Python in Excel Extra, extra, extra Extras Joke Watch on YouTube About the show Sponsored by ScoutAPM: pythonbytes.fm/scout Connect with the hosts Michael: @mkennedy@fosstodon.org Brian: @brianokken@fosstodon.org Show: @pythonbytes@fosstodon.org Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Tuesdays 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. Brian #1: Joining Strings in Python: A "Huh" Moment Veronica Berglyd Olsen Standard solution to “read lines from a file, do some filtering, create a multiline string”: f = open("input_file.txt") filtered_text = "n".join(x for x in f if not x.startswith("#")) This uses a generator, file reading, and passes the generator to join. Another approach is to add brackets and pass that generator to a list comprehension: f = open("input_file.txt") filtered_text = "n".join([x for x in f if not x.startswith("#")]) At first glance, this seems to just be extra typing, but it's actually faster by 16% on CPython due to the implementation of .join() doing 2 passes on input if passed a generator. From Trey Hunner: “I do know that it's not possible to do 2 passes over a generator (since it'd be exhausted after the first pass) so from my understanding, the generator version requires an extra step of storing all the items in a list first.” Michael #2: 10 hard-to-swallow truths they won't tell you about software engineer job College will not prepare you for the job You will rarely get greenfield projects Nobody gives a BLANK about your clean code You will sometimes work with incompetent people Get used to being in meetings for hours They will ask you for estimates a lot of times Bugs will be your arch-enemy for life Uncertainty will be your toxic friend It will be almost impossible to disconnect from your job You will profit more from good soft skills than from good technical skills Brian #3: My thoughts on Python in Excel Felix Zumstein Interesting take on one person's experience with trying Python in Excel. “We wanted an alternative to VBA, but got an alternative to the Excel formula language” “Python runs in the cloud on Azure Container Instances and not inside Excel.” “DataFrames are great, but so are NumPy arrays and lists.” … lots of other interesting takaways. Michael #4: Extra, extra, extra Code in a castle - Michael's Python Zero to Hero course in Tuscany Polyfill.io JavaScript supply chain attack impacts over 100K sites Now required reading: Reasons to avoid Javascript CDNs Mac users served info-stealer malware through Google ads HTMX for the win! ssh to run remote commands > ssh user@server "command_to_run --arg1 --arg2" Extras Brian: A fun reaction to AI - I will not be showing the link on our live stream, due to colorful language. Michael: Coding in a Castle Developer Education Event Polyfill.io JavaScript supply chain attack impacts over 100K sites See Reasons to avoid Javascript CDNs Joke: HTML Hacker

core.py
Episode 9: Py Day with Emily Morehouse-Valcarcel

core.py

Play Episode Listen Later Mar 14, 2024 69:44


Let's talk about the Steering Council, running a small consultancy business, the Walrus, and pet peeves with our special guest today! ## Outline (00:00:00)  INTRO (00:00:56)  PART 1: Emily Morehouse (00:02:15)  Running a small consultancy business (00:04:39)  What features of JS do you miss in Python? (00:05:50)  Łukasz outnumbered in a world of Steering Council members (00:06:12)  Upgrading to new Python versions (00:07:00)  It depends on who deployed the project (00:09:44)  Second term as a Steering Council member (00:11:33)  Barry, play some bass for us (00:13:04)  Let's hear a recent war story (00:15:17)  Is this progress bar even working? (00:17:40)  The Villain Origin Story (00:21:37)  Emily, The Bringer of Doom (00:22:37)  Consensus within the Steering Council (00:25:52)  Syntax changes in Python are rare, right? Right? (00:28:22)  On implementing PEP 572 (00:32:52)  How would PyCon 2020 in Pittsburgh feel? (00:34:18)  How can you be mad about the Walrus? (00:36:10)  Favorite parts of the standard library (00:38:10)  Is hacking on Python a good experience to newcomers? (00:40:26)  Emily's pet peeve about Python, take 1 (00:42:17)  Emily's favorite change in Python in recent years (00:44:34)  Emily's pet peeve about Python, take 2 (00:46:34)  Łukasz's pet peeve (00:48:25)  Surprise extra question (00:49:42)  At core.py we are professionals (00:51:00)  PART 2: PR of the Week (00:54:00)  CALL TO ACTION: Upgrade Python.org to Django 4! (00:56:22)  PART 3: What's Going On in CPython? (00:56:38)  Faster Python updates (01:00:10)  Free threading: GIL can be disabled but we're not done yet! (01:04:17)  New defaults for SSL context flags (01:05:39)  python -m asyncio and sys.__interactivehook__ (01:06:24)  Surprise question: what is sys.__interactivehook__ even doing? (01:08:11)  OUTRO

core.py
Episode 8: The New Parser

core.py

Play Episode Listen Later Mar 1, 2024 102:36


The suspense was killing us! OK, the old parser was then... but what about NOW? We're finally answering this question... in more detail than you dared to ask for. PEG, memoization, funky secrets, and how a certain auto-formatter self-inflicted an existential crisis on itself. It's all there, told in barely 100 minutes! Can you believe it? # Timestamps (00:00:00)  INTRO (00:00:54)  PART 1: What even is PEG? (00:04:02)  You can't prove anything! (00:05:03)  What's a "parsing expression"? (00:08:23)  Our old LL1 parser wasn't doing its job (00:09:37)  "Soft keywords" in LL1: A Horror Story (00:13:16)  PART 2: How PEG was adopted by Python (00:17:10)  Why not LALR? (00:22:11)  The PEG paper wasn't enough either, if we're honest (00:26:26)  Less obvious advantages of the new parser (00:31:28)  Black is stuck with LL1, can it cope? (00:36:24)  Hedging against Łukasz, the bringer of doom (00:41:14)  PART 3: How does the PEG parser of CPython work? (00:44:30)  Pedantic Pablo on "exponential" (00:45:14)  Fresh news from literally yesterday last week (00:46:39)  Pedantic Pablo on "infinite" (00:47:32)  Memoization in the PEG parser (00:50:41)  Parse once, and if it fails, try again! (00:52:14)  How to model a grammar of programming mistakes? (00:56:36)  Why is there C code in my grammar file? (00:59:57)  Bro, do you even lift? (01:01:45)  How soft keywords work today: it's not free lunch (01:04:29)  Funky grammar secrets (01:09:07)  PART 4: PR OF THE WEEK (01:09:15)  audioop.c license shenanigans (01:14:56)  The secret profiler inside CPython (tests) (01:22:45)  PART 5: WHAT'S GOING ON IN CPYTHON? (01:23:30)  Free-threading changes (01:28:15)  Faster Python changes (01:35:39)  End of an era: docs get rid of Python 2 migration info (01:36:45)  Python --help output is now nicer (01:38:43) SQLite as a dbm backend (01:41:08)  OUTRO

Moscow Python: подкаст о Python на русском
Как стать core-разработчиком CPython?

Moscow Python: подкаст о Python на русском

Play Episode Listen Later Feb 28, 2024 64:32


Спонсор подкаста — https://learn.python.ru Ведущие – Григорий Петров и Михаил Корнеев Ссылки Никиты: GitHub — github.com/sobolevn Youtube — @sobolevn Ссылки выпуска: Курс Learn Python — https://learn.python.ru/ Канал Миши в Telegram — https://t.me/tricky_python Канал Moscow Python в Telegram — https://t.me/moscow_python Все выпуски — https://podcast.python.ru Митапы MoscowPython — https://moscowpython.ru

Inside Facebook Mobile
59: Meta ❤️ Python 3.12

Inside Facebook Mobile

Play Episode Listen Later Jan 31, 2024 38:13


For the second time in just a few months, we are talking Python on the Meta Tech Podcast. Python 3.12 features a whole range of new features, many of which were contributed by Meta. Carl and Itamar join Pascal to talk about their contributions to the latest release, including new hooks that allow for custom JITs like Cinder, Immortal Objects, improvements to the type system, faster comprehensions and much more. In their discussion, they talk not just about how and why those features were built but also the process of upstreaming and engaging with the community.  Got feedback? Send it to us on Threads (https://threads.net/@metatechpod), Twitter (https://twitter.com/metatechpod), Instagram (https://instagram.com/metatechpod) and don't forget to follow our host @passy (https://twitter.com/passy, https://mastodon.social/@passy, and https://threads.net/@passy_). Fancy working with us? Check out https://www.metacareers.com/. Links “Lazy is the new fast: How Lazy Imports and Cinder accelerate machine learning at Meta” - https://engineering.fb.com/2024/01/18/developer-tools/lazy-imports-cinder-machine-learning-meta/ “How Meta built the infrastructure for Threads” - https://engineering.fb.com/2023/12/19/core-infra/how-meta-built-the-infrastructure-for-threads/ Cinder on GitHub - https://github.com/facebookincubator/cinder “Meta contributes new features to Python 3.12” - https://engineering.fb.com/2023/10/05/developer-tools/python-312-meta-new-features/ Timestamps Intro 0:06 Carl Intro 2:09 Itamar Intro 3:27 Teams and Missions 5:10 Python 3 Faster Coroutines 8:57 Code Watchers and JIT Hooks 12:10 When to upstream 13:53 How to upstream to CPython 16:19 History of Cinder 21:35 Why not upstream Cinder? 25:48 Cinder hooks in CPython 29:34 Free Threading 34:10 Outro 37:08

core.py
Episode 5 - Cinder with Carl Meyer

core.py

Play Episode Listen Later Dec 11, 2023 81:19


This time we're hosting a special guest: Carl Meyer from Meta. What is Cinder, how does it work, and how does it intersect with the future of Python 3? Find out in today's episode. 100% serious stuff! # Timestamps (00:00:00)  INTRO (00:00:53)  Carl Meyer's war story (00:02:27)  CINDER (00:03:22)  Static Python makes things significantly faster (00:08:15)  Cinder JIT and how it's tuned for Instagram (00:11:57)  Strict Python and the joy of import side effects (00:16:35)  The static typing controversy (00:18:52)  Upstreaming changes from Cinder? (00:22:53)  PEP 709: Comprehension inlining (00:28:35)  pip install CinderX (00:31:19)  Immortal instances (00:35:15)  asyncio.eager_task_factory() (00:39:39)  Carl's pet peeve with Python (00:44:49)  PR OF THE WEEK: PyPy's REPL in CPython (00:52:07)  WHAT'S GOING ON IN CPYTHON (00:52:22)  Python 3.12.1 (00:53:17)  Python 3.11.7 (00:54:45)  multiprocessing.SharedMemory track (00:56:49)  Fine-grained error locations for multi-line expressions (01:00:03)  libedit tab completion is fixed (01:02:14)  Colored exception tracebacks (01:05:11)  Removing testing modules from sys.modules, correctly (01:06:47)  SBOMs are a very serious matter (01:09:08)  Arrays by value on ARM (01:12:24)  Remove development environments and CAPS LOCK (01:15:30)  Interpreter cases generator refactored (01:16:17)  Free-threading news (01:20:01)  OUTRO

Talk Python To Me - Python conversations for passionate developers

You've probably heard the term "syntactic sugar", that is, syntax within a programming language that is designed to make things easier to read or to express. It makes the language "sweeter" for human use. It turns out Brett Cannon has spent 2 years diving into and writing about Python's sweet language features and how they really work down inside CPython. He joins me on the show today to dive into a few of the more relevant posts he's written about it. Links from the show Brett Cannon: @brettcannon@fosstodon.org Syntactic sugar series: snarky.ca Syntactic sugar: wikipedia.org Unravelling attribute access in Python: snarky.ca Unravelling binary arithmetic operations: snarky.ca Unravelling the import statement: snarky.ca record-type: pypi.org Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy --- Episode sponsors --- Talk Python Training

Python Bytes
#359 gil--;

Python Bytes

Play Episode Listen Later Nov 2, 2023 43:04


Topics covered in this episode: PyCon 2024 is up? Ruff formatter is production ready gil--; Why is the Django Admin “Ugly”? Extras Joke Watch on YouTube About the show Sponsored by Scout APM Connect with the hosts Michael: @mkennedy@fosstodon.org Brian: @brianokken@fosstodon.org Show: @pythonbytes@fosstodon.org Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Tuesdays at 11am PT. Older video versions available there too. Michael #1: PyCon 2024 is up? May 15 - May 23, 2024 - Pittsburgh, Pennsylvania Conference breakdown: Tutorials: May 15 - 16, 2024 Main Conference and Online: May 17 - 19, 2024 Job Fair: May 19, 2024 Sprints: May 20 - May 23, 2024 Tickets aren't on sale yet Unfortunately, I'm not going (see health and safety guidelines) Attendance numbers over time on Wikipedia Brian #2: Ruff formatter is production ready We reported the alpha release in September It's fast, 30x faster than Black Provides >99.9% compatibility with Black, with a list of known deviations More configurable Bundled with ruff, ruff format Still in Beta, but considered production-ready Integration extensions for VSCode and PyCharm Michael #3: gil--; The Python Steering Council has now formally accepted PEP 703 ("Making the Global Interpreter Lock Optional in CPython") The global interpreter lock will remain the default for CPython builds and python.org downloads. A new build configuration flag, --disable-gil will be added to the configure script that will build CPython with support for running without the global interpreter lock. "In short, the SC accepts PEP 703, but with clear provisio: that the rollout be gradual and break as little as possible, that we can roll back any changes that turn out to be too disruptive – which includes potentially rolling back all of PEP 703 entirely if necessary (however unlikely or undesirable we expect that to be)." Removing the global interpreter lock requires substantial changes to CPython internals, but relatively few changes to the public Python and C APIs. The implementation changes can be grouped into the following four categories: Reference counting Memory management Container thread-safety Locking and atomic APIs Brian #4: Why is the Django Admin “Ugly”? Vince Salvino Some great quotes from the article: "The Django admin is not ugly, rather, no effort was made to make it a beautiful end-user tool.” - Ken Whitesell “The admin's recommended use is limited to an organization's internal management tool. It's not intended for building your entire front end around.” - Django docs “The Django admin was built for Phil.” - Jacob Kaplan-Moss “Even in the 0.9x days we used to have a image that said “Admin: it's not your app”.” - Curtis Maloney As Curtis put it, “encouraging people to build their own management interface, and treat admin as a DB admin tool, has saved a lot of people pain... the effort to customise it grows far faster than the payoffs.” Extras Brian: Local Conferences: Big Potential Michael: Data Science Jumpstart with 10 Projects course is out! PSF is X-ed out (or are they?) GPT4All is pretty excellent Fosstodon invites from us (expires Nov 7 2023) Joke: Searching YouTube for bug fixes

core.py
Episode 1 - Core Sprint in Brno & Python 3.13.0 alpha 1

core.py

Play Episode Listen Later Oct 30, 2023 71:59


In this first episode Pablo and Łukasz talk about what happened in at the 2023 Cpython Core Developer sprint. Join us and learn from our ramblings about a possible new CPython new JIT compiler, how we are making the REPL easier, what in the world is a memory hive, and how we are trying to make a new C API without making everyone mad. Timestamps (00:00:00) Intro (00:01:02) Cpython core developer sprint (00:04:54) Pablo's highlights (00:06:09) Łukasz's highlights (00:08:08) Coverage in the standard library (00:12:20) Improving CPython's REPL (00:20:38) Copy and patch JIT compiler prototype (00:28:16) Tier1 and Tier2 interpreter (00:41:25) Python 3.13.0 alpha 1 and doing CPython releases (00:52:08) C-API improvements (00:58:28) Sprint experience and tourism (01:01:49) Steering council Q&A (01:08:19) Closing thoughts

Talk Python To Me - Python conversations for passionate developers
#431: Visualizing CPython Release Process

Talk Python To Me - Python conversations for passionate developers

Play Episode Listen Later Sep 29, 2023 62:12


Every year Python has a new major release. This year it's Python 3.12 and it'll come out on October 2, 2023. That's 4 days from when this episode was published. There is quite process involved to test, build, and ship Python across many platforms and channels. We have Seth Michael Larson here to give us a detailed rundown on what exactly is involved in releasing CPython. Links from the show Seth on Mastodon: fosstodon.org/@sethmlarson Seth on Twitter: @sethmlarson Seth on Github: github.com Announcing Security Developer-in-Residence: sethmlarson.dev Visualizing the CPython Release Process: sethmlarson.dev PEP 101: peps.python.org CPython on Github: github.com Best Open SSF: best.openssf.org pip-audit: github.com PyPA Advisory Database: github.com Omnivore App: omnivore.app What's New in 3.12: docs.python.org release-tools package: github.com Talk Python's HTMX + Django course: talkpython.fm/htmx-django Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors PyCharm Talk Python Training

Talk Python To Me - Python conversations for passionate developers
#425: Memray: The endgame Python memory profiler

Talk Python To Me - Python conversations for passionate developers

Play Episode Listen Later Aug 4, 2023 70:28


Understanding how your Python application is using memory can be tough. First, Python has it's own layer of reused memory (arenas, pools, and blocks) to help it be more efficient. And many important Python packages are built in natively compiled languages like C and Rust often times making that section of your memory opaque. But with Memray, you can way deeper insight into your memory usage. We have Pablo Galindo Salgado and Matt Wozniski back on the show to dive into Memray, the sister project to their pystack one we recently covered. Links from the show Pablo Galindo Salgado: @pyblogsal Matt Wozniski: github.com pytest-memray: github.com PEP 669 – Low Impact Monitoring for CPython: peps.python.org Memray discussions: github.com Mandlebrot Flamegraph example: bloomberg.github.io Python allocators: bloomberg.github.io Profiling in Python: docs.python.org PEP 693 – Python 3.12 Release Schedule: peps.python.org Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors PyCharm influxdata Talk Python Training

Python Bytes
#346 Have you lost your GIL?

Python Bytes

Play Episode Listen Later Aug 2, 2023 28:09


Watch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python Training Python People Podcast Patreon Supporters Connect with the hosts Michael: @mkennedy@fosstodon.org Brian: @brianokken@fosstodon.org Show: @pythonbytes@fosstodon.org Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Tuesdays at 11am PT. Older video versions available there too. Brian #1: A Steering Council notice about PEP 703 (Making the Global Interpreter Lock Optional in CPython) Thomas Wouters Suggested by John Hagen “We intend to accept PEP 703, although we're still working on the acceptance details.” Moving forward in 3 stages short-term, no-GIL experimental build in 3.13 or 3.14 mid-term, declare support for no-GIL version long-term, no-GIL becomes default and remove any vestiges of the GIL No commitment and timeframe is nebuous long-term means 5+ years Need community support “We want to be able to change our mind if it turns out, any time before we make no-GIL the default, that it's just going to be too disruptive for too little gain.” Michael #2: Google's post-cookie world could turn into DRM for the internet A new authentication system could let websites block extensions or jailbroken devices. Google has been trying to implement plans to move beyond cookies for years without denying its partners the means to sell targeted ads. One recent proposal to guarantee user privacy and security could come at the cost of freedom of functionality. Comments are somewhat interesting. More info in a second article. Vivaldi has a response here. Brave won't ship with it. Brian #3: How ruff changed my Python programming habits Matthias Kestenholz “…there's always a trade off between development speed (waiting on git commit is very boring) and strictness. “ “ruff is so fast that enabling additional rules is practically free in terms of speed...” ruff has way more rules since last I checked. They are just mostly turned off by default. The article suggests a bunch to try turning on. See also ruff config settings turn on flake8-bugbear while leaving on defaults with select = ["E", "F", "B"] lots of rules to choose from ruff-pre-commit to run these with pre-commit Michael #4: pathlib api extended to use fsspec backends via Justin Flannery Expanding on the capabilities of fsspec, the same GitHub organization also supports another powerful library called universal_pathlib. universal_pathlib is a python library that aims to extend Python's built-in pathlib.Path api to use a variety of backend filesystems using fsspec. This seamless replacement allows developers to leverage the familiar and powerful pathlib API on any type of filesystem. upath.Path is a drop-in replacement for pathlib.Path and is an excellent addition to your toolkit. Joke: Understanding pointers

捕蛇者说
Ep 41. 和 Penguin 聊聊 CPython 优化和大厂编译器组的工作

捕蛇者说

Play Episode Listen Later Jul 18, 2023 72:38


本期前半段内容(CPython 优化)较为硬核,如果你想直接听后半段(大厂编译器组的工作),可以直接跳到 00:38:50 嘉宾 Penguin 主播 laike9m Manjusaka 链接 播客中提到的两个优化: Add return const instruction #101632 - python/cpython bpo-47067: Add vectorcall for gaobject #31996 Faster CPython CPython 特化指令 PEP 659 – Specializing Adaptive Interpreter 码农高天:Faster CPython的重要力量——Specialized Instruction 十分钟魔法练习 Apache TVM 太极图形 播客封面来自Anime Girls Holding Programming Books

Lex Fridman Podcast
#381 – Chris Lattner: Future of Programming and AI

Lex Fridman Podcast

Play Episode Listen Later Jun 2, 2023 218:29


Chris Lattner is a legendary software and hardware engineer, leading projects at Apple, Tesla, Google, SiFive, and Modular AI, including the development of Swift, LLVM, Clang, MLIR, CIRCT, TPUs, and Mojo. Please support this podcast by checking out our sponsors: - iHerb: https://lexfridman.com/iherb and use code LEX to get 22% off your order - Numerai: https://numer.ai/lex - InsideTracker: https://insidetracker.com/lex to get 20% off EPISODE LINKS: Chris's Twitter: https://twitter.com/clattner_llvm Chris's Website: http://nondot.org/sabre/ Mojo programming language: https://www.modular.com/mojo Modular AI: https://modular.com/ PODCAST INFO: Podcast website: https://lexfridman.com/podcast Apple Podcasts: https://apple.co/2lwqZIr Spotify: https://spoti.fi/2nEwCF8 RSS: https://lexfridman.com/feed/podcast/ YouTube Full Episodes: https://youtube.com/lexfridman YouTube Clips: https://youtube.com/lexclips SUPPORT & CONNECT: - Check out the sponsors above, it's the best way to support this podcast - Support on Patreon: https://www.patreon.com/lexfridman - Twitter: https://twitter.com/lexfridman - Instagram: https://www.instagram.com/lexfridman - LinkedIn: https://www.linkedin.com/in/lexfridman - Facebook: https://www.facebook.com/lexfridman - Medium: https://medium.com/@lexfridman OUTLINE: Here's the timestamps for the episode. On some podcast players you should be able to click the timestamp to jump to that time. (00:00) - Introduction (06:38) - Mojo programming language (16:55) - Code indentation (25:22) - The power of autotuning (35:12) - Typed programming languages (51:56) - Immutability (1:04:14) - Distributed deployment (1:38:41) - Mojo vs CPython (1:54:30) - Guido van Rossum (2:01:31) - Mojo vs PyTorch vs TensorFlow (2:04:55) - Swift programming language (2:10:27) - Julia programming language (2:15:32) - Switching programming languages (2:24:58) - Mojo playground (2:29:48) - Jeremy Howard (2:40:34) - Function overloading (2:48:59) - Error vs Exception (2:56:39) - Mojo roadmap (3:09:41) - Building a company (3:21:27) - ChatGPT (3:27:50) - Danger of AI (3:31:44) - Future of programming (3:35:01) - Advice for young people

The Real Python Podcast
Virtual Environment Structure & Surveying the Packaging Ecosystem

The Real Python Podcast

Play Episode Listen Later May 12, 2023 69:27


How do Python virtual environments work under the hood? How does understanding these concepts help you with managing them for your projects? This week on the show, CPython core developer Brett Cannon returns to discuss his recent articles about virtual environments and the Python packaging landscape.

The Real Python Podcast
Targeting WebAssembly Platforms & Distilling a Minimum Viable Python

The Real Python Podcast

Play Episode Listen Later Apr 28, 2023 79:03


Are you familiar with the different versions of WebAssembly? Could WASM be the "write once, run everywhere" solution that developers have searched for? Where does distributing Python applications fit in the narrative? This week on the show, we have CPython core developer Brett Cannon to discuss his recent articles about WebAssembly and MVPy.

Adafruit Industries
EYE on NPI: BeagleBoard.org BeaglePlay® Single Board Computer Chips

Adafruit Industries

Play Episode Listen Later Apr 20, 2023 11:48


This week's EYE ON NPI will stick by your side like a faithful hound- it's the BeagleBoard.org BeaglePlay® Single Board Computer (https://www.digikey.com/en/product-highlight/b/beagleboard/beagleplay). Single Board Computers (SBCs) are like tiny computers that are less powerful than desktops but much better at booting quickly and interfacing with hardware. They also tend to run Linux or BSD because it's easier to get those OS's ported to new chipsets than convincing Apple or Microsoft! This new generation of SBC from BeagleBoard builds on their prior success with the BeagleBoard (https://www.digikey.com/short/1cmb3dtf) and BeagleBone (https://www.digikey.com/short/c52dpz47) by adding a ton more interfaces and connectors so many projects can be built with no soldering. Here's a bullet list to get us started: AM6254 SoC processor 16 GB eMMC storage 2 GB DDR4 memory Supports expansion with OLDI, 4-lane CSI, and QWIIC connectors CSI for compatibility with the BeagleBone AI-654, Raspberry Pi Zero W, and compute modules Full-size HDMI connector Small size: 8 cm x 8 cm USB Type-C® with 5 V @ 3 A input connector mikroBUS connector RJ45 Ethernet connector for Gigabit Ethernet Wi-Fi 2.4 GHz and 5 GHz capabilities BLE and SubG MicroSD slot USB Type-A connector at 480 Mbit Grove connector The main processor is the TI Sitara AM6254 (https://www.digikey.com/short/507rmwr2) with quad-core 64-bit A53 and a Cortex M4 coprocessor. This chip is paired with 2 GB of DDR4 RAM and 16 GB of eMMC storage for a powerful AI-ready chipset that has tons of onboard graphics support such as 1080P HDMI and 4 lanes of OLDI/LVDS. This chip has 9x UARTS, 5x SPIs, 6x I2C's, 3x PWM modules, 3x quad encoders, and 3x CAN-FD, and of course some GPIO. Note there's no ADC or DAC - you'd use SPI to connect those externally. Note this board doesn't have a 2x20 header like a Raspberry Pi, or even the dual header strips from the BeagleBone - but in exchange it stuffs a ton of hardware support directly onto the PCB. For example, if you'd like to add a camera, there's an onboard 22-pin 0.5mm pitch CSI FPC connector that is compatible with the Pi Zero camera cables (https://www.adafruit.com/product/5211) - use that adapter to interface with any low cost Pi Camera modules or compatibles. For video output, a vertical full-sized HDMI port will connect to any monitor or display. In fact we plugged in our desktop monitor and powered the Play with a USB wall adapter, and it immediately came up with an X desktop display. Mouse and keyboard can be added via the USB 2.0 socket, a mini hub will allow multiple devices since there's only one type A port. The BeaglePlay does a great job of including everything you may want to expand your Raspberry Pi with. For example, there's a BQ32002 Real Time Clock (https://www.digikey.com/short/p0h10jbq) with a CR1220 coin cell holder right on board - normally that would have to be included as a separate module. A microSD card slot can be used for storing large amounts of data: unlike most SBCs, there's onboard 16GB eMMC so you don't have to juggle SD cards to install the OS. There's also a ton of expansion ports! For I2C, the onboard QWICC (https://www.sparkfun.com/qwiic) JST SH connector lets you use the hundreds of SparkFun sensors as well as any Adafruit Stemma QT (https://learn.adafruit.com/introducing-adafruit-stemma-qt/what-is-stemma) devices. For UART/PWM/ADC/I2C/GPIO you can use the onboard Grove connector. Finally, for networking either to the Internet or to a sensor network, there's Gigabit Ethernet, WiFi 2.4G and 5G, BLE and Sub-G networking. Yeah that's a lot! It's almost all provided by the onboard TI SimpleLink CC1352P7 (https://www.ti.com/product/CC1352P7) which boasts support for 6LoWPAN, Amazon Sidewalk, Bluetooth 5.2 Low Energy, IEEE 802.15.4, MIOTY, Proprietary 2.4 GHz, Thread, Wi-SUN NWP, Wireless M-Bus (T, S, C, N mode), Zigbee. Note LoRa is not in there, so if you need LoRa that would be added with a separate module. There's also an RJ-11 with Single-Pair Ethernet (https://blog.adafruit.com/2020/08/27/eye-on-npi-harting-single-pair-ethernet-eyeonnpi-digikey-ethernet-digikey-harting-adafruit/) which makes this a good fit to connect to industrial robotics or automation. All this hardware is available at a great price of under $100 at Digi-Key, we already picked one up and we're going to try and get Blinka working on it (https://github.com/adafruit/Adafruit_Blinka) so that all of our CircuitPython libraries will 'just run' in CPython. Especially given the ready-to-run Stemma QT / Qwiic port on the side, this is an excellent board for a powerful but solder-free configurable SBC. Digi-Key has tons of BeaglePlay's stock for immediate shipment, so order today (https://www.digikey.com/short/jpztmq3w) and you will be playing with your new BeaglePlay by tomorrow afternoon.

Talk Python To Me - Python conversations for passionate developers
#412: PEP 711 - Distributing Python Binaries

Talk Python To Me - Python conversations for passionate developers

Play Episode Listen Later Apr 19, 2023 78:20


What if we distributed CPython, the runtime, in the same way we distributed Python packages - as prebuilt binary wheels that only need to be downloaded and unzipped to run? For starters, that would mean we could ship and deploy Python apps without worrying whether Python itself is available or up-to-date on the platform. Nathaniel Smith has just proposed a PEP to do just that, PEP 711. And we'll dive into that with him next. Links from the show Nathaniel: @njs@mastodon.social [announce] Pybi and Posy: discuss.python.org PEP 711: peps.python.org Py2App: readthedocs.io PyInstaller: pyinstaller.org py-spy: github.com Anthropic: anthropic.com Trio: github.com Trio on Talk Python: talkpython.fm Zip Documentary: The Dark History of Zip Files: youtube.com Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors Sentry Error Monitoring, Code TALKPYTHON Talk Python Training

Python Podcast
PyPy - Just in Time

Python Podcast

Play Episode Listen Later Jan 27, 2023 152:40


PyPy - Just in Time 27. Januar 2023, Jochen Warum ist der Python Interpreter eigentlich nicht selbst in Python geschrieben? Vor ziemlich genau zwanzig Jahren wurde ein Projekt gestartet, um das zu ändern. Eine gute Gelegenheit für Dominik und Jochen mit Carl Friedrich, einem der Core-Entwickler von PyPy zu sprechen.Wenn ihr Lust bekommen habt, einmal selbst an PyPy herum zu schrauben, könnt ihr die Entwickler hier kontaktieren oder euch einfach direkt bei Carl Friedrich melden

Talk Python To Me - Python conversations for passionate developers
#400: Ruff - The Fast, Rust-based Python Linter

Talk Python To Me - Python conversations for passionate developers

Play Episode Listen Later Jan 25, 2023 63:45


Our code quality tools (linters, test frameworks, and others) play an important role in keeping our code error free and conforming to the rules our teams have chosen. But when these tools become sluggish and slow down development, we often avoid running them or even turn them off. On this episode, we have Charlie Marsh here to introduce Ruff, a fast Python linter, written in Rust. To give you a sense of what he means with fast, common Python linters can take 30-60 seconds to lint the CPython codebase. Ruff takes 300 milliseconds. I ran it on the 20,000 lines of Python code for our courses web app at Talk Python Training, and it was instantaneous. It's the kind of tool that can change how you work. I hope you're excited to learn more about it. Links from the show Charlie on Twitter: @charliermarsh Charlie on Mastodon: @charliermarsh@hachyderm Ruff: github.com PyCharm Developer Advocate Job: jetbrains.com/careers Watch this episode on YouTube: youtube.com --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors Cox Automotive User Interviews Talk Python Training

Python Bytes
#318 GIL, How We Will Miss You

Python Bytes

Play Episode Listen Later Jan 10, 2023 39:38


Watch on YouTube About the show Sponsored by Microsoft for Startups Founders Hub. Connect with us Michael: @mkennedy@fosstodon.org Brian: @brianokken@fosstodon.org Show: @pythonbytes@fosstodon.org Join us on YouTube at pythonbytes.fm/stream/live to be part of the audience. Usually Tuesdays at 11am PT. Older video versions available there too. Brian #1: PEP 703 - Making the GIL Optional in CPython Author: Sam Gross Sponsor: Łukasz Langa Draft status, but on Standards Track, targeting Python 3.12 Suggested by: Will Shanks “The GIL is a major obstacle to concurrency.” Especially for scientific computing. PEP 703 proposes adding a --without-gil build configuration to CPython to let it run code without the global interpreter lock and with the necessary changes needed to make the interpreter thread-safe. PEP includes several issues with GIL and sckikit-learn, PyTorch, Numpy, Pillow, and other numerically intensive libraries. Python's GIL makes it difficult to use modern multi-core CPUs efficiently for many scientific and numeric computing applications. There's also a section on how the GIL makes many types of parallelism difficult to express. Changes primarily in internals, and not much exposed to public Python and C APIs: Reference counting Memory management Container thread-safety Locking and atomic APIs Includes information on all of these challenges. Distribution C-API extension authors will need access to a --without-gil Python to modify their projects and supply --without-gil versions. Sam is proposing “To mitigate this, the author will work with Anaconda to distribute a --without-gil version of Python together with compatible packages from conda channels. This centralizes the challenges of building extensions, and the author believes this will enable more people to use Python without the GIL sooner than they would otherwise be able to.” Michael #2: FerretDB Via Jon Bultmeyer A truly Open Source MongoDB alternative MongoDB abandoned its Open-Source roots, changing the license to SSPL making it unusable for many Open Source and Commercial Projects. The core of our solution is a stateless proxy, which converts MongoDB protocol queries to SQL, and uses PostgreSQL as a database engine. FerretDB will be compatible with MongoDB drivers and will strive to serve as a drop-in replacement for MongoDB 6.0+. First release back in Nov 2022 I still love you MongoDB ;) Brian #3: Four tips for structuring your research group's Python packages David Aaron Nicholson Not PyPI packages, but, you know, directories with __init__.py in them. Corrections for mistakes I see frequently Give your packages and modules terse, single-word names whenever possible. Import modules internally, instead of importing everything from modules. Make use of sub-packages. Prefer modules with very specific names containing single functions over modules with very general names like utils, helpers, or support that contain many functions. Michael #4: Quibbler Quibbler is a toolset for building highly interactive, yet reproducible, transparent and efficient data analysis pipelines. One import statement and matplotlib becomes interactive. Check out the video on the repo page. Extras Brian: And now for something completely different: turtles talk Michael: More RSS recommendations FreshRSS a self-hosted RSS and Atom feed aggregator. Feedly (for AI) Flym for Android Readwise is very interesting RSS for courses at Talk Python New article: Dev on the Road Joke: Testing the program Joke: Every Cloud Architecture

Python Podcast
Python 3.11 und Listen

Python Podcast

Play Episode Listen Later Nov 14, 2022 141:11


Python 3.11 und Listen 15. November 2022, Jochen Johannes, Dominik und Jochen unterhalten sich über Python 3.11. Hauptthema hätte eigentlich Listen als Datenstruktur sein sollen, aber zu Python 3.11 gab es dann doch etwas mehr zu sagen, daher war das dann nicht so ausführlich wie geplant. Überhaupt hatten wir diesmal recht viele Abschweifungen und Nebenthemen drin. Aber gut, mit den Kapitelmarken sollte man die auch skippen können. Vielleicht dauert es ja auch nicht mehr so lang bis zur nächsten Episode

The Real Python Podcast
Using an Ellipsis in Python & Goals for CPython 3.12

The Real Python Podcast

Play Episode Listen Later Oct 14, 2022 56:44


Where should you use an ellipsis in Python? How does it behave as a placeholder in a script, project, or stub file? What are the next goals for the Faster CPython project? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder's Weekly articles and projects.

Python Bytes
#294 Specializing Adaptive Interpreters in Full Color

Python Bytes

Play Episode Listen Later Jul 26, 2022 35:26


Watch the live stream: Watch on YouTube About the show Sponsored by Microsoft for Startups Founders Hub. Michael #1: Specialist: Python 3.11 perf highlighter via Alex Waygood Visualize CPython 3.11's specializing, adaptive interpreter.

Test & Code - Python Testing & Development
190: Testing PyPy - Carl Friedrich Bolz-Tereick

Test & Code - Python Testing & Development

Play Episode Listen Later Jun 21, 2022 51:17


PyPy is a fast, compliant alternative implementation of Python. cPython is implemented in C. PyPy is implemented in Python. What does that mean? And how do you test something as huge as an alternative implementation of Python? Special Guest: Carl Friedrich Bolz-Tereick.

Python Bytes
#282 Don't Embarrass Me in Front of The Wizards

Python Bytes

Play Episode Listen Later May 3, 2022 28:32


Watch the live stream: Watch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python Training Test & Code Podcast Patreon Supporters Brian #1: pyscript Python in the browser, from Anaconda. repo here Announced at PyConUS “During a keynote speech at PyCon US 2022, Anaconda's CEO Peter Wang unveiled quite a surprising project — PyScript. It is a JavaScript framework that allows users to create Python applications in the browser using a mix of Python and standard HTML. The project's ultimate goal is to allow a much wider audience (for example, front-end developers) to benefit from the power of Python and its various libraries (statistical, ML/DL, etc.).” from a nice article on it, PyScript — unleash the power of Python in your browser PyScript is built on Pyodide, which is a port of CPython based on WebAssembly. Demos are cool. Note included in README: “This is an extremely experimental project, so expect things to break!” Michael #2: Memray from Bloomberg Memray is a memory profiler for Python. It can track memory allocations in Python code native extension modules the Python interpreter itself Works both via CLI and focused app calls Memray can help with the following problems: Analyze allocations in applications to help discover the cause of high memory usage. Find memory leaks. Find hotspots in code which cause a lot of allocations. Notable features:

PyTorch Developer Podcast
Python exceptions

PyTorch Developer Podcast

Play Episode Listen Later Apr 17, 2022 14:47


C++ has exceptions, Python has exceptions. But they're not the same thing! How do exceptions work in CPython, how do we translate exceptions from C++ to Python (hint: it's different for direct bindings versus pybind11), and what do warnings (which we also translate from C++ to Python) have in common with this infrastructure?

Python Bytes
#274 12 Questions You Should Be Asking of Your Dependencies

Python Bytes

Play Episode Listen Later Mar 9, 2022 39:54


Watch the live stream: Watch on YouTube About the show Sponsored by Microsoft for Startups Founders Hub. Special guest: Anne Barela Brian #1: The Adam Test : 12 Questions for New Dependencies Found through a discussion with Ryan Cheley, who will be on an upcoming episode of Test & Code, talking about Managing Software Teams. The Joel Test dates back to 2000, and some of it is a bit dated. I should probably do a Test & Code episode or pythontest article on my opinions of this at some point. Nice shameless plugs, don't you think? The Joel Test is 12 questions and is a “highly irresponsible, sloppy test to rate the quality of a software team.” “The Adam Test” is 12 questions “to decide whether a new package we're considering depending on is well-maintained.” He's calling it “The Well-Maintained Test”, but I like “The Adam Test” Here's the test: Is it described as “production ready”? Is there sufficient documentation? Is there a changelog? Is someone responding to bug reports? Are there sufficient tests? Are the tests running with the latest language version? like Python 3.10, of course Are the tests running with the latest integration version? Examples include Django, PostgreSQL, etc. Is there a Continuous Integration (CI) configuration? Is the CI passing? Does it seem relatively well used? Has there been a commit in the last year? Has there been a release in the last year? Article has a short discussion of each. What score is good? That's up to you to decide. But these questions are good to think about for your dependencies. I also think I'll use these questions for my own projects. I've got a README.md, but do I need more examples in it? Should I have RTD docs for it? Have I updated the test matrix to include the newest versions of Python, etc? Have I hooked up CI? Michael #2: Validate emails with email-validator When you think about validating emails, you probably think regex (or just nothing) Regex is fine but so is this email: jane_doe@domain_that_doesnt_exist.com Problem is (at the time of the recording), domain_that_doesnt_exist.com is not a website. What about unicode variations that are technically the same but visually different? If the passed email address is valid, the validate_email() method will return an object containing a normalized form of the passed email address. Anne #3: The Python on Microcontrollers Newsletter One of my main focuses at Adafruit since the pandemic started is as editor of the Python on Microcontrollers Newsletter. With a weekly distribution of almost 9,400 subscribers, it's the largest newsletter of it's kind. It mainly focuses on CircuitPython and MicroPython and also discusses Python on single board computers (SBC) like Raspberry Pi. News about Python with a small computer emphasis Folks may subscribe by going to https://www.adafruitdaily.com/ which is separate from adafruit.com. The information is not sold or used for marketing and it's easy to unsubscribe (no “do you really want to do this, please reconsider…) The challenge, like for Python Bytes and other publications, is to find content. I scour the internet, with a bit of a focus on Twitter as I have an active account there. We encourage others to put in issues and Pull Requests on the newsletter GitHub, email information to cpnews@adafruit.com and using hashtag CircuitPython or MicroPython on Twitter. Brian #4: Git Organized: A Better Git Flow Annie Sexton Found through Changelog episode 480: Get your reset on A possible and common git workflow Branch off of a main branch to a personal dev branch Commit and Push during development to save your work When ready to merge, make a PR Problems Commits are hard to follow and messy, not ever really intended to separate parts of the workflow or anything. Commits are therefore useless in helping someone code review large changes. Annie's workflow Branch off of a main branch to a personal dev branch Commit and Push during development to save your work. But don't worry to much about commit messages, “WIP” is sufficient. Or a note to yourself. When ready to merge git reset origin/main Re-commit all changes in a logical order that makes more sense than the way the work actually happened. These will be several commits, with descriptive messages. Even partial commits, if there are unrelated changes in a file, work with this process Push all the new commits. (Is --force going to be necessary?) Create a PR. Now there are a set of commits that are actually helpful to break up large PRs into small chunks that tell a story. I'm looking to try this soon to see how it goes Michael #5: CPython issues moving to GitHub soon Update by The Python Developer in Residence, Łukasz Langa The Steering Council is working on migrating the data that is currently residing in Roundup at https://bugs.python.org/ (BPO) into the GitHub issues of the CPython repository hosted there. Laid out in PEP 581 -- Using GitHub Issues for CPython The ultimate goal is to move user- and core developer-provided issue-reporting entirely to Github. Each issue that currently exists on BPO will include metadata indicating where it was moved on Github. New issues will only exist on Github. Feedback, please: At the current stage, we're asking you to take a look at the links and important dates below, and share any feedback you might have. Timeline: Friday, March 11th 2022: Github starts transfer of the issues in the temporary repository to github.com/python/cpython/ . The migration is estimated to take anywhere from 3 to 7 days, depending on the load on Github.com. Anne #6: MicroPython, CircuitPython and GitHub What are Microcontrollers and Single Board Computers (SBCs)? Why not use CPython on Microcontrollers? MicroPython was originally created by the Australian programmer and theoretical physicist Damien George, after a successful Kickstarter backed campaign in 2013. Originally it only ran on a number of boards and was based on Python 3.4. CircuitPython was forked from MicroPython in 2017 by Adafruit Industries. Both MicroPython and CircuitPython are Open Source under MIT Licenses so adoption and modification by anyone is easy. Why fork CircuitPython? 1) Make a requirement that CircuitPython boards can enumerate to computers as a USB thumb drive to add or change code files with any text editor. 2) Aim to make CircuitPython use CPython library syntax whenever possible. 3) Make it easy to use and understand for beginners yet powerful for more advanced users. All CircuitPython code is on GitHub. GitHub Actions is used on repos like the Adafruit Learning System code to automate CI with Pylint, Black, and ensuring code has proper SPDX author and license tags, which is a new addition this year. Currently there are 283 microcontroller boards compatible with CircuitPython and 87 single board computers can use CircuitPython libraries in CPython via the Adafruit Blinka abstraction layer. Code portability between boards requires little if any changes. There are 346 CircuitPython libraries (all on PyPI / pip as well as GitHub) covering a wide range of hardware and real world needs. From blinking LEDs to using ulab (microlab), a subset of numpy, for data crunching. I just counted and there are exactly 1,000 Adafruit Learning System guides referencing CircuitPython, all free and open source/MIT licensed. https://learn.adafruit.com/ Extras Brian: Quick read: The Thirty Minute Rule, by Daniel Roy Greenfield summary: Stuck on a software problem for 30 min? Ask for help. Michael: The CircuitPython Show by Paul Cutler Follow up from my Python 3 == Active Python 3? James wrote: In episode #273, you guys were discussing supporting "Python 3" to mean any currently supported version of Python rather than "Python 3.7+" or similar. That's a really bad idea. There are still tons of people using unsupported versions of Python, and they're not all invalid use cases. For example, I am one of the upstream maintainers for cloud-init, and I was only recently able to remove Python 3.5 in order to make 3.6 our minimum supported version (which will continue for the next year). The reason is that our main consumers are downstream distro packagers (ubuntu, red hat, fedora, etc), and it's not uncommon for software released into long-term supported OS releases to be supported for 5-10 years or more. If I fire up an Ubuntu Trusty container, which still receives extended support until 2024, I get Python 3.4. So even though 3.4 is unsupported by Python upstream, it is still absolutely in use and supported by OS manufacturers. Joke: A case of the Mondays

Adafruit Industries
Deep Dive w/Scott: More USB Host API

Adafruit Industries

Play Episode Listen Later Feb 25, 2022 131:32


Join Scott as he answers questions and further discusses the USB Host API for CircuitPython. Next week will be on Friday at 2pm Pacific and be the last stream with Scott as host for a while. Foamyguy will stream in the time slot starting in two weeks. Join the Discord at https://adafru.it/discord All notes for Deep Dives are available at https://github.com/adafruit/deep-dive-notes 0:00 Getting Started 6:15 Let's get the show on the road… 8:22 next week - last deep dive before taking leave / foamyguy 9:20 deep dive notes on github https://github.com/adafruit/deep-dive-notes/ 12:00 rock climbing shirt discussion 13:32 examples of interrupt usage in CircPy? 14:55 async io enabled in recent CP 16:50 let's talk usbhost 18:00 Desktop notes from last week 21:15 Last weeks Ben Eater USB videos very helpful 22:00 Usb Host vs. Peripheral and TinyUSB TUD vs TUH D)evice, H)ost 24:27 So how does collision detection work on a USB bus? Do the devices just not communicate until the host asks it for a data packet? 26:06 speed - see Jan Axelson's USB Complete book 29:00 Linux can do USB host / look at python for API ideas 30:00 PyUsb on github 33:06 "USB 3.0 suspends device polling, which is replaced by interrupt-driven protocol." 35:03 return to the Python USB api 35:40 SparkFun has a power delivery dev board. 36:00 pyOCD github ( uses pyUSB ) 36:30 pyDFU ( uses usb.core and usb.util ) 38:30 Chip Shortage is real :-( 38:56 Usb in a nutshell discussion https://www.beyondlogic.org/usbnutshell/usb4.shtml 41:10 blinka is also using pyusb (via pyftdi) 42:20 https://rpilocator.com/ and Octapart 43:50 endpoints vs. hubs 44:50 pyusb tutorial.rst on github 46:32 port.c shared-bindings / sublime merge diff 47:55 usb_host diffs PyUSB API compiles 51:05 circuitpy_defns.mk rules 52:58 __init__.c in shared-bindings/usb 53:35 Device.c 55:20 read size_or_buffer argument 56:04 shared bindings circuit python stub special processing “//|” prefix 57:25 added some type annotations and documentation near implementation 58:03 diff tools for mac users / sublime merge is supported on mac 59:48 https://www.git-tower.com/blog/diff-tools-mac/ 1:01:32 back to the api usb_core_device_read to common_hal_usb_core_device_read 1:05:16 ctrl_transfer - either direction 1:08:10 mention of doxygen - “doxygen is used on all of our Arduino documentation. Sphinx on all the CP.” 1:09:07 detach_kernel_driver 1:10:12 still in Devie. Locals dict table 1:11:50 just found an IBM presentation called Documentation in the modern age that has a slide titled "Cool kids do Sphinx" and another titled "Cool kids used to do Doxygen" 1:13:20 shared modules - stubs 1:16:05 CP Pre-commit auto formatting 1:18:20 shell window - load code imx1060 dev board 1:20:03 get CP running on the dev board 1:21:40 Makefile for imx, compare to tinyUSB 1:28:52 pyocd prompts - ( after inition make -j 32 ) 1:31:04 plug in another usb device - connect vi “tio” 1:32:25 import usb_host 1:32:50 dir(board) 1:34:35 nxp.com i.MX. RT1170 clocked at 1Ghz 1:36:31 i.MX RT Crossover MCUs 1:37:15 ​teensy 4.1 has a header for the second USB port 1:37:35 USB Host Cable 1:39:49 question about the new esp32 board 1:40:31 teensy 4.0 board has usb ports broken out on pads 1:41:16 i.MX RT1060 Evaluation Kit image of the “B” version (EVK vs EVKB) 1:42:25 regarding your keep host initialized on reboot: would the endpoints/pipes need to be re-initialized on reboot or would remain the state too? 1:43:30 Design resources / design files 1:44:25 download and look at sch-31358_a3 schematic / pinout 1:46:18 USB OTG2 1:46:28 pins.c USB_DP1, USB_DM1 (and DP2) pins 1:49:45 dm or dn? (pin names) 1:50:20 back to datasheet 1:51:05 Data Sheet ( also has 3522 page reference manuals ) 1:52:20 looking for the “pad” name - try to match the data sheet 1:53:00 ​EVKB adds an M.2 connector for radios and other headers for audio and other expansion 1:54:30 I guess my question on pyusb is can we write a driver for the IntelliKeys that sends that EZUSB firmware at startup and then reads/writes like the driver GDSports wrote for Arduino on the M0? 1:55:05 How do we add a custom device? 1:55:52 ATMakers USB Host Mode conversation (youtube ) 1:57:17 For the record, GDSports on GitHub did most of the USB Host work (I just got the original driver open sourced) There is a great teardown by @scanlime as well 1:58:30 OTG1_DN, DP name to match reference manual 1:59:11 what would happen if you connected a hub? 2:01:07 pin object on imx ( mcu_pin_obj_t ): 2:02:37 So, just to setup my weekend do you think if I get the IntelliKeys driver ported to CPython/pyusb I'll be on a useful path? 2:05:20 ​if the pins were not defined for device mode, why add them for host mode? 2:07:39 wrap up / next week with Scott, then foamyguy taking over 2:10:48 Pet the cat 2:11:34 have a good weekend everyone Visit the Adafruit shop online - http://www.adafruit.com

PyTorch Developer Podcast

torchdeploy is a way of running multiple Python interpreters inside the same process. It can be used to deploy Python PyTorch programs in situations where the GIL is a problem, not the CPython interpreter. How does it work, and what kind of challenges does it pose for people who want to write code that calls from C++ to Python?Further reading.How the torchdeploy build system works https://dev-discuss.pytorch.org/t/torch-deploy-the-build/238Description of the single interpreter per Tensor invariant https://github.com/pytorch/pytorch/issues/57756Recent work on making it possible to load C extensions into torchdeploy https://dev-discuss.pytorch.org/t/running-multiple-python-interpreters-via-custom-dynamic-loading/241

PyTorch Developer Podcast
PyObject preservation

PyTorch Developer Podcast

Play Episode Listen Later Jun 9, 2021 16:19


Given two separately refcounted objects, how can you arrange for each of them to stay live so long as the other is live? Why doesn't just having a strong-strong or strong-weak reference between the two objects work? What is object resurrection in CPython? What's a finalizer and why does it make things more complicated? How does Python GC work?Further reading.PyObject preservation PR https://github.com/pytorch/pytorch/pull/56017Sam Gross's original PoC, which works fine if the two objects in question are both PyObjects https://github.com/colesbury/refcount/PEP 442 Safe object finalization https://www.python.org/dev/peps/pep-0442/Essential reading about Python GC https://devguide.python.org/garbage_collector/

Network Automation Hangout
006 — gNMI, file formats (XML, JSON, YAML, TOML, protobuf), x2 faster CPython 3.11

Network Automation Hangout

Play Episode Listen Later May 31, 2021 50:36


Topics: - scrapligo has been published (https://github.com/scrapli/scrapligo) - gNMI - Differences between file formats: XML, JSON, YAML, TOML, protobuf - x2 faster CPython 3.11 (https://www.theregister.com/2021/05/13/guido_van_rossum_cpython_3_11/) Recorded live on 2021-05-27 Bi-weekly recordings with the community on Thursdays at 6 PM CET / 12 PM ET / 9 AM PT

捕蛇者说
Ep 09. 和 Python 核心开发者聊聊 CPython 的未来

捕蛇者说

Play Episode Listen Later Dec 16, 2019 78:55


本期主持: laike9m laixintao Manjusaka 嘉宾: Xiang Zhang,目前中国唯一一位 CPython 核心开发者 时间节点 00:01:26 Python 的性能 00:21:45 Python 的静态类型 00:33:17 Python 调试 01:07:14 推荐环节 链接 什么是 Python 核心开发者? Victor Stinner 鸟哥:写在 PHP 7 发布之际一些话 鸟哥 PEP 554 -- Multiple Interpreters in the Stdlib Python C API mypy PEP 484 -- Type Hints PEP 492 -- Coroutines with async and await syntax 海象操作符 f-strings support = for self-documenting expressions and debugging python speed Compact dict in Python 3.6+ Literal Type in Python 3.8+ Guppy tracemalloc pyrasite pmap Under the hood JVM: Safepoints sys._getframe gc.get_objects 3.10 or 4.0? Gradle Direction for ISO C++ Instagram 贡献的 gc.freeze() python-ptrace Linux From Scratch executing Commons Virtual File System eleme-huskar

捕蛇者说
Ep 03. 聊聊 Emacs,Python@爱奇艺,源码阅读

捕蛇者说

Play Episode Listen Later Jun 4, 2019 53:27


本期嘉宾 & 主持 张佳圆:Blog,Twitter@Tisoga,Bilibili@加元君 Manjusaka laike9m 本期提要 00:03:20 佳圆聊学习编程的经历 00:11:53 Emacs 好处都有啥 00:20:40 Python 在爱奇艺的应用 00:29:05 爱奇艺 code review 流程 00:32:36 踩过的有意思的坑 00:35:17 《Inside The Python Virtual Machine》这本书 00:40:57 如何阅读源代码 00:47:07 推荐环节 播客中提到的内容 SICP Emacs doom-emacs Spacemacs Org mode 文学编程 RFC 2324 - Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0) ipdb YAML Bazel - A fast, scalable, multi-language and extensible build system https://github.com/pallets/werkzeug/pull/1496 《Inside The Python Virtual Machine》 Yet another guided tour of CPython By Guido 基于 2.7.8 的 CPython internals 视频教程 “圣诞节”的梗 https://bugs.python.org/issue36792 One secret to becoming a great software engineer: read code Has the Python GIL been slain? Real Python: Python Tutorials Awesome Python - A curated list of awesome Python frameworks, libraries, software and resources teachyourselfcs tldr -

The Python Podcast.__init__
Exploring Python's Internals By Rewriting Them In Rust

The Python Podcast.__init__

Play Episode Listen Later Apr 15, 2019 40:28


The CPython interpreter has been the primary implementation of the Python runtime for over 20 years. In that time other options have been made available for different use cases. The most recent entry to that list is RustPython, written in the memory safe language Rust. One of the added benefits is the option to compile to WebAssembly, offering a browser-native Python runtime. In this episode core maintainers Windel Bouwman and Adam Kelly explain how the project got started, their experience working on it, and the plans for the future. Definitely worth a listen if you are curious about the inner workings of Python and how you can get involved in a relatively new project that is contributing to new options for running your code.

The Python Podcast.__init__
Trent Nelson on PyParallel

The Python Podcast.__init__

Play Episode Listen Later Oct 14, 2015 72:43


Trent Nelson is a software engineer working with Continuum Analytics and a core contributor to CPython. He started experimenting with a way to sidestep the restrictions of the Global Interpreter Lock without discarding its benefits and that has become the PyParallel project. We had the privilege of discussing the details around this innovative experiment with Trent and learning more about the challenges he has experienced, what motivated him to start the project, and what it can offer to the community.