This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека
tkintermapview
предоставляет виджет для отображения карт в приложениях, разработанных с использованием tkinter
. Позволяет интегрировать карты на основе OpenStreetMap.Основные возможности библиотеки:
import tkinter as tk
from tkintermapview import TkinterMapView
# Создание главного окна
root = tk.Tk()
root.title("Пример TkinterMapView")
# Создание виджета карты
map_view = TkinterMapView(root, width=800, height=600, corner_radius=0)
map_view.pack(fill="both", expand=True)
# Установка начального местоположения и уровня масштабирования
map_view.set_position(55.030204, 82.920430) # Новосибирск
map_view.set_zoom(10)
# Добавление маркера
map_view.set_marker(55.030204, 82.920430, "Новосибирск")
# Запуск главного цикла приложения
root.mainloop()
pip install tkintermapview
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍5❤🔥3
Библиотека
vectorlite-py
предназначена для быстрого поиска векторов в базе данных SQLite.Позволяет выполнять эффективные запросы для поиска ближайших соседей по векторам, что полезно в задачах, связанных с рекомендательными системами, поисковыми движками и машинным обучением.
Основные возможности библиотеки:
vector_distance()
может выполнять точный поиск путем сравнения расстояний между векторами, используя такие метрики, как косинусное расстояние и расстояние L2.pip install vectorlite-py
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍3❤🔥2
Обширная коллекцию алгоритмов и структур данных, реализованных на Python.
Данный проект охватывает множество тем и концепций, что делает его полезным как для начинающих программистов, так и для более опытных разработчиков.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥4🔥4👍2
Media is too big
VIEW IN TELEGRAM
PyUIBuilder
- интуитивно понятный конструктор графического интерфейса для Python, который позволяет создавать пользовательские интерфейсы с помощью методов перетаскивания и размещения элементов.Поддерживает несколько фреймворков, включая
Tkinter
, CustomTkinter
и Kivy
(в будущем также планируется поддержка PySide
).Основные функции:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤🔥6🔥6
Ibis
- это библиотека для аналитики данных в Python, предназначенная для упрощения работы с большими данными и абстрагирования сложности различных систем управления базами данных (СУБД).Её основная цель предоставить высокоуровневый интерфейс для написания запросов к базам данных в Python с использованием синтаксиса, напоминающего
Pandas
.Основные особенности библиотеки:
Pandas
, что значительно упрощает работу с большими данными, не заставляя разработчика вручную писать SQL-запросы.execute()
), запрос отправляется в базу данных.pip install 'ibis-framework[duckdb,examples]'
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍3❤🔥2
Библиотека
Boltons
предоставляет набор модулей с утилитами и функциями для повседневной разработки. Cодержит коллекцию функций и классов, которые можно рассматривать как расширение стандартной библиотеки Python.Особенностью
Boltons
является то, что она не привносит новых зависимостей и сосредоточена на предоставлении простых и удобных инструментов.Преимущества библиотеки:
pip install boltons
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤🔥2👍1
Библиотека
logfire
разработана для удобного и структурированного логирования. Предназначена для работы с библиотекой Pydantic и позволяет автоматически генерировать лог-сообщения из классов Pydantic
.Основные возможности библиотеки:
Pydantic
. Это упрощает процесс логирования, поскольку вам не нужно вручную добавлять поля в каждое сообщение.logging
, что позволяет использовать его в уже существующих проектах без необходимости полной переработки логирования.Pydantic
, logfire
обеспечивает строгую типизацию данных, что помогает избежать ошибок и улучшает читаемость кода.pip install logfire
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥6👍3🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
В программировании часто возникает необходимость в создании временных файлов, которые используются для промежуточного хранения данных, а затем автоматически удаляются после завершения работы. В Python мы можем упростить эту задачу с помощью контекстных менеджеров.
Для создания временных файлов в коде используется модуль
tempfile
, для создания контекстного менеджера - contextlib
, а для работы с файловой системой и удаления файла - pathlib
.import tempfile
from contextlib import contextmanager
from pathlib import Path
import time
@contextmanager
def temporary_file(suffix='', prefix='tmp', dir=None):
temp_file = tempfile.NamedTemporaryFile(suffix=suffix, prefix=prefix, dir=dir, delete=False)
try:
# Возвращаем имя временного файла
yield temp_file.name
finally:
# Закрываем файл перед удалением
temp_file.close()
time.sleep(5)
try:
# Используем unlink() для удаления файла
Path(temp_file.name).unlink()
except OSError as e:
print(f"Ошибка при удалении файла {temp_file.name}: {e}")
# Пример использования
if __name__ == "__main__":
with temporary_file(suffix='.txt') as temp_file_name:
print(f"Создан временный файл: {temp_file_name}")
# Работа с временным файлом
try:
with open(temp_file_name, 'w', encoding='utf-8') as f:
f.write("Привет, мир!")
except Exception as e:
print(f"Ошибка при записи в файл {temp_file_name}: {e}")
print("Временный файл удалён автоматически.")
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍4❤🔥2
Библиотека
fpdf2
— это инструмент для создания PDF-документов программным способом. Является обновлённой и расширенной версией оригинальной библиотеки FPDF, которая долгое время использовалась для тех же целей.В отличие от других библиотек, таких как
ReportLab
, fpdf2
фокусируется на простоте использования и лёгкости в освоении.Основные возможности библиотеки:
from fpdf import FPDF
# Создаём PDF-документ
pdf = FPDF()
pdf.add_page()
# Устанавливаем шрифт
pdf.set_font("helvetica", size=12)
# Добавляем текст
pdf.cell(200, 10, text="Hello, World!", align='C')
# Сохраняем PDF
pdf.output("hello_world.pdf")
pip install fpdf2
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤🔥2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека
stumpy
предназначена для вычисления матричных профилей и анализа временных рядов с использованием алгоритмов, оптимизированных для высокой производительности.Особенно полезна для обнаружения паттернов, аномалий и сегментации временных рядов.
Основные функции библиотеки:
stumpy
эффективно ищет такие уникальные аномалии, что важно для задач мониторинга и прогнозирования.pip install stumpy
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥6🔥4
Piccolo
— это легковесный ORM (Object-Relational Mapper) для Python, который упрощает работу с базами данных. Был разработан для того, чтобы предоставлять интуитивно понятный и быстрый интерфейс для взаимодействия с базами данных, при этом оставаясь производительным и гибким.Основные особенности:
FastAPI
и Starlette
, которые также поддерживают асинхронные вызовы.FastAPI
, Sanic, Tornado, и может использоваться с библиотеками для тестирования, например, pytest
.pip install 'piccolo[postgres]'
pip install 'piccolo[sqlite]'
pip install 'piccolo[all]'
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤🔥2
Media is too big
VIEW IN TELEGRAM
Код для преобразования изображений из указанной папки в один PDF-файл на Python
Для преобразования изображений из указанной папки в один PDF-файл в коде используются библиотеки
➡️ Установка библиотек:
➡️ Справочник Программиста. Подписаться
Для преобразования изображений из указанной папки в один PDF-файл в коде используются библиотеки
pathlib
, Pillow
и fpdf
.pip install Pillow fpdf2
from pathlib import Path
from PIL import Image, UnidentifiedImageError
from fpdf import FPDF
def images_to_pdf(image_folder, output_pdf):
# Создаем объект пути к папке с изображениями
image_folder_path = Path(image_folder)
# Создаем новый объект PDF
pdf = FPDF()
# Проверяем, существует ли указанная папка и является ли она директорией
if not image_folder_path.exists() or not image_folder_path.is_dir():
raise FileNotFoundError(f"Папка '{image_folder}' не найдена или не является директорией.")
# Проходимся по каждому файлу в папке
for image_file in image_folder_path.iterdir():
# Проверяем, является ли элемент файлом и имеет ли он нужное расширение
if image_file.is_file() and image_file.suffix.lower() in {'.jpg', '.jpeg', '.png'}:
try:
# Пытаемся открыть изображение
with Image.open(image_file) as img:
img_width, img_height = img.size # Получаем размеры изображения
# Рассчитываем масштабирование для страницы
pdf.add_page() # Добавляем новую страницу в PDF
# Вставляем изображение в PDF с подогнанными размерами
pdf.image(str(image_file), x=0, y=0, w=210, h=(210 * img_height / img_width))
except UnidentifiedImageError:
# Предупреждение, если файл не является изображением
print(f"Предупреждение: Файл {image_file} не является допустимым изображением и будет пропущен.")
except Exception as e:
# Обрабатываем любые другие ошибки при обработке файла
print(f"Ошибка при обработке файла {image_file}: {e}")
# Если ни одной страницы не было добавлено, выводим ошибку
if pdf.page_no() == 0:
raise ValueError("Не удалось найти ни одного изображения для добавления в PDF.")
# Сохраняем PDF-файл с указанным именем
pdf.output(str(output_pdf))
print(f"PDF-файл успешно создан: {output_pdf}")
# Пример использования функции
image_folder = 'images' # Папка с изображениями
output_pdf = 'output.pdf' # Имя выходного PDF-файла
try:
images_to_pdf(image_folder, output_pdf)
except (FileNotFoundError, ValueError) as e:
# Обработка ошибок: если папка не найдена или нет изображений для обработки
print(f"Ошибка: {e}")
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤🔥3👍3