Python RU
13K subscribers
993 photos
88 videos
40 files
1.25K links
Все для python разработчиков

админ - @notxxx1

@python_job_interview - Python собеседования

@ai_machinelearning_big_data - машинное обучение

@itchannels_telegram - 🔥лучшие ит-каналы

@programming_books_it - it книги

@pythonl

РКН: clck.ru/3Fmy2j
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Используй tenacity для Retry с экспоненциальной задержкой в Python!

Сохрани себе: для повторных попыток (retry) с экспоненциальной задержкой в Python можно использовать библиотеку tenacity. Это удобно для работы с нестабильными API, так как она позволяет легко настраивать количество попыток, задержку и её увеличение при каждой неудаче.


import requests
from tenacity import retry, wait_exponential
@retry(wait=wait_exponential(multiplier=1, min=2, max=10), stop=stop_after_attempt(5))
def fetch_data(url):
response = requests.get(url)
response.raise_for_status() # Вызывает исключение для ошибок 4xx/5xx
return response.json()
data = fetch_data("https://example.com/api/data")
print(data)
4👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Используй декоратор для отслеживания времени выполнения функций.

Для точного измерения времени выполнения различных частей вашего кода используйте time.perf_counter(), который обеспечивает более высокую точность. Создайте декоратор для автоматического отслеживания времени выполнения функций. Это поможет быстро выявить узкие места в вашем коде.



import time
def time_tracker(func):
def wrapper(*args, **kwargs):
start_time = time.perf_counter()
result = func(*args, **kwargs)
end_time = time.perf_counter()
duration = end_time - start_time
print(f"Функция '{func.__name__}' выполнилась за {duration:.6f} секунд")
return result
return wrapper
@time_tracker
def slow_function():
time.sleep(2)
slow_function()
4🔥2👍1
🖥 Большинство “парсеров” умирают через 2 дня.
Ты научишься делать те, которые живут в проде.

Это не про BeautifulSoup ради галочки.
Это про системы сбора данных, которые:

• не падают от мелких правок на сайте
• собирают данные в разы быстрее
• обновляют всё сами по расписанию
• обходят ограничения и баны
• выглядят как сервис, а не хаос из файлов

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

В итоге ты сможешь:

• забирать данные для своих проектов
• автоматизировать чужую рутину
• делать инструменты для аналитики
• брать коммерческие заказы на сбор данных

Это навык, который напрямую превращается в деньги.
Не “знаю Python”, а умею добывать данные из интернета профессионально.

🎁 48 часов скидка 50% на Stepik: https://stepik.org/a/269942/
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ Файлы по 10 ГБ - Python всё ещё справится, если не грузить всё в память

Главная ошибка новичка - сделать read() и удивляться, почему всё упало. Для больших файлов думай потоками: читаем кусками, обрабатываем по строкам, пишем сразу в новый файл. Так память почти не растёт, а код спокойно переваривает десятки гигабайт.

Что использовать:

Итерацию по строкам - файл читается лениво

Буферизацию - чтобы не делать миллион мелких операций записи

Потоковую запись - результат сразу на диск

gzip на лету - читаем и пишем сжатые файлы без распаковки в RAM



import gzip

src = "big.log.gz"
dst = "filtered.log.gz"

with gzip.open(src, "rt", encoding="utf-8", errors="ignore") as fin,
gzip.open(dst, "wt", encoding="utf-8") as fout:
for line in fin: # ленивое чтение строк
if "ERROR" in line: # любая ваша фильтрация
fout.write(line) # потоковая запись на диск

fout.write("\n") # просто пример финальной записи
fout.write("done\n")
3🔥3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
🌟 DOCKER КАК НАСТРОИТЬ ПЕРЕД КАЖДЫМ ПРОЕКТОМ

Совет - Docker: настраивай окружение ДО начала проекта, а не когда всё уже «почти готово».

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

Правильный подход - сначала контейнерная база, потом разработка.

Выбирай лёгкий базовый образ без лишнего мусора, фиксируй зависимости отдельным слоем, обязательно делай .dockerignore, чтобы не тащить в образ кэш и хлам.

Сразу разделяй dev и prod конфигурации, используй docker-compose даже если сервис один, не храни секреты в Dockerfile и добавляй HEALTHCHECK, чтобы контейнер считался «живым» только когда реально работает приложение.

Docker - это фундамент проекта, а не финальный штрих.


Dockerfile (база для Python-проекта)

FROM python:3.12-slim

WORKDIR /app

Сначала зависимости — кеш будет работать правильно

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

Потом код

COPY . .

EXPOSE 8000

HEALTHCHECK CMD curl --fail http://localhost:8000/health
|| exit 1

CMD ["python", "app.py"]

.dockerignore

.git
pycache
venv
node_modules
*.log

docker-compose.yml

version: "3.9"
services:
app:
build: .
ports:
- "8000:8000"
env_file:
- .env


- https://www.youtube.com/shorts/1q4ceKg1wAA
👍4🔥3😁1
🔥 Бесплатный интенсив по ChatGPT и созданию НЕЙРОСТРУДНИКОВ без опыта программирования🔥

Вы узнаете, как использовать ChatGPT в профессиональных целях, создавать нейросотрудников на заказ и зарабатывать на ИИ от 150.000р в месяц.

Простое понимание основ, без сложного кода!

Что будет на интенсиве?
🧬 Теория: как создаются нейро-сотрудники с GPT на Python
🧬 Практика: мы создадим нейро-консультанта, нейро-HR, нейро-маркетолога и др.

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

Ведущий интенсива - Senior AI-разработчик нейросетей с 2003 года и основатель Университета искусственного интеллекта - Дмитрий Романов.

🤖Присоединяйтесь к нашему бесплатному интенсиву и разберитесь в этой увлекательной теме с нами!
👎32
This media is not supported in your browser
VIEW IN TELEGRAM
Обработка исключений при работе с API в Python

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


import requests
def fetch_data(url):
try:
response = requests.get(url)
response.raise_for_status() # Проверка на HTTP ошибки
return response.json() # Возвращаем данные в формате JSON
except requests.exceptions.HTTPError as http_err:
print(f"HTTP error occurred: {http_err}")
except requests.exceptions.ConnectionError:
print("Connection error occurred. Please check your internet connection.")
except json.JSONDecodeError:
print("Error decoding JSON response.")
except Exception as err:
print(f"An error occurred: {err}")
data = fetch_data("https://api.example.com/data")
2👍2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ Дай ИИ реальную задачу с собеседования - и покажи, как быстро он её решает.

Это ломает людям представление о сложности задач. Формат простой: сначала условие на экране, потом включается таймер, ты отправляешь задачу модели, и через пару секунд уже показываешь готовое решение.

Такой контраст "человек думает 20 минут - ИИ думает 3 секунды" вызывает вау-эффект и отлично удерживает внимание. Главное - бери задачу, которую зрители узнают: строки, словари, алгоритмы, обработка данных.

import time

def interview_task(nums):
# Классическая задача: найти два числа, дающих нужную сумму
target = 9
seen = {}

for i, num in enumerate(nums):
diff = target - num
if diff in seen:
return seen[diff], i
seen[num] = i

# Имитация "ИИ думает"
print("Задача отправлена ИИ...")
start = time.time()

result = interview_task([2, 7, 11, 15])

end = time.time()
print("Ответ ИИ:", result)
print("Время решения:", round(end - start, 3), "сек")
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔21
🔥 Полезная подборка каналов только код, практика и самые передовые инструменты, которые используют разработчики прямо сейчас.👇

🖥 Машинное обучение : t.me/machinelearning_interview

🖥 ИИ: t.me/ai_machinelearning_big_data

🖥 Python: t.me/pythonl

🖥 Linux: t.me/linuxacademiya

🖥 C++ t.me/cpluspluc

🖥 Docker: t.me/DevopsDocker

🖥 Хакинг: t.me/linuxkalii

🖥 Devops: t.me/DevOPSitsec

👣 Golang: t.me/Golang_google

🖥 Javascript: t.me/javascriptv

🖥 C#: t.me/csharp_ci

🖥 Java: t.me/javatg

🖥 Базы данных: t.me/sqlhub

👣 Rust: t.me/rust_code

🤖 Технологии: t.me/machineint

💰 Экономика и инвестиции в ИИ t.me/financeStable

💼 Актуальные вакансии: t.me/addlist/_zyy_jQ_QUsyM2Vi

🖥 Chatgpt бот в тг: t.me/Chatgpturbobot

📚 Бесплатные ит-книги: https://xn--r1a.website/addlist/HwywK4fErd8wYzQy

🖥Подборка по Golang: https://xn--r1a.website/addlist/MUtJEeJSxeY2YTFi

⚡️ Лучшие ИИ ресурсы: https://xn--r1a.website/addlist/2Ls-snqEeytkMDgy

Самое лучшее в этом: ты учишься даже тогда, когда “нет времени, просто потому что читаешь правильную ленту.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Извините, готов рассматривать офферы только от 3000$
😁7🔥5
Forwarded from Machinelearning
⚡️ Вышла Z-Image Base.

Tongyi выложила фундаментальную версию модели семейства Z-Image.

В отличие от ранее выпущенной Turbo, это полновесный трансформер, ориентированный на максимальное качество и управляемость генерации .

Z-Image отлично подходит для дообучения, тренировки LoRA и интеграции с ControlNet.

Модель поддерживает CFG и работу с негативными промптами, генерируя результат за 28–50 шагов.


📌Лицензирование:  Apache 2.0 License.


🟡Модель
🟡Демо HF
🟡Демо ModelScope
🟡Archive
🟡ComfyUI WorkFlow
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #Diffusion #ZImage #Tongyi
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍1👎1
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ Найди любого человека в файлах Эпштейна с помощью Python!

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

Инструмент анализирует список имён (например, из LinkedIn) и ищет точные совпадения в опубликованных судебных материалах. В результате вы получаете удобный HTML-отчёт со всеми найденными упоминаниями.

Что умеет:

- Поиск по базе судебных документов
- Сортировка упоминаний по количеству
- Генерация наглядного HTML-отчёта
- Работа с файлами контактов (CSV)

Проверь своего друга, не был ли он замечен на печально известном острове.


Клонируем репозиторий
git clone https://github.com/cfinke/EpsteIn.git
cd EpsteIn

Установка зависимостей
pip install -r requirements.txt

Подготовьте CSV-файл с именами (по одному имени в строке)
example.csv:
Oleg Petrov
Nikolay Sobolev

Запуск анализа
python epstein.py example.csv

После выполнения будет создан HTML-отчет с найденными совпадениями


https://github.com/cfinke/EpsteIn
3👍2👎1😁1