Repository: docker/docker-py

Issue:
installing latest 5.0.3 on windows machines is still using pywin32==227 but not pywin32==301
[Bump pywin32 from 227 to 301 ]( https://github.com/docker/docker-py/commit/e0d186d754693feb7d27c2352e455c5febb4a5cd) was already merged in to bump pywin32 from 227 to 301. But, when installing latest 5.0.3 on windows machines is resulting in install of pywin32==227

Most likely extras_require needs updated
https://github.com/docker/docker-py/blob/a48a5a9647761406d66e8271f19fab7fa0c5f582/setup.py#L19




Pywin32 upgrade
Fix issue #2902

@aiordache @ulyssessouza, please, accept this PR to fix this annoying bug

Don't pin to pywin32 227
The hard pin to 227 is keeping us from using docker with other projects that depend on a newer version of pywin32.


Discussion:
Can confirm this issue, this is what happens while trying to install using poetry
![image](https://user-images.githubusercontent.com/53267275/138599391-bed49245-3e49-4e58-b84c-1cd9b878bfb7.png)

This issue exist on Python Poetry projects as well even if v5.0.3 is used already, https://github.com/thegeeklab/docker-tidy/security/dependabot/poetry.lock/pywin32/open
Also being bitten by this. FYI, there's a further update to `pywin32`, to 302. 302 is the first version to support Python 3.10, so is a key thing for us... is that covered by this ticket, or should I cut a new one for pywin32==302?
> Also being bitten by this. FYI, there's a further update to `pywin32`, to 302. 302 is the first version to support Python 3.10, so is a key thing for us... is that covered by this ticket, or should I cut a new one for pywin32==302?

This ticket doesn't do it, but there already is a PR which covers it, #2857
Any update on this? There's known vulnerabilities with pywin 227: https://security.snyk.io/vuln/SNYK-PYTHON-PYWIN32-1316226
Ping!
This issue means that you basically **can't use python 3.10 and docker in windows**. @StefanScherer @ulyssessouza @aiordache there are a few PRs already open to solve this, can they be reviewed/shipped anytime soon?
Docker team, **PLEASE** can you accept any of the many already submitted fixes for this? People using docker through python and also on github cloud are getting security notifications due to your library. It is happening regardless of whether or not the team uses windows because githubs analysis cares only about transitive dependencies. This bug has been open for 8 months. 

FWIW this fix properly preserves python 2 support which might be safer for more users for the time being: https://github.com/docker/docker-py/pull/2955

<img width="1133" alt="Screen Shot 2022-05-20 at 12 41 50 PM" src="https://user-images.githubusercontent.com/33429945/169600275-05941f72-21a4-4d58-b85a-d8968a03fc38.png">

I got around this problem by removing all docker software and using an alternative, as all docker software seems to have become abandonware and incompatible with the current Python version.
> I got around this problem by removing all docker software and using an alternative, as all docker software seems to have become abandonware and incompatible with the current Python version.

Which alternative did you end up using @aabmets ?
> > I got around this problem by removing all docker software and using an alternative, as all docker software seems to have become abandonware and incompatible with the current Python version.
> 
> Which alternative did you end up using @aabmets ?

My use case was somewhat unique - using a container manager was an option, not a requirement. I needed to run QuestDB for a project and in addition to the docker container they also had a direct executable file available, so I just chose to run the exe directly from Python code in a subprocess.
Is docker still a thing ??

It's been 8 months that **this blocking problem prevents all Windows users to use the python docker lib** in Python 3.10... More and more user must **downgrade** Python or drop Docker support...
And this is not even a technical problem, **many PRs are already available** for a very long time to correct this critical problem...

Knowing that one of the strategy of docker today is to put forward Docker Desktop (pro) with the Windows environment, it is all the more surprising / **worrying** that nothing is happening on this issue!

last hope? @StefanScherer could you address this issue to someone **please** ?
Looks like they're considering just abandoning the package #2989 
I think it's a dangerous situation when the only fully-featured Docker management library (correct me if I'm wrong) is abandoned. Furthermore, contains significant vulnerabilities.

Are there any volunteers to maintain a fork? We could create an organization like `docker-py-ng` and export all issues and pull requests there using https://github.com/gavinr/github-csv-tools or similar tools. I have some experience maintaining Python projects, but I have been very constrained in my free time lately. 399 issues and 122 PRs are a great amount of work.
Ideally the project is donated of course, but if there is no further communication around this, I wouldn't mind help maintaining a fork @droserasprout . Another of my OSS projects relies heavily on `docker-py`, so it would be nice to have some continuity.

Considering the project scope and personal time-constraints it could just be a maintenance fork, where we only consider security fixes and version compatibility PR's.


Sorry, I didn't notice the discussion of potential forking in another issue. Also, it appeared that docker-py [is not the only](https://github.com/docker/docker-py/pull/2989#issuecomment-1179720247) Docker library around.
@StefanScherer could you help with this?
@justincormack @thaJeztah maybe you know the answer who can help with that?
An annoying problem that is more than 6 months old, the fix of which is to update one dependency. Are you seriously?
Any movement on this?

Resolving patch:
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -16,7 +16,7 @@
 
 extras_require = {
     # win32 APIs if on Windows (required for npipe support)
-    ':sys_platform == "win32"': 'pywin32==227',
+    ':sys_platform == "win32"': 'pywin32>=304',
 
     # If using docker-py over TLS, highly recommend this option is
     # pip-installed or pinned.


Test patch: