Python Portal
57.1K subscribers
2.25K photos
288 videos
51 files
811 links
Всё самое интересное из мира Python

Связь: @devmangx

РКН: https://clck.ru/3GMMF6
Download Telegram
Экосистема Notepad просто безумная.

• Можно писать Python в Notepad
• Можно писать Java в Notepad
• Можно писать JavaScript в Notepad
• Можно писать Shell-скрипты в Notepad
• Можно собирать Dockerfile в Notepad
• Можно писать Terraform в Notepad
• Можно править YAML в Notepad

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁95🔥1910🤯5👍3
Выложили записи конфы «Я про бэкенд» - той самой, где раскрывали, как устроен бэкенд сегодня

Мир ускоряется: всё вокруг оцифровывается, RPS растёт, ML проникает во все сервисы подряд. Архитектуры усложняются, и поддерживать стабильность при таких масштабах - уже само по себе искусство. Но российские команды этот челлендж держат уверенно

4 октября в Москве на «Я про бэкенд» эксперты наших бигтехов делились, как решают реальные продовые задачи: от ML-инфраструктуры до рекомендательных и генеративных систем.

Особенно зашёл доклад Антона Полднева, руководителя инфраструктуры Яндекс Рекламы. Он рассказал, как их рекомендательный движок ежегодно экономит 200 тысяч CPU, и как команда перестроила архитектуру, которая держит более миллиона запросов в секунду.

Антон поделился конкретными подходами к оптимизации: от хаков на стыке с GPU до тонкой настройки балансировки. А ещё разобрал ключевые тренды в развитии инфраструктуры рекомендаций, без которых невозможно серьёзно нарастить эффективность.

В общем получилось очень насыщенно. Такое мы смотрим 👍

Посмотреть это выступление и другие доклады можно здесь:
- YouTube
- VK Видео

Реклама. ООО "Яндекс". ИНН 7736207543 Erid 2VSb5wAKbPX
8👍4
Фотоскрейпинг наконец-то подъехал!

В новом v2 эндпоинте Firecrawl теперь можно тянуть картинки с сайтов. Подходит для мультимодальных LLM-приложений, дообучения моделей и прочих задач.

Можно навесить фильтры по разрешению, соотношению сторон или типу изображения.

Уже больше 66 тысяч звезд на GitHub 😁

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
21👍5
Когда атрибут определён и в экземпляре, и в классе, при обращении Python всегда берет значение из экземпляра.

Атрибут класса используется только если в экземпляре его нет.

class Warehouse:
purpose = "storage"
region = "west"

w1 = Warehouse()
print(w1.purpose, w1.region) # storage west

w2 = Warehouse()
w2.region = "east"
print(w2.purpose, w2.region) # storage east


👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥169👍5
Опытных видно сразу

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁80💊9👍31
Media is too big
VIEW IN TELEGRAM
Научись проектировать ИИ-агентов, управлять роботами и развертывать RAG-системы 21 ноября на True Tech Champ

На бесплатном фестивале технологий от МТС тебя ждет конференция с российскими и иностранными экспертами и новый формат лектория — ИТ-качалка.

Уже известны первые спикеры и темы:

🔴 «Физический агент: на пути к когнитивным роботам общего назначения с моделями мира», Артем Лыков — ведущий R&D-разработчик MWS, аспирант ISR Lab и Skoltech.
🔴«RAG как помощник на каждый день», Валентин Малых — руководитель фундаментальных исследований MWS AI
🔴An introduction tutorial to AI Agent Workflows, Майкл Ланэм — канадский разработчик с 20-летним и автор книги AI Agents in Action.

Между докладами и воркшопами можно смотреть гонки и битвы роботов, устроить поединки робопауков, пройти лазерный лабиринт, собрать сервер на скорость, сделать аксессуары из плат и протестировать другие айтивности.

Выбирай формат — смотри прямой эфир или приходи в МТС Live Холл.
Регистрируйся, чтобы провести 21 ноября с пользой и драйвом.
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍1😁1
Nano-vLLM - облегченная реализация vLLM, созданная с нуля.

Это минималистичный движок для инференса LLM размером примерно 1200 строк кода на Python, который при этом показывает производительность на уровне vLLM и иногда даже выше.

Главная идея простая - дать быстрый, понятный и лёгкий движок, который можно разобрать буквально за вечер и адаптировать под свои задачи. Поддерживается кеширование, тензорный параллелизм и работа на GPU. Работает локально, без зависимости от облаков.

На тестах с моделью Qwen3-0.6B и 256 параллельными запросами Nano-vLLM показал скорость 1314.65 токенов/с против 1353.86 у vLLM. Разница не превышает 3%, при этом код Nano-vLLM проще и доступнее для модификаций.

Интерфейс совместим с vLLM, за исключением метода генерации. Примеры использования включены в репозиторий.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
17👍5👀4🔥1
Знаешь, что неприятно реализовывать в Python?

Функцию скользящего среднего.

Ручное хранение всех значений в окне, тот ещё гемор.

Если только ты не используешь collections.deque.

Её параметр maxlen позволяет автоматически выбрасывать лишние значения из окна.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥87👀4💊1
Сегодня разработчики представили новый формат данных под названием TOON. Его уже успели окрестить сменщиком JSON. Идея простая: дать ИИ понятный, компактный и быстрый формат без лишнего мусора и перегруженной структуры.

TOON экономит токены, ускоряет обработку и уменьшает объем передаваемых данных. По заявлениям авторов, формат оптимизирован не только для хранения, но и для взаимодействия с моделями искусственного интеллекта, включая гибридные и мультимодальные системы.

Поддержка уже заявлена для JavaScript, Python, Rust, Java и еще нескольких языков, а значит разработчики могут попробовать формат прямо сейчас, без ожидания экосистемы и сторонних библиотек.

Goodbye JSON, hello TOON. 🌟

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
36🤔10
This media is not supported in your browser
VIEW IN TELEGRAM
Весь мир: простая понятная капча
Китайцы: почисть лоток

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
48😁30🤣10👍7
78 тем, которые необходимо освоить в области Data Science

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😢34🔥13👍74
Представляю Goldman Sachs GS-Quant

Python-инструментарий для количественного анализа, созданный Goldman Sachs.

GS Quant — это Python-набор инструментов для квант-финансов, построенный на базе одной из самых мощных платформ управления рисками.

GS Quant создан для ускорения разработки квант-трейдинговых стратегий и решений для риск-менеджмента. В его основе более 25 лет опыта работы на глобальных рынках.

Чтобы получить доступ к API, нужен client id и secret. Они доступны только институциональным клиентам Goldman Sachs.

Исходники GS-Quant можно найти на GitHub:
https://github.com/goldmansachs/gs-quant

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
110👍3🔥3
Ловите очередной полезный гайд

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6911😁10👍2
Зарплата 207.000р у Middle-разработчика в Яндекс

«В день уходит несколько часов на созвоны, в остальное время закрываю задачки из спринта, редко перерабатываю. У компании топовый офис, но с коллективом как-то не заладилось. Радуюсь классному ДМС и стабильной зарплате» - middle разработчик из Яндекса.

Бигтех по-русски - канал с реальными зарплатами и историями IT-специалистов российского БигТеха. Там уже опубликованы рассказы программистов Альфа-банка, Сбера и Тинькофф 🤯

Читайте: @bigtech_russia
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣30💊156
This media is not supported in your browser
VIEW IN TELEGRAM
Теперь в Minecraft можно генерировать 3D-объекты по одному промпту.

Мод Falcraft добавляет в игру продвинутый AI. Можно на лету менять текстуры блоков через NanoBanana или генерировать целые 3D-структуры одной командой прямо во время игры. 🌟

Скачать на GitHub: https://github.com/blendi-remade/falcraft?tab=readme-ov-file

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
24💊4😁3
Совет по чистым тестам в Python:

В большинстве случаев твои тесты должны покрывать:

- все happy path сценарии
- edge/corner/boundary кейсы
- негативные тесты
- проверки на безопасность и некорректные вводы

import uuid
from dataclasses import dataclass
from typing import Optional


@dataclass
class User:
username: str


class InMemoryUserRepository:
def __init__(self):
self._users = []

def add(self, user: User) -> None:
self._users.append(user)

def search(self, query: Optional[str] = None) -> list[User]:
if query is None:
return self._users
else:
return [
user
for user in self._users
if query in user.username
]


# happy path
def test_search_users_without_query_lists_all_users():
user1 = User(username="[email protected]")
user2 = User(username="[email protected]")
repository = InMemoryUserRepository()
repository.add(user1)
repository.add(user2)

assert repository.search() == [user1, user2]


# happy path
def test_search_users_with_email_part_lists_all_matching_users():
user1 = User(username="[email protected]")
user2 = User(username="[email protected]")
user3 = User(username="[email protected]")
repository = InMemoryUserRepository()
repository.add(user1)
repository.add(user2)
repository.add(user3)

assert repository.search("doe") == [user1, user3]


# edge test case
def test_search_users_with_empty_query_lists_all_users():
user1 = User(username="[email protected]")
user2 = User(username="[email protected]")
repository = InMemoryUserRepository()
repository.add(user1)
repository.add(user2)

assert repository.search("") == [user1, user2]


# negative test case
def test_search_users_with_random_query_lists_zero_users():
user1 = User(username="[email protected]")
repository = InMemoryUserRepository()
repository.add(user1)

assert repository.search(str(uuid.uuid4())) == []


# security test
def test_search_users_with_sql_injection_has_no_effect():
user1 = User(username="[email protected]")
repository = InMemoryUserRepository()
repository.add(user1)

repository.search("DELETE FROM USERS;")
assert repository.search() == [user1]


👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
15