Python Packaging, One Year Later: A Look Back at 2023 in Python Packaging

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • roadmap

    Public roadmap for the Poetry package manager (by python-poetry)

  • I wish Poetry were PEP-621 compliant though. [1]

    Currently, it uses a proprietary configuration group (or "tool section", as they seem to call it in `pyproject.toml` speech).

    [1]: https://github.com/python-poetry/roadmap/issues/3

  • Poetry

    Python packaging and dependency management made easy

  • Here are the two main packaging issues I run into, specifically when using Poetry:

    1) Lack of support for building extension modules (as mentioned by the article). There is a workaround using an undocumented feature [0], which I've tried, but ultimately decided it was not the right approach. I still use Poetry, but build the extension as a separate step in CI, rather than kludging it into Poetry.

    2) Lack of support for offline installs [1], e.g. being able to download the dependencies, copy them to another machine, and perform the install from the downloaded dependencies (similar to using "pip --no-index --find-links=."). Again, you can work around this (by using "poetry export --with-credentials" and "pip download" for fetching the dependencies, then firing up pypiserver [2] to run a local PyPI server on the offline machine), but ideally this would all be a first class feature of Poetry, similar to how it is in pip.

    I don't have the capacity to create Pull Requests for addressing these issues with Poetry, and I'm very grateful for the maintainers and those who do contribute. Instead, on the linked issues I share my notes on the matter, in the hope that it may at least help others and potentially get us closer to a solution.

    Regardless, I'm sticking with Poetry for now. Though to be fair, the only other Python packaging tools I've used extensively are Pipenv and pip/setuptools. It's time consuming to thoroughly try out these other packaging tools, and is generally lower priority than developing features/fixing bugs, so it's helpful to read about the author's experience with these other tools, such as PDM and Hatch.

    [0] https://github.com/python-poetry/poetry/issues/2740

    [1] https://github.com/python-poetry/poetry/issues/2184

    [2] https://pypi.org/project/pypiserver/

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • From Kotlin Scripting to Python

    1 project | dev.to | 7 Mar 2024
  • How do you resolve dependency conflicts?

    1 project | /r/learnpython | 10 Dec 2023
  • Is there a way to mangage a project locally, like npm does?

    1 project | /r/learnpython | 10 Dec 2023
  • Navigating the Release Journey of txtToWeb

    2 projects | dev.to | 27 Nov 2023
  • The Python Sofware Foundation Receives Wonderfully Welcoming Award from GitHub

    1 project | news.ycombinator.com | 15 Nov 2023