Библиотека
Dash
предназначена для создания веб-приложений с интерактивными визуализациями данных.Основана на
Flask
(для серверной части), React
(для фронтенда) и Plotly
(для построения графиков).Основные особенности библиотеки:
Plotly
.Dash
легко развертывать на сервере или в облаке, что упрощает доступ к ним для конечных пользователей.pip install dash
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤🔥4🔥3
Библиотека
latexify
автоматически преобразует Python-функции и математические выражения в формат LaTeX. Это упрощает процесс создания математической документации или вывода выражений для использования в научных статьях, презентациях или других контекстах, где применяется LaTeX.Основные возможности библиотеки:
pip install latexify-py
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤🔥3👍1
Библиотека
Injector
предназначена для внедрения зависимостей. Это позволяет более гибко управлять зависимостями между компонентами приложения и улучшает тестируемость, модульность и поддержку кода.Основные особенности библиотеки:
pip install injector
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤🔥3🔥1🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Код для получения информации о стране по её коду на Python
Для получения информации о стране по её коду мы используем специальный API, а для работы с ним - библиотеку
➡️ Установка библиотеки:
➡️ Справочник Программиста. Подписаться
Для получения информации о стране по её коду мы используем специальный API, а для работы с ним - библиотеку
requests
.pip install requests
import requests
def get_country_info(country_code):
# Формируем URL для API с использованием кода страны
url = f"https://restcountries.com/v3.1/alpha/{country_code}"
response = requests.get(url) # Выполняем GET-запрос к API
# Проверяем, успешен ли запрос (код 200)
if response.status_code == 200:
# Преобразуем ответ в формат JSON
country_data = response.json()
# Проверяем, что данные - это список и он не пуст
if isinstance(country_data, list) and len(country_data) > 0:
# Получаем первую запись из списка данных о стране
country_info = country_data[0]
# Извлекаем общее название страны
name = country_info['name']['common']
# Извлекаем столицу, если она известна
capital = country_info['capital'][0] if 'capital' in country_info else 'Unknown'
# Извлекаем население, если оно известно
population = country_info['population'] if 'population' in country_info else 'Unknown'
# Извлекаем площадь, если она известна
area = country_info['area'] if 'area' in country_info else 'Unknown'
print(f"Страна: {name}") # Выводим название страны
print(f"Столица: {capital}") # Выводим столицу страны
print(f"Население: {population}") # Выводим население страны
print(f"Площадь: {area} квадратных километров") # Выводим площадь страны в квадратных километрах
else:
# Сообщаем об ошибке, если данные отсутствуют
print(f"Ошибка: Не удалось получить информацию для кода страны {country_code}")
else:
# Сообщаем об ошибке, если запрос не успешен
print(f"Ошибка: Не удалось получить информацию для кода страны {country_code}")
# Вызываем функцию для получения информации о стране с кодом 'IT' (Италия)
get_country_info('IT')
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤🔥2
TextSnatcher
— это утилита, которая предназначена для захвата и распознавания текста из скриншотов. Использует OCR (оптическое распознавание символов), чтобы анализировать изображения и извлекать текст.Основной функционал
TextSnatcher
позволяет пользователям делать снимки экрана, после чего текст в изображении обрабатывается с помощью библиотек, таких как Tesseract
.Основные особенности:
# clone repository
git clone https://github.com/RajSolai/TextSnatcher.git TextSnatcher
# cd to dir
cd TextSnatcher
# run meson
meson build --prefix=/usr
# cd to build, build and test
cd build
sudo ninja install && com.github.rajsolai.textsnatcher
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤🔥3👍2
Библиотека
Qiskit
предназначена для работы с квантовыми вычислениями.Предоставляет инструменты для создания, выполнения и симуляции квантовых алгоритмов на реальных квантовых компьютерах и их симуляторах.
Основные компоненты библиотеки:
pip install qiskit
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤🔥2🔥2🤔2
Библиотека
Hupper
предназначена для автоматической перезагрузки процесса во время разработки.Наблюдает за файлами в проекте и автоматически перезапускает приложение, когда в коде происходят изменения.
Основные возможности библиотеки:
pip install hupper
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤🔥3🔥2
Ankigen
— это утилита, основанная на Gradio, которая использует большие языковые модели (LLM) для генерации CSV-файлов, совместимых с Anki, на основе заданных пользователем тем и предпочтений.Основные особенности:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3👍3🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Для получения изображений мы будем использовать Pexels API. Получить API key можно на официальном сайте (это бесплатно, дело 5 секунд).
Для обращения к API в коде используется библиотека
requests
.pip install
requests
import requests
# Указываем API-ключ для доступа к Pexels
API_KEY = "YOUR_PEXELS_API_KEY"
# Определяем базовый URL для поиска изображений в Pexels
BASE_URL = "https://api.pexels.com/v1/search"
def search_images(query, per_page=10, page=1):
"""
Функция для поиска изображений на Pexels по ключевому слову.
:param query: Ключевое слово для поиска.
:param per_page: Количество изображений на странице (макс. 80).
:param page: Номер страницы результатов.
:return: Список ссылок на изображения.
"""
headers = {
"Authorization": API_KEY # Устанавливаем заголовок авторизации с API-ключом
}
params = {
"query": query, # Ключевое слово для поиска изображений
"per_page": per_page, # Количество изображений на странице
"page": page # Номер страницы результатов
}
# Отправляем GET-запрос к API Pexels
response = requests.get(BASE_URL, headers=headers, params=params)
# Проверяем, успешен ли запрос (код 200)
if response.status_code == 200:
# Преобразуем ответ в формат JSON
data = response.json()
# Извлекаем список фотографий из ответа
photos = data.get("photos", [])
# Получаем ссылки на изображения среднего размера
image_urls = [photo["src"]["medium"] for photo in photos]
# Возвращаем список ссылок на изображения
return image_urls
else:
# Выводим сообщение об ошибке, если запрос не успешен
print(f"Ошибка: {response.status_code}")
# Возвращаем пустой список в случае ошибки
return []
# Пример использования
# Ищем изображения по запросу "hacker", ограничивая до 5 изображений
images = search_images("hacker", per_page=5)
print("Найденные изображения:")
# Проходим по всем найденным ссылкам на изображения
for img_url in images:
# Выводим каждую ссылку на изображение
print(img_url)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3🔥3
Библиотека
h11
предназначена для работы с протоколом HTTP/1.1 на низком уровне.Реализует HTTP без использования сокетов или сетевых операций, что позволяет работать с сетевым кодом более детально и настраиваемо. Обрабатывает только логику протокола HTTP/1.1, оставляя все сетевые операции на усмотрение пользователя.
Основные особенности библиотеки
h11
— это библиотека для построения синхронных и асинхронных HTTP-клиентов и серверов с нуля, без каких-либо дополнительных зависимостей, отвечающих за сокеты или события.h11
сама по себе не асинхронная, она отлично интегрируется с asyncio
, trio
или curio
, так как не накладывает ограничений на способ работы с сокетами.pip install h11
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤🔥2👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Для удаления метаданных из Word-документа в коде используется модуль
zipfile
.import zipfile
def remove_docx_metadata(doc_path):
# Создаём имя для нового документа без метаданных
cleaned_doc_path = f"cleaned_{doc_path}"
# Открываем исходный .docx файл как zip-архив для чтения и создаём новый zip-архив для записи
with zipfile.ZipFile(doc_path, 'r') as src, zipfile.ZipFile(cleaned_doc_path, 'w') as dst:
# Проходимся по всем элементам в исходном архиве
for item in src.infolist():
# Проверяем, не является ли элемент метаданными, которые нужно удалить
if item.filename not in ["docProps/core.xml", "docProps/app.xml", "docProps/custom.xml"]:
# Если элемент не является метаданными, записываем его в новый архив
dst.writestr(item, src.read(item.filename))
# Выводим сообщение о том, что документ сохранён без метаданных
print(f"Документ сохранён без метаданных: {cleaned_doc_path}")
# Указываем путь к исходному документу .docx
doc_path = 'example.docx'
# Вызываем функцию для удаления метаданных из указанного документа
remove_docx_metadata(doc_path)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍3❤🔥2😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека
Toga
предназначена для создания графических интерфейсов (GUI) и входит в проект BeeWare.Позволяет писать кросс-платформенные приложения, поддерживающие операционные системы Windows, macOS, Linux, Android и iOS.
Основные особенности библиотеки:
pip install toga
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤🔥5🔥1
git-fame
— это утилита на Python, предназначенная для анализа и визуализации вклада участников в репозитории Git.Позволяет пользователям получать информацию о том, кто и сколько внес в проект, что может быть полезно для оценки вклада команды или отдельных разработчиков.
Основные возможности:
pip install git-fame
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5👍4🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека
Pygments
предназначена для подсветки синтаксиса. Позволяет легко интегрировать подсветку кода в приложения\веб-сайты, что делает код более читаемым и визуально привлекательным.Основные особенности библиотеки:
pip install Pygments
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5🔥4
Кэширование значения свойства в классе Python
Рассмотрим пример использования декоратора
🔍 Как это работает?
🔵 Мы создаем класс
🔵 При первом обращении к result выполняются "дорогие" вычисления, и результат кэшируется.
🔵 При последующих обращениях результат возвращается из кэша, а повторные вычисления больше не выполняются. Это значительно повышает производительность!
💡 Почему стоит использовать?
Используйте
➡️ Установка необходимой библиотеки:
➡️ Справочник Программиста. Подписаться
Рассмотрим пример использования декоратора
cachedproperty
из модуля boltons.cacheutils
для кэширования результатов дорогостоящих вычислений. Это поможет избежать повторных расчетов и сэкономить время!from boltons.cacheutils import cachedproperty
class ExpensiveComputation:
def __init__(self, value):
self.value = value
@cachedproperty
def result(self):
# Имитация дорогих вычислений
print("Выполняются дорогостоящие вычисления...")
return self.value ** 2
comp = ExpensiveComputation(5)
print(comp.result) # Выполняются дорогостоящие вычисления... 25
print(comp.result) # 25 (вычисление не повторяется)
ExpensiveComputation
, который принимает значение.Используйте
cachedproperty
, когда вам нужно проводить тяжёлые вычисления, которые не меняются в течение жизненного цикла объекта. Это позволяет делать код более эффективным и быстрым!pip install boltons
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤🔥3🔥2🤔2