PYTHONOMANIA
273 subscribers
195 photos
3 videos
1 file
616 links
Откройте для себя мир Python в PYTHONOMANIA!

Идеально подходит как для начинающих, так и для опытных разработчиков. Присоединяйтесь к нам, чтобы достичь совершенства в Python!

Сайт: https://pythonomania.github.io/
Download Telegram
📱Kubex.

Kubex — это
современный и невероятно быстрый клиент Kubernetes для Python, вдохновленный rust-библиотекой kube.rs.

Если вы писали K8s-операторы на Python, то наверняка сталкивались с медлительностью и прожорливостью стандартного kubernetes-asyncio.

Kubex меняет правила игры, предоставляя инструмент по-настоящему энтерпрайз-уровня!

🔹Главные фишки библиотеки:

🔘Космическая производительность: Работает до 40 раз быстрее (например, при получении списка из 500 подов), потребляет на 47% меньше памяти и делает в 5 раз меньше аллокаций. Давление на Garbage Collector минимально!

🔘Pydantic v2 под капотом: Забудьте про dict[str, Any]. Все ресурсы K8s, поля spec и status строго типизированы. IDE сама подскажет нужные параметры, а mypy защитит от ошибок еще до запуска.

🔘Мультиверсионность: Модели генерируются из OpenAPI (поддерживаются K8s с 1.32 по 1.37). Вы можете использовать модели разных версий одновременно, если управляете зоопарком кластеров.

🔘Свобода от фреймворков: Работает с asyncio (aiohttp/httpx) и trio (httpx). Никакого вендор-лока.

🔘Интерактивность: Экспериментальная, но мощная поддержка WebSocket. Выполнение команд (exec), подключение к потокам (attach) и проброс портов (portforward) работают прямо из кода, как в kubectl.

❓Как это выглядит в коде:
from kubex.api import Api
from kubex.client import create_client
from kubex.k8s.v1_35.core.v1.pod import Pod

async with await create_client() as client:
api: Api[Pod] = Api(Pod, client=client, namespace="default")
pod = await api.get("my-pod")
# pod.spec и pod.status полностью типизированы!


#Kubernetes #Python #DevOps #Pydantic #OpenSource #K8s #Asyncio #Backend

📱Ссылка на репозиторий:
https://github.com/codemageddon/kubex
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥5👍2⚡1