TG Telegram Group Link
Channel: Библиотека питониста | Python, Django, Flask
Back to Bottom
🤝 Как вызвать Python из C — гайд для ресерчеров и хардкорных разработчиков

Если вы пишете код на C и Python, рано или поздно возникнет задача: как вызывать Python из C? Особенно если вы работаете с AI-исследованиями, Tensorflow, или хотите встроить скрипты в уже существующий C-проект.

Вот краткое руководство:

1⃣ Подключить Python.h:
python3-config --includes


2⃣ Включить заголовочный файл в C:

В Cmain.c:
#include <Python.h>


3⃣ Скомпилировать:
gcc Cmain.c -I/usr/include/python3.8 -lpython3.8 -o Cmain.o


4⃣ Инициализировать интерпретатор:
setenv("PYTHONPATH", "./", 1);
Py_Initialize();
// ...
Py_Finalize();


5⃣ Импортировать модуль и вызывать функцию:
PyObject *module = PyImport_ImportModule("PythonFunctions");
PyObject *func = PyObject_GetAttrString(module, "PrintList");
PyObject_CallObject(func, args);


6⃣ Аргументы (списки, числа и пр.):
Создаём через PyList_New, PyLong_FromLong, PyTuple_Pack.

7⃣ Очистка памяти:
Не забываем про Py_XDECREF(...)

▶️ Подойдёт для:
📍Встраивания ML-логики в C
📍Быстрого прототипирования
📍Работы с TensorFlow C API

▶️ Полный гайд и файлы — в детальной статье: https://clc.to/ys3cjw

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🎸 Причины выбрать Django вместо FastAPI

FastAPI звучит современно, асинхронно и быстро. Но стоит ли менять проверенное временем решение на модный инструмент?

Один опытный разработчик рассказал, почему Django до сих пор остаётся лучшим выбором для многих проектов. Мы выбрали 5 ключевых аргументов — смотрите в карточках 👇

📖 А все 10 — уже в статье по ссылке: https://proglib.io/sh/LoivXFW2cr

Библиотека питониста #буст
🔎 Команда дня: быстрый рецепт профилирования с cProfile и pstats

🔍 Профилирование — это способ найти узкие места в производительности кода.

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

Python поставляется с двумя встроенными профайлерами:
🔴 cProfile — написан на C, работает быстрее и точнее,
🔴 profile — на Python, обычно медленнее.

✔️ Обычно выбираем cProfile для измерения производительности.

Как профилировать скрипт


1️⃣ Запустите скрипт с профилированием и сохраните результат в файл:
python -m cProfile -o profile my_script.py


2️⃣ Для анализа результатов используйте модуль pstats:
python -m pstats profile <<< $'sort cumtime\nstats 1000' | less


🔴 sort cumtime — сортируем функции по кумулятивному времени (время выполнения функции плюс все вызовы внутри неё)
🔴 stats 1000 — показываем первые 1000 строк статистики
🔴 less — удобный просмотр с прокруткой (нажмите q для выхода)

Полезные опции

✔️ Профилируйте модули через -m:
python -m cProfile -o profile -m module_name [args]


✔️ Для сравнения результатов до и после оптимизации используйте разные имена файлов:
python -m cProfile -o before.profile script.py
python -m cProfile -o after.profile script.py


Можно менять сортировку по другим метрикам:

🔴 time — время выполнения только самой функции
🔴 calls — количество вызовов функции (может помочь найти «горячие» участки)

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔖 Чек-лист: как запускать Python в продакшене

Управление зависимостями

Используйте poetry или uv (очень быстрый, но пока нестабилен)
Настройте автообновление через `dependabot`
Проверяйте зависимости на уязвимости с помощью pip-audit и deptry

Качество кода

Используйте `ruff` как основной линтер (вместо flake8, pylint, autoflake, isort)
Добавьте проверку типов через pyright или flake8-annotations
Настройте `pre-commit` хуки — это поможет избежать ошибок ещё до коммита

Безопасность

Используйте GitGuardian, Gitleaks или Noseyparker для защиты от утечек секретов
Проверяйте лицензии зависимостей: licensecheck (например, избегайте GPL-библиотек)

Архитектура и поддержка

Для веб-сервисов используйте FastAPI + Gunicorn — производительность выше Flask в 3 раза
Используйте dataclass или pydantic для описания моделей данных
Избегайте threading, используйте asyncio или мультипроцессинг

Docker и деплой

Используйте многоступенчатые Docker-сборки
Избегайте alpine-образов Python — могут возникнуть проблемы с glibc
Если не нужен GPU — устанавливайте CPU-only версии библиотек (например, PyTorch)
Скачивайте внешние зависимости (модели spacy, transformers) на этапе сборки
Задайте переменные окружения:
  ENV TRANSFORMERS_OFFLINE=1  
ENV HF_HUB_OFFLINE=1


Компилируйте .pyc во время сборки для ускорения старта контейнера
Запускайте контейнеры от имени не-root пользователя:
  RUN groupadd -r appuser && useradd -r -g appuser appuser  
USER appuser


Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🫣 Устали от HR-сказок про «дружный коллектив» и «печеньки в офисе»?

Давайте честно поговорим о том, что действительно происходит на IT-рынке. Не в розовых презентациях, а в реальной жизни разработчиков, тестировщиков, аналитиков и всех, кто живет кодом.

🧐 Мы проводим исследование, чтобы выяснить:

— Как часто мы прыгаем между компаниями (и почему)
— Какие красные флаги заставляют бежать без оглядки
— Где реально находят работу
— Что бесит в HR больше всего
— Сколько кругов собеседований — это уже перебор

Результаты покажут реальную картину рынка. Без приукрашиваний. Может, компании поймут, что нужно менять, а специалисты — куда двигаться дальше.

😈 Опрос займет 5 минут, но результаты будут работать на всех нас → https://clc.to/9aaXVg
🎬 Что посмотреть, если хотите освоить Python с нуля

Если вы только начинаете учить Python или хотите освежить базу — это видео точно стоит вашего времени.

📚 Полный курс: от установки до продвинутых конструкций. Всё чётко, по делу и без воды.

🧑‍💻 Подходит новичкам, студентам, тем, кто переходит из других языков, и всем, кто хочет понять Python глубже.

Содержание:
0:00 — Введение
0:56 — Что такое Python
4:11 — Установка
5:36 — Интерпретатор и редакторы
8:49 — Первый Python-скрипт
14:26 — Линтинг и автоформат
22:51 — Запуск кода и имплементации
26:59 — Как выполняется Python-код
...и многое другое: переменные, строки, функции, условия, циклы, логика и даже мини-квизы для закрепления.

📌 Сохраняйте себе, чтобы не потерять: https://clc.to/jC0fHA

Библиотека питониста #буст
😵‍💫 Как правильно выбрать LLM для использования в агентских системах

Модели могут выдумывать факты, ссылаться на несуществующие источники и уверенно врать. Особенно часто это происходит при работе с редкими языками или специфическими тематиками.

Поэтому на первом занятии курса «AI-агенты для DS-специалистов» разберем, как с этим бороться. И это только первый из пяти уроков!

🔍 Выбор правильной модели
Не все LLM одинаково полезны. Обсудим квантизованные модели, instruct-версии и мультилингвальные решения. Узнаем, где больше галлюцинаций — в базовых моделях или после дообучения.

💰 Токенизация и стоимость
Разные языки «съедают» разное количество токенов. Покажем, как это влияет на цену API и почему русский текст может стоить дороже английского.

⚡️ Температура и Guardrails
Настройка temperature помогает контролировать креативность модели. А системы Guardrails — отсекать неподходящие ответы еще до генерации.

🧠 Память vs контекст
Казалось бы, зачем RAG, если есть модели с контекстом более 10М токенов? Но не все токены равнозначны. Разберем, когда внешние источники все еще нужны.

В конце создадим простых агентов на LangChain с подключением к внешним источникам и инструментам поиска — и у вас уже будет кейс по созданию собственного AI-агента.

👉 Присоединяйтесь к курсу — приятная цена действует до 14 июня!
🔐 10 хакерских скриптов на Python

Как насчёт того, чтобы заглянуть по ту сторону Python-разработки?

📌 В этом разборе — настоящие боевые техники, которые используют:
— самомодифицирующийся код
— перехват нажатий клавиш (keylogger)
— скрытые скриншоты экрана
— исполнение из RAM — без следов на диске
— маскировка под легитимные процессы
— обход антивирусов и мониторинга

⚠️ Всё — в образовательных целях. Эти приёмы помогают понять, как думает атакующий, и прокачать навыки кибербезопасности и защиты приложений.

👉 Подробнее в нашей новой статье: https://proglib.io/sh/Eu3Dm2GYbh

Библиотека питониста
#буст
🥴 Средний разработчик меняет работу каждые 1,5 года

И это не потому, что мы такие непостоянные. Просто рынок показывает свое истинное лицо быстрее, чем успевают напечатать визитки.

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

😳 О чем говорим откровенно:
— Job-hopping и что за этим стоит
— Red flags, которые мгновенно убивают мотивацию
— Реальные источники вакансий (не те, что рекламируют)
— Боль от общения с рекрутерами
— Сколько этапов отбора — норма, а сколько — издевательство

Когда мы объединим опыт сотен IT-специалистов, получится настоящая карта того, как устроена индустрия. Не по версии HR-отделов, а по версии тех, кто пишет код, тестирует продукты и двигает технологии вперед.

🚀 Участвовать в исследовании → https://clc.to/9aaXVg
Вам нравится читать контент на этом канале?

Возможно, вы задумывались о том, чтобы купить на нем интеграцию?

Следуйте 3 простым шагам, чтобы сделать это:

1) Нажмите на ссылку: Вход
2) Пополняйтесь удобным способом
3) Размещайте публикацию

Если тематика вашего поста подойдет нашему каналу, мы с удовольствием опубликуем его.
HTML Embed Code:
2025/06/29 12:23:52
Back to Top