Tried to publish my python package again after 3 years, and there were a lot of changes around PyPI publishing environment. Some of those were:

  • The python package dependency itself now has other alternatives which easily distribute, manage, syncing other packages rather than using de-facto python tools.
  • Previously, python package distribution only has pip now we can use uv.
  • Not only that, back then, when we’re going to distribute our package, we usually set all of our package information in the file name setup.py but now, we can use pyproject.toml which is less code and has a better structure or convention to manage things around files/modules.
  • The py.typed also becomes major things to distribute a package with type annotations (static typing just like Typescript), so the users can easily use it without worrying about the type annotations.