python icon indicating copy to clipboard operation
python copied to clipboard

Feedback on comparison with kr8s

Open jacobtomlinson opened this issue 2 years ago • 5 comments

Hey there 👋. I'm the author of kr8s, another Python library for Kubernetes.

The goal of kr8s is to be a batteries-included kubectl-inspired Python library that has a very shallow learning curve and reduces boilerplate. I built it to solve some specific challenges we were having in dask-kubernetes with using the official kubernetes library (and especially kubernetes_asyncio).

We are at the point in development where dask-kubernetes has been fully migrated over to it and the API is getting pretty stable, so I decided to take a step back and assess how well we are doing in terms of hitting our design goals. In doing so I wrote up a blog post comparing the kr8s API with other Python Kubernetes libraries including kubernetes.

The comparison is intended to check how well kr8s is meeting it's goals and to discuss the tradeoffs we make to achieve those goals compared with libraries, rather than trying to show which is "better".

I wanted to stop by here and open an issue to ask for feedback on the kubernetes description and examples I've included in the post. I want to make sure I'm highlighting the strengths of kubernetes accurately so that if folks do use the post to choose between the libraries they can make an informed decision based on their own requirements.

If you do have any feedback feel free to reply here, send me an email to [email protected] or open a PR directly on the blog post.

Thank you!

jacobtomlinson avatar Sep 05 '23 09:09 jacobtomlinson

@jacobtomlinson Does kr8s support SOCKS5 proxying or proxying to the Kubernetes API in general? This works with kubectl, but less so with the official Python API. #1064 #2088 #1175

sanmai-NL avatar Sep 18 '23 12:09 sanmai-NL

@sanmai-NL in kr8s we use httpx for making all HTTP requests to the Kubernetes API. According to the httpx documentation, it supports the HTTP_PROXY, HTTPS_PROXY, ALL_PROXY out of the box.

But we don't do anything to enable setting this in code. If that would be valuable to you then please open an issue on the kr8s repo.

jacobtomlinson avatar Sep 18 '23 13:09 jacobtomlinson

Setting this in code, you mean you don't provide an API to configure proxying? But for us, using the environment variables is sufficient.

sanmai-NL avatar Oct 11 '23 12:10 sanmai-NL

you mean you don't provide an API to configure proxying

Not currently. If there is demand for this we can definitely expose it though.

jacobtomlinson avatar Oct 11 '23 14:10 jacobtomlinson

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle stale
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot avatar Jan 30 '24 04:01 k8s-triage-robot

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle rotten
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

k8s-triage-robot avatar Feb 29 '24 04:02 k8s-triage-robot

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Reopen this issue with /reopen
  • Mark this issue as fresh with /remove-lifecycle rotten
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/close not-planned

k8s-triage-robot avatar Mar 30 '24 04:03 k8s-triage-robot

@k8s-triage-robot: Closing this issue, marking it as "Not Planned".

In response to this:

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Reopen this issue with /reopen
  • Mark this issue as fresh with /remove-lifecycle rotten
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/close not-planned

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

k8s-ci-robot avatar Mar 30 '24 04:03 k8s-ci-robot