Senior Python Developer
43.5K subscribers
2.09K photos
4 videos
1 file
526 links
№ 4931117861
Публикуем интересные/полезные фичи/библиотеки языка.

По вопросам сотрудничества: @adv_and_pr

Канал на бирже:
https://telega.in/c/seniorpy
Download Telegram
Indico

Indico — это мощная библиотека Python для извлечения информации из неструктурированных текстов, изображений и PDF-файлов. Она позволяет вам выполнять задачи обработки естественного языка (NLP), компьютерного зрения (CV) и машинного обучения (ML) с помощью простых и понятных API.

https://pypi.org/project/indico/

#для_продвинутых
Bidict

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

#для_продвинутых
⚙️ Pympler для мониторинга и анализа памяти

ℹ️ Библиотека мониторит и анализирует память, которая используется при исполнении кода программ на Python. Инструмент находит ее избыточное потребление, утечки и другие баги.

🗣️ С помощью Pympler можно узнать все о размере и длительности процессов приложения на Python за время работы.

🔗 Ссылочка на доку
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ functools для более мощных функций

ℹ️ Библиотека содержит множество методов и декораторов, которые вы можете обернуть существующими, чтобы добавить дополнительные функции.

🗣️ Одним из них является partial, который можно использовать для клонирования функций, сохраняя при этом некоторые из их аргументов с пользовательскими значениями

🔗 Ссылочка на доку
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Contextlib для обработки внешних источников

ℹ️ Библиотека contextlib в Python предоставляет утилиты для работы с контекстными менеджерами и упрощения создания и использования ресурсов с помощью оператора with.

🔗 Ссылочка на доку
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Pymystem3 для морфологического анализа

ℹ️ Библиотека быстро и качественно распознает части речи и лексемы слова.

🗣️ Третья версия Mystem содержит несколько важных улучшений, в первую очередь устранение неоднозначности частей речи

🔗 Ссылочка на доку
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Black для проверки код-стайла

ℹ️ Разработчики должны придерживаться код-стайла, чтобы легче понимать код друг друга. Соглашение об оформлении кода на Python называется PEP8.

🗣️ Писать рекомендуется в соответствии с ним, но проверять оформление вручную может быть долго и неудобно, а библиотека black проводит такие проверки автоматически. Это автоформатер: он исправляет нарушения код-стайла и делает код более чистым.

🔗 Ссылочка на доку
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Dora для очистки и разведочного анализа данных

ℹ️ Dora — это библиотека для очистки и разведочного анализа данных, которая значительно упрощает решение задач Data Science.

🗣️ С ее помощью можно преобразовывать категориальные данные в порядковые, менять и удалять столбцы, выделять, извлекать и визуализировать признаки и решать много других задач.

🔗 Ссылочка на доку
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ logging для расширенных операций с файлами

ℹ️ Модуль позволяет регистрировать сообщения с различными приоритетами и временными метками в пользовательском формате.

🔗 Ссылочка на доку
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ pickle для быстрого и эффективного хранения

ℹ️ Точно так же, как размеры наборов данных становятся всё больше и больше, растут и наши потребности в их более быстром и эффективном хранении. Одной из альтернатив плоским CSV-файлам, которые поставляются с вашей установкой Python, является формат файла pickle.

🗣️ На самом деле он примерно в 80 раз быстрее CSV при вводе-выводе и занимает меньше памяти.

🔗 Ссылочка на доку
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ secrets для генерации случайных чисел и символов

ℹ️ Хотя реализовать свои собственные функции кодирования сообщений может быть очень весело, они, вероятно, не будут соответствовать тем же стандартам, что и проверенные в боевых условиях функции в библиотеке secrets.

🗣️ Там вы найдёте всё необходимое для генерации случайных чисел и символов для самых сложных паролей, токенов безопасности и связанных с ними секретов.

🔗 Ссылка на док
Please open Telegram to view this post
VIEW IN TELEGRAM
Получаем гласные

Этот пример возвращает в строке найденные гласные "a e i o u". Это может оказаться полезным при поиске или обнаружении гласных.
PlatformIO

PlatformIO — это мощная и гибкая платформа с открытым исходным кодом для разработки встроенного ПО, написанная на Python. Она позволяет легко создавать, компилировать, отлаживать и прошивать код для различных микроконтроллеров и плат.

#для_продвинутых
SCons

SCons — это современная система сборки программного обеспечения, основанная на Python. Она предназначена для автоматизации процесса компиляции и сборки проектов, делая его более эффективным и надежным.

#для_продвинутых
Pyppeteer

Pyppeteer — это библиотека для управления браузером с помощью Python с использованием инструмента Puppeteer, который изначально был разработан для Node.js. Puppeteer позволяет автоматизировать взаимодействие с веб-страницами, выполнять сценарии на основе браузера, выполнять скриншоты, создавать PDF-файлы и многое другое.

Pyppeteer предоставляет Python-интерфейс для работы с Puppeteer, и, таким образом, позволяет разработчикам использовать мощные инструменты. Это особенно полезно для автоматизации тестирования веб-приложений, сбора данных с веб-сайтов и других сценариев, требующих взаимодействия с браузером.

#для_продвинутых
VisPy

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

После установки библиотеки, вы можете создать графические приложения с использованием VisPy. В примере на картинке создается окно с красным треугольником. VisPy предоставляет широкие возможности для создания 2D и 3D визуализаций, а также возможность работы с пользовательским вводом, анимациями и интерактивностью.

Вы можете найти дополнительные примеры и документацию на официальном сайте VisPy, чтобы более подробно изучить возможности этой библиотеки и начать создавать собственные визуализации.

#для_продвинутых
Метод isspace()

Метод isspace() — это строковый метод, который используется для проверки, состоит ли строка только из пробельных символов (пробелов, символов табуляции, символов новой строки и других символов, которые считаются «пробельными» в контексте языка Python).

Примечание: isspace() не изменяет исходную строку, а просто возвращает булево значение в зависимости от условия.

#для_начинающих
pgeocode

pgeocode — это библиотека Python, которая предоставляет инструменты для выполнения геокодирования и получения информации о географических местоположениях на основе почтовых индексов (ZIP-кодов) или кодов страны. Это полезно, если вам необходимо преобразовать почтовые индексы в информацию о местоположении, такую как название страны, штата и т. д.

После выполнения этого кода, вы получите информацию о местоположении, связанную с указанным почтовым индексом, включая штат, город, широту и долготу и другие данные, если они доступны.

#для_продвинутых
#вопросы_с_собеседований
Для чего используются метаклассы?

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

Основные случаи использования метаклассов:
— Реализация паттернов проектирования, таких как Singleton, Factory Method и другие.
— Проверка типов. Метакласс может валидировать атрибуты класса, параметры методов, выполнять инъекцию зависимостей.
— Регистрация классов. С помощью метакласса можно автоматически регистрировать создаваемые классы, например, в глобальном реестре.
— Создание протоколов и интерфейсов, похожих на языки, подобные Protocol Buffers.
— Логирование и трассировка. Метакласс позволяет следить за созданием класса и вызовами его методов.
— Расширение класса дополнительным функционалом. Добавление методов к классу через метакласс.
Наткнулся на классную новость для тех, кто делает опенсорс 🚀

GitVerse (СберТех), Cloud. ru и Хабр запустили грантовую программу «Код без границ». И это не просто деньги, а полноценная поддержка проектов:
💰 финансирование для команды и железа
☁️ облачные мощности
👥 сообщество и эксперты рядом

Зачем участвовать?
— можно подтянуть свой проект и получить обратную связь от комьюнити;
— найти единомышленников или даже собрать команду;
— ну и, конечно, заявить о себе всей ИТ-тусовке.

Условия максимально простые:
1️⃣ разместить проект на GitVerse (можно импортировать с GitHub или другой платформы);
2️⃣ делиться кодом и черпать идеи у других.

Есть четыре номинации:
• AI-инновации
• Наука и образование
• Проекты для всех
• Разработка для разработчиков

Дедлайны: заявки принимают с 3 сентября по 31 октября. В ноябре — отбор, а в декабре объявят результаты.

Хватит кодить в стол — пора рассказать миру о своем проекте!
👉 Подробности и заявка
tell()

Метод tell() используется для получения текущей позиции (смещения) при работе с файлами и файлоподобными объектами.

При открытии файла указатель текущей позиции находится в начале. По мере чтения/записи он смещается.
Чтобы узнать текущее значение этого смещения, применяется метод tell().

Это позволяет:
— Узнать размер файла, сравнив позицию после чтения с начальной.
— Вернуться к определенной позиции с помощью seek().
— Отслеживать прогресс обработки больших файлов.
— Получить позицию в строковых буферах и потоках байтов.

Метод tell() возвращает текущую позицию в файле в байтах от начала.