pythonportal | Unsorted

Telegram-канал pythonportal - Python Portal

58174

Всё самое интересное из мира Python Связь: @devmangx РКН: https://clck.ru/3GMMF6

Subscribe to a channel

Python Portal

😁😁😁

👉 @PythonPortal

Читать полностью…

Python Portal

Сталкивался с тем, как безопасно шарить API-ключи внутри команды?

Файл .env хранит конфигурацию вроде API-ключей и URL базы данных в открытом виде.

Поэтому коммит в git приводит к утечке всех секретов. Обычно файл добавляют в .gitignore, а креды раздают вручную через Slack или менеджеры паролей.

Со временем секреты расползаются по разным местам без единого источника истины.

dotenvx решает это, шифруя .env через криптографию с открытым ключом.

Можно коммитить зашифрованный файл в git, а команде нужен только приватный ключ (хранится в .env.keys, который в .gitignore) для расшифровки при запуске приложения.

Ключевые возможности:
• Работает с Python, Node, Go, Ruby, Rust и другими через единый CLI
• Шифрует .env с использованием той же криптографии, что и Bitcoin (secp256k1)
• Разделяет окружения через .env.production, .env.staging и .env.ci

👉 @PythonPortal

Читать полностью…

Python Portal

Быстрый совет по Code, о котором ты можешь не знать: содержимое скобок и строк можно выделить простым двойным кликом 🖱

👉 @PythonPortal

Читать полностью…

Python Portal

👉 @PythonPortal

Читать полностью…

Python Portal

Как работает DNS за 60 секунд:

Что такое DNS: система доменных имён.

Ты вводишь http://xyz.com в браузере. Но интернет не понимает доменные имена — он работает с IP-адресами.

Вот что происходит под капотом:

1. Браузер спрашивает: «Где находится http://xyz.com

2. Резолвер DNS у провайдера проверяет кэш. Если запрос уже был — отвечает сразу. Если нет — начинает опрос.

3. Запрос к корневому серверу имён → «Не знаю, спроси у сервера зоны .com»

4. Запрос к серверу зоны .com → «Не знаю, спроси у авторитетного сервера для http://xyz.com»

5. Авторитетный сервер отвечает: «http://xyz.com = 203.0.113.47»

6. Резолвер кэширует ответ и возвращает его браузеру

7. Браузер подключается к 203.0.113.47 — сайт загружается

Всё это происходит за миллисекунды. Каждый раз при открытии сайта.

И когда DNS ломается — не работает ничего. Ни сайты, ни приложения. Даже если сервер полностью исправен.

Поэтому фраза «всегда виноват DNS» — одна из самых часто повторяемых в ИТ.

👉 @PythonPortal

Читать полностью…

Python Portal

Нашли репозиторий с большим количеством шпаргалок по Python на русском языке 😮

Есть PDF-ки по:
- типам данных;
- функциям;
- декораторам;
- итераторам и генераторам;
- различным модулям;
- ООП и многому другому.

Ссылка: тык

👉 @PythonPortal

Читать полностью…

Python Portal

Ты: безупречное резюме/CV/рекомендации с прошлого места работы, десятки топовых проектов за плечами

Требования HR:


👉 @PythonPortal

Читать полностью…

Python Portal

Docker Tip

Вот как можно проанализировать, что раздувает образ.

Как известно, каждый Docker-образ состоит из слоёв.

Каждый слой добавляется отдельной строкой в Dockerfile.

Эти слои позволяют понять, почему образ большой, медленно собирается или плохо кэшируется.

Вот как можно проинспектировать слои и посмотреть, что изменилось в каждом из них.

Можно использовать утилиту dive.

Она даёт визуальное представление:

всех созданных слоёв
какие файлы были добавлены или изменены
сколько места занимает каждый слой

При анализе слоёв образа можно определить:

- какая команда добавляет лишний объём
- как оптимизировать Dockerfile для более компактных и эффективных сборок

Также утилита показывает метрику эффективности образа, которая отражает, сколько данных дублируется или расходуется впустую между слоями.

👉 @PythonPortal

Читать полностью…

Python Portal

(Я не читаю почту и не открываю жиру)

👉 @PythonPortal

Читать полностью…

Python Portal

🐍 Python — универсальный ключ от многих ИТ-дверей: от веб-разработки до машинного обучения

Освоить язык с нуля или углубить имеющиеся навыки можно на расширенном курсе Нетологии «Python-разработчик». Простого пути не обещают, но обещают комфортный темп, много практики и поддержку опытных разработчиков.

А ещё — помощь с трудоустройством. За время обучения вы:
🔸 научитесь упаковывать опыт в резюме;
🔸 пройдёте тестовые технические интервью;
🔸 посетите встречи с экспертами Сбера, Яндекса и Т-Банка;
🔸 сможете попасть на стажировку;
🔸 получите год карьерной поддержки после выпуска.

Сейчас на курс действует скидка 50%, а с промокодом NETONEW10 цена станет ещё на 10% ниже. Плюсом идут 4 курса по нейросетям и подарки от партнёров Нетологии в честь её 15-летия.

Узнать подробнее и записаться → ссылка

P. S. Ребята помогут оформить налоговый вычет, а это ещё –13% от стоимости

Реклама. ООО “Нетология” ОГРН 1207700135884 Erid: 2VSb5ykHiJv

Читать полностью…

Python Portal

Совет по Git

Интерактивно просматривай и добавляй изменения частями (патчами), вместо того чтобы добавлять всё сразу:

git add -p

Почему это полезно:
• добавляешь только нужные изменения
• пропускаешь случайные или незавершённые правки
• разбиваешь работу на чистые и сфокусированные коммиты

👉 @PythonPortal

Читать полностью…

Python Portal

Определяй функции на обычном языке и запускай их локально: PAW

PAW компилирует спецификации на естественном языке в компактные нейронные программы. После компиляции они работают как обычные Python-функции (без интернета, без внешнего сервиса, без оплаты за вызовы).

Нейронная программа объединяет дискретный текст и непрерывную LoRA для адаптации фиксированного интерпретатора.

Подходит для нечетких задач: триаж по срочности, починка сломанного JSON, фильтрация логов, роутинг инструментов.

Хорошо сочетается с код-агентами: http://programasweights.com/agents

Интерпретатор — предобученный Qwen3 0.6B, без модификаций. Вся адаптация под задачи происходит через скомпилированную нейронную программу.

На FuzzyBench: 73.4% точности против 9.8% у прямого промпт-инжиниринга той же 0.6B. Даже Qwen3 32B даёт только 68.7%.

Их интерпретатор на базе GPT-2 — всего 124M параметров, достаточно компактный, чтобы полностью работать в браузере через WebAssembly.

Скачиваешь базовую модель ~134 МБ один раз, затем каждая нейронная программа занимает ~5 МБ. Сервер для инференса не нужен.

python: pip install programasweights
js: npm install @programasweights/web

👉 @PythonPortal

Читать полностью…

Python Portal

👉 @PythonPortal

Читать полностью…

Python Portal

Что если автоматизировать весь воркфлоу Google Workspace прямо из терминала?

Работа через браузер заставляет кликать по нескольким приложениям, чтобы открыть таблицу, проверить календарь и отправить фоллоу-ап письмо.

Такой ручной цикл быстро накапливает оверхед при ежедневных или еженедельных повторениях.

gws — это интерфейс командной строки, который объединяет все сервисы Workspace за простыми командами в терминале с структурированным JSON-выводом, готовым для скриптов.

Ключевые возможности:
• Единый интерфейс для Drive, Gmail, Calendar, Sheets, Docs и других сервисов
• JSON-вывод, который напрямую пайпится в существующие скрипты и воркфлоу
• 100+ навыков для ИИ-агентов, позволяющих языковым моделям оркестрировать задачи Workspace программно

https://github.com/googleworkspace/cli

👉 @PythonPortal

Читать полностью…

Python Portal

Трудно запомнить разницу между strptime и strftime?

- Буква "p" (strptime) — это про parsing, получение datetime из строки
- Буква "f" (strftime) — это про formatting, получение строки из datetime

Чтобы запомнить коды формата, можно воспользоваться: https://buff.ly/oEdYGMI

Хочешь распарсить строку в datetime? Используй strptime, передавая (a) строку и (b) спецификацию формата даты:

datetime.datetime.strptime('2026-04-01', '%Y-%m-%d')
datetime.datetime.strptime('26-April-01', '%y-%B-%d')


Оба вызова возвращают datetime.datetime(2026, 4, 1, 0, 0)

Хочешь отформатировать datetime в строку? Используй strftime:

dt = datetime.datetime(2026, 4, 1, 13, 15, 17)

dt.strftime('%Y-%m-%d') # '2026-04-01'
dt.strftime('%Y-%m-%d %H:%M:%S') # '2026-04-01 13:15:17'
dt.strftime('%y-%B-%e %H:%M:%S') # '26-April- 1 13:15:17'


👉 @PythonPortal

Читать полностью…

Python Portal

Стек AI/ML — это многослойный набор инструментов, покрывающий полный воркфлоу разработки моделей 😎

👉 @PythonPortal

Читать полностью…

Python Portal

😡😡😡

👉 @PythonPortal

Читать полностью…

Python Portal

Бывший исследователь MIT Исаак Фримен бросил PhD и выложил роадмап на 50 000 GPU H100 для эмуляции полноценного человеческого мозга.

Он описал полный путь — от червя с 302 нейронами до человека с 86 миллиардами нейронов. Стоимость коннектомики сейчас оценивается примерно в $100 за нейрон, и основным узким местом остаётся сбор данных с помощью продвинутых микроскопов — у «цифровых людей» появился реалистичный таймлайн.

https://pdf.isaak.net/thesis

👉 @PythonPortal

Читать полностью…

Python Portal

Google DeepMind выпустили, пожалуй, самый тревожный отчёт по кибербезопасности за год.

Они описали поверхность атак, о которой почти не говорят в контексте ИИ.

Сайты уже умеют определять, что к ним пришёл агент, и отдавать ему совсем другой контент, чем человеку.

- скрытые инструкции в HTML
- вредоносные команды в пикселях изображений
- джейлбрейки, зашитые в PDF

Эта «асимметрия детекции» означает: пользователю показывается нормальный контент, а агенту — скрытый и вредоносный.

Агент не понимает, что его обманывают. Он просто обрабатывает вход и действует.

Вот поверхность атак, о которой мало говорят:

→ косвенные веб-инъекции: инструкции, спрятанные в HTML-комментариях, CSS-трюках или тексте «белым по белому»

→ мультимодальная стеганография: команды, закодированные прямо в пикселях изображений, невидимые человеку, но читаемые моделями зрения

→ джейлбрейки в документах: инструкции, спрятанные глубоко в PDF, таблицах и календарных событиях

→ отравление памяти: внедрение ложных данных, которые сохраняются и влияют на будущие сессии

→ атаки на утечку данных: агент вынуждается отправлять приватную информацию на контролируемые атакующим эндпоинты

→ каскады между агентами: худший сценарий — агент A скомпрометирован, передаёт «яд» агенту B, затем C, и заражается весь пайплайн из-за доверия между агентами

Самая отрезвляющая часть отчёта: защита серьёзно отстаёт.

Санитизация входа не работает — пиксели нельзя «очистить».
Инструкции уровня промпта вроде «игнорируй подозрительные команды» не помогают — атаки маскируются под легитимные.
Человеческий контроль невозможен на скоростях и масштабах, на которых работают агенты.

Если агенту поручить анализ 50 сайтов, невозможно проверить, одинаковый ли контент получил агент и пользователь.

👉 @PythonPortal

Читать полностью…

Python Portal

👊👊👊

👉 @PythonPortal

Читать полностью…

Python Portal

MCP и Skills для AI-агентов — разбор без путаницы.

Разработчики часто воспринимают MCP и Skills как одно и то же.

Это ошибка.

Смешивание этих понятий — один из самых частых фейлов при переходе к серьёзной разработке AI-агентов.

Разберём с нуля.

До появления MCP подключение модели к внешним инструментам требовало писать кастомную интеграцию каждый раз.

Например, 10 моделей и 100 инструментов давали 1000 отдельных коннекторов, которые нужно поддерживать.

MCP решает это через общий протокол взаимодействия.

Инструменты становятся частью “сервера”, который экспонирует возможности. Каждый агент — это “клиент”, который умеет делать запросы. Общение идёт через структурированные JSON-сообщения по чётко заданному интерфейсу.

Например, можно один раз реализовать MCP-сервер для GitHub, и он будет работать с Claude, ChatGPT, Cursor или любым другим агентом с поддержкой MCP. Ключевая ценность — одна интеграция, многократное использование.

MCP решает проблему подключения, но не решает проблему использования.

Агент может иметь 50 корректно подключённых MCP-инструментов и при этом работать слабо, если не понимает:

- когда вызывать инструмент
- в каком порядке
- с каким контекстом

Этот разрыв закрывают Skills.

Skill — это переносимый пакет процедурных знаний.

Файл SKILL.md не просто описывает доступные инструменты, а задаёт, как именно их применять в рамках конкретной задачи.

- Skill для написания текста включает гайд по тону и шаблоны вывода
- Skill для код-ревью включает паттерны проверок и правила

MCP даёт агенту доступ к инструментам. Skills формируют устойчивые паттерны их использования.

Вместе это полный стек возможностей продакшен-агента:

- MCP — слой подключения инструментов
- Skills — слой знаний и выполнения задач
- Агент — оркестрация через контекст и рассуждение

Поэтому продвинутые конфигурации используют оба подхода: MCP-серверы для интеграций и SKILL.md для доменной экспертизы.

👉 @PythonPortal

Читать полностью…

Python Portal

Запуск open-source платформы PostgreSQL в Kubernetes с использованием copy-on-write для ветвления данных объёмом в терабайты за считанные секунды и автоматической гибернацией при простое для экономии ресурсов — подходит для компаний, которые строят внутренние базы данных или быстро поднимают окружения для разработки и тестирования.

Xata — это open-source облачная платформа PostgreSQL, которая умеет одновременно управлять большим количеством инстансов Postgres в Kubernetes. Ключевые возможности: создание веток данных объёмом в терабайты за секунды и автоматическое масштабирование до нуля при простое с последующим пробуждением при новых подключениях.

На уровне инфраструктуры используется CloudNativePG для управления и обслуживания Postgres и OpenEBS для хранения, а на верхнем уровне доступны встроенные SQL-шлюз, управление ветками, REST API и CLI. Компании могут использовать её для построения внутренних платформ баз данных или быстро выделять отдельную копию данных для каждого разработчика и каждого тестового запуска с последующей автоматической гибернацией для экономии ресурсов и затрат.

100% опенсорс

👉 @PythonPortal

Читать полностью…

Python Portal

Знал ли ты, что Python может открыть вкладку браузера?

Без фреймворков. Всего одна строка.

Вот как запустить URL — удобно для создания утилит, повышения продуктивности или автоматического открытия документации из скриптов.

Попробуй сам. 🙂

👉 @PythonPortal

Читать полностью…

Python Portal

Как использовать borb для создания простого PDF на Python

from borb.pdf.canvas.layout.page_layout.multi_column_layout import SingleColumnLayout
from borb.pdf.canvas.layout.text.paragraph import Paragraph
from borb.pdf.document import Document
from borb.pdf.page.page import Page
from borb.pdf.pdf import PDF

def main(pdf_path):
pdf = Document()

# Добавляем пустую страницу в PDF
page = Page()
pdf.append_page(page)

# Создаём лэйаут для размещения текста
layout = SingleColumnLayout(page)

# Добавляем текст с помощью класса Paragraph
layout.add(Paragraph("Hello from borb!"))

with open(pdf_path, "wb") as pdf_fh:
PDF.dumps(pdf_fh, pdf)

if __name__ == "__main__":
main("demo.pdf")


👉 @PythonPortal

Читать полностью…

Python Portal

Построение надёжной RAG-системы — это не просто подключение векторной базы данных. Это проектирование интеллектуального пайплайна с балансом между точностью извлечения, логикой маршрутизации и строгой оценкой.

Хорошо спроектированная RAG-архитектура включает:

• Продвинутую сборку запроса с использованием реляционных, графовых и векторных баз данных для контекстного понимания
• Интеллектуальную маршрутизацию (логическую + семантическую) для оптимального выбора промптов и эффективности системы
• Многоэтапное извлечение с уточнением и переранжированием для повышения релевантности и снижения галлюцинаций
• Гибкие стратегии генерации, такие как Self-RAG, RRR и циклы активного извлечения
• Надёжные пайплайны индексирования: семантический чанкинг, иерархическая кластеризация (RAPTOR) и специализированные эмбеддинги (ColBERT)
• Непрерывную оценку с использованием фреймворков RAGAS, Grouse и DeepEval для измеримой производительности

Современные ИИ-системы требуют не только больших языковых моделей, но и качественных пайплайнов данных, точного извлечения и дисциплины в оценке.

Если ты строишь масштабируемые ИИ-продукты, архитектура RAG-системы становится конкурентным преимуществом.

#RAG #GenerativeAI #AIArchitecture #MachineLearning #LLM #DataEngineering #AIEngineering

👉 @PythonPortal

Читать полностью…

Python Portal

🍺🍺🍺

👉 @PythonPortal

Читать полностью…

Python Portal

Новая статья: системная инженерия

Код-агенты снизили порог входа в написание кода, но не снизили требования к продакшн-софту.

Агентное ПО — это всё тот же софт. Агент заменяет бизнес-логику, всё остальное остаётся без изменений.

https://ashpreetbedi.com/articles/systems-engineering

👉 @PythonPortal

Читать полностью…

Python Portal

GOOGLE выкатили инструмент для детектирования типов файлов

долгое время использовался внутри — Gmail, Drive, Safe Browsing, сотни миллиардов файлов каждую неделю

затем открыли исходники

называется magika — определяет реальный тип файла, а не то, за что он себя выдаёт

переименовал вредонос в "resume.pdf"? magika определит
замаскировал скрипт под изображение? magika определит
любые трюки с расширениями? magika обходит их

модель обучена на 100 млн файлов
200+ типов контента
точность ~99%
около 5 мс на файл

одна команда:

pip install magika


тот же инструмент, который защищает пользователей Google, можно использовать в своих системах

👉 @PythonPortal

Читать полностью…

Python Portal

Такую тудушку никто никогда не делал. Она перевернёт рын

👉 @PythonPortal

Читать полностью…

Python Portal

Что если ваш AI-ассистент действительно мог бы запоминать, с кем он общается?

Когда вы строите AI-приложение с использованием API OpenAI или Anthropic, каждый диалог начинается с нуля — без встроенной памяти между сессиями.

Добавление памяти вручную через векторную базу данных, такую как ChromaDB, требует писать собственную логику извлечения, дедупликации и скоупинга поверх слоя хранения.

mem0 решает всё это одним вызовом функции. Просто передавайте диалоги и получайте релевантные «воспоминания» при необходимости.

Ключевые возможности:
• Автоматическое извлечение фактов из сырых диалогов через memory.add()
• Кросс-сессионный поиск через memory.search() в любой последующей беседе
• Автоматическое разрешение конфликтов при изменении пользовательских предпочтений со временем

Кроме того, mem0 — open-source. Установить можно через pip install mem0ai.

👉 @PythonPortal

Читать полностью…
Subscribe to a channel