1. 2023
    Jan
    31

    Automated pushes to PyPI

    For the last year and a half, I’ve been (co-)maintaining a handy little Python project called pytest-localserver.

    Naturally, I completely neglected to mention this on the blog. (Surprise!)

    Anyway… I just released a new version which has a nifty feature that I’ve been looking forward to for a while: the ability to build packages and upload them to PyPI as part of our automated build and test pipeline. That means we can release a new version by clicking buttons in GitHub’s web UI rather than manually running twine and other commands.

    Normally I’m all for running things on the command line rather than clicking buttons, but when you’re maintaining a piece of software, repeatability and consistency are key. You don’t want some quirk of your local environment corrupting a build or sneaking some sensitive information into the package that’s going to be distributed to thousands (or let’s be honest, dozens) of people. During my time at SoundHound I developed a bunch of internal Python packages, some of which were shared outside the company, and leaking confidential info was always something to be very careful about.

    Plus, with months between releases, a …