potiuk commented on code in PR #31882: URL: https://github.com/apache/airflow/pull/31882#discussion_r1228819098
########## docs/apache-airflow/installation/installing-from-pypi.rst: ########## @@ -53,20 +53,28 @@ This is an example, see further for more explanation. Constraints files ''''''''''''''''' -Airflow installation can be tricky sometimes because Airflow is both a library and an application. +Why do we need constraints +========================== + +Airflow installation can be tricky because Airflow is both a library and an application. + Libraries usually keep their dependencies open and applications usually pin them, but we should do neither and both at the same time. We decided to keep our dependencies as open as possible (in ``setup.cfg`` and ``setup.py``) so users can install different version of libraries if needed. This means that from time to time plain ``pip install apache-airflow`` will not work or will produce an unusable Airflow installation. -In order to have a repeatable installation (and only for that reason), we also keep a set of "known-to-be-working" constraint files in the +Reproducible Airflow installation +================================= + +In order to have a reproducible installation, we also keep a set of constraint files in the ``constraints-main``, ``constraints-2-0``, ``constraints-2-1`` etc. orphan branches and then we create a tag -for each released version e.g. :subst-code:`constraints-|version|`. This way, we keep a tested and working set of dependencies. +for each released version e.g. :subst-code:`constraints-|version|`. -Those "known-to-be-working" constraints are per major/minor Python version. You can use them as constraint -files when installing Airflow from PyPI. Note that you have to specify the correct Airflow -and Python versions in the URL. +This way, we keep a tested set of dependencies at the moment of release. This provides you with the ability +of having the exact same installation of airflow + providers + dependencies as was known to be working +at the moment of release - "golden" set of dependencies for that version of Airflow. There is a separate Review Comment: Good idea. I think this could be why people are "clinging" to it. I changed it to "frozen" to get it a bit "chilled". -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
