#144 Are you mocking me? It won't work!
Published August 23, 2019
|
25 min
    Download
    Add to queue
    Copy URL
    Show notes

    Sponsored by DigitalOcean: pythonbytes.fm/digitalocean

    Chris #1: Why your mock doesn’t work

    • Ned Batchelder
    • TDD is an important practice for development, and as my team is finding out, mocking objects is not as easy at it seems at first.
    • I love that Ned gives an overview of how Mock works
    • But also gives two resources to show you alternatives to Mock, when you really don’t need it.
    • From reading these articles and video, I’ve learned that it’s hard to make mocks but it’s important to:
      • Create only one mock for each object you’re mocking
      • that mocks only what you need
      • have tests that run the mock against your code and your mock against the third party

    Mahmoud #2: Vermin

    • By Morten Kristensen
    • Rules-based Python version compatibility detector
    • caniuse is cool, but it’s based on classifiers. When it comes to your own code, it’ll only tell you what you tell it.
    • If you’ve got legacy libraries, or like most companies, an application, then you’ll need something more powerful.
    • Vermin tells you the minimum compatible Python version, all the way down to the module and even function level.

    Brian #3: The nonlocal statement in Python

    • Abhilash Raj
    • When global is too big of a hammer.
    • This doesn’t work:
        def function():
            x = 100
            def incr(y):
                x = x + y
            incr(100)
    
    • This does:
        def function():
            x = 100
            def incr(y):
                nonlocal x
                x = x + y
            incr(100)
            print(x)
    

    Chris #4: twitter.com/brettsky/status/1163860672762933249

    • Brett Cannon
    • Microsoft Azure improves python support
      • 2 key points about the new Python support in Azure Functions:
        • it's debuting w/ 3.6, but 3.7 support is actively being worked on and 3.8 support won't take nearly as long, and
        • native async/await support!

    Mahmoud #5: Awesome Python Applications update

    Brian #6: pre-commit now has a quick start guide

    • Wanna use pre-commit but don’t know how to start? Here ya go!
    • Runs through
      • install
      • configuration
      • installing hooks
      • running hooks against your project
    • I’d like to add
      • Add hooks to your project one at a time
      • For each new hook
        • add to pre-commit-config.yml
        • run pre-commit install to install hook
        • run pre-commit run --``all-files
        • review changes made to your project
          • if good, commit
          • if bad
          • revert
          • modify config of tools, such as pyproject.toml for black, .flake8 for flake8, etc.
          • try again

    Extras

    Chris:

    Mahmoud:

    • PyGotham 2019 October (Maintainers Conf in Washington DC, too)
    • Real Python Pandas course

    Brian:

    Jokes

    • I was looking for some programming one liners online; looked on a reddit thread; read a great answer; which was “any joke can be a one-liner with enough semicolons.”
    • A SQL statement walks into to a bar and up to two tables and asks, “Mind if I join you?”
      15
      15
        0:00:00 / 0:00:00