Справочник Программиста
6.24K subscribers
1.41K photos
390 videos
64 files
1.77K links
По рекламе - @it_start_programmer
Мои курсы - @courses_from_it_start_bot
Сайт - https://it-start.online/
YouTube - https://www.youtube.com/@it_start
Реклама на бирже - https://telega.in/c/programmersGuide_1

Предложить идею: @it_start_suggestion_bot
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
👀 Библиотека apsw в Python

Библиотека apsw (Another Python SQLite Wrapper) предназначена для работы с SQLite в Python. Предоставляет более низкоуровневый доступ к функциям SQLite по сравнению с стандартным модулем sqlite3.

Основные особенности и преимущества библиотеки:
🔵Полный доступ к SQLite: предоставляет полный доступ ко всем возможностям SQLite, включая расширения и новые функции, которые могут не поддерживаться в стандартной библиотеке sqlite3.
🔵Поддержка пользовательских функций: позволяет создавать собственные функции и методы, которые могут использоваться в SQL-запросах, что позволяет расширить функциональность SQLite.
🔵Многопоточность: лучше справляется с многопоточными приложениями благодаря более продвинутым механизмам блокировки и управления транзакциями.
🔵Отладка и диагностика: включает инструменты для диагностики и отладки, что может быть полезно при работе с большими и сложными базами данных.
🔵Соблюдение стандартов: следует стандартам Python и SQLite, что обеспечивает высокую степень совместимости.

Пример использования библиотеки:
import apsw

# Создаём базу данных
connection = apsw.Connection("example.db")
cursor = connection.cursor()

# Создаём таблицу
cursor.execute("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)")

# Вставляем данные
cursor.execute("INSERT INTO users (name) VALUES (?)", ("Иван",))
cursor.execute("INSERT INTO users (name) VALUES (?)", ("Ирина",))

# Извлекаем данные
for row in cursor.execute("SELECT * FROM users"):
print(row)

# Закрываем соединение
connection.close()


➡️Установка библиотеки: pip install apsw

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥5👍5🔥2
🖥 Утилита pisegment в Python

Утилита pisegment предназначена для полууправляемой сегментации изображений.

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

Основные особенности утилиты:
🔵Поддержка работы через графический интерфейс, где можно вручную размечать изображение с помощью правой кнопки мыши и выбирать из 9 цветов для аннотаций.
🔵После аннотирования процесс сегментации запускается автоматически.
🔵Инструмент также поддерживает возможность настройки параметров, таких как подавление шума и размер патча для ускорения обработки.

➡️Установка: pip install pisegment

Пример запуска сегментации:
pisegment --input "path/to/image/tobe/segmented" --mask "path/to/the/generated/annotation"


📱 Репозиторий

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤‍🔥2
👀 Библиотека csv-trimming в Python

Библиотека csv-trimming предназначена для упрощения работы с CSV-файлами, позволяя удалять пробелы, символы новой строки и другие нежелательные символы из значений ячеек.

Полезна, когда нужно очистить данные перед их дальнейшей обработкой или анализом.

Основные возможности библиотеки:
🔵Обрезка пробелов: Удаляет ведущие и завершающие пробелы в строках.
🔵Удаление символов: Позволяет удалять или заменять нежелательные символы в значениях.
🔵Поддержка различных кодировок: Может работать с различными кодировками CSV-файлов.
🔵Поддержка заголовков: Поддерживает работу с файлами, содержащими заголовки столбцов.

➡️Установка библиотеки: pip install csv-trimming

📱 Репозиторий

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥5👍3🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
👀 Библиотека tkintermapview в Python

Библиотека tkintermapview предоставляет виджет для отображения карт в приложениях, разработанных с использованием tkinter. Позволяет интегрировать карты на основе OpenStreetMap.

Основные возможности библиотеки:
🔵Отображение карт: Позволяет загружать карты из 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 в Pyhton

Библиотека vectorlite-py предназначена для быстрого поиска векторов в базе данных SQLite.

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

Основные возможности библиотеки:
🔵Хранение и запрос векторов: Векторы могут храниться в виде BLOB (двоичных данных) в таблицах SQLite, что позволяет использовать запросы для поиска ближайших соседей.
🔵Поиск методом грубой силы: Функция vector_distance() может выполнять точный поиск путем сравнения расстояний между векторами, используя такие метрики, как косинусное расстояние и расстояние L2.
🔵Виртуальные таблицы: Поддерживает виртуальные таблицы, которые создают индексы для ускорения поиска. Для более быстрого поиска используются графы HNSW (иерархические навигационные маломирные графы).

➡️Установка библиотеки: 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

Обширная коллекцию алгоритмов и структур данных, реализованных на 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).

Основные функции:
🔵Независимость от фреймворка: Способен генерировать код для нескольких фреймворков, что делает его универсальным инструментом для разработчиков.
🔵Предустановленные виджеты: Включает готовые элементы интерфейса, которые можно просто перетаскивать на рабочую область.
🔵Поддержка менеджеров компоновки: Позволяет использовать разные методы расположения элементов, такие как флекс, сетка и абсолютное позиционирование.
🔵Генерация кода на Python: Сгенерированный код легко редактировать, так как он написан на Python.

📱 Репозиторий
⚙️ Документация
💬 Онлайн-конструктор

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤‍🔥6🔥6
👀 Библиотека Ibis в Python

Ibis - это библиотека для аналитики данных в Python, предназначенная для упрощения работы с большими данными и абстрагирования сложности различных систем управления базами данных (СУБД).

Её основная цель предоставить высокоуровневый интерфейс для написания запросов к базам данных в Python с использованием синтаксиса, напоминающего Pandas.

Основные особенности библиотеки:
🔵Абстрагирование от SQL: позволяет писать запросы на языке, схожем с Pandas, что значительно упрощает работу с большими данными, не заставляя разработчика вручную писать SQL-запросы.
🔵Совместимость с различными системами хранения данных: поддержка таких СУБД, как PostgreSQL, MySQL, Clickhouse, BigQuery, Impala и многих других. Интеграция с аналитическими системами, включая Apache Spark, Dask и другие распределённые системы.
🔵Ленивая оценка: не выполняет запросы сразу. Вместо этого, она строит выражения, которые можно преобразовать в 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 в Python

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

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

Преимущества библиотеки:
🔵Легкость и простота: Не добавляет лишних зависимостей, что делает её быстрой и компактной.
🔵Модульность: Все утилиты разделены по функциональным модулям, что позволяет использовать только нужные компоненты.
🔵Документированность: Хорошо документирована, что облегчает её освоение.

➡️Установка библиотеки: pip install boltons

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤‍🔥2👍1
👀 Библиотека logfire в Python

Библиотека 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

В программировании часто возникает необходимость в создании временных файлов, которые используются для промежуточного хранения данных, а затем автоматически удаляются после завершения работы. В 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