Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add unmaintained notice #2989

Closed

Conversation

StefanScherer
Copy link
Member

Signed-off-by: Stefan Scherer [email protected]

Signed-off-by: Stefan Scherer <[email protected]>
@gitpushdashf
Copy link

gitpushdashf commented May 19, 2022

Will the docker Python package name be passed on, or will we need to make a fork with a new name?

@yaleman
Copy link

yaleman commented May 20, 2022

So... you're just not going to support it at all now?

@gaby
Copy link

gaby commented May 20, 2022

@yaleman They probably just abandoning using Python, given that they have a golang docker library already. Same thing happened with Docker Compose which is now Golang based.

@StefanScherer
Copy link
Member Author

Thanks for your interest and your feedback so far. It's not decided yet that we merge this PR.
One possible way is a call for maintainers. We'll keep you informed how we proceed.

@gitpushdashf
Copy link

Hi @StefanScherer!

Do you have any updates for us?

Thank you!

@aluuu
Copy link

aluuu commented Jun 14, 2022

That would be nice to be merged as it would give some clarity on whether one should consider build their using this library.

@david0
Copy link
Contributor

david0 commented Jul 1, 2022

Any news? It really is a pity that this great package seems to be dead-ish atm.

@gabrieldemarmiesse
Copy link

gabrieldemarmiesse commented Jul 10, 2022

I made Python-on-whales, a Python Docker client that's much easier to maintain because it calls the Docker client binary (in go) behind the scenes. It has made the users happy so far by also providing access to buildx, compose, podman, nerdctl and docker stack deploy (which docker-py doesn't).

There was a blog post in the Docker blog a while ago about it, to do this, I talked to folks at Docker to get some guidance about the project.

Maybe we could add a note saying that this project exists and is maintained, even if we don't actively recommend it.

At least it provides an escape route for projects that heavily rely on Docker-py.

At the time of writing it has 223 stars, ~3500 downloads daily, 21 contributors, 1 core dev (me).

Link to the documentation
Link to the Github repo

@sylvainmouquet
Copy link

@gabrieldemarmiesse thanks i have moved my code to your library and everything works well :)

@felixfontein
Copy link
Contributor

For everyone else following this one who didn't notice, there's been a lot of activity in this repository over the last couple of days. So maybe this PR isn't needed anymore?

@StefanScherer
Copy link
Member Author

We've reserved some capacity to make another release. Closing this PR. Thanks for your patience.

@StefanScherer StefanScherer deleted the add-unmaintained-notice branch August 1, 2022 10:33
swhmirror pushed a commit to SoftwareHeritage/swh-docker that referenced this pull request Nov 7, 2022
Previously, Docker was controlled through custom shell commands issued
via `pytest-testinfra`. Multiple loops where used to wait for containers
to converge to the desired state. Given the test requires quite some
resources in terms of RAM, CPU, and bandwith, its execution can take
between 20 minutes and a full hour. Therefore, it would be better
to avoid having to edit the code to fiddle with timeouts and loop
counts.

One of the way we used to wait for completion was looking at the
Docker service logs for specific messages. Sadly, `pytest-testinfra`
does not really provide a way to monitor the output of a command as it
runs.

All-in-all, it felt easier to replace the custom shell commands by a
library offering a Python API to control Docker. While `dockerpy` is the
official library, its future maintainance by Docker has been in flux
(see: docker/docker-py#2989) and more
importantly, as it speaks directly to the Docker socket, it does not
support anything like `docker stack`.

Meanwhile, the `python_on_whales` has been featured on the official
Docker blog (https://www.docker.com/blog/guest-post-calling-the-docker-cli-from-python-with-python-on-whales/)
and implements as much as possible of Docker command line interface (by
shelling out).

With it, it was possible to:

- Replace all command lines with Python calls.
- Wait for containers to shut down on teardown before removing volumes.
- Wait for log messages to appear by blocking on the service output.
- Wait for Docker readyness when we start the stack and scale services.

Some refactoring and naming improvements have been made along the way.
Some leftover breakpoints were also removed.

Because we still would like to timeout in case of a problem,
`pytest-timeout` has been added to the requirements with a default
timeout of 30 minutes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants