Рубрики
Без рубрики

16 Удивительные библиотеки Python вы должны использовать сейчас (2020 Обновлено)

В этой статье мы познакомимся с несколькими удивительными библиотеками Python, используемые лучшим собом … Помечено Python, производительность, Opensource.

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

Httpx.

Httpx Был разработан Томом Кристином, который является инженером программного обеспечения, специализирующегося на проектировании и разработке API.

Async Paradigm все больше становится все более распространенным в высокопроизводительных современных приложениях, но когда вы используете Async Paradigm, Запросы Библиотека не может сделать свою работу очень хорошо.

Поэтому httpx приходит, чтобы решить эту проблему. Httpx – асинхронный HTTP-клиент на основе хорошо установленной удобства использования Запросы и дает вам поддержку http/2 и http/1.1. Он дает вам API, совместимый с библиотекой запросов как можно больше, и он имеет жесткий контроль над тайм-аутами. Httpx также может позвонить непосредственно в веб-приложение Python, используя протокол ASGI, и он полностью аннотируется. Библиотека также оснащена всеми стандартными функциями запросов, таких как международные домены и URL-адреса, объединение для хранения и соединений, а также сеансы с постоянством печенья и т. Д.

Кроме того, вы можете использовать ASYNCIO или TRIO для httpx и применять это в высокопроизводительных async веб-каркасах. В результате HTTP может обрабатывать большое количество запросов.

Стрелка

Как знают многие разработчики Python, один из способов работы с объектами даты и времени – использование незавершенной даты, времени и функций часового пояса в стандартной библиотеке Python и некоторыми другими модулями низкого уровня. Однако у них нет высокой производительности и хорошей удобства использования; Например, у них слишком много модулей и типов, которые трудно помнить и различать. Конверсии между часовыми поясами и временными метмами также давно зарываются.

К счастью, разумная и удобная библиотека Python под названием Стрелка Может помочь пользователям создавать, манипулировать, формат и преобразовывать даты. Он в основном направлен на уменьшение вашего импорта и кода для борьбы с датами и временами.

Стрелка поддерживает Python 2.7, 3,5, 3,6, 3,7 и 3.8 и широко поддерживает ISO 8601. Конечно, он может сделать конвертацию часового пояса, а метеостанция также является свойством в нем.

Некоторые особенности стрелки могут дать вам подсказку его возможностей. Стрелка имеет замену Date-in DateTime, и по умолчанию – это понимание времени. Пользователи получат простые в использовании варианты создания для многих общих входных сценариев. Метод смещения выгоден для относительных смещений, таких как смещения на несколько недель. Можно автоматически форматировать и разбирать строки, которые сохраняют много времени. Еще одна привлекательная особенность в том, что стрелка может создавать периоды, диапазоны, этажи и потолки для кадров времени, начиная от микросекундов до лет.

Python Fire

Python Fire может автоматически генерировать клиз для любых проектов. Библиотека делает процесс создания CLIS Super Simple. Вам нужно только написать функциональность в командной строке в качестве функции, модуля или класса, и после того, как вы звоните, CLI, которую вы хотите, готов к вам.

Вы, вероятно, хотите проверить в начале процесса написания библиотеки Python. Без пожара Python вы должны написать основной метод теста для выполнения функциональности, которые вы хотите достичь. Хотя вы можете сделать тест таким образом, вам необходимо изменить первичный метод всякий раз, когда у вас есть новые функции, которые вы хотите проверить, обновлять основной метод снова и снова, который является потребляющим много времени и раздражает. Используя огонь, вам не нужно постоянно менять свой основной метод теста, когда вы проверяете вашу командную строку.

Обычно не очень быстро понимать функцию, глядя на его код, особенно когда функция была написана кем-то другим. Лучший способ – позвать огонь на модуле. Эта функция позволяет легко проверить все функции/методы модуля.

Кроме того, пожар может позволить вам транзитировать напрямую между Bash и Python, чтобы вы могли использовать инструменты Unix одновременно.

Starlette

Starlette Это легкая структура ASGI или инструментарий для строительства высокопроизводительных услуг Asyncio.

Эта готовая к производственной библиотеке имеет много функций, включая поддержку WebSocket и GraphQL. Starlette может делать в процессе фоновых задач, CORS, GZIP, статических файлов и потоковых ответов. Все эти функции имеют обширное тестовое покрытие и кодовое основание, которое составляет 100%, аннотируемый с нулевыми жесткими зависимости.

Starlette предназначен для использования в качестве полной структуры или в качестве инструментария ASGI, предоставляя пользователям гибкость, чтобы применять любой из компонентов независимо. Кроме того, многоразовые компоненты могут быть разделены между любым ASGI Framework, создавая экосистему общего промежуточного программного обеспечения и монтируемых приложений.

Майка

Marpy Это оптимальный статический тип проверки типа Python 3 и Python 2.7, и он аналогичен статическому анализаторе, либо с линтам инструмента. Добавив некоторые аннотации набора текста при записи вашей программы, MAPY может помочь вам ввести проверять свой код и искать общие ошибки. Эти аннотации вы упускаете в своем руководстве по коду MPY, чтобы выполнить свою работу, не вмешиваясь в ваше приложение, потому что аннотации рассматриваются как комментарии, которые не имеют эффектов в выполнении вашего кода.

Mypy дает разработчикам гибкость, чтобы решить рабочий процесс. Цель MAPY состоит в том, чтобы объединить преимущества динамического печатания и статического ввода в приложениях. Следовательно, пользователи могут использовать динамические ввода в качестве резервного копирования, когда статическая набравка не работает, например, для наследие. Когда вы запустите MAPY в своей программе, как Linter, ошибки будут сообщены в формате стиля компилятора. Mypy предоставляет программистам прочную и последовательную проверку проекта и его зависимостей.

Еще одно преимущество Mypy – это его кривая обучения, которая минимальна. Большинство новых пользователей Mypy должны иметь возможность правильно аннотировать код. Более того, Mypy Cheat лист идеальный старт. Еще одно преимущество Mypy заключается в том, что он имеет гораздо более низкую положительную скорость по сравнению с большинством статических анализаторов.

Fastapi.

Fastapi это высокопроизводительная веб-каркас для разработки API. Fastapi основан на стандартных подсказках типа Python для Python 3.6+.

Fastapi поставляется со многими интересными функциями, возможно, самая важная – это скорость, поскольку она является одной из самых быстрых доступных Python Frameworks. Скорость кодирования также на 200% быстрее по сравнению с другими каркасами.

И если этого было недостаточно, fastapi может помочь сохранить низкую частоту ошибок и даже может уменьшить ошибки, связанные с людьми почти на 40%. Рамки легко изучать и обладают интерактивной документацией.

Fastapi основан на открытых стандартах, например Openapi. Он также поставляется с объявлениями о операциях, параметрах, параметрах, просьбах тела и безопасности. Также доступны функции для генерации автоматического клиентского кода на разных языках.

Неизменные

Immutables Это неизменяемый тип сопоставления для Python. Хеш-массив сопоставлен TRIE (HAMT), используемый в Cljure, Scala, Haskell и других функциональных языках.

Неподвижные сопоставления на основе производительности HAMT имеют O (log N) для обоих наборов (), так и GET (), которые по существу O (1) для относительно небольших сопоставлений.

Истекает диктуризм

Срок действия диктования очень удобная библиотека кэширования Python. Он предоставляет словарь с заказа и автоматически истекающими значениями для целей кэширования. Элементы словаря имеют TTL (максимальный возраст) и максимальную длину, которые проверяются на каждом доступе.

VCR.py

Вы когда-нибудь использовали библиотеку VCR Ruby? Он записывает HTTP-взаимодействия вашего теста и повторяет их во время будущих тестов для быстрой, детерминированной и точной тесты.

Vcr.py похож на библиотеку VCR Ruby. Это делает тесты с HTTP-запросами более простыми и быстрее. Если ваш код находится в диспетчере контекста VCR.PY или оформленная функция, при запуске IT VCR.PY будет записывать все внутренние взаимодействия HTTP во время тестов. Тогда VCR.PY будет сериализовать и писать HTTP-взаимодействия на кассету, которая является плоским файлом. Когда вы выполняете записанный код, он будет воспроизведен сериализованные запросы и ответы из кассетного файла.

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

Когда вы вносите изменения в тесты, все, что вам нужно сделать, это удалить файл кассет. Затем, когда вы повторно запустите код, VCR.PY снова записывает HTTP-взаимодействия и генерирует новую кассету.

Трансформаторы

Трансформаторы (бывшие питорхи-трансформаторы и Pytorch-Bert-Bert) обеспечивают понимание естественного языка (NLU) и генерации натурального языка (NLG) с более чем 32 подготовленными моделями в более чем 100 языках и глубокой совместимости между Tensorflow 2.0 и Pytorch. Эти архитектуры обычно являются BERT, GPT-2, ROBERTA, XLM, DISTILBERT, XLNET и другие.

Трансформаторы – это простое в использовании библиотека без барьеров, чтобы ознакомиться с. Это еще более мощный и краткий, чем Керас С добавленной выгодой о том, что он имеет необычайные высокие характеристики при работе с проектами NLU и NLG.

Цель трансформаторов состоит в том, чтобы стать современным NLP для всех. Независимо от того, есть ли вы глубокий исследователь, практикующий практикующий практикующий или преподаватель и преподаватель AI/ML/NLP, вы можете получить много поддержки от трансформаторов.   Библиотека очень эффективна, так как снижает расходы на вычисление. Например, вы можете поделиться своими обученными моделями с коллегами, чтобы им не нужно тратить дополнительные модели переподготовки усилий. Он поставляется с более чем 30 предустановленными моделями, а более 100 языков, которые могут сэкономить много времени на вычисления и, таким образом, помогать снизить затраты на производство.

Наконец, трансформаторы могут использовать наиболее подходящую структуру для каждой части ваших приложений со временем. В частности, трансформаторы могут использовать только три строки кода для обучения современной системы для вас. Глубокая совместимость между Tensorflow 2.0 и моделями PYTORCH является дополнительным преимуществом.

Модина

Если вы являетесь ученым данных, вы, вероятно, знакомы с библиотекой Pandas. Модин Можно масштабировать ваши рабочие процессы Pandas, изменяя только одну строку кода. Звучит отлично, верно?

Прежде чем доказывать более подробную информацию о модине, мы сначала должны представить Рэй , который является ключом к тому, как работает модин. Ray – это быстрое и доступное основание для создания и управления распределенными приложениями. Рэй упаковывается с мелодией, Rllib и распределенной тренировкой.

Отношения между модином и лучом является то, что модин использует Ray для ускорения ноутбука, сценариев и библиотек Pandas и библиотеки. Слабость других распределенных библиотек DataFrame – это регулярные конфликты между пандами Модин может решить эту проблему, интегрируя код Panda без проблем.

Используя Modin, вам не нужно знать подробности о сердечниках вашей системы и распределению данных. Вам не нужно отказаться от ноутбуков Pandas, которые вы ранее использовали, чтобы воспользоваться огромным ускорением, предоставляемым модином.

Более того, Modin.Pandas является чрезвычайно легким параллельным датафарамом. После установки модина нет необходимости останавливаться с помощью предыдущих Panda API, потому что модин может выполнять прозрачное распределение данных и вычисление.

Иногда при обращении к разным размерам данных может быть трудно масштабировать 1 КБ данных DataFrames до 1 ТБ, часто есть значительный накладной расход. С модином вы можете напрямую получить DataFrames на 1КБ и 1 ТБ.

Бросаться

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

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

Детектин 2.

Detectron – это платформа обнаружения объектов. Это один из проектов с открытым исходным кодом, принятым группой исследований AI Facebook.

Детектин 2 это второе поколение этой библиотеки со многими улучшениями производительности. Библиотека гибкая и расширяемая и делает обучение на серверах GPU очень быстрый процесс. Он также поставляется с современными алгоритмами обнаружения объектов, позволяющие разработчикам делать расширенные исследования без всего полного набора данных.

Детектин 2 был переписан с нуля в Pytorch, который является отличным инструментом для глубокого обучения. Огромное и активное сообщество за Pytorch – это дополнительное преимущество для пользователей Detectron2.

С DETECTRON2 пользователи могут вставить свой индивидуальный код в систему обнаружения объектов, поскольку они видят подходящую. В соответствии с этой ситуацией сотни линий кода могут успешно разработать новый исследовательский проект, а основной детектин2 и совершенно новое достижение исследований можно разделить четко. Кроме того, detectron2 также поддерживает сегментацию сегментации сегментации и паноптической сегментации.

Причина, по которой детектин2 является быстрее, чем оригинальная версия, связана с перемещением всего тренировочного трубопровода в GPU. Распространение тренировки на разные серверы GPU делают процесс масштабирования больших наборов данных намного проще.

Обтеснуть

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

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

Изначальное изучение

Имбаланс – Учить Предлагает множество методов повторной выборки для проектов машинного обучения. Эта библиотека Python широко используется в наборах наборах, чтобы показать надежную дивабельность между классом.

Imbalanced-Surve совместим с Scikit – учиться. Scikit-Surve – это простой и эффективный инструмент для прогнозирующего анализа данных. Он построен на Numpy, Scipy и Matplotlib. Это открытый источник и очень многоразовый. Библиотека доступна для Python 3.6+.

Питорчан

Pytorch Предлагает быстрые прототипирование динамических нейронных сетей и сильной поддержки GPU.

Композиции Pytorch – это факел, факел.Аутоград, Torch.jit, torch.nn, forich.multiProcessing и torch.utils. Компонентный факел – это Numpy, как Tensor Library, которая имеет прочную поддержку GPU. TORCH.AUTOGRAD – это автоматическая библиотека дифференцировки на основе ленты, которая доступна для всех различных тензорных операций в горелке. Torch.jit может работать в качестве стека компиляции для создания сериализуемых и идеальных моделей. Troch.nn агрегируется с автоградом в качестве нейронной сети, направленной на максимальную гибкость. Torich.multiProcessing полезен для загрузки данных и обучения Hogwild. Наконец, Torch.Utils имеет погрузчик данных и другие функции утилиты для удобства.

Оригинал: “https://dev.to/squash/16-amazing-python-libraries-you-should-be-using-now-2020-updated-2aja”