potiuk commented on PR #56187:
URL: https://github.com/apache/airflow/pull/56187#issuecomment-3517336909

   I think I fixed both issues (two fixups) (let's see if CI agrees) - also you 
will need to rebase:
   
   Issue 1) -> the shared project's stastd extra was not present in `dev` 
dependency group. The `dev` dependency group is the one that is automatically 
added by `uv` when you run `uv sync` (i.e. in editable mode from sources when 
pyproject.toml is present) -> adding the `self` project (it's perfectly ok to 
refer to your own project by it's name) with `statsd` extra `dev` dependency 
group will make statsd extra deps to be addeed before tests are run -> this was 
the reason why tests failed for the shared distrbution. I ended up in adding 
`apache-airflow-shared-observability[all]` to dev dependency group for it - 
because also datadog tests started to fail when I only added 
`apache-airflow-shared-observability[statsd].
   
   
   Issue 2) -> the problem was that you added extras that had the same names in 
task-sdk like the ones we already added automatically from providers. This 
cause duplicate entries in optional-dependencies and ulitmately a failure when 
parsing pyproject.toml (unfortunately the only error we get from tomli when 
parsing such pyproject.toml is nothing-telling 
   
   ````
        Cannot overwrite a value
   ````
   
   This error is raised by toml parser when it sees the same value specified 
twiice in toml without declaring it as array of values :( .
   
   But the root cause of the problem was that we actually copied those optional 
extras from task-sdk to airflow-core - which was only done to copy the "sentry" 
extra. This was to avoid duplication, but eventually we do not need that 
synchronisation. In Airlfow 3.2 we hope task-sdk will be fully decoupled from 
`airflow` - so we will also be able to remove all the coupling between the two 
so it's perfectly fine to have duplication and WET (Write Everything Twice) 
code rather than DRY. 
   
   I removed copying the optional extras from task-sdk completely (only left 
this to be automatically generated) so that we can automatically install all 
the dependencies from all the packages in the workspace - but this one is 
really a temporary measure until we decouple task-sdk - then we wil remove even 
that one:
   
   ```
   "all-task-sdk" = [
       "apache-airflow-task-sdk[all]"
   ]
   ```
   
   


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