-
Notifications
You must be signed in to change notification settings - Fork 301
Description
Version
4.17.0
4.16.2
4.16.1
4.16.0
4.15.1
4.15.0
4.14.8
Describe the bug
Every single version for quite some time has a PINNED dependency on babel==2.9.1. Multiple packages already require babel>=2.10.
This has been the case since October 2021 (#1826) and still pinned to that babel version. Bad practice.
This is creating a detrimental cascading effect on more complex projects. Having teams-ai depend on this botbuilder library, makes things more relevant.
Right now, one has to resort to hack-install babel 2.1x and it works, but pip beggining with version 25 (I think) will not willingly allow that. Errs out.
Deploying to an automated container becomes then a challenge, because well, it's automated and, automatically fails.
To Reproduce
Steps to reproduce the behavior:
- Add teams-ai to a python project
-or- - Add botbuilder-python to a python project.
- In vscode create a Jupyter notebook.
- Set the environment to run on a 3.12 kernel.
- Create a cell on that notebook... i.e.
a=37
- Run the cell.
--> Runs ok. - Install jupyterlab (
pip install jupyterlab
) for some data science graphing for example.
--> Jupyterlab installer replaces babel 2.9.1 with 2.1x
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
botbuilder-dialogs 4.17.0 requires babel==2.9.1, but you have babel 2.17.0 which is incompatible.
Additional notes
Has been tested and appears to work ok having babel>=2.10 installed. But, has to be a forced, manual installation.
This is just an example not very common but a library should not be pinned to another - for years.
Expected behavior
Change https://github.com/microsoft/botbuilder-python/blob/main/libraries/botbuilder-dialogs/setup.py, line 15 from "babel==2.9.1"
to "babel>=2.9.1"
or somehting around those lines.
Would not hurt to remove the pinned reference to emoji==1.7.0
which is extremly old. By far.