Latest episode: Redwood brings full-stack to the JAMstack
Tom Preston-Werner (co-founder of GitHub, board member at Netlify) joins the party and brings his new, opinionated, full-stack, serverless web app framework with him. Will Redwood help usher in the future Tom predicted back in 2018? We discuss that and a whole lot more on this must-listen episode.
Python Bytes is a weekly podcast hosted by Michael Kennedy and Brian Okken. The show is a short discussion on the headlines and noteworthy news in the Python, developer, and data science space.
Latest episode: #173 Your test deserves a fluent flavor
Sponsored by Datadog: pythonbytes.fm/datadog Brian #1: Advanced usage of Python requests - timeouts, retries, hooks Dani Hodovic, @DaniHodovic “While it's easy to immediately be productive with requests because of the simple API, the library also offers extensibility for advanced use cases. If you're writing an API-heavy client or a web scraper you'll probably need tolerance for network failures, helpful debugging traces and syntactic sugar.” Lots of cool tricks I didn’t know you could do with requests. Using hooks to call raise_for_status() on every call. Using sessions and setting base URLs Setting default timeouts with transport adapters Retry on failure, with gobs of configuration options. Combining timeouts and retries Debugging http requests by printing out headers or printing everything. Testing and mocking requests Mimicking browser behaviors by overriding the User-Agent header request Michael #2: Fluent Assertions Via Dean Agan fluentcheck helps you reducing the lines of code providing a human-friendly and fluent way to make assertions. Example (for now): def my_function(n, obj): assert n is not None assert instanceof(n, float) assert 0. < n < 1 assert obj is not None assert isinstance(obj, MyCustomType) can be def my_function(n, obj): Check(n).is_not_None().is_float().is_between(0., 1.) Check(obj).is_not_None().is_subtype_of(MyCustomType) With a PR I’m working on (now accepted), it’ll support: def my_function(n, obj): Is(n).not_none.float.between(0., 1.) Is(obj).not_none.subtype_of(MyCustomType) Brian #3: Python in GitHub Actions Hynek Schlawack, @hynek “for an open source Python package, … my current recommendation for most people is to switch to GitHub Actions for its simplicity and better integration.” vs Azure Pipelines. Article describes how to get started and some basic configuration for: Running tests through tox, including coverage, for multiple Python versions. Including yml config and tox.ini changes necessary. Nice reminder to clean out old configurations for other CIs. Combining coverage reports and pushing code coverage info to Codecov Building the package. Running twine check to check the long description. Checking the install on Linux, Windows, and Mac Related: How to write good quality Python code with GitHub Actions Michael #4: VCR.py via Tim Head VCR.py simplifies and speeds up tests that make HTTP requests. The first time you run code that is inside a VCR.py context manager or decorated function, VCR.py records all HTTP interactions that take place through the libraries it supports and serializes and writes them to a flat file (in yaml format by default). Intercept any HTTP requests that it recognizes from the original test run and return the responses that corresponded to those requests. This means that the requests will not actually result in HTTP traffic, which confers several benefits including: The ability to work offline Completely deterministic tests Increased test execution speed If the server you are testing against ever changes its API, all you need to do is delete your existing cassette files, and run your tests again. Test and Code 102 pytest-vcr: pytest plugin for managing VCR.py cassettes @pytest.mark.vcr() def test_iana(): response = urlopen('http://iana.org/domains/reserved').read() assert b'Example domains' in response Brian #5: 8 Coolest Python Programming Language Features Jeremy Grifski, @RenegadeCoder94 Nice reminder of why I love Python and things I miss when I use other languages. The list list comprehensions generator expressions slice assignment iterable unpacking negative indexing dictionary comprehensions chaining comparisons f-strings Michael #6: Bento Find Python web-app bugs delightfully fast, without changing your workflow Find bugs that matter: Checks find security and reliability bugs in your code. They’re vetted across thousands of open source projects and never nit your style. Upgrade your tooling: You don’t have to fix existing bugs to adopt Bento. It’s diff-centric, finding new bugs introduced by your changes. And there’s zero config. Go delightfully fast: Run Bento automatically locally or in CI. Either way, it runs offline and never sends your code anywhere. Checks: https://bento.dev/checks/ Joke: https://trello-attachments.s3.amazonaws.com/58e3f7c543422d7f3ad84f33/5e5ff5b454e93258e907753b/ecd7567c50cc0d073820bf961f489365/debugging.jpg
Talk Python To Me
Talk Python to Me is a weekly podcast hosted by Michael Kennedy. The show covers a wide array of Python topics as well as many related topics. Our goal is to bring you the human story behind the Python packages and frameworks you know and love.
Latest episode: #256 Click to run your notebook with Binder
Have you come across a GitHub repo with a Jupyter notebook that has a "Run in Binder" button? It seems magical. How does it know what dependencies and external libraries you might need? Where does it run anyway?
The Changelog - conversations about open source & software development
Conversations with the hackers, leaders, and innovators of software development. Hosts Adam Stacoviak and Jerod Santo face their imposter syndrome so you don’t have to. Expect in-depth interviews with the best and brightest in software engineering, open source, and leadership. This is a polyglot podcast. All programming languages, platforms, and communities are welcome. Open source moves fast. Keep up.
Latest episode: Engineer to manager and back again
Lauren Tan joined us to talk about her blog post titled “Does it spark joy?” In this post Lauren shared the news of her resignation as an engineering manager at Netflix to return to being a software engineer. We examine the career trajectory of a software engineer and the seemingly inevitable draw to management for continued career growth. The idea of understanding “What are you optimizing for?” and whether or not what you’re doing truly brings you joy.
The WIRED Podcast
The award-winning WIRED UK Podcast with James Temperton and the rest of the team. Listen every week for the an informed and entertaining rundown of latest technology, science, business and culture news. New episodes every Friday.
Latest episode: How to cope with social distancing
How to cope with working from home, the behavioural science behind handling a pandemic and an opportunity to witness our rapid descent into news overload madness
Troy Hunt's Weekly Update Podcast
This is the audio podcast version of Troy Hunt's weekly update video published here: https://www.troyhunt.com/tag/weekly-update/
Latest episode: Weekly Update 183
What Self-Isolation Looks Like Here; We’re Bringing “Hack Yourself First” Online; And Cyber-Broken; Disclosure Still Sucks; Chronicle Sponsoring https://www.troyhunt.com/weekly-update-183/