Artwork

Inhalt bereitgestellt von Michael Kennedy and Brian Okken. Alle Podcast-Inhalte, einschließlich Episoden, Grafiken und Podcast-Beschreibungen, werden direkt von Michael Kennedy and Brian Okken oder seinem Podcast-Plattformpartner hochgeladen und bereitgestellt. Wenn Sie glauben, dass jemand Ihr urheberrechtlich geschütztes Werk ohne Ihre Erlaubnis nutzt, können Sie dem hier beschriebenen Verfahren folgen https://de.player.fm/legal.
Player FM - Podcast-App
Gehen Sie mit der App Player FM offline!

#378 Python is on the edge

31:24
 
Teilen
 

Manage episode 411630371 series 1305988
Inhalt bereitgestellt von Michael Kennedy and Brian Okken. Alle Podcast-Inhalte, einschließlich Episoden, Grafiken und Podcast-Beschreibungen, werden direkt von Michael Kennedy and Brian Okken oder seinem Podcast-Plattformpartner hochgeladen und bereitgestellt. Wenn Sie glauben, dass jemand Ihr urheberrechtlich geschütztes Werk ohne Ihre Erlaubnis nutzt, können Sie dem hier beschriebenen Verfahren folgen https://de.player.fm/legal.
Topics covered in this episode:
Watch on YouTube
About the show

Sponsored by us! Support our work through:

Connect with the hosts

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.

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: pacemaker - For controlling time per iteration loop in Python.

  • Brandon Rohrer
  • Good example of a small bit of code made into a small package.
  • With speedups to dependencies, like with uv, for example, I think we’ll see more small projects.
  • Cool stuff
    • Great README, including quirks that need to be understood by users.
      • “If the pacemaker experiences a delay, it will allow faster iterations to try to catch up. Heads up: because of this, any individual iteration might end up being much shorter than suggested by the pacemaker's target rate.”
    • Nice use of time.monotonic()
      • deltas are guaranteed to never go back in time regardless of what adjustments are made to the system clock.
  • Watch out for
    • pip install pacemaker-lite
      • NOT pacemaker
      • pacemaker is taken by a package named PaceMaker with a repo named pace-maker, that hasn’t been updated in 3 years. Not sure if it’s alive.
    • No tests (yet). I’m sure they’re coming. ;)
      • Seriously though, Brandon says this is “a glorified snippet”. And I love the use of packaging to encapsulate shared code. Realistically, small snippet like packages have functionality that’s probably going to be tested by end user code.
      • And even if there are tests, users should test the functionality they are depending on.

Michael #2: PyPI suspends new user registration to block malware campaign

Brian #3: Python Project-Local Virtualenv Management Redux

  • Hynek
  • Concise writeup of how Hynek uses various tools for dealing with environments
  • Covers (paren notes are from Brian)
    • In project .venv directories
    • direnv for handling .envrc files per project (time for me to try this again)
    • uv for pip and pip-compile functionality
    • Installing Python via python.org
    • Using a .python-version-default file (I’ll need to play with this a bit)
      • Works with GH Action setup-python. (ok. that’s cool)
    • Some fish shell scripting
    • Bonus tip on using requires-python in .pyproject.toml and extracting it in GH actions to be able to get the python exe name, and then be able to pass it to Docker and reference it in a Dockerfile. (very cool)

Michael #4: Python Edge Workers at Cloudflare

  • What are edge workers?
  • Based on workers using Pyodide and WebAssembly
  • This new support for Python is different from how Workers have historically supported languages beyond JavaScript — in this case, we have directly integrated a Python implementation into workerd, the open-source Workers runtime.
  • Python Workers can import a subset of popular Python packages including FastAPI, Langchain, numpy
  • Check out the examples repo.

Extras

Michael:

Joke:

  continue reading

386 Episoden

Artwork

#378 Python is on the edge

Python Bytes

1,807 subscribers

published

iconTeilen
 
Manage episode 411630371 series 1305988
Inhalt bereitgestellt von Michael Kennedy and Brian Okken. Alle Podcast-Inhalte, einschließlich Episoden, Grafiken und Podcast-Beschreibungen, werden direkt von Michael Kennedy and Brian Okken oder seinem Podcast-Plattformpartner hochgeladen und bereitgestellt. Wenn Sie glauben, dass jemand Ihr urheberrechtlich geschütztes Werk ohne Ihre Erlaubnis nutzt, können Sie dem hier beschriebenen Verfahren folgen https://de.player.fm/legal.
Topics covered in this episode:
Watch on YouTube
About the show

Sponsored by us! Support our work through:

Connect with the hosts

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.

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: pacemaker - For controlling time per iteration loop in Python.

  • Brandon Rohrer
  • Good example of a small bit of code made into a small package.
  • With speedups to dependencies, like with uv, for example, I think we’ll see more small projects.
  • Cool stuff
    • Great README, including quirks that need to be understood by users.
      • “If the pacemaker experiences a delay, it will allow faster iterations to try to catch up. Heads up: because of this, any individual iteration might end up being much shorter than suggested by the pacemaker's target rate.”
    • Nice use of time.monotonic()
      • deltas are guaranteed to never go back in time regardless of what adjustments are made to the system clock.
  • Watch out for
    • pip install pacemaker-lite
      • NOT pacemaker
      • pacemaker is taken by a package named PaceMaker with a repo named pace-maker, that hasn’t been updated in 3 years. Not sure if it’s alive.
    • No tests (yet). I’m sure they’re coming. ;)
      • Seriously though, Brandon says this is “a glorified snippet”. And I love the use of packaging to encapsulate shared code. Realistically, small snippet like packages have functionality that’s probably going to be tested by end user code.
      • And even if there are tests, users should test the functionality they are depending on.

Michael #2: PyPI suspends new user registration to block malware campaign

Brian #3: Python Project-Local Virtualenv Management Redux

  • Hynek
  • Concise writeup of how Hynek uses various tools for dealing with environments
  • Covers (paren notes are from Brian)
    • In project .venv directories
    • direnv for handling .envrc files per project (time for me to try this again)
    • uv for pip and pip-compile functionality
    • Installing Python via python.org
    • Using a .python-version-default file (I’ll need to play with this a bit)
      • Works with GH Action setup-python. (ok. that’s cool)
    • Some fish shell scripting
    • Bonus tip on using requires-python in .pyproject.toml and extracting it in GH actions to be able to get the python exe name, and then be able to pass it to Docker and reference it in a Dockerfile. (very cool)

Michael #4: Python Edge Workers at Cloudflare

  • What are edge workers?
  • Based on workers using Pyodide and WebAssembly
  • This new support for Python is different from how Workers have historically supported languages beyond JavaScript — in this case, we have directly integrated a Python implementation into workerd, the open-source Workers runtime.
  • Python Workers can import a subset of popular Python packages including FastAPI, Langchain, numpy
  • Check out the examples repo.

Extras

Michael:

Joke:

  continue reading

386 Episoden

Alle Folgen

×
 
Loading …

Willkommen auf Player FM!

Player FM scannt gerade das Web nach Podcasts mit hoher Qualität, die du genießen kannst. Es ist die beste Podcast-App und funktioniert auf Android, iPhone und im Web. Melde dich an, um Abos geräteübergreifend zu synchronisieren.

 

Kurzanleitung