by Alex Becker

Announcing the PyDist CLI

One of the selling points of PyDist is that it works with standard Python tools—you don't have to install anything to use it. This is great for keeping containerized deployments and CI infrastructure lean and fast. But sometimes you just want to do as little configuration as possible and not have to keep track of the different Python tools and their quirks. That's why I've created the PyDist CLI, which combines the functionality of pip and twine while minimizing the amount of configuration you need to do and smoothing out their rough edges.

All you need to do to publish to and install from PyDist is install the CLI with pip install pydist-cli and provide your API key when you first run it. You can then publish packages to PyDist with pydist publish and install packages from PyDist with pydist install. You can also use it with PyPI using the --public flag.

The PyDist CLI is much more opinionated than the standard Python tooling. The install command uses PyDist by default but has an automatic fallback to PyPI, making it more reliable than pip install. The publish command handles building distributions (both binary and source), checking the README and metadata formatting, uploading, and cleaning up. This is appropriate for most packages—and avoids several pitfalls associated with twine, such picking up artifacts in the build/ directory from prior releases.