Lee-W commented on code in PR #43628:
URL: https://github.com/apache/airflow/pull/43628#discussion_r1827720710


##########
dev/breeze/README.md:
##########
@@ -62,6 +63,75 @@ available when the package was installed. Since this file 
becomes part of the in
 to detect automatically if any of the files have changed. If they did, the 
user will be warned to upgrade
 their installations.
 
+Setting up development env for Breeze
+-------------------------------------
+
+> [!NOTE]
+> This section is for developers of Breeze. If you are a user of Breeze, you 
do not need to read this section.
+
+Breeze is actively developed by Airflow maintainers and contributors, Airflow 
is an active project
+and we are in the process of developing Airflow 3, so breeze requires a lot of 
adjustments to keep up
+the dev environment in sync with Airflow 3 development - this is also why it 
is part of the same
+repository as Airflow - because it needs to be closely synchronized with 
Airflow development.
+
+As of November 2024 Airflow switches to using `uv` as the main development 
environment for Airflow
+and for Breeze. So the instructions below are for setting up the development 
environment for Breeze
+using `uv`. However we are using only standard python packaging tools, so you 
can still use `pip` or
+`pipenv` or other build frontends to install Breeze, but we recommend using 
`uv` as it is the most
+convenient way to install, manage python packages and virtual environments.
+
+Unlike in Airflow, where we manage our own constraints, we use `uv` to manage 
requirements for Breeze
+and we use `uv` to lock the dependencies. This way we can ensure that the 
dependencies are always
+up-to-date and that the development environment is always consistent for 
different people. This is
+why Breeze's `uv.lock` is committed to the repository and is used to install 
the dependencies by
+default by Breeze. Here's how to install breeze with `uv`
+
+
+1. Install `uv` - see [uv 
documentation](https://docs.astral.sh/uv/getting-started/installation/)
+
+> [!IMPORTANT]
+> All the commands below should be executed while you are in `dev/breeze` 
directory of the Airflow repository.
+
+2. Create a new virtual environment for Breeze development:
+
+```shell
+uv venv
+```
+
+3. Synchronize Breeze dependencies with `uv` to the latest dependencies stored 
in uv.lock file:
+
+```shell
+uv sync
+```
+
+After syncing, the `.venv` directory will contain the virtual environment with 
all the dependencies
+installed - you can use that environment to develop Breeze - for example with 
your favourite IDE
+or text editor, you can also use `uv run` to run the scripts in the virtual 
environment.
+
+For example to run all tests in the virtual environment you can use:
+
+```shell
+    uv run pytest

Review Comment:
   ```suggestion
   uv run pytest
   ```



-- 
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]

Reply via email to