botbuilder-python icon indicating copy to clipboard operation
botbuilder-python copied to clipboard

Remove pinned babel==2.9.1 reference.

Open andres-swax opened this issue 7 months ago • 1 comments

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 (https://github.com/microsoft/botbuilder-python/pull/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:

  1. Add teams-ai to a python project -or-
  2. Add botbuilder-python to a python project.
  3. In vscode create a Jupyter notebook.
  4. Set the environment to run on a 3.12 kernel.
  5. Create a cell on that notebook... i.e. a=37
  6. Run the cell. --> Runs ok.
  7. 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.

andres-swax avatar Jun 26 '25 23:06 andres-swax

@axelsrz - Can you take a look at this?

stevkan avatar Jul 01 '25 18:07 stevkan