Python_BE1
9 subscribers
748 photos
252 videos
7 files
672 links
Канал по Python, полезный и интересный контент для всех уровней.
По вопросам сотрудничества @cyberJohnny
Download Telegram
Что будет, если передать в качестве индекса для ice_cream_flavors более короткий индекс days_of_week?
@python_be1
🖥 DeepGit: Repo Discovery — это открытый AI-инструмент, который помогает находить полезные репозитории на GitHub с помощью семантического поиска.

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

Ключевые возможности:
Семантическая проверка: ищет не просто по ключевым словам, а «понимает» содержание.
Многогранный анализ: учитывает не только код, но и документацию, активность и отзывы сообщества.
GitHub-интеграция: фокусируется на данном экосистемном источнике, упрощая отбор качественных проектов.

🖥 GitHub: https://github.com/zamalali/DeepGit
@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
Newspaper4k — мощная библиотека на Python для парсинга и анализа новостных статей. Это обновленный форк популярной Newspaper3k, дополненный новыми функциями и поддержкой более 40 языков.

https://github.com/AndyTheFactory/newspaper4k
@python_be1
🕊️ Namsor - это ИИ для анализа имен собственных с лингвистическим интеллектом. Причем это не просто классификатор, а инструмент с глубоким пониманием культурных и лингвистических контекстов.

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

Технология особенно востребована в CRM-системах, соцсетях и базах данных, где критична корректная интерпретация имен.

🔗 Ссылка - *клик* (https://namsor.app/)
@python_be1
Что можно увидеть в sys.path в Python 3.X?

@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 reloading: перезагрузка кода без потери состояния

reloading — это удобный инструмент для Python, который позволяет автоматически перезагружать тело цикла или функцию из исходного кода на каждой итерации, не теряя состояние.

🔹 Когда полезно?

— При обучении нейросетей, когда нужно изменять код на лету без остановки процесса.
— Для добавления логов, сохранения модели, изменения статистики во время работы.
— В других сценариях, где требуется динамическое обновление кода.

@python_be1
🐍 Задача по Python: Замыкания и области видимости

Что выведет следующий код?

Варианты ответа:
A)7 8
B) 5 5
C) 6 6
D) Ошибка выполнения

---

Правильный ответ:
Почему:
Функция outer создаёт замыкание. Переменная x сохраняется между вызовами f, потому что inner — замыкает x и изменяет её с помощью nonlocal. Это классический пример использования замыканий в Python.

@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 STUMPY — мощная библиотека Python для анализа временных рядов

— pip install stumpy

STUMPY — это масштабируемая библиотека для анализа временных рядов, которая позволяет решать многие задачи анализа временных рядов, вот некоторые из них:

— обнаружение паттернов

— обнаружение аномалий/выбросов

— обобщение и аппроксимация данных временных рядов

https://github.com/TDAmeritrade/stumpy

@python_be1
Строковый метод translate позволяет заменять (или удалять) несколько символов строки за один проход. (Похоже на множественные вызовы метода replace.)

import string

s = "Hello, world!"
print(s.translate(str.maketrans("", "", string.punctuation)))
# Hello world

Строковый метод translate ожидает «таблицу перевода», которую мы создаем с помощью вспомогательного метода класса maketrans.

Третий аргумент (string.punctuation в примере) — это строка символов, которые мы хотим удалить.

Значение string.punctuation (на которое указывает стрелка):
!'#$%&\'()*+,-./:;<=>?@[\\]^_{|}~`
Суть шпаргалки: Она показывает, как эффективно удалить все стандартные знаки препинания из строки в Python, используя комбинацию методов str.maketrans для создания "инструкции" по удалению и str.translate для применения этой инструкции к строке.

@python_be1
Узнаем расстояние между городами

Геодезическое расстояние — это длина кратчайшего пути между двумя точками на любой поверхности Земли. В следующем примере мы покажем, как пользователь может вычислить геодезическое расстояние на основе данных широты и долготы.

В нашем примере мы узнаем, что расстояние между городами Нью-Йорк и Техас 2507 километров.

@python_be1
Если жена квантовик то всё поровну

@python_be1
🔍 Основные нововведения в Django 5.2

1. 📦 Автоматический импорт моделей в интерактивной оболочке
Теперь при запуске команды python manage.py shell все модели из установленных приложений автоматически импортируются.

Это упрощает работу в интерактивной оболочке, позволяя сразу использовать модели без необходимости ручного импорта. Для получения подробностей об импортированных объектах можно использовать флаг -v 2.​

2. 🔗 Поддержка составных первичных ключей
Django 5.2 вводит нативную поддержку составных первичных ключей через класс CompositePrimaryKey. Это позволяет создавать таблицы с первичным ключом, состоящим из нескольких полей, без необходимости использования сторонних решений.​

3. 🧩 Гибкая настройка BoundField в формах
Теперь можно переопределять класс BoundField на уровне проекта, формы или отдельного поля, устанавливая атрибут bound_field_class. Это предоставляет разработчикам более тонкий контроль над отображением и поведением форм.​

4. Расширенная асинхронная поддержка
Django продолжает движение в сторону асинхронности, добавляя новые асинхронные методы и улучшая реализацию бэкендов аутентификации. Это особенно полезно для операций, связанных с вводом-выводом, и способствует созданию более производительных приложений.​

5. 🎨 Новые виджеты форм и улучшения интерфейса
Добавлены новые виджеты форм, такие как ColorInput, SearchInput и TelInput, соответствующие стандартам HTML5. Также улучшена доступность форм для пользователей с особыми потребностями.​
Bastaki Software Solutions L.L.C-FZ

6. 🗃️ Улучшения в работе с базой данных
Поддержка изогнутых геометрий в GDAL, включая CurvePolygon, CompoundCurve, CircularString, MultiSurface и MultiCurve.

По умолчанию соединения с MySQL используют кодировку utf8mb4 вместо устаревшей utf8mb3.

Улучшена работа методов values() и values_list(), теперь они генерируют SELECT-запросы в указанном порядке.​

🔧 Совместимость и поддержка
Django 5.2 поддерживает Python версий 3.10–3.13.

С выходом этой версии, основная поддержка Django 5.1 завершена. Последний минорный релиз 5.1.8, также содержащий обновления безопасности, был выпущен одновременно с 5.2.

Django 5.0 достиг конца расширенной поддержки. Последний релиз безопасности, 5.0.14, также был выпущен сегодня. Рекомендуется обновиться до версии 5.1 или более новой.

📥 Обновление и ресурсы
Загрузить Django 5.2 можно с официальной страницы загрузки или через PyPI.

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

Для автоматического обновления кода и устранения устаревших конструкций можно использовать инструмент django-upgrade.​
Django Project

Django 5.2 предлагает множество улучшений, направленных на упрощение разработки и повышение производительности приложений. Рекомендуется ознакомиться с новыми возможностями и планировать обновление своих проектов для использования всех преимуществ этой версии.

📌 Релиз (https://adamj.eu/tech/2025/04/07/django-whats-new-5.2/)

@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Python на скорости Rust

Новый Function (fxn) — фреймворк, который компилирует Python-функции в нативный код с производительностью, сравнимой с Rust.

🧠 Как это работает?
- Использует символическое трассирование на CPython для анализа функций
- Генерирует промежуточное представление (IR)
- Транслирует IR в C++ или Rust, а затем компилирует в бинарный код
- Поддерживает платформы: Linux, Android, WebAssembly и др.

📦 Пример:
@compile (https://vk.com/club41774388)
def fma(x: float, y: float, z: float) -> float:
return x * y + z
После компиляции вы получаете нативный бинарник, который можно запускать без интерпретатора Python.

🔗 Подробнее (https://blog.fxn.ai/python-at-the-speed-of-rust/)
🔗 Github (https://github.com/olokobayusuf/)



#Python #Rust #fxn #Compiler #Performance #AI #ML #Wasm

@python_be1
🚀 13 Docker‑трюков с примерами и пояснениями 1\\. Multi\\-stage builds
``` FROM golang:1.22 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp .
FROM alpine:3.20
COPY —from=builder /app/myapp /usr/local/bin/
ENTRYPOINT ["myapp"] ```
Минимизирует размер и зависимости. 2\\. Squash layers
``` docker build —squash -t myapp:latest . ```
Сжимает слои в один. 3\\. BuildKit secrets
``` RUN —mount=type=secret,id=token git clone git@github.com:corp/private.git ```
Безопасное использование ключей. 4\\. .dockerignore
``` node_modules
*.md ```
Ускоряет сборку, снижает риск. 5\\. HEALTHCHECK
``` HEALTHCHECK CMD curl -f http://localhost/healthz || exit 1 ```
Контейнер сам сообщает, что он жив. 6\\. CLI —format
``` docker ps —format '{{.Names}}\t{{.Status}}' ```
Удобный вывод для скриптов. 7\\. Оптимизация Dockerfile
``` COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . . ```
Стабильные шаги выше — быстрее кеш. 8\\. Лимиты ресурсов
``` docker run —cpus=1 —memory=512m app ```
Ограничивает потребление ресурсов. 9\\. docker events
``` docker events —filter type=container —filter event=start ```
Реагируйте на события демона. 10\\. Read-only
``` docker run —read-only —tmpfs /tmp app ```
Файловая система только для чтения. 11\\. docker system prune
``` docker system prune -a —volumes ```
Удаляет всё ненужное. 12\\. ENTRYPOINT override
``` docker run —entrypoint /bin/sh -it app ```
Отладка падающих контейнеров. 13\\. Docker contexts
``` docker context create prod —docker "host=ssh://user@host"
docker context use prod ```
Быстрое переключение между окружениями.

@python_be1